/**
  * Remove the specified resource from storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  int  $id
  * @return \Illuminate\Http\Response
  */
 public function destroy(Request $request, $id)
 {
     $this->validate($request, ['action' => 'string|in:delete,restore,force_delete']);
     $place = Place::withTrashed()->find($id);
     if (empty($place)) {
         abort(404);
     }
     if ($request->user()->cannot('delete-place', $place)) {
         abort(403);
     }
     switch ($request->input('action')) {
         case 'restore':
             $place->restoreWithRelationships();
             break;
         case 'force_delete':
             $place->forceDeleteWithRelationships();
             break;
         default:
             $place->deleteWithRelationships();
     }
 }