/**
  * Update the specified resource in storage.
  *
  * @param Request $request
  * @param  int $id
  * @return \Illuminate\Http\Response
  */
 public function update(Request $request, $id)
 {
     // Fetch the edited specie from the database
     $boat = Boat::findOrFail($id);
     DB::transaction(function () use($request, $boat) {
         // Update the fields
         $boat->name = $request['name'];
         $boat->charter = $request['charter'];
         if (!empty($request['user_id'])) {
             $boat->skipper()->associate(User::findOrFail($request['user_id']));
         } else {
             if (!is_null($boat->skipper)) {
                 $boat->user_id = null;
             }
         }
         $boat->save();
     });
     flash()->success('Success!', "Boat data has been updated!");
     return redirect(route('admin.boats.index'));
 }
 public function profile()
 {
     $user = User::findOrFail(Auth::user()->id);
     $userRoles = Helpers::getUserRoles();
     return view('admin.pages.settings.profile', compact('user', 'userRoles'));
 }
 /**
  * Remove the specified resource from storage.
  *
  * @param  int  $id
  * @return \Illuminate\Http\Response
  */
 public function destroy($id)
 {
     // Fetch user object from the database
     $user = User::findOrFail($id);
     // Store users full name
     $userName = "******";
     // If user has avatar delete the file.
     if (!is_null($user->avatar->name)) {
         $avatarFile = public_path() . '\\avatars\\' . $user->avatar->name;
         if (File::exists($avatarFile)) {
             File::delete($avatarFile);
         }
     }
     // Delete user from DB
     $user->delete();
     flash()->overlay('Success!', "Angler {$userName} has been deleted!", 'success');
     return redirect(route('admin.users.index'));
 }