/**
  * 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');
 }
Exemple #3
0
 /**
  * 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'));
 }
Exemple #5
0
 /**
  * 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());
 }