App\Repositories\Backend\Access\User\UserRepository::mark PHP Method

mark() public method

public mark ( Model $user, $status ) : boolean
$user Illuminate\Database\Eloquent\Model
$status
return boolean
    public function mark(Model $user, $status)
    {
        if (access()->id() == $user->id && $status == 0) {
            throw new GeneralException(trans('exceptions.backend.access.users.cant_deactivate_self'));
        }
        $user->status = $status;
        switch ($status) {
            case 0:
                event(new UserDeactivated($user));
                break;
            case 1:
                event(new UserReactivated($user));
                break;
        }
        if (parent::save($user)) {
            return true;
        }
        throw new GeneralException(trans('exceptions.backend.access.users.mark_error'));
    }

Usage Example

 /**
  * @param User $user
  * @param $status
  * @param ManageUserRequest $request
  * @return mixed
  */
 public function mark(User $user, $status, ManageUserRequest $request)
 {
     $this->users->mark($user, $status);
     return redirect()->route($status == 1 ? "admin.access.user.index" : "admin.access.user.deactivated")->withFlashSuccess(trans('alerts.backend.users.updated'));
 }