protected function populateHeaderMenuViewdata() { $this->data['isAdmin'] = false; // setup specific variables for header $this->data['isLoggedIn'] = $this->_isLoggedIn; $featuredProjectList = new FeaturedProjectListModel(); $featuredProjectList->read(); $this->data['featuredProjects'] = $featuredProjectList->entries; if ($this->_isLoggedIn) { if ($this->_user->role) { $this->data['isAdmin'] = SystemRoles::hasRight($this->_user->role, Domain::USERS + Operation::CREATE); } $this->data['userName'] = $this->_user->username; $this->data['smallAvatarUrl'] = '/Site/views/shared/image/avatar/' . $this->_user->avatar_ref; $projects = $this->_user->listProjects($this->website->domain); $this->data['projects_count'] = $projects->count; $this->data['projects'] = $projects->entries; } }
public function testRemoveUsers_ProjectOwner_NotRemovedFromProject_RestoreErrorDisplay() { // restore error display after last test $this->environ->restoreErrorDisplay(); // read from disk $sameProject = new ProjectModel($this->save['projectId']); $sameUser1 = new UserModel($this->save['user1Id']); $sameUser2 = new UserModel($this->save['user2Id']); // project still has project owner $this->assertEqual($sameProject->listUsers()->count, 1); $this->assertEqual($sameUser1->listProjects($this->environ->website->domain)->count, 0); $this->assertEqual($sameUser2->listProjects($this->environ->website->domain)->count, 1); }
public function testUserListProjects_TwoProjects_ListHasDetails() { $e = new MongoTestEnvironment(); $e->clean(); $userId = $e->createUser('jsmith', 'joe smith', '*****@*****.**'); $p1m = $e->createProject('p1', 'p1Code'); $p1m->appName = 'sfchecks'; $p1m->ownerRef->id = $userId; $p1m->write(); $p1 = $p1m->id->asString(); $p2m = $e->createProject('p2', 'p2Code'); $p2 = $p2m->id->asString(); $p2m->appName = 'sfchecks'; $p2m->ownerRef->id = $userId; $p2m->write(); $userModel = new UserModel($userId); // Check that list projects is empty $result = $userModel->listProjects($e->website->domain); $this->assertEqual(0, $result->count); $this->assertEqual(array(), $result->entries); // Add our two projects $p1m->addUser($userModel->id->asString(), ProjectRoles::MANAGER); $userModel->addProject($p1m->id->asString()); $p2m->addUser($userModel->id->asString(), ProjectRoles::MANAGER); $userModel->addProject($p2m->id->asString()); $p1m->write(); $p2m->write(); $userModel->write(); $result = $userModel->listProjects($e->website->domain); $this->assertEqual(2, $result->count); $this->assertEqual(array(array('projectName' => 'p1', 'ownerRef' => $userId, 'id' => $p1, 'appName' => 'sfchecks', 'siteName' => $e->website->domain), array('projectName' => 'p2', 'ownerRef' => $userId, 'id' => $p2, 'appName' => 'sfchecks', 'siteName' => $e->website->domain)), $result->entries); }
public function testRegister_NoProjectCode_UserInNoProjects() { $this->environ->clean(); $validCode = 'validCode'; $params = array('id' => '', 'username' => 'someusername', 'name' => 'Some Name', 'email' => '*****@*****.**', 'password' => 'somepassword', 'captcha' => $validCode); $captcha_info = array('code' => $validCode); $delivery = new MockUserCommandsDelivery(); $userId = UserCommands::register($params, $captcha_info, $this->environ->website, $delivery); $user = new UserModel($userId); $this->assertEqual($user->username, $params['username']); $this->assertEqual($user->listProjects($this->environ->website->domain)->count, 0); }