// مفقودة - لا يوجد isCompanyOwner public function viewAny(User $user) { return $user->hasPermission( 'dental-lab.lab-order-stages.view' ); } public function view(User $user, LabOrderStage $labOrderStage) { return $user->company_id === $labOrderStage->labOrder->company_id && $user->hasPermission( 'dental-lab.lab-order-stages.view' ); } public function create(User $user) { return $user->hasPermission( 'dental-lab.lab-order-stages.create' ); }
// ✅ جديد private function isCompanyOwner(User $user) { $company = $user->company; return $company && $company->owner_user_id === $user->id; } public function viewAny(User $user) { return $this->isCompanyOwner($user) || $user->hasPermission( 'dental-lab.lab-order-stages.view' ); } public function view(User $user, LabOrderStage $stage) { if ($user->company_id !== $stage->labOrder->company_id) return false; return $this->isCompanyOwner($user) || $user->hasPermission( 'dental-lab.lab-order-stages.view' ); } public function create(User $user) { return $this->isCompanyOwner($user) || $user->hasPermission( 'dental-lab.lab-order-stages.create' ); }
| الصلاحية | الوصف | الحالة |
|---|---|---|
dental-lab.lab-order-stages.view |
عرض المراحل | موجودة ✅ |
dental-lab.lab-order-stages.create |
إضافة مرحلة جديدة | موجودة ✅ |
dental-lab.lab-order-stages.edit |
تعديل مرحلة | موجودة ✅ |
dental-lab.lab-order-stages.delete |
حذف مرحلة | موجودة ✅ |
| الميزة | ClinicPolicy | LabOrderStagePolicy (بعد) | التوحيد |
|---|---|---|---|
| isCompanyOwner() | ✅ موجودة | ✅ موجودة | 100% ✅ |
| viewAny() | ✅ isCompanyOwner || permission | ✅ isCompanyOwner || permission | 100% ✅ |
| view() | ✅ company check + isCompanyOwner | ✅ company check + isCompanyOwner | 100% ✅ |
| create() | ✅ isCompanyOwner || permission | ✅ isCompanyOwner || permission | 100% ✅ |