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