diff --git a/app/Modules/Admin/Views/users/edit.blade.php b/app/Modules/Admin/Views/users/edit.blade.php index 38f9a83..812b36f 100644 --- a/app/Modules/Admin/Views/users/edit.blade.php +++ b/app/Modules/Admin/Views/users/edit.blade.php @@ -51,14 +51,14 @@ @if($userRole->role->id == $roles::COMPANY_ADMIN)
@foreach($companyAdmins as $admin) - {{ $admin->company->name }} + {{ $admin->company?->name }} @endforeach
@endif @if($userRole->role->id == $roles::AGENT)
@foreach($companyAgents as $agent) - {{ $agent->company->name }} + {{ $agent->company?->name }} @endforeach
@endif diff --git a/app/Modules/User/Models/UserRole.php b/app/Modules/User/Models/UserRole.php index 4ad17ad..1798327 100644 --- a/app/Modules/User/Models/UserRole.php +++ b/app/Modules/User/Models/UserRole.php @@ -7,6 +7,10 @@ use Modules\User\Models\User; use Modules\User\Models\Role; +use Modules\Main\Models\Company\CompanyAdmin; +use Modules\Main\Models\Agent\Agent; +use Modules\CityManager\Models\CityManager; + class UserRole extends Model { use HasFactory; @@ -24,4 +28,23 @@ public static function create(array $attributes = []) { return parent::updateOrCreate($attributes); } + + protected static function booted() + { + static::deleted(function (UserRole $userRole) + { + $userId = $userRole->user_id; + switch ($userRole->role_id) { + case Role::AGENT : + Agent::where('user_id', $userId)->delete(); + break; + case Role::COMPANY_ADMIN : + CompanyAdmin::where('user_id', $userId)->delete(); + break; + case Role::CITY_MANAGER : + CityManager::where('user_id', $userId)->delete(); + break; + } + }); + } }