/** * @param string $content * @param bool $isHtmlContent */ public static function setContentByType($content, $isHtmlContent) { assert('is_string($content)'); assert('is_bool($isHtmlContent)'); $key = static::resolveConfigKeyByContentType((bool) $isHtmlContent); ZurmoConfigurationUtil::setByModuleName(static::CONFIG_MODULE_NAME, $key, $content); }
protected static function setConfigForKey($key, $value) { if ($key == 'bounceImapPassword') { $value = ZurmoPasswordSecurityUtil::encrypt($value); } ZurmoConfigurationUtil::setByModuleName(static::CONFIG_MODULE_NAME, $key, $value); }
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'); $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); $form->timeZone = 'America/Chicago'; $form->listPageSize = 60; $form->subListPageSize = 61; $form->modalListPageSize = 62; $form->dashboardListPageSize = 63; $form->applicationName = 'demoCompany2'; 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); }
/** * @depends testResolveBaseUrl */ public function testResolveApplicationName() { ZurmoConfigurationUtil::setByModuleName('ZurmoModule', 'applicationName', 'Demo App'); $resolvedApplicationName = SpecialMergeTagsAdapter::resolve('applicationName', null); $expectedApplicationName = ZurmoConfigurationUtil::getByModuleName('ZurmoModule', 'applicationName'); $this->assertNotNull($resolvedApplicationName); $this->assertEquals($expectedApplicationName, $resolvedApplicationName); }
/** * A test job. This test job will update the config table with a datetime stamp. * (non-PHPdoc) * @see BaseJob::run() */ public function run() { ZurmoConfigurationUtil::setByModuleName('JobsManagerModule', 'test', $this->testValue); if ($this->causeFailure) { $this->errorMessage = 'The test job failed'; return false; } return true; }
public static function setUpBeforeClass() { parent::setUpBeforeClass(); $super = SecurityTestHelper::createSuperAdmin(); if (Yii::app()->params['testGoogleGeoCodeApiKey'] != null) { ZurmoConfigurationUtil::setByModuleName('MapsModule', 'googleMapApiKey', Yii::app()->params['testGoogleGeoCodeApiKey']); } Yii::app()->user->userModel = $super; AddressGeoCodeTestHelper::createAndRemoveAccountWithAddress($super); }
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); Yii::app()->emailHelper->setDefaultFromAddress($form->defaultFromEmailAddress); Yii::app()->emailHelper->setDefaultTestToAddress($form->defaultTestToEmailAddress); ZurmoConfigurationUtil::setByModuleName('ZurmoModule', 'gamificationModalNotificationsEnabled', (bool) $form->gamificationModalNotificationsEnabled); ZurmoConfigurationUtil::setByModuleName('ZurmoModule', 'gamificationModalCollectionsEnabled', (bool) $form->gamificationModalCollectionsEnabled); ZurmoConfigurationUtil::setByModuleName('ZurmoModule', 'gamificationModalCoinsEnabled', (bool) $form->gamificationModalCoinsEnabled); ZurmoConfigurationUtil::setByModuleName('ZurmoModule', 'realtimeUpdatesEnabled', (bool) $form->realtimeUpdatesEnabled); ZurmoConfigurationUtil::setByModuleName('ZurmoModule', 'reCaptchaPrivateKey', $form->reCaptchaPrivateKey); ZurmoConfigurationUtil::setByModuleName('ZurmoModule', 'reCaptchaPublicKey', $form->reCaptchaPublicKey); }
/** * Admin configuration action for entering the google map api key. */ public function actionConfigurationView() { $configurationForm = new MapsConfigurationForm(); $configurationForm->apiKey = Yii::app()->mappingHelper->getGeoCodeApiKey(); $postVariableName = get_class($configurationForm); if (isset($_POST[$postVariableName])) { $configurationForm->setAttributes($_POST[$postVariableName]); if ($configurationForm->validate()) { ZurmoConfigurationUtil::setByModuleName('MapsModule', 'googleMapApiKey', $configurationForm->apiKey); Yii::app()->user->setFlash('notification', Zurmo::t('MapsModule', 'Maps configuration saved successfully.')); $this->redirect(Yii::app()->createUrl('maps/default/configurationView')); } } $editView = new MapConfigurationView('Edit', $this->getId(), $this->getModule()->getId(), $configurationForm); $editView->setCssClasses(array('AdministrativeArea')); $view = new ZurmoConfigurationPageView(ZurmoDefaultAdminViewUtil::makeStandardViewForCurrentUser($this, $editView)); echo $view->render(); }
public function testMakeFormAndSetConfigurationFromForm() { $form = BounceConfigurationFormAdapter::makeFormFromGlobalConfiguration(); $this->assertNull($form->imapHost); $this->assertNull($form->imapPort); $this->assertNull($form->imapUsername); $this->assertNull($form->imapPassword); $this->assertNull($form->imapSSL); $this->assertNull($form->imapFolder); $this->assertNull($form->returnPath); ZurmoConfigurationUtil::setByModuleName('EmailMessagesModule', 'bounceImapHost', 'bounce.com'); ZurmoConfigurationUtil::setByModuleName('EmailMessagesModule', 'bounceImapPort', '420'); ZurmoConfigurationUtil::setByModuleName('EmailMessagesModule', 'bounceImapSSL', '1'); ZurmoConfigurationUtil::setByModuleName('EmailMessagesModule', 'bounceImapUsername', 'bouncy'); ZurmoConfigurationUtil::setByModuleName('EmailMessagesModule', 'bounceImapPassword', ZurmoPasswordSecurityUtil::encrypt('bounces')); ZurmoConfigurationUtil::setByModuleName('EmailMessagesModule', 'bounceImapFolder', 'BOUNCES'); ZurmoConfigurationUtil::setByModuleName('EmailMessagesModule', 'bounceReturnPath', '*****@*****.**'); $form = BounceConfigurationFormAdapter::makeFormFromGlobalConfiguration(); $this->assertEquals('bounce.com', $form->imapHost); $this->assertEquals('420', $form->imapPort); $this->assertEquals('bouncy', $form->imapUsername); $this->assertEquals('bounces', $form->imapPassword); $this->assertEquals('1', $form->imapSSL); $this->assertEquals('BOUNCES', $form->imapFolder); $this->assertEquals('*****@*****.**', $form->returnPath); $form = BounceConfigurationFormAdapter::makeFormFromGlobalConfiguration(); $form->imapHost = 'example.com'; $form->imapPort = '111'; $form->imapSSL = '0'; $form->imapUsername = '******'; $form->imapPassword = '******'; $form->imapFolder = 'folder'; $form->returnPath = 'path'; BounceConfigurationFormAdapter::setConfigurationFromForm($form); $form = BounceConfigurationFormAdapter::makeFormFromGlobalConfiguration(); $this->assertEquals('example.com', $form->imapHost); $this->assertEquals('111', $form->imapPort); $this->assertEquals('user', $form->imapUsername); $this->assertEquals('password', $form->imapPassword); $this->assertEquals('0', $form->imapSSL); $this->assertEquals('folder', $form->imapFolder); $this->assertEquals('path', $form->returnPath); }
/** * @param DemoDataHelper $demoDataHelper */ public function makeAll(&$demoDataHelper) { assert('$demoDataHelper instanceof DemoDataHelper'); $currency = new Currency(); $currency->code = 'EUR'; $currency->rateToBase = 1.5; $saved = $currency->save(); assert('$saved'); $currency = new Currency(); $currency->code = 'CAD'; $currency->rateToBase = 1.1; $saved = $currency->save(); assert('$saved'); $currency = new Currency(); $currency->code = 'JPY'; $currency->rateToBase = 0.75; $saved = $currency->save(); assert('$saved'); ZurmoConfigurationUtil::setByModuleName('ZurmoModule', 'applicationName', 'Demo Company Inc.'); }
public function testMakeFormAndSetConfigurationFromForm() { $billy = User::getByUsername('billy'); Yii::app()->themeManager->customThemeColorsArray = array('#111111', '#222222', '#333333'); Yii::app()->themeManager->globalThemeColor = 'custom'; Yii::app()->themeManager->forceAllUsersTheme = true; $logoFileName = 'testLogo.png'; $logoFilePath = Yii::getPathOfAlias('application.modules.zurmo.tests.unit.files') . DIRECTORY_SEPARATOR . $logoFileName; ZurmoUserInterfaceConfigurationFormAdapter::resizeLogoImageFile($logoFilePath, $logoFilePath, null, ZurmoUserInterfaceConfigurationForm::DEFAULT_LOGO_HEIGHT); $logoFileId = ZurmoUserInterfaceConfigurationFormAdapter::saveLogoFile($logoFileName, $logoFilePath, 'logoFileModelId'); ZurmoUserInterfaceConfigurationFormAdapter::publishLogo($logoFileName, $logoFilePath); ZurmoConfigurationUtil::setByModuleName('ZurmoModule', 'logoFileModelId', $logoFileId); ZurmoConfigurationUtil::setByModuleName('ZurmoModule', 'logoThumbFileModelId', $logoFileId); //Getting values $form = ZurmoUserInterfaceConfigurationFormAdapter::makeFormFromGlobalConfiguration(); $this->assertEquals($logoFileName, $form->logoFileData['name']); $this->assertEquals('custom', $form->themeColor); $this->assertEquals('#111111', $form->customThemeColor1); $this->assertEquals('#222222', $form->customThemeColor2); $this->assertEquals('#333333', $form->customThemeColor3); $this->assertEquals('1', $form->forceAllUsersTheme); //Setting values $form->themeColor = 'lime'; $form->customThemeColor1 = '#999999'; $form->customThemeColor2 = '#888888'; $form->customThemeColor3 = '#777777'; $form->forceAllUsersTheme = false; $logoFileName2 = 'testLogo2.png'; $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 . ZurmoUserInterfaceConfigurationForm::LOGO_THUMB_FILE_NAME_PREFIX . $logoFileName2); Yii::app()->user->setState('logoFileName', $logoFileName2); ZurmoUserInterfaceConfigurationFormAdapter::setConfigurationFromForm($form); $form = ZurmoUserInterfaceConfigurationFormAdapter::makeFormFromGlobalConfiguration(); $this->assertEquals('lime', $form->themeColor); $this->assertEquals('#999999', $form->customThemeColor1); $this->assertEquals('#888888', $form->customThemeColor2); $this->assertEquals('#777777', $form->customThemeColor3); $this->assertEquals(false, $form->forceAllUsersTheme); $this->assertEquals($logoFileName2, $form->logoFileData['name']); }
/** * Admin configuration action for enabling sendgrid plugin. */ public function actionConfigurationView() { $breadCrumbLinks = array(Zurmo::t('SendGridModule', 'SendGrid Configuration')); $configurationForm = new SendGridConfigurationForm(); $configurationForm->enableSendgrid = (bool) ZurmoConfigurationUtil::getByModuleName('SendGridModule', 'enableSendgrid'); $postVariableName = get_class($configurationForm); if (isset($_POST[$postVariableName])) { $_POST[$postVariableName]['enableSendgrid'] = (bool) $_POST[$postVariableName]['enableSendgrid']; $configurationForm->setAttributes($_POST[$postVariableName]); if ($configurationForm->validate()) { ZurmoConfigurationUtil::setByModuleName('SendGridModule', 'enableSendgrid', $configurationForm->enableSendgrid); Yii::app()->user->setFlash('notification', Zurmo::t('SendGridModule', 'Sendgrid configuration saved successfully.')); if ($configurationForm->enableSendgrid) { $this->redirect(Yii::app()->createUrl('sendGrid/default/configurationEditOutbound')); } else { $this->redirect(Yii::app()->createUrl('sendGrid/default/configurationView')); } } } $editView = new SendGridConfigurationView('Edit', $this->getId(), $this->getModule()->getId(), $configurationForm); $editView->setCssClasses(array('AdministrativeArea')); $view = new ZurmoConfigurationPageView(ZurmoDefaultAdminViewUtil::makeViewWithBreadcrumbsForCurrentUser($this, $editView, $breadCrumbLinks, 'PluginsBreadCrumbView')); echo $view->render(); }
/** * Set the global pagination value by pagination type. * @param $type - pagination type * @param $value - integer pagination value. * @param $moduleName - optional. Module class name. */ public function setGlobalValueByType($type, $value, $moduleName = null) { assert('in_array($type, static::getAvailablePageSizeNames()) == true'); assert('is_int($value) && $value > 0'); assert('$moduleName == null || is_string($moduleName)'); $keyName = $this->getKeyByTypeAndModuleName($type); ZurmoConfigurationUtil::setByModuleName('ZurmoModule', $keyName, $value); }
/** * Test for the desktopNotifications managed by the ZurmoNotificationUtil */ public function testDesktopNotifications() { $super = $this->logoutCurrentUserLoginNewUserAndGetByUsername('super'); $content = $this->runControllerWithNoExceptionsAndGetContent('zurmo/default/about'); $this->assertNotContains('startAutoUpdater', $content); ZurmoConfigurationUtil::setByModuleName('ZurmoModule', 'realtimeUpdatesEnabled', (bool) true); $content = $this->runControllerWithNoExceptionsAndGetContent('zurmo/default/about'); $this->assertContains('startAutoUpdater', $content); }
/** * Set Ldap settings into the database. */ public function setLdapSettings() { foreach ($this->settingsToLoad as $keyName) { ZurmoConfigurationUtil::setByModuleName('ZurmoModule', $keyName, $this->{$keyName}); } }
/** * Set inbound settings into the database. */ public function setInboundSettings() { foreach ($this->settingsToLoad as $keyName) { $attributeName = $this->resolveAttributeNameFromSettingsKey($keyName); if ($keyName == $this->resolvePasswordKeyName()) { $password = ZurmoPasswordSecurityUtil::encrypt($this->{$attributeName}); ZurmoConfigurationUtil::setByModuleName('EmailMessagesModule', $keyName, $password); } else { ZurmoConfigurationUtil::setByModuleName('EmailMessagesModule', $keyName, $this->{$attributeName}); } } }
public static function resizeLogoImageFile($sourcePath, $destinationPath, $newWidth, $newHeight) { WideImage::load($sourcePath)->resize($newWidth, $newHeight)->saveToFile($destinationPath); list($logoWidth, $logoHeight) = getimagesize($destinationPath); ZurmoConfigurationUtil::setByModuleName('ZurmoModule', 'logoWidth', $logoWidth); ZurmoConfigurationUtil::setByModuleName('ZurmoModule', 'logoHeight', $logoHeight); }
/** * @depends testProcessDueCampaignItemWithOptout */ public function testProcessDueCampaignItemWithReturnPathHeaders() { ZurmoConfigurationUtil::setByModuleName('EmailMessagesModule', 'bounceReturnPath', '*****@*****.**'); $email = new Email(); $email->emailAddress = '*****@*****.**'; $contact = ContactTestHelper::createContactByNameForOwner('contact 09', $this->user); $contact->primaryEmail = $email; $this->assertTrue($contact->save()); $marketingList = MarketingListTestHelper::createMarketingListByName('marketingList 09', 'description', 'CustomFromName', '*****@*****.**'); $campaign = CampaignTestHelper::createCampaign('campaign 09', 'subject 09', 'Dr. [[FIRST^NAME]] [[LAST^NAME]]', '<b>[[LAST^NAME]]</b>, [[FIRST^NAME]]', null, null, null, null, null, null, $marketingList); $processed = 0; $campaignItem = CampaignItemTestHelper::createCampaignItem($processed, $campaign, $contact); CampaignItemsUtil::processDueItem($campaignItem); $this->assertEquals(1, $campaignItem->processed); $emailMessage = $campaignItem->emailMessage; $this->assertEquals($marketingList->owner, $emailMessage->owner); $marketingListPermissions = ExplicitReadWriteModelPermissionsUtil::makeBySecurableItem($marketingList); $emailMessagePermissions = ExplicitReadWriteModelPermissionsUtil::makeBySecurableItem($emailMessage); $this->assertEquals($marketingListPermissions, $emailMessagePermissions); $this->assertEquals($campaign->subject, $emailMessage->subject); $this->assertNotEquals($campaign->textContent, $emailMessage->content->textContent); $this->assertNotEquals($campaign->htmlContent, $emailMessage->content->htmlContent); $this->assertTrue(strpos($emailMessage->content->textContent, 'Dr. contact 09 contact 09son') !== false); $this->assertTrue(strpos($emailMessage->content->textContent, '/marketingLists/external/') !== false); $this->assertEquals(2, substr_count($emailMessage->content->textContent, '/marketingLists/external/')); $this->assertTrue(strpos($emailMessage->content->htmlContent, '<b>contact 09son</b>, contact 09') !== false); $this->assertTrue(strpos($emailMessage->content->htmlContent, '/marketingLists/external/') !== false); $this->assertEquals(2, substr_count($emailMessage->content->htmlContent, '/marketingLists/external/')); $this->assertEquals('*****@*****.**', $emailMessage->sender->fromAddress); $this->assertEquals('Support Team', $emailMessage->sender->fromName); $this->assertEquals(1, $emailMessage->recipients->count()); $recipients = $emailMessage->recipients; $this->assertEquals(strval($contact), $recipients[0]->toName); $this->assertEquals($email->emailAddress, $recipients[0]->toAddress); $this->assertEquals(EmailMessageRecipient::TYPE_TO, $recipients[0]->type); $this->assertEquals($contact, $recipients[0]->personOrAccount); $headersArray = array('zurmoItemId' => $campaignItem->id, 'zurmoItemClass' => get_class($campaignItem), 'zurmoPersonId' => $contact->getClassId('Person'), 'Return-Path' => '*****@*****.**'); $expectedHeaders = serialize($headersArray); $this->assertEquals($expectedHeaders, $emailMessage->headers); }
/** * @depends testSend */ public function testSendQueued() { ZurmoConfigurationUtil::setByModuleName('SendGridModule', 'enableSendgrid', true); $super = User::getByUsername('super'); Yii::app()->user->userModel = $super; //add a message in the outbox_error folder. $emailMessage = SendGridTestHelper::createDraftSendGridSystemEmail('a test email 2', $super); $box = EmailBox::resolveAndGetByName(EmailBox::NOTIFICATIONS_NAME); $emailMessage->folder = EmailFolder::getByBoxAndType($box, EmailFolder::TYPE_OUTBOX_ERROR); $emailMessage->save(); $this->assertEquals(2, Yii::app()->emailHelper->getQueuedCount()); $this->assertEquals(0, Yii::app()->emailHelper->getSentCount()); Yii::app()->emailHelper->sendQueued(); $this->assertEquals(0, Yii::app()->emailHelper->getQueuedCount()); $this->assertEquals(2, Yii::app()->emailHelper->getSentCount()); //add a message in the outbox folder. $emailMessage = SendGridTestHelper::createDraftSendGridSystemEmail('a test email 3', $super); $box = EmailBox::resolveAndGetByName(EmailBox::NOTIFICATIONS_NAME); $emailMessage->folder = EmailFolder::getByBoxAndType($box, EmailFolder::TYPE_OUTBOX); $emailMessage->save(); //add a message in the outbox_error folder. $emailMessage = SendGridTestHelper::createDraftSendGridSystemEmail('a test email 4', $super); $box = EmailBox::resolveAndGetByName(EmailBox::NOTIFICATIONS_NAME); $emailMessage->folder = EmailFolder::getByBoxAndType($box, EmailFolder::TYPE_OUTBOX_ERROR); $emailMessage->save(); //add a message in the outbox_error folder. $emailMessage = SendGridTestHelper::createDraftSendGridSystemEmail('a test email 5', $super); $box = EmailBox::resolveAndGetByName(EmailBox::NOTIFICATIONS_NAME); $emailMessage->folder = EmailFolder::getByBoxAndType($box, EmailFolder::TYPE_OUTBOX_ERROR); $emailMessage->save(); $this->assertEquals(3, Yii::app()->emailHelper->getQueuedCount()); $this->assertEquals(2, Yii::app()->emailHelper->getSentCount()); Yii::app()->emailHelper->sendQueued(1); $this->assertEquals(2, Yii::app()->emailHelper->getQueuedCount()); $this->assertEquals(3, Yii::app()->emailHelper->getSentCount()); Yii::app()->emailHelper->sendQueued(2); $this->assertEquals(0, Yii::app()->emailHelper->getQueuedCount()); $this->assertEquals(5, Yii::app()->emailHelper->getSentCount()); }
/** * @expectedException NotSupportedException */ public function testRemoveAttributeAsMissingRequiredAttributeWithInvalidView() { RequiredAttributesValidViewUtil::setAsMissingRequiredAttributes('AccountsModule', 'InvalidView'); ZurmoConfigurationUtil::setByModuleName('AccountsModule', 'InvalidView_layoutMissingRequiredAttributes', 99); RequiredAttributesValidViewUtil::removeAttributeAsMissingRequiredAttribute('AccountsModule', 'InvalidView'); }
/** * Set lastZurmoStableVersion global pconfiguration property. * @param string $zurmoVersion */ public static function setLastZurmoStableVersion($zurmoVersion) { assert('isset($zurmoVersion)'); assert('$zurmoVersion != ""'); ZurmoConfigurationUtil::setByModuleName('ZurmoModule', 'lastZurmoStableVersion', $zurmoVersion); }
protected static function setLastImapDropboxCheckTimeByKey($key, $value) { assert('isset($key)'); assert('$key != ""'); ZurmoConfigurationUtil::setByModuleName('EmailMessagesModule', $key, $value); }
/** * @depends testModelCustomAttribute */ public function testApplicationNameMergeTag() { ZurmoConfigurationUtil::setByModuleName('ZurmoModule', 'applicationName', 'Demo App'); $content = '[[APPLICATION^NAME]]'; $expectedContent = ZurmoConfigurationUtil::getByModuleName('ZurmoModule', 'applicationName'); $mergeTagsUtil = MergeTagsUtilFactory::make(EmailTemplate::TYPE_WORKFLOW, null, $content); $this->assertTrue($mergeTagsUtil instanceof MergeTagsUtil); $this->assertTrue($mergeTagsUtil instanceof WorkflowMergeTagsUtil); $resolvedContent = $mergeTagsUtil->resolveMergeTags(self::$emailTemplate, $this->invalidTags); $this->assertTrue($resolvedContent !== false); $this->assertNotEquals($resolvedContent, $content); $this->assertEquals($expectedContent, $resolvedContent); $this->assertEmpty($this->invalidTags); }
/** * @depends testSendImmediately */ public function testLoadOutboundSettings() { $emailHelper = new EmailHelper(); $emailHelper->outboundHost = null; ZurmoConfigurationUtil::setByModuleName('EmailMessagesModule', 'outboundHost', 'xxx'); $emailHelper = new EmailHelper(); $emailHelper->outboundHost = 'xxx'; }
/** * @param String $moduleClassName * @param String $viewClassName */ public static function setAsContainingRequiredAttributes($moduleClassName, $viewClassName) { assert('is_string($moduleClassName)'); assert('is_string($viewClassName)'); $key = $viewClassName . '_layoutMissingRequiredAttributes'; ZurmoConfigurationUtil::setByModuleName($moduleClassName, $key, null); }
/** * Set outbound settings into the database. */ public function setOutboundSettings() { foreach (static::$settingsToLoad as $keyName) { if ($keyName == 'outboundPassword') { $password = ZurmoPasswordSecurityUtil::encrypt($this->{$keyName}); ZurmoConfigurationUtil::setByModuleName('EmailMessagesModule', $keyName, $password); } else { ZurmoConfigurationUtil::setByModuleName('EmailMessagesModule', $keyName, $this->{$keyName}); } } }
/** * Tests the global configuration to enable/disable modalNotifications */ public function testGamificationModalNotificationsGlobalConfiguration() { $super = User::getByUsername('super'); Yii::app()->user->userModel = $super; $scot = UserTestHelper::createBasicUser('Scot'); Yii::app()->user->userModel = $scot; $this->assertEquals(0, count(GameNotification::getAllByUser($scot))); //test user at general level 0 where they do have enough points to move up (Game notification created) $gamePoint = new GamePoint(); $gamePoint->type = GamePoint::TYPE_USER_ADOPTION; $gamePoint->person = $scot; $gamePoint->value = 300; $this->assertTrue($gamePoint->save()); Yii::app()->gameHelper->resolveLevelChange(); $this->assertEquals(1, count(GameNotification::getAllByUser($scot))); $gamePoint = GamePoint::resolveToGetByTypeAndPerson(GamePoint::TYPE_USER_ADOPTION, $scot); $this->assertEquals(300, $gamePoint->value); $gameLevel = GameLevel::resolveByTypeAndPerson(GameLevel::TYPE_GENERAL, $scot); $this->assertTrue($gameLevel->id > 0); $this->assertEquals(1, $gameLevel->value); //test user at general level 1 where they do have enough points to move up (No game notification created) ZurmoConfigurationUtil::setByModuleName('ZurmoModule', 'gamificationModalNotificationsEnabled', false); $gamePoint = new GamePoint(); $gamePoint->type = GamePoint::TYPE_USER_ADOPTION; $gamePoint->person = $scot; $gamePoint->value = 300; $this->assertTrue($gamePoint->save()); Yii::app()->gameHelper->resolveLevelChange(); $this->assertEquals(1, count(GameNotification::getAllByUser($scot))); $this->assertEquals(300, $gamePoint->value); $this->assertTrue($gameLevel->id > 0); $this->assertEquals(2, $gameLevel->value); //test user at general level 2 where they do have enough points to move up (Game notification created) ZurmoConfigurationUtil::setByModuleName('ZurmoModule', 'gamificationModalNotificationsEnabled', true); $gamePoint = new GamePoint(); $gamePoint->type = GamePoint::TYPE_USER_ADOPTION; $gamePoint->person = $scot; $gamePoint->value = 500; $this->assertTrue($gamePoint->save()); Yii::app()->gameHelper->resolveLevelChange(); $this->assertEquals(2, count(GameNotification::getAllByUser($scot))); $this->assertEquals(500, $gamePoint->value); $this->assertTrue($gameLevel->id > 0); $this->assertEquals(3, $gameLevel->value); }
/** * Set the global time zone configuration value. */ public static function setGlobalValue($timeZone) { assert('is_string($timeZone)'); ZurmoConfigurationUtil::setByModuleName('ZurmoModule', 'timeZone', $timeZone); }
/** * @param int $size */ public static function setBatchSize($size) { assert('is_int($size) || $size === null'); ZurmoConfigurationUtil::setByModuleName(static::CONFIG_MODULE_NAME, static::CONFIG_KEY, $size); }