/** * 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); }