/** * Update the specified user in storage. * * @param User $user * @return Response */ public function update(User $user, UpdateUserRequest $request) { $attributes = $request->only('name', 'email'); if ($request->has('password')) { $attributes['password'] = $request->get('password'); } $user->update($attributes); return redirect()->route('admin.users.index'); }
/** * */ public function update(UpdateUserRequest $request, $id) { $user = User::find($id); if ($request->has('password')) { $user->fill($request->all()); $user->password = bcrypt($request->input('password')); } else { $user->fill($request->except('password')); } $user->company_id = Auth::user()->company_id; $user->save(); Flash::success(trans('users/general.status.updated')); return redirect('/users'); }
/** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update(UpdateUserRequest $request, $id) { // users can only see their own profile, unless they are Admins if (Auth::user()->id != $id && !Auth::user()->isAdmin()) { flash('You are not authorized for this request.'); return redirect()->back(); } // get the current user record $user = User::find($id); $alert = ''; // prepare success message $message = 'User with id "' . $id . '" updated'; // create list of instruments $instruments = Instrument::all(); // which instrument was assigned in the form? foreach ($instruments as $instrument) { if ($request->has(str_replace(' ', '_', $instrument->name))) { $user->assignInstrument($instrument); } else { $user->removeInstrument($instrument); } } // get list of possible user roles $roles = Role::all(); // which role was assigned in the form? foreach ($roles as $role) { if ($request->has(str_replace(' ', '_', $role->name))) { $user->assignRole($role); } else { if ($user->id == Auth::user()->id && $role->name == 'administrator') { $alert = 'Admin rights cannot be removed from current user! Ask a new Admin to do that.'; } else { $user->removeRole($role); } } } // update name and email addr $user->first_name = $request->input('first_name'); $user->last_name = $request->input('last_name'); $user->name = $request->input('name'); $user->startPage = $request->has('startPage') ? $request->startPage : ''; $user->notify_by_email = $request->notify_by_email; // only Admins can change the email address if (Auth::user()->isAdmin()) { $user->email = $request->input('email'); } $user->save(); // send admins back to all users view if (Auth::user()->isAdmin()) { return \Redirect::route($this->view_all_idx)->with(['status' => $message])->with(['error' => $alert]); } // send 'normal' users back to profile view return redirect()->route('users.show', [$user->id]); }
/** * Actualiza los datos de un usuario * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update(Requests\UpdateUserRequest $request, $id) { $user = $this->users->findOrFail($id); //Valida que el request tiene la propiedad password y que no tiene una cadena de texto vacía if ($request->has('password')) { $user->fill($request->only('name', 'email', 'password'))->save(); } else { //Si la propiedad password esta vacía o no existe, solo guarda el nombre y el email $user->fill($request->only('name', 'email'))->save(); } //trae el primer registro desde roles $user_roles = $user->roles()->first(); //print_r($user_roles); $name = $user_roles['name']; //Le asigna el nuevo rol si este cambio if ($request->role != $name) { // evita que el usuario modifique su propio rol por otro de mayor o menor nivel if ($user->id == auth()->user()->id) { return redirect()->back()->withErrors(['error' => trans('prado.user_not_edit_self')]); } //retira el rol anterior al usuario Bouncer::retract($name)->from($user); // asigna el nuevo rol Bouncer::assign($request->role)->to($user); } return redirect(route('prado.users.edit', $user->id))->with('status', trans('prado.user_update')); }
/** * Validate and save edited user data from edit form. * * @author [A. Gianotto] [<*****@*****.**>] * @since [v1.0] * @param int $id * @return Redirect */ public function postEdit(UpdateUserRequest $request, $id = null) { // We need to reverse the UI specific logic for our // permissions here before we update the user. $permissions = $request->input('permissions', array()); app('request')->request->set('permissions', $permissions); // Only update the email address if locking is set to false if (config('app.lock_passwords')) { return redirect()->route('users')->with('error', 'Denied! You cannot update user information on the demo.'); } try { // Get the user information $user = User::find($id); if (!Company::isCurrentUserHasAccess($user)) { return redirect()->route('users')->with('error', trans('general.insufficient_permissions')); } } catch (UserNotFoundException $e) { // Prepare the error message $error = trans('admin/users/message.user_not_found', compact('id')); // Redirect to the user management page return redirect()->route('users')->with('error', $error); } // First handle anything exclusive to editing. if ($request->has('groups')) { $user->groups()->sync($request->input('groups')); } else { $user->groups()->sync(array()); } // Do we want to update the user password? if ($request->has('password')) { $user->password = bcrypt($request->input('password')); } if ($request->has('username')) { $user->username = e($request->input('username')); } $user->email = e($request->input('email')); // Update the user $user->first_name = e($request->input('first_name')); $user->last_name = e($request->input('last_name')); $user->locale = e($request->input('locale')); $user->employee_num = e($request->input('employee_num')); $user->activated = e($request->input('activated', $user->activated)); $user->jobtitle = e($request->input('jobtitle')); $user->phone = e($request->input('phone')); $user->location_id = e($request->input('location_id')); $user->company_id = e(Company::getIdForUser($request->input('company_id'))); $user->manager_id = e($request->input('manager_id')); $user->notes = e($request->input('notes')); $user->permissions = json_encode($request->input('permission')); if ($user->manager_id == "") { $user->manager_id = null; } if ($user->location_id == "") { $user->location_id = null; } if ($user->company_id == "") { $user->company_id = null; } // Was the user updated? if ($user->save()) { // Prepare the success message $success = trans('admin/users/message.success.update'); // Redirect to the user page return redirect()->route('users')->with('success', $success); } return redirect()->back()->withInput()->withErrors($user->getErrors()); }