public function testMakeFormAndSetConfigurationFromForm() { $billy = User::getByUsername('billy'); Yii::app()->timeZoneHelper->setTimeZone('America/New_York'); Yii::app()->pagination->setGlobalValueByType('listPageSize', 50); Yii::app()->pagination->setGlobalValueByType('subListPageSize', 51); Yii::app()->pagination->setGlobalValueByType('modalListPageSize', 52); Yii::app()->pagination->setGlobalValueByType('dashboardListPageSize', 53); ZurmoConfigurationUtil::setByModuleName('ZurmoModule', 'applicationName', 'demoCompany'); $logoFileName = 'testLogo.png'; $logoFilePath = Yii::getPathOfAlias('application.modules.zurmo.tests.unit.files') . DIRECTORY_SEPARATOR . $logoFileName; ZurmoConfigurationFormAdapter::resizeLogoImageFile($logoFilePath, $logoFilePath, null, ZurmoConfigurationForm::DEFAULT_LOGO_HEIGHT); $logoFileId = ZurmoConfigurationFormAdapter::saveLogoFile($logoFileName, $logoFilePath, 'logoFileModelId'); ZurmoConfigurationFormAdapter::publishLogo($logoFileName, $logoFilePath); ZurmoConfigurationUtil::setByModuleName('ZurmoModule', 'logoFileModelId', $logoFileId); ZurmoConfigurationUtil::setByModuleName('ZurmoModule', 'logoThumbFileModelId', $logoFileId); $form = ZurmoConfigurationFormAdapter::makeFormFromGlobalConfiguration(); $this->assertEquals('America/New_York', $form->timeZone); $this->assertEquals(50, $form->listPageSize); $this->assertEquals(51, $form->subListPageSize); $this->assertEquals(52, $form->modalListPageSize); $this->assertEquals(53, $form->dashboardListPageSize); $this->assertEquals('demoCompany', $form->applicationName); $this->assertEquals(AutoresponderOrCampaignBatchSizeConfigUtil::CONFIG_DEFAULT_VALUE, $form->autoresponderOrCampaignBatchSize); $this->assertEquals(UnsubscribeAndManageSubscriptionsPlaceholderUtil::getContentByType(false), $form->autoresponderOrCampaignFooterPlainText); $this->assertEquals(UnsubscribeAndManageSubscriptionsPlaceholderUtil::getContentByType(true), $form->autoresponderOrCampaignFooterRichText); $this->assertEquals($logoFileName, $form->logoFileData['name']); $form->timeZone = 'America/Chicago'; $form->listPageSize = 60; $form->subListPageSize = 61; $form->modalListPageSize = 62; $form->dashboardListPageSize = 63; $form->applicationName = 'demoCompany2'; $form->autoresponderOrCampaignBatchSize = 20; $logoFileName2 = 'testLogo2.png'; $form->autoresponderOrCampaignFooterPlainText = 'abc'; $form->autoresponderOrCampaignFooterRichText = 'def'; $logoFilePath2 = Yii::getPathOfAlias('application.modules.zurmo.tests.unit.files') . DIRECTORY_SEPARATOR . $logoFileName2; copy($logoFilePath2, sys_get_temp_dir() . DIRECTORY_SEPARATOR . $logoFileName2); copy($logoFilePath2, sys_get_temp_dir() . DIRECTORY_SEPARATOR . ZurmoConfigurationForm::LOGO_THUMB_FILE_NAME_PREFIX . $logoFileName2); Yii::app()->user->setState('logoFileName', $logoFileName2); ZurmoConfigurationFormAdapter::setConfigurationFromForm($form); $form = ZurmoConfigurationFormAdapter::makeFormFromGlobalConfiguration(); $this->assertEquals('America/Chicago', $form->timeZone); $this->assertEquals(60, $form->listPageSize); $this->assertEquals(61, $form->subListPageSize); $this->assertEquals(62, $form->modalListPageSize); $this->assertEquals(63, $form->dashboardListPageSize); $this->assertEquals('demoCompany2', $form->applicationName); $this->assertEquals(20, $form->autoresponderOrCampaignBatchSize); $this->assertEquals('abc', $form->autoresponderOrCampaignFooterPlainText); $this->assertEquals('def', $form->autoresponderOrCampaignFooterRichText); $this->assertEquals($logoFileName2, $form->logoFileData['name']); }
/** * Given a ZurmoConfigurationForm, save the configuration global values. */ public static function setConfigurationFromForm(ZurmoConfigurationForm $form) { ZurmoConfigurationUtil::setByModuleName('ZurmoModule', 'applicationName', $form->applicationName); Yii::app()->timeZoneHelper->setGlobalValue((string) $form->timeZone); Yii::app()->pagination->setGlobalValueByType('listPageSize', (int) $form->listPageSize); Yii::app()->pagination->setGlobalValueByType('subListPageSize', (int) $form->subListPageSize); Yii::app()->pagination->setGlobalValueByType('modalListPageSize', (int) $form->modalListPageSize); Yii::app()->pagination->setGlobalValueByType('dashboardListPageSize', (int) $form->dashboardListPageSize); ZurmoConfigurationUtil::setByModuleName('ZurmoModule', 'gamificationModalNotificationsEnabled', (bool) $form->gamificationModalNotificationsEnabled); ZurmoConfigurationUtil::setByModuleName('ZurmoModule', 'realtimeUpdatesEnabled', (bool) $form->realtimeUpdatesEnabled); AutoresponderOrCampaignBatchSizeConfigUtil::setBatchSize((int) $form->autoresponderOrCampaignBatchSize); UnsubscribeAndManageSubscriptionsPlaceholderUtil::setContentByType($form->autoresponderOrCampaignFooterPlainText, false); UnsubscribeAndManageSubscriptionsPlaceholderUtil::setContentByType($form->autoresponderOrCampaignFooterRichText, true); self::setLogoAttributes($form); }
protected static function resolveDefaultFooterPlaceholderContentByType($isHtmlContent) { return UnsubscribeAndManageSubscriptionsPlaceholderUtil::getContentByType($isHtmlContent, true); }
/** * @depends testTextContentGetsCustomFooterAppended */ public function testHtmlContentGetsCustomFooterAppended() { UnsubscribeAndManageSubscriptionsPlaceholderUtil::setContentByType('RichTextFooter', true); $content = 'This is some html content'; $result = static::resolveContent($content, true, true); $this->assertTrue($result); $this->assertTrue(strpos($content, 'This is some html content') !== false); $this->assertTrue(strpos($content, 'RichTextFooter') !== false); $this->assertTrue(strpos($content, '/marketingLists/external/') === false); }
/** * @depends testGetByContentTypeReturnsDefaultWithNoneSet */ public function testSetByContentType() { UnsubscribeAndManageSubscriptionsPlaceholderUtil::setContentByType('plain', false); $plainTextFooter = UnsubscribeAndManageSubscriptionsPlaceholderUtil::getContentByType(false); $this->assertNotNull($plainTextFooter); $this->assertEquals('plain', $plainTextFooter); UnsubscribeAndManageSubscriptionsPlaceholderUtil::setContentByType('rich', true); $richTextFooter = UnsubscribeAndManageSubscriptionsPlaceholderUtil::getContentByType(true); $this->assertNotNull($richTextFooter); $this->assertEquals('rich', $richTextFooter); }