Exemplo n.º 1
0
 /**
  * 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 '';
 }