authorize('delete', $user); if ($user->roles()->where('name', RoleName::SuperAdmin)->exists()) { $this->toast()->error('Error', 'No se puede eliminar un super administrador')->send(); return; } $this->dialog()->question('¿Esta seguro de eliminar este usuario?', 'No podrá ser recuperado') ->confirm('Eliminar Usuario', method: 'doDelete', params: $id) ->cancel() ->send(); } public function doDelete($id): void { $user = User::find($id); $this->authorize('delete', $user); $user->delete(); $this->toast()->success('Usuario eliminado correctamente')->send(); } #[Computed] public function headers(): array { return [ ['index' => 'name', 'label' => 'Nombre'], ['index' => 'email', 'label' => 'Email'], ['index' => 'roles', 'label' => 'Roles'], ['index' => 'action', 'label' => 'Acciones'], ]; } #[Computed] public function rows(): LengthAwarePaginator { return User::filterSuperadmin()->with('roles')->paginate(); } }