@@ -18,11 +18,11 @@ class PurchasePlanItem extends Model
|
||||
/** @param Builder<PurchasePlanItem> $query */
|
||||
public function scopeVisibleTo(Builder $query, User $user): void
|
||||
{
|
||||
match ($user->purchasing_role) {
|
||||
PurchasingRole::Admin, PurchasingRole::Procurement, PurchasingRole::Finance => null,
|
||||
PurchasingRole::DepartmentHead => $query->where(fn ($visible) => $visible->where('department_id', $user->department_id)->orWhere('responsible_id', $user->id)),
|
||||
default => $query->where('responsible_id', $user->id),
|
||||
};
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user