/** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update(StoreUserRequest $request, $id) { if (Gate::denies('update', User::class)) { abort(403); } $record = User::find($id); $file_name = $record->document; if ($request->hasFile('document')) { if ($file_name != '') { if (Storage::disk('user')->has($file_name)) { Storage::disk('user')->delete($file_name); } } $file_name = str_random(32) . '.' . $request->file('document')->getClientOriginalExtension(); Storage::disk('user')->put($file_name, file_get_contents($request->file('document')->getRealPath())); } if ($request->has('password')) { $record->update(['parish_id' => $request->parish_id, 'role' => $request->role, 'name' => $request->name, 'email' => $request->email, 'password' => bcrypt($request->password)]); } else { $record->update(['parish_id' => $request->parish_id, 'role' => $request->role, 'name' => $request->name, 'email' => $request->email]); } return redirect('/user')->with('alert-info', 'The record has been updated!'); }