public function testCreateAdmin() { $user = self::$f->createUser('*****@*****.**', 'A user', ''); $this->assertFalse($user->isAdmin()); self::$f->setAdminPrivileges($user, true); $this->assertTrue($user->isAdmin()); // reload user $user = self::$f->load('*****@*****.**'); $this->assertTrue($user->isAdmin()); self::$f->setAdminPrivileges($user, false); $this->assertFalse($user->isAdmin()); $user = self::$f->load('*****@*****.**'); $this->assertFalse($user->isAdmin()); }
/** * @inheritdoc */ public function exec(Server $server, ConnectionInterface $db, CacheInterface $cache) { $userFactory = new UserFactory($db, $cache); $user = $userFactory->load($_REQUEST['user']); $response = new OperationResponse(); if (!$user) { $response->setStatus(400); $response->setBody(array('error' => 'Argument "user" is referring to a user that does not exist')); } elseif ($this->user->isEqual($user)) { $response->setStatus(400); $response->setBody(array('error' => 'A user can not change admin privileges for its own user account')); } else { $userFactory->setAdminPrivileges($user, $_REQUEST['admin'] == '1'); $response->setStatus(204); } return $response; }