feat: consolidar desenvolvimentos do portal InvestMoz
This commit is contained in:
@@ -3,6 +3,8 @@
|
||||
namespace App\Models;
|
||||
|
||||
use Carbon\CarbonImmutable;
|
||||
use Illuminate\Database\Eloquent\Builder;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
/**
|
||||
* @property string|null $lead_id
|
||||
@@ -13,4 +15,23 @@ class CrmTask extends CrmRecord
|
||||
protected $table = 'tasks';
|
||||
|
||||
protected $casts = ['due_at' => 'immutable_datetime'];
|
||||
|
||||
/**
|
||||
* @param Builder<CrmTask> $query
|
||||
* @return Builder<CrmTask>
|
||||
*/
|
||||
public function scopeAvailableForWork(Builder $query): Builder
|
||||
{
|
||||
$query->whereNull('tasks.deleted_at')->whereIn('tasks.status', ['open', 'in_progress']);
|
||||
if (Schema::hasColumn('tasks', 'desk_case_id')) {
|
||||
if (Schema::hasColumn('desk_cases', 'closed_at')) {
|
||||
$query->where(fn ($q) => $q->whereNull('tasks.desk_case_id')->orWhereExists(fn ($desk) => $desk->selectRaw('1')->from('desk_cases')
|
||||
->whereColumn('desk_cases.id', 'tasks.desk_case_id')->whereNull('desk_cases.closed_at')));
|
||||
} else {
|
||||
$query->whereNull('tasks.desk_case_id');
|
||||
}
|
||||
}
|
||||
|
||||
return $query;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user