/** * update a user with the data from the edit form * @param UpdateUserRequest $req [description] * @param User $user [description] * @return \Illuminate\Support\Facades\Redirect [description] */ public function update(UpdateUserRequest $req, User $user) { $user->fill($req->except('password')); if ($user->type != 'admin') { return redirect()->route('welcome'); } if (!empty($req->input('password'))) { $user->password = bcrypt($req->input('password')); } $user->save(); // sync roles with user $user->detachAllRoles(); if ($req->has('role')) { foreach ($req->input('role') as $role) { $user->attachRole($role); } } $this->processPermissions($user); $message = trans('users::users.update_success', ['name' => $user->name]); if (request('submit') == 'save') { return redirect()->back()->with('success', $message); } return redirect()->route('users.index')->with('success', $message); }