12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- <?php
-
- namespace App\Policies;
-
- use App\Enums\Accounting\EstimateStatus;
- use App\Models\Accounting\Estimate;
- use App\Models\User;
-
- class EstimatePolicy
- {
- /**
- * Determine whether the user can view any models.
- */
- public function viewAny(User $user): bool
- {
- return true;
- }
-
- /**
- * Determine whether the user can view the model.
- */
- public function view(User $user, Estimate $estimate): bool
- {
- return $user->belongsToCompany($estimate->company);
- }
-
- /**
- * Determine whether the user can create models.
- */
- public function create(User $user): bool
- {
- return true;
- }
-
- /**
- * Determine whether the user can update the model.
- */
- public function update(User $user, Estimate $estimate): bool
- {
- if ($estimate->status === EstimateStatus::Converted) {
- return false;
- }
-
- return $user->belongsToCompany($estimate->company);
- }
-
- /**
- * Determine whether the user can delete the model.
- */
- public function delete(User $user, Estimate $estimate): bool
- {
- return $user->belongsToCompany($estimate->company);
- }
-
- /**
- * Determine whether the user can restore the model.
- */
- public function restore(User $user, Estimate $estimate): bool
- {
- return $user->belongsToCompany($estimate->company);
- }
-
- /**
- * Determine whether the user can permanently delete the model.
- */
- public function forceDelete(User $user, Estimate $estimate): bool
- {
- return $user->belongsToCompany($estimate->company);
- }
- }
|