Ejemplo n.º 1
0
 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);
 }
Ejemplo n.º 3
0
 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);
 }