1]; /** @param Builder $query */ public function scopeVisibleTo(Builder $query, User $user): void { if ($user->departmentScoped()) { $query->where(fn ($visible) => $visible->where('department_id', $user->department_id)->orWhere('responsible_id', $user->id)); } elseif (! $user->hasFunctions([PurchasingRole::Admin, PurchasingRole::Procurement, PurchasingRole::Finance])) { $query->where('responsible_id', $user->id); } } protected static function booted(): void { static::deleting(fn () => throw new \LogicException('Preservar o planeamento.')); } }