public function actionGameDashboard($id)
 {
     $user = User::getById(intval($id));
     UserAccessUtil::resolveAccessingASystemUser($user);
     $title = Zurmo::t('ZurmoModule', 'Dashboard');
     $badgeData = GameBadge::getAllByPersonIndexedByType($user);
     $generalLevelData = GameLevelUtil::getStatisticsDataForAGivenLevelType($user, GameLevel::TYPE_GENERAL);
     $rankingData = GamePointUtil::getUserRankingData($user);
     $statisticsData = GameLevelUtil::getUserStatisticsData($user);
     $collectionData = GameCollection::resolvePersonAndAvailableTypes($user, GameCollection::getAvailableTypes());
     $dashboardView = new UserGameDashboardView($this, $user, $generalLevelData, $badgeData, $rankingData, $statisticsData, $collectionData);
     $view = new AjaxPageView($dashboardView);
     echo $view->render();
 }
 protected function shouldRenderToolBarElement($element, $elementInformation)
 {
     if (!parent::shouldRenderToolBarElement($element, $elementInformation)) {
         return false;
     }
     if (in_array($elementInformation['type'], array('UserEditLink', 'AuditEventsModalListLink', 'ChangePasswordLink', 'UserConfigurationLink')) && !UserAccessUtil::canCurrentUserViewALinkRequiringElevatedAccess($this->model)) {
         return false;
     }
     return true;
 }
示例#3
0
 /**
  * test for checking hideFromSelecting attribute
  */
 public function testIsSystemUserAndActiveUserCountOnUserSave()
 {
     $user = new User();
     $user->username = '******';
     $user->title->value = 'Mr.';
     $user->firstName = 'My';
     $user->lastName = 'sysuser';
     $user->setPassword('myuser');
     $this->assertTrue($user->save());
     unset($user);
     $user = User::getByUsername('sysuser');
     $this->assertNull($user->isSystemUser);
     unset($user);
     //Check active user count
     $activeUserCount = User::getActiveUserCount();
     $this->assertEquals(26, $activeUserCount);
     $user = User::getByUsername('sysuser');
     $this->assertTrue(UserAccessUtil::resolveAccessingASystemUser($user));
     $user->setIsSystemUser();
     $this->assertTrue($user->save());
     unset($user);
     $user = User::getByUsername('sysuser');
     $this->assertFalse(UserAccessUtil::resolveAccessingASystemUser($user, false));
     //As the user has been made a system user so count should reduce
     $activeUserCount = User::getActiveUserCount();
     $this->assertEquals(25, $activeUserCount);
     $user = User::getByUsername('rootuser');
     $user->setIsNotRootUser();
     $this->assertTrue($user->save());
     unset($user);
     //As the user removed from root user so count should increase
     $activeUserCount = User::getActiveUserCount();
     $this->assertEquals(26, $activeUserCount);
 }
示例#4
0
 public function testActiveUsers()
 {
     $activeUserCount = User::getActiveUserCount();
     $this->assertEquals(28, $activeUserCount);
     $this->assertCount(28, User::getActiveUsers());
     $activeUserCount = User::getActiveUserCount(false);
     $this->assertEquals(28, $activeUserCount);
     $this->assertCount(28, User::getActiveUsers(false));
     $activeUserCount = User::getActiveUserCount(true);
     $this->assertEquals(28, $activeUserCount);
     $this->assertCount(28, User::getActiveUsers(true));
     $user = User::getByUsername('rootuser');
     $this->assertTrue(UserAccessUtil::resolveCanCurrentUserAccessRootUser($user));
     $user->setIsRootUser();
     $this->assertTrue($user->save());
     unset($user);
     $activeUserCount = User::getActiveUserCount();
     $this->assertEquals(27, $activeUserCount);
     $this->assertCount(27, User::getActiveUsers());
     $activeUserCount = User::getActiveUserCount(false);
     $this->assertEquals(27, $activeUserCount);
     $this->assertCount(27, User::getActiveUsers(false));
     $activeUserCount = User::getActiveUserCount(true);
     $this->assertEquals(28, $activeUserCount);
     $this->assertCount(28, User::getActiveUsers(true));
 }
 public function actionNotificationConfiguration($id, $redirectUrl = null)
 {
     UserAccessUtil::resolveCanCurrentUserAccessAction(intval($id));
     $user = User::getById(intval($id));
     UserAccessUtil::resolveCanCurrentUserAccessRootUser($user);
     UserAccessUtil::resolveAccessingASystemUser($user);
     $title = Zurmo::t('Core', 'Notifications Configuration');
     $breadCrumbLinks = array(strval($user) => array('default/details', 'id' => $id), $title);
     $userNotificationConfigurationForm = UserNotificationConfigurationFormAdapter::makeFormFromUserConfigurationByUser($user);
     $postVariableName = get_class($userNotificationConfigurationForm);
     if (isset($_POST[$postVariableName])) {
         $userNotificationConfigurationForm->setAttributes($_POST[$postVariableName], false);
         if ($userNotificationConfigurationForm->validate()) {
             if ($user->id != Yii::app()->user->userModel->id) {
                 UserNotificationConfigurationFormAdapter::setConfigurationFromForm($userNotificationConfigurationForm, $user);
             } else {
                 UserNotificationConfigurationFormAdapter::setConfigurationFromFormForCurrentUser($userNotificationConfigurationForm);
             }
             Yii::app()->user->setFlash('notification', Zurmo::t('UsersModule', 'User notifications configuration saved successfully.'));
             if ($redirectUrl != null) {
                 $this->redirect($redirectUrl);
             } else {
                 $this->redirect(array($this->getId() . '/details', 'id' => $user->id));
             }
         }
     }
     $titleBarAndEditView = new UserActionBarAndNotificationConfigurationEditView($this->getId(), $this->getModule()->getId(), $user, $userNotificationConfigurationForm);
     $titleBarAndEditView->setCssClasses(array('AdministrativeArea'));
     $view = new UsersPageView($this->resolveZurmoDefaultOrAdminView($titleBarAndEditView, $breadCrumbLinks, 'UserBreadCrumbView'));
     echo $view->render();
 }
示例#6
0
 public function actionEmailConfiguration($id, $redirectUrl = null)
 {
     UserAccessUtil::resolveCanCurrentUserAccessAction(intval($id));
     $user = User::getById(intval($id));
     UserAccessUtil::resolveCanCurrentUserAccessRootUser($user);
     UserAccessUtil::resolveAccessingASystemUser($user);
     $title = Zurmo::t('UsersModule', 'Email Configuration');
     $breadcrumbLinks = array(strval($user) => array('default/details', 'id' => $id), $title);
     $emailAccount = EmailAccount::resolveAndGetByUserAndName($user);
     $userEmailConfigurationForm = new UserEmailConfigurationForm($emailAccount);
     $userEmailConfigurationForm->emailSignatureHtmlContent = $user->getEmailSignature()->htmlContent;
     $postVariableName = get_class($userEmailConfigurationForm);
     if (isset($_POST[$postVariableName])) {
         $userEmailConfigurationForm->setAttributes($_POST[$postVariableName]);
         if ($userEmailConfigurationForm->validate()) {
             $userEmailConfigurationForm->save();
             Yii::app()->user->setFlash('notification', Zurmo::t('UsersModule', 'User email configuration saved successfully.'));
             if ($redirectUrl != null) {
                 $this->redirect($redirectUrl);
             } else {
                 $this->redirect(array($this->getId() . '/details', 'id' => $user->id));
             }
         }
     }
     $titleBarAndEditView = new UserActionBarAndEmailConfigurationEditView($this->getId(), $this->getModule()->getId(), $user, $userEmailConfigurationForm);
     $titleBarAndEditView->setCssClasses(array('AdministrativeArea'));
     $view = new UsersPageView($this->resolveZurmoDefaultOrAdminView($titleBarAndEditView, $breadcrumbLinks, 'UserBreadCrumbView'));
     echo $view->render();
 }