Esempio n. 1
0
 /**
  * Update the specified resource in storage.
  *
  * @param  Request  $request
  * @param  int  $id
  * @return Response
  */
 public function update(Request $request, $id)
 {
     if ($request->id == 51) {
         return response()->json(['demo' => "You aren't allowed to edit the demo user"], 422);
     }
     $this->validate($request, ['name' => 'required|min:3|max:20', 'email' => 'required|email|unique:users,email,' . $id, 'oldpassword' => 'required', 'repassword' => 'required_with:password|same:password']);
     if ($request->password && strlen($request->password) < 6) {
         return response()->json(["password" => "Your password must be at least 6 characters"], 422);
     }
     $user = User::find($id);
     if (Hash::check($request->oldpassword, $user->password)) {
         $data = $request->all();
         if ($request->password) {
             $data['password'] = bcrypt($request->password);
         }
         if ($request->file) {
             $validate = ImageHelper::validate($request->file, 2000000);
             if (!$validate['success']) {
                 return response()->json([$validate['message']], 422);
             }
             $image = ImageHelper::create($request->file, 600, 'admin/images/users/');
             $data['image'] = $image['filename'];
         }
         $user->update($data);
         $user->UserRoles()->update(['role' => $data['user_roles']['role']]);
         return response()->json(['message' => 'User successfully updated']);
     }
     return response()->json(['oldpassword' => 'Old password is not correct'], 422);
 }