public function actionHideWelcome()
 {
     $configurationForm = UserConfigurationFormAdapter::makeFormFromUserConfigurationByUser(Yii::app()->user->userModel);
     $configurationForm->hideWelcomeView = true;
     UserConfigurationFormAdapter::setConfigurationFromForm($configurationForm, Yii::app()->user->userModel);
     $this->redirect(array($this->getId() . '/index'));
 }
 public static function setUpBeforeClass()
 {
     parent::setUpBeforeClass();
     $super = User::getByUsername('super');
     $super = User::getByUsername('super');
     $super->primaryEmail = new Email();
     $super->primaryEmail->emailAddress = '*****@*****.**';
     assert($super->save());
     // Not Coding Standard
     //Create alpha group
     $group = new Group();
     $group->name = 'Alpha';
     $saved = $group->save();
     assert($saved);
     // Not Coding Standard
     self::$alphaGroup = $group;
     //Now set default permissions to owner and users in group Alpha
     $form = UserConfigurationFormAdapter::makeFormFromUserConfigurationByUser($super);
     $form->defaultPermissionSetting = UserConfigurationForm::DEFAULT_PERMISSIONS_SETTING_OWNER_AND_USERS_IN_GROUP;
     $form->defaultPermissionGroupSetting = $group->id;
     UserConfigurationFormAdapter::setConfigurationFromForm($form, $super);
     $bobby = UserTestHelper::createBasicUserWithEmailAddress('bobby');
     $sarah = UserTestHelper::createBasicUserWithEmailAddress('sarah');
     self::$superUserId = $super->id;
     self::$bobbyUserId = $bobby->id;
     self::$sarahUserId = $sarah->id;
     $file = ZurmoTestHelper::createFileModel();
     $emailTemplate = new EmailTemplate();
     $emailTemplate->builtType = EmailTemplate::BUILT_TYPE_PASTED_HTML;
     $emailTemplate->modelClassName = 'WorkflowModelTestItem';
     $emailTemplate->type = 1;
     $emailTemplate->name = 'some template';
     $emailTemplate->subject = 'some subject [[LAST^NAME]]';
     $emailTemplate->htmlContent = 'html content [[STRING]]';
     $emailTemplate->textContent = 'text content [[PHONE]]';
     $emailTemplate->files->add($file);
     $saved = $emailTemplate->save();
     if (!$saved) {
         throw new FailedToSaveModelException();
     }
     self::$emailTemplate = $emailTemplate;
     $everyoneGroup = Group::getByName(Group::EVERYONE_GROUP_NAME);
     assert($everyoneGroup->save());
     // Not Coding Standard
 }
 /**
  * @depends testListDefault
  */
 public function testListDefaultAfterChange()
 {
     $super = User::getByUsername('super');
     Yii::app()->user->userModel = $super;
     $authenticationData = $this->login();
     $headers = array('Accept: application/json', 'ZURMO_SESSION_ID: ' . $authenticationData['sessionId'], 'ZURMO_TOKEN: ' . $authenticationData['token'], 'ZURMO_API_REQUEST_TYPE: REST');
     // change default permissions to a specific group, doesn't matter if it does not exist.
     $form = UserConfigurationFormAdapter::makeFormFromUserConfigurationByUser($super);
     $form->defaultPermissionSetting = UserConfigurationForm::DEFAULT_PERMISSIONS_SETTING_OWNER_AND_USERS_IN_GROUP;
     $form->defaultPermissionGroupSetting = 6;
     UserConfigurationFormAdapter::setConfigurationFromForm($form, $super);
     unset($form);
     // validate that settings were saved.
     $this->assertEquals(UserConfigurationFormAdapter::resolveAndGetDefaultPermissionSetting($super), UserConfigurationForm::DEFAULT_PERMISSIONS_SETTING_OWNER_AND_USERS_IN_GROUP);
     $this->assertEquals(UserConfigurationFormAdapter::resolveAndGetValue($super, 'defaultPermissionGroupSetting', false), 6);
     $response = $this->listDefaultPermissionsForCurrentUser($headers);
     $response = json_decode($response, true);
     $this->assertEquals(ApiResponse::STATUS_SUCCESS, $response['status']);
     $this->assertArrayHasKey('data', $response);
     $this->assertCount(2, $response['data']);
     $this->assertArrayHasKey('owner', $response['data']);
     $this->assertCount(1, $response['data']['owner']);
     $this->assertArrayHasKey('id', $response['data']['owner']);
     $this->assertEquals($super->id, $response['data']['owner']['id']);
     $this->assertArrayHasKey('explicitReadWriteModelPermissions', $response['data']);
     $this->assertCount(2, $response['data']['explicitReadWriteModelPermissions']);
     $this->assertArrayHasKey('type', $response['data']['explicitReadWriteModelPermissions']);
     $this->assertEquals(2, $response['data']['explicitReadWriteModelPermissions']['type']);
     $this->assertArrayHasKey('nonEveryoneGroup', $response['data']['explicitReadWriteModelPermissions']);
     $this->assertEquals(6, $response['data']['explicitReadWriteModelPermissions']['nonEveryoneGroup']);
     // change default permissions to owner only.
     $form = UserConfigurationFormAdapter::makeFormFromUserConfigurationByUser($super);
     $form->defaultPermissionSetting = UserConfigurationForm::DEFAULT_PERMISSIONS_SETTING_OWNER;
     UserConfigurationFormAdapter::setConfigurationFromForm($form, $super);
     unset($form);
     // validate that settings were saved.
     $this->assertEquals(UserConfigurationFormAdapter::resolveAndGetDefaultPermissionSetting($super), UserConfigurationForm::DEFAULT_PERMISSIONS_SETTING_OWNER);
     $this->assertNull(UserConfigurationFormAdapter::resolveAndGetValue($super, 'defaultPermissionGroupSetting', false));
     $response = $this->listDefaultPermissionsForCurrentUser($headers);
     $response = json_decode($response, true);
     $this->assertEquals(ApiResponse::STATUS_SUCCESS, $response['status']);
     $this->assertArrayHasKey('data', $response);
     $this->assertCount(2, $response['data']);
     $this->assertArrayHasKey('owner', $response['data']);
     $this->assertCount(1, $response['data']['owner']);
     $this->assertArrayHasKey('id', $response['data']['owner']);
     $this->assertEquals($super->id, $response['data']['owner']['id']);
     $this->assertArrayHasKey('explicitReadWriteModelPermissions', $response['data']);
     $this->assertCount(2, $response['data']['explicitReadWriteModelPermissions']);
     $this->assertArrayHasKey('type', $response['data']['explicitReadWriteModelPermissions']);
     $this->assertEquals('', $response['data']['explicitReadWriteModelPermissions']['type']);
     $this->assertArrayHasKey('nonEveryoneGroup', $response['data']['explicitReadWriteModelPermissions']);
     $this->assertEquals('', $response['data']['explicitReadWriteModelPermissions']['nonEveryoneGroup']);
 }
Пример #4
0
 public function actionConfigurationEdit($id)
 {
     UserAccessUtil::resolveCanCurrentUserAccessAction(intval($id));
     $user = User::getById(intval($id));
     UserAccessUtil::resolveCanCurrentUserAccessRootUser($user);
     UserAccessUtil::resolveAccessingASystemUser($user);
     $title = Zurmo::t('ConfigurationModule', 'Configuration');
     $breadCrumbLinks = array(strval($user) => array('default/details', 'id' => $id), $title);
     $configurationForm = UserConfigurationFormAdapter::makeFormFromUserConfigurationByUser($user);
     $postVariableName = get_class($configurationForm);
     if (isset($_POST[$postVariableName])) {
         $configurationForm->setAttributes($_POST[$postVariableName]);
         if ($configurationForm->validate()) {
             if ($user->id != Yii::app()->user->userModel->id) {
                 UserConfigurationFormAdapter::setConfigurationFromForm($configurationForm, $user);
             } else {
                 UserConfigurationFormAdapter::setConfigurationFromFormForCurrentUser($configurationForm);
             }
             Yii::app()->user->setFlash('notification', Zurmo::t('UsersModule', 'User configuration saved successfully.'));
             $this->redirect(array($this->getId() . '/details', 'id' => $user->id));
         }
     }
     $titleBarAndEditView = new UserActionBarAndConfigurationEditView($this->getId(), $this->getModule()->getId(), $user, $configurationForm);
     $titleBarAndEditView->setCssClasses(array('AdministrativeArea'));
     $view = new UsersPageView($this->resolveZurmoDefaultOrAdminView($titleBarAndEditView, $breadCrumbLinks, 'UserBreadCrumbView'));
     echo $view->render();
 }
 public function testGetVisibleAndOrderedTabMenuItemsByUser()
 {
     $sally = User::getByUsername('sally');
     $sally->setRight('AccountsModule', AccountsModule::RIGHT_ACCESS_ACCOUNTS);
     $this->assertTrue($sally->save());
     $form = UserConfigurationFormAdapter::makeFormFromUserConfigurationByUser($sally);
     $customOrderedTabMenuItems = UserConfigurationFormAdapter::getVisibleAndOrderedTabMenuItemsByUser($sally);
     $this->assertEquals(3, count($customOrderedTabMenuItems));
     $form->selectedVisibleAndOrderedTabMenuItems = $customOrderedTabMenuItems;
     UserConfigurationFormAdapter::setConfigurationFromForm($form, $sally);
     $sally->removeRight('AccountsModule', AccountsModule::RIGHT_ACCESS_ACCOUNTS);
     $this->assertTrue($sally->save());
     $customOrderedTabMenuItems = UserConfigurationFormAdapter::getVisibleAndOrderedTabMenuItemsByUser($sally);
     $this->assertEquals(2, count($customOrderedTabMenuItems));
 }