Exemple #1
0
 public static function AllConferenceRoles($confId)
 {
     return DB::transaction(function () use($confId) {
         $permissionList = PermissionNames::AllConferencePermissions($confId);
         $permissions = self::createAllPermissions($permissionList);
         self::createPermissionRoles($permissions);
         // Create permissions/roles for things which are more limited permissions
         // (and therefore not in the permissions we want for management)
         self::createPermissionRoles(self::createAllPermissions(PermissionNames::ExclusiveConferencePermissions($confId)));
         $managerRoleId = self::ConferenceManager($confId, $permissions);
         return $managerRoleId;
     });
 }
 /**
  * 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 '';
 }