public function testAddContestGroupAdmin() { // Get a contest $contestData = ContestsFactory::createContest(); // Get a user $user = UserFactory::createUser(); // Get a group $groupData = GroupsFactory::createGroup(); GroupsFactory::addUserToGroup($groupData, $user); // Prepare request $r = new Request(); $r['auth_token'] = $this->login($contestData['director']); $r['group'] = $groupData['request']['alias']; $r['contest_alias'] = $contestData['request']['alias']; // Call api $response = ContestController::apiAddGroupAdmin($r); // Get the role $ur = GroupRolesDAO::getByPK($groupData['group']->group_id, CONTEST_ADMIN_ROLE, $contestData['contest']->contest_id); $this->assertNotNull($ur); }
/** * Returns all contest administrators * * @param Request $r * @return array * @throws InvalidDatabaseOperationException */ public static function apiAdmins(Request $r) { // Authenticate request self::authenticateRequest($r); Validators::isStringNonEmpty($r['contest_alias'], 'contest_alias'); try { $contest = ContestsDAO::getByAlias($r['contest_alias']); } catch (Exception $e) { throw new InvalidDatabaseOperationException($e); } if (!Authorization::IsContestAdmin($r['current_user_id'], $contest)) { throw new ForbiddenAccessException(); } $response = array(); $response['admins'] = UserRolesDAO::getContestAdmins($contest); $response['group_admins'] = GroupRolesDAO::getContestAdmins($contest); $response['status'] = 'ok'; return $response; }
public static function IsSystemAdmin($user_id) { if (self::$is_system_admin == null) { self::$is_system_admin = GroupRolesDAO::IsSystemAdmin($user_id) || UserRolesDAO::IsSystemAdmin($user_id); } return self::$is_system_admin; }