Exemple #1
0
 /**
  * Remove the event given the eventID.
  * @param  int  $id
  * @return Response
  */
 public function destroy($id)
 {
     if (!Entrust::hasRole(RoleNames::EventManager($id))) {
         return response("Permission not found", 403);
     }
     return DB::transaction(function () use($id) {
         $event = Event::find($id);
         if (is_null($event)) {
             return response("No event for id {$id}.", 404);
         }
         $event->delete();
         Permission::whereIn('name', PermissionNames::AllEventPermissions($id))->delete();
         RoleCreate::deleteEventRoles($id);
         return response()->json(['id' => $event->id]);
     });
 }
 /**
  * Deletes a conference.
  */
 public function delete($id)
 {
     if (!Entrust::can(PermissionNames::ConferenceInfoEdit($id))) {
         return response("", 403);
     }
     DB::transaction(function () use($id) {
         $events = Event::where('conferenceID', $id)->get();
         $pnames = array_merge(PermissionNames::AllConferencePermissions($id), PermissionNames::ExclusiveConferencePermissions($id));
         $evtIds = [];
         foreach ($events as $e) {
             $pnames = array_merge($pnames, PermissionNames::AllEventPermissions($e->id));
             echo $e;
             $evtIds[] = $e->id;
         }
         Permission::whereIn('name', $pnames)->delete();
         RoleCreate::deleteConferenceRoles($id);
         RoleCreate::deleteEventRoles($evtIds);
         Conference::destroy($id);
     });
     Log::info("Conference with ID {$id} deleted");
     return '';
 }