commit5
tests / ci (push) Canceled after 0s

This commit is contained in:
2026-10-30 10:55:18 +02:00
parent 0235c7609e
commit 48347e2d3a
161 changed files with 11814 additions and 265 deletions
+6 -6
View File
@@ -68,11 +68,11 @@ class Requisition extends Model
/** @param Builder<Requisition> $query */
public function scopeVisibleTo(Builder $query, User $user): void
{
match ($user->purchasing_role) {
PurchasingRole::Admin, PurchasingRole::Procurement, PurchasingRole::Finance => null,
PurchasingRole::DepartmentHead => $query->where('department_id', $user->department_id),
default => $query->where('requester_id', $user->id),
};
if ($user->departmentScoped()) {
$query->where('department_id', $user->department_id);
} elseif (! $user->hasFunctions([PurchasingRole::Admin, PurchasingRole::Procurement, PurchasingRole::Finance])) {
$query->where('requester_id', $user->id);
}
}
public function canDecide(User $user): bool
@@ -87,7 +87,7 @@ class Requisition extends Model
$next = $this->steps->firstWhere('decision', 'pending');
return $next !== null && $next->role === $user->purchasing_role->value
return $next !== null && $user->hasFunctions([$next->role])
&& ($next->role !== 'department_head' || $this->department_id === $user->department_id)
&& ! app(ConflictGuard::class)->participationBlocked($user, $this);
}