user = $user; $this->request = $this->getRequestInstance($request); } /** * Execute the job. * * @return User */ public function handle() { $this->authorize(); // Do not reset password if not entered/changed if (empty($this->request['password'])) { unset($this->request['password']); unset($this->request['password_confirmation']); } \DB::transaction(function () { $this->user->update($this->request->input()); // Upload picture if ($this->request->file('picture')) { $media = $this->getMedia($this->request->file('picture'), 'users'); $this->user->attachMedia($media, 'picture'); } if ($this->request->has('roles')) { $this->user->roles()->sync($this->request->get('roles')); } if ($this->request->has('companies')) { $this->user->companies()->sync($this->request->get('companies')); } }); return $this->user; } /** * Determine if this action is applicable. * * @return void */ public function authorize() { // Can't disable yourself if (($this->request->get('enabled', 1) == 0) && ($this->user->id == user()->id)) { $message = trans('auth.error.self_disable'); throw new \Exception($message); } } }