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']); }
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)); }