Car-Repairs-Shop/app/Policies/EstimatePolicy.php
sackey 5403c3591d
Some checks are pending
linter / quality (push) Waiting to run
tests / ci (push) Waiting to run
feat: Enhance job card workflow with diagnosis actions and technician assignment modal
- Added buttons for assigning diagnosis and starting diagnosis based on job card status in the job card view.
- Implemented a modal for assigning technicians for diagnosis, including form validation and technician selection.
- Updated routes to include a test route for job cards.
- Created a new Blade view for testing inspection inputs.
- Developed comprehensive feature tests for the estimate module, including creation, viewing, editing, and validation of estimates.
- Added tests for estimate model relationships and statistics calculations.
- Introduced a basic feature test for job cards index.
2025-08-15 08:37:45 +00:00

78 lines
1.8 KiB
PHP

<?php
namespace App\Policies;
use App\Models\Estimate;
use App\Models\User;
class EstimatePolicy
{
/**
* Determine whether the user can view any models.
*/
public function viewAny(User $user): bool
{
// Super admin has global access
if ($user->hasRole('super_admin')) {
return true;
}
// Service coordinators, supervisors, and admins can view all estimates in their branch
return $user->hasAnyRole(['service_coordinator', 'service_supervisor', 'admin'], $user->branch_code);
}
/**
* Determine whether the user can view the model.
*/
public function view(User $user, Estimate $estimate): bool
{
return false;
}
/**
* Determine whether the user can create models.
*/
public function create(User $user): bool
{
// Super admin has global access
if ($user->hasRole('super_admin')) {
return true;
}
// Service coordinators, supervisors, and admins can create estimates in their branch
return $user->hasAnyRole(['service_coordinator', 'service_supervisor', 'admin'], $user->branch_code);
}
/**
* Determine whether the user can update the model.
*/
public function update(User $user, Estimate $estimate): bool
{
return false;
}
/**
* Determine whether the user can delete the model.
*/
public function delete(User $user, Estimate $estimate): bool
{
return false;
}
/**
* Determine whether the user can restore the model.
*/
public function restore(User $user, Estimate $estimate): bool
{
return false;
}
/**
* Determine whether the user can permanently delete the model.
*/
public function forceDelete(User $user, Estimate $estimate): bool
{
return false;
}
}