Beispiel #1
0
 public function postEdit(UserRequest $request)
 {
     $data = $request->all();
     $response = ['errors' => []];
     if ($data['id']) {
         $response['data'] = $this->repository->update($data);
     }
     return $response;
 }
 /**
  * Update the specified user in storage.
  *
  * @param User $user
  * @param UserRequest $request
  * @return Response
  */
 public function update(User $user, UserRequest $request)
 {
     $saveRole = function () use($user, $request) {
         $user->roles()->sync([$request->get("role")]);
     };
     $fields = $request->all();
     if ($fields['password']) {
         $fields['password'] = Hash::make($fields['password']);
     } else {
         unset($fields['password']);
     }
     $user->fill($fields);
     if ($user->save()) {
         call_user_func($saveRole);
         Flash::success(trans('admin.update.success'));
     } else {
         Flash::error(trans('admin.update.fail'));
     }
     return $this->redirectRoutePath("index");
 }
 /**
  * Update the specified resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  int  $id
  * @return \Illuminate\Http\Response
  */
 public function update(Requests\Admin\UserRequest $request, User $user)
 {
     $data = $request->all();
     if ($request->password) {
         $data['password'] = bcrypt($data['password']);
     } else {
         unset($data['password']);
     }
     $user->update($data);
     $user->roles()->sync($request->input('role_list'));
     return redirect('/admin/user')->with('flash_success', 'Пользователь успешно обновлен.');
 }
 /**
  * Update the specified resource in storage.
  *
  * @param  int $id
  * @return Response
  */
 public function update($id, ModelRequest $request)
 {
     try {
         $roles = $request->input('roles', []);
         $departments = $request->input('departments', []);
         $user_id = $request->input('user_id', null);
         $clear_picture = $request->input('clear_picture', false);
         $model = $this->getModel($id);
         try {
             DB::beginTransaction();
             $model->user_id = $user_id;
             $model->update($request->all());
             $model->roles()->sync($roles);
             $model->departments()->sync($departments);
             if ($clear_picture) {
                 $picture = $model->picture;
                 if ($picture) {
                     try {
                         File::delete(base_path() . $picture->filename);
                         $picture->forcedelete();
                     } catch (Exception $e) {
                     }
                 }
             } else {
                 if ($request->hasFile('photo')) {
                     $uploaded_file = $request->file('photo');
                     if ($uploaded_file->isValid()) {
                         $picture = $model->picture;
                         if (!$picture) {
                             $picture = new Picture();
                         } else {
                             try {
                                 File::delete(base_path() . $picture->filename);
                             } catch (Exception $e) {
                             }
                         }
                         $picture->filename = $this->save_picture($model->name, $uploaded_file);
                         $picture->mime_type = $uploaded_file->getMimeType();
                         $picture->extension = $uploaded_file->guessExtension();
                         if (!$picture->extension) {
                             $picture->extension = $uploaded_file->getExtension();
                         }
                         $picture->user_id = $model->id;
                         $picture->save();
                     }
                 }
             }
             DB::commit();
             Flash::info(trans($this->resource_name . 'saved', ['model' => $this->model_name]));
             return redirect(route($this->show_route, [$model->id]));
         } catch (Exception $e) {
             DB::rollBack();
             throw $e;
         }
     } catch (Exception $e) {
         $errors = [];
         if ($e->getCode() == 23000) {
             $errors['email'] = trans($this->resource_name . 'duplicated_email');
         } else {
             Flash::error($e->getMessage());
         }
         return $request->response($errors);
     }
 }