예제 #1
0
 protected function resolveDefaultOptions()
 {
     $this->options['showOn'] = 'both';
     $this->options['buttonText'] = ZurmoHtml::tag('span', array(), '<!--Date-->');
     $this->options['showButtonPanel'] = true;
     $this->options['buttonImageOnly'] = false;
     $this->options['dateFormat'] = YiiToJqueryUIDatePickerLocalization::resolveDateFormat(DateTimeUtil::getLocaleDateFormatForInput());
 }
예제 #2
0
 protected function resolveDefaultOptions()
 {
     $this->options['stepMinute'] = 5;
     $this->options['timeText'] = Zurmo::t('Core', 'Time');
     $this->options['hourText'] = Zurmo::t('Core', 'Hour');
     $this->options['minuteText'] = Zurmo::t('Core', 'Minute');
     $this->options['secondText'] = Zurmo::t('Core', 'Second');
     $this->options['showOn'] = 'both';
     $this->options['buttonText'] = ZurmoHtml::tag('span', array(), '<!--Date-->');
     $this->options['buttonImageOnly'] = false;
     $this->options['timeFormat'] = $this->getTimeFormat();
     $this->options['dateFormat'] = YiiToJqueryUIDatePickerLocalization::resolveDateFormat(DateTimeUtil::getLocaleDateFormatForInput());
 }
 public function testCreateAnAccountUserAfterTheCustomFieldsArePlacedForAccountsModule()
 {
     $super = $this->logoutCurrentUserLoginNewUserAndGetByUsername('super');
     //Set the date and datetime variable values here
     $date = Yii::app()->dateFormatter->format(DateTimeUtil::getLocaleDateFormatForInput(), time());
     $dateAssert = date('Y-m-d');
     $baseCurrency = Currency::getByCode(Yii::app()->currencyHelper->getBaseCode());
     //Create a new account based on the custom fields.
     $this->resetGetArray();
     $this->setPostArray(array('Account' => array('name' => 'myNewAccount', 'officePhone' => '259-784-2169', 'industry' => array('value' => 'Automotive'), 'officeFax' => '299-845-7863', 'employees' => '930', 'annualRevenue' => '474000000', 'type' => array('value' => 'Prospect'), 'website' => 'http://www.Unnamed.com', 'primaryEmail' => array('emailAddress' => '*****@*****.**', 'optOut' => '1', 'isInvalid' => '0'), 'secondaryEmail' => array('emailAddress' => '', 'optOut' => '0', 'isInvalid' => '0'), 'billingAddress' => array('street1' => '6466 South Madison Creek', 'street2' => '', 'city' => 'Chicago', 'state' => 'IL', 'postalCode' => '60652', 'country' => 'USA'), 'shippingAddress' => array('street1' => '27054 West Michigan Lane', 'street2' => '', 'city' => 'Austin', 'state' => 'TX', 'postalCode' => '78759', 'country' => 'USA'), 'description' => 'This is a Description', 'explicitReadWriteModelPermissions' => array('type' => null), 'datenotreqCstm' => $date)));
     $this->runControllerWithRedirectExceptionAndGetUrl('accounts/default/create');
     //Check the details if they are saved properly for the custom fields.
     $account = Account::getByName('myNewAccount');
     //Retrieve the permission for the account.
     $explicitReadWriteModelPermissions = ExplicitReadWriteModelPermissionsUtil::makeBySecurableItem(Account::getById($account[0]->id));
     $readWritePermitables = $explicitReadWriteModelPermissions->getReadWritePermitables();
     $readOnlyPermitables = $explicitReadWriteModelPermissions->getReadOnlyPermitables();
     $this->assertEquals(1, count($account));
     $this->assertEquals($account[0]->name, 'myNewAccount');
     $this->assertEquals($account[0]->officePhone, '259-784-2169');
     $this->assertEquals($account[0]->industry->value, 'Automotive');
     $this->assertEquals($account[0]->officeFax, '299-845-7863');
     $this->assertEquals($account[0]->employees, '930');
     $this->assertEquals($account[0]->annualRevenue, '474000000');
     $this->assertEquals($account[0]->type->value, 'Prospect');
     $this->assertEquals($account[0]->website, 'http://www.Unnamed.com');
     $this->assertEquals($account[0]->primaryEmail->emailAddress, '*****@*****.**');
     $this->assertEquals($account[0]->primaryEmail->optOut, '1');
     $this->assertEquals($account[0]->primaryEmail->isInvalid, '0');
     $this->assertEquals($account[0]->secondaryEmail->emailAddress, '');
     $this->assertEquals($account[0]->secondaryEmail->optOut, '0');
     $this->assertEquals($account[0]->secondaryEmail->isInvalid, '0');
     $this->assertEquals($account[0]->billingAddress->street1, '6466 South Madison Creek');
     $this->assertEquals($account[0]->billingAddress->street2, '');
     $this->assertEquals($account[0]->billingAddress->city, 'Chicago');
     $this->assertEquals($account[0]->billingAddress->state, 'IL');
     $this->assertEquals($account[0]->billingAddress->postalCode, '60652');
     $this->assertEquals($account[0]->billingAddress->country, 'USA');
     $this->assertEquals($account[0]->shippingAddress->street1, '27054 West Michigan Lane');
     $this->assertEquals($account[0]->shippingAddress->street2, '');
     $this->assertEquals($account[0]->shippingAddress->city, 'Austin');
     $this->assertEquals($account[0]->shippingAddress->state, 'TX');
     $this->assertEquals($account[0]->shippingAddress->postalCode, '78759');
     $this->assertEquals($account[0]->shippingAddress->country, 'USA');
     $this->assertEquals($account[0]->description, 'This is a Description');
     $this->assertEquals(0, count($readWritePermitables));
     $this->assertEquals(0, count($readOnlyPermitables));
     $this->assertEquals($account[0]->datenotreqCstm, $dateAssert);
 }
 /**
  * @depends testEditOfTheProjectForTheTagCloudFieldAfterRemovingAllTagsPlacedForProjectsModule
  */
 public function testEditOfTheProjectForTheCustomFieldsPlacedForProjectsModule()
 {
     $super = $this->logoutCurrentUserLoginNewUserAndGetByUsername('super');
     //Set the date and datetime variable values here.
     $date = Yii::app()->dateFormatter->format(DateTimeUtil::getLocaleDateFormatForInput(), time());
     $dateAssert = date('Y-m-d');
     $datetime = Yii::app()->dateFormatter->format(DateTimeUtil::getLocaleDateTimeFormatForInput(), time());
     $datetimeAssert = date('Y-m-d H:i:') . "00";
     $baseCurrency = Currency::getByCode(Yii::app()->currencyHelper->getBaseCode());
     //Retrieve the account id, the super user id and project Id.
     $superUserId = $super->id;
     $explicitReadWriteModelPermission = ExplicitReadWriteModelPermissionsUtil::MIXED_TYPE_EVERYONE_GROUP;
     $project = Project::getByName('myEditProject');
     $projectId = $project[0]->id;
     //Edit a new Project based on the custom fields.
     $this->setGetArray(array('id' => $projectId));
     $this->setPostArray(array('Project' => array('name' => 'myEditProject', 'owner' => array('id' => $superUserId), 'explicitReadWriteModelPermissions' => array('type' => $explicitReadWriteModelPermission), 'checkboxCstm' => '0', 'currencyCstm' => array('value' => 40, 'currency' => array('id' => $baseCurrency->id)), 'decimalCstm' => '12', 'dateCstm' => $date, 'datetimeCstm' => $datetime, 'picklistCstm' => array('value' => 'b'), 'multiselectCstm' => array('values' => array('gg', 'hh')), 'tagcloudCstm' => array('values' => array('reading', 'surfing')), 'countrylistCstm' => array('value' => 'aaaa'), 'statelistCstm' => array('value' => 'aaa1'), 'citylistCstm' => array('value' => 'ab1'), 'integerCstm' => '11', 'phoneCstm' => '259-784-2069', 'radioCstm' => array('value' => 'e'), 'textCstm' => 'This is a test Edit Text', 'textareaCstm' => 'This is a test Edit TextArea', 'urlCstm' => 'http://wwww.abc-edit.com')));
     $this->runControllerWithRedirectExceptionAndGetUrl('projects/default/edit');
     //Check the details if they are saved properly for the custom fields.
     $projectId = self::getModelIdByModelNameAndName('Project', 'myEditProject');
     $project = Project::getById($projectId);
     //Retrieve the permission of the project.
     $explicitReadWriteModelPermissions = ExplicitReadWriteModelPermissionsUtil::makeBySecurableItem($project);
     $readWritePermitables = $explicitReadWriteModelPermissions->getReadWritePermitables();
     $readOnlyPermitables = $explicitReadWriteModelPermissions->getReadOnlyPermitables();
     $this->assertEquals($project->name, 'myEditProject');
     $this->assertEquals($project->owner->id, $superUserId);
     $this->assertEquals(1, count($readWritePermitables));
     $this->assertEquals(0, count($readOnlyPermitables));
     $this->assertEquals($project->checkboxCstm, '0');
     $this->assertEquals($project->currencyCstm->value, 40);
     $this->assertEquals($project->currencyCstm->currency->id, $baseCurrency->id);
     $this->assertEquals($project->dateCstm, $dateAssert);
     $this->assertEquals($project->datetimeCstm, $datetimeAssert);
     $this->assertEquals($project->decimalCstm, '12');
     $this->assertEquals($project->picklistCstm->value, 'b');
     $this->assertEquals($project->integerCstm, 11);
     $this->assertEquals($project->phoneCstm, '259-784-2069');
     $this->assertEquals($project->radioCstm->value, 'e');
     $this->assertEquals($project->textCstm, 'This is a test Edit Text');
     $this->assertEquals($project->textareaCstm, 'This is a test Edit TextArea');
     $this->assertEquals($project->urlCstm, 'http://wwww.abc-edit.com');
     $this->assertEquals($project->dateCstm, $dateAssert);
     $this->assertEquals($project->datetimeCstm, $datetimeAssert);
     $this->assertEquals($project->countrylistCstm->value, 'aaaa');
     $this->assertEquals($project->statelistCstm->value, 'aaa1');
     $this->assertEquals($project->citylistCstm->value, 'ab1');
     $this->assertContains('gg', $project->multiselectCstm->values);
     $this->assertContains('hh', $project->multiselectCstm->values);
     $this->assertContains('reading', $project->tagcloudCstm->values);
     $this->assertContains('surfing', $project->tagcloudCstm->values);
     $metadata = CalculatedDerivedAttributeMetadata::getByNameAndModelClassName('calcnumber', 'Project');
     $testCalculatedValue = CalculatedNumberUtil::calculateByFormulaAndModelAndResolveFormat($metadata->getFormula(), $project);
     $this->assertEquals(132, intval(str_replace(',', '', $testCalculatedValue)));
     // Not Coding Standard
 }
 /**
  * @depends testEditOfTheProductTemplateForTheTagCloudFieldAfterRemovingAllTagsPlacedForProductTemplatesModule
  */
 public function testEditOfTheProductTemplateForTheCustomFieldsPlacedForProductTemplatesModule()
 {
     $super = $this->logoutCurrentUserLoginNewUserAndGetByUsername('super');
     //Set the date and datetime variable values here.
     $date = Yii::app()->dateFormatter->format(DateTimeUtil::getLocaleDateFormatForInput(), time());
     $dateAssert = date('Y-m-d');
     $datetime = Yii::app()->dateFormatter->format(DateTimeUtil::getLocaleDateTimeFormatForInput(), time());
     $datetimeAssert = date('Y-m-d H:i:') . "00";
     $baseCurrency = Currency::getByCode(Yii::app()->currencyHelper->getBaseCode());
     //Retrieve the account id, the super user id and opportunity Id.
     $superUserId = $super->id;
     $productTemplate = ProductTemplate::getByName('myEditProductTemplate');
     $productTemplateId = $productTemplate[0]->id;
     //Edit a new ProductTemplate based on the custom fields.
     $this->setGetArray(array('id' => $productTemplateId));
     $this->setPostArray(array('ProductTemplate' => array('name' => 'myEditProductTemplate', 'type' => ProductTemplate::TYPE_PRODUCT, 'description' => 'Test Description', 'sellPrice' => array('currency' => array('id' => $baseCurrency->id), 'value' => 200), 'cost' => array('currency' => array('id' => $baseCurrency->id), 'value' => 200), 'listPrice' => array('currency' => array('id' => $baseCurrency->id), 'value' => 200), 'priceFrequency' => 2, 'status' => ProductTemplate::STATUS_ACTIVE, 'sellPriceFormula' => array('type' => SellPriceFormula::TYPE_EDITABLE), 'checkboxCstm' => '0', 'currencyCstm' => array('value' => 40, 'currency' => array('id' => $baseCurrency->id)), 'decimalCstm' => '12', 'dateCstm' => $date, 'datetimeCstm' => $datetime, 'picklistCstm' => array('value' => 'b'), 'multiselectCstm' => array('values' => array('gg', 'hh')), 'tagcloudCstm' => array('values' => array('reading', 'surfing')), 'countrylistCstm' => array('value' => 'aaaa'), 'statelistCstm' => array('value' => 'aaa1'), 'citylistCstm' => array('value' => 'ab1'), 'integerCstm' => '11', 'phoneCstm' => '259-784-2069', 'radioCstm' => array('value' => 'e'), 'textCstm' => 'This is a test Edit Text', 'textareaCstm' => 'This is a test Edit TextArea', 'urlCstm' => 'http://wwww.abc-edit.com')));
     $this->runControllerWithRedirectExceptionAndGetUrl('productTemplates/default/edit');
     //Check the details if they are saved properly for the custom fields.
     $productTemplateId = self::getModelIdByModelNameAndName('ProductTemplate', 'myEditProductTemplate');
     $productTemplate = ProductTemplate::getById($productTemplateId);
     $this->assertEquals($productTemplate->name, 'myEditProductTemplate');
     $this->assertEquals($productTemplate->sellPrice->value, 200.0);
     $this->assertEquals($productTemplate->cost->value, 200.0);
     $this->assertEquals($productTemplate->listPrice->value, 200.0);
     $this->assertEquals($productTemplate->description, 'Test Description');
     $this->assertEquals($productTemplate->type, ProductTemplate::TYPE_PRODUCT);
     $this->assertEquals($productTemplate->status, ProductTemplate::STATUS_ACTIVE);
     $this->assertEquals($productTemplate->priceFrequency, 2);
     $this->assertEquals($productTemplate->sellPriceFormula->type, SellPriceFormula::TYPE_EDITABLE);
     $this->assertEquals($productTemplate->checkboxCstm, '0');
     $this->assertEquals($productTemplate->currencyCstm->value, 40);
     $this->assertEquals($productTemplate->currencyCstm->currency->id, $baseCurrency->id);
     $this->assertEquals($productTemplate->dateCstm, $dateAssert);
     $this->assertEquals($productTemplate->datetimeCstm, $datetimeAssert);
     $this->assertEquals($productTemplate->decimalCstm, '12');
     $this->assertEquals($productTemplate->picklistCstm->value, 'b');
     $this->assertEquals($productTemplate->integerCstm, 11);
     $this->assertEquals($productTemplate->phoneCstm, '259-784-2069');
     $this->assertEquals($productTemplate->radioCstm->value, 'e');
     $this->assertEquals($productTemplate->textCstm, 'This is a test Edit Text');
     $this->assertEquals($productTemplate->textareaCstm, 'This is a test Edit TextArea');
     $this->assertEquals($productTemplate->urlCstm, 'http://wwww.abc-edit.com');
     $this->assertEquals($productTemplate->dateCstm, $dateAssert);
     $this->assertEquals($productTemplate->datetimeCstm, $datetimeAssert);
     $this->assertEquals($productTemplate->countrylistCstm->value, 'aaaa');
     $this->assertEquals($productTemplate->statelistCstm->value, 'aaa1');
     $this->assertEquals($productTemplate->citylistCstm->value, 'ab1');
     $this->assertContains('gg', $productTemplate->multiselectCstm->values);
     $this->assertContains('hh', $productTemplate->multiselectCstm->values);
     $this->assertContains('reading', $productTemplate->tagcloudCstm->values);
     $this->assertContains('surfing', $productTemplate->tagcloudCstm->values);
     $metadata = CalculatedDerivedAttributeMetadata::getByNameAndModelClassName('calcnumber', 'ProductTemplate');
     $testCalculatedValue = CalculatedNumberUtil::calculateByFormulaAndModelAndResolveFormat($metadata->getFormula(), $productTemplate);
     $this->assertEquals(132, intval(str_replace(',', "", $testCalculatedValue)));
     // Not Coding Standard
 }
 /**
  * @depends testEditOfTheLeadUserForTheTagCloudFieldAfterRemovingAllTagsPlacedForLeadsModule
  */
 public function testEditOfTheLeadUserForTheCustomFieldsPlacedForLeadsModule()
 {
     $super = $this->logoutCurrentUserLoginNewUserAndGetByUsername('super');
     //Retrieve the the super user id.
     $superUserId = $super->id;
     //Retrieve the lead id.
     $leadId = self::getModelIdByModelNameAndName('Contact', 'Sarah Williams Edit');
     //Set the date and datetime variable values here.
     $date = Yii::app()->dateFormatter->format(DateTimeUtil::getLocaleDateFormatForInput(), time());
     $dateAssert = date('Y-m-d');
     $datetime = Yii::app()->dateFormatter->format(DateTimeUtil::getLocaleDateTimeFormatForInput(), time());
     $datetimeAssert = date('Y-m-d H:i:') . "00";
     $baseCurrency = Currency::getByCode(Yii::app()->currencyHelper->getBaseCode());
     //Retrieve the Lead State (Status) Id based on the name.
     $leadState = ContactState::getByName('In Progress');
     $leadStateId = $leadState[0]->id;
     $explicitReadWriteModelPermission = ExplicitReadWriteModelPermissionsUtil::MIXED_TYPE_EVERYONE_GROUP;
     //Edit and save the lead.
     $this->setGetArray(array('id' => $leadId));
     $this->setPostArray(array('Contact' => array('title' => array('value' => 'Mrs.'), 'firstName' => 'Sarah', 'lastName' => 'Williams Edit', 'jobTitle' => 'Sales Director Edit', 'companyName' => 'ABC Telecom Edit', 'industry' => array('value' => 'Banking'), 'website' => 'http://www.companyedit.com', 'department' => 'Sales Edit', 'officePhone' => '739-742-3005', 'source' => array('value' => 'Inbound Call'), 'mobilePhone' => '285-300-8232', 'officeFax' => '255-454-1914', 'state' => array('id' => $leadStateId), 'owner' => array('id' => $superUserId), 'primaryEmail' => array('emailAddress' => '*****@*****.**', 'optOut' => '0', 'isInvalid' => '0'), 'secondaryEmail' => array('emailAddress' => '*****@*****.**', 'optOut' => '0', 'isInvalid' => '0'), 'primaryAddress' => array('street1' => '26378 South Arlington Ave', 'street2' => '', 'city' => 'San Jose', 'state' => 'CA', 'postalCode' => '95131', 'country' => 'USA'), 'secondaryAddress' => array('street1' => '1652 North Cedar Court', 'street2' => '', 'city' => 'Phoenix', 'state' => 'AZ', 'postalCode' => '85003', 'country' => 'USA'), 'explicitReadWriteModelPermissions' => array('type' => $explicitReadWriteModelPermission), 'description' => 'This is a Edit Description', 'checkboxCstm' => '0', 'currencyCstm' => array('value' => 40, 'currency' => array('id' => $baseCurrency->id)), 'dateCstm' => $date, 'datetimeCstm' => $datetime, 'decimalCstm' => '12', 'picklistCstm' => array('value' => 'b'), 'multiselectCstm' => array('values' => array('gg', 'hh')), 'tagcloudCstm' => array('values' => array('reading', 'surfing')), 'countrylistCstm' => array('value' => 'aaaa'), 'statelistCstm' => array('value' => 'aaa1'), 'citylistCstm' => array('value' => 'ab1'), 'integerCstm' => '11', 'phoneCstm' => '259-784-2069', 'radioCstm' => array('value' => 'e'), 'textCstm' => 'This is a test Edit Text', 'textareaCstm' => 'This is a test Edit TextArea', 'urlCstm' => 'http://wwww.abc-edit.com'), 'save' => 'Save'));
     $this->runControllerWithRedirectExceptionAndGetUrl('leads/default/edit');
     //Check the details if they are saved properly for the custom fields after the edit.
     $lead = Contact::getById($leadId);
     //Retrieve the permission of the lead.
     $explicitReadWriteModelPermissions = ExplicitReadWriteModelPermissionsUtil::makeBySecurableItem($lead);
     $readWritePermitables = $explicitReadWriteModelPermissions->getReadWritePermitables();
     $readOnlyPermitables = $explicitReadWriteModelPermissions->getReadOnlyPermitables();
     $this->assertEquals($lead->title->value, 'Mrs.');
     $this->assertEquals($lead->firstName, 'Sarah');
     $this->assertEquals($lead->lastName, 'Williams Edit');
     $this->assertEquals($lead->state->id, $leadStateId);
     $this->assertEquals($lead->jobTitle, 'Sales Director Edit');
     $this->assertEquals($lead->companyName, 'ABC Telecom Edit');
     $this->assertEquals($lead->industry->value, 'Banking');
     $this->assertEquals($lead->website, 'http://www.companyedit.com');
     $this->assertEquals($lead->department, 'Sales Edit');
     $this->assertEquals($lead->officePhone, '739-742-3005');
     $this->assertEquals($lead->source->value, 'Inbound Call');
     $this->assertEquals($lead->mobilePhone, '285-300-8232');
     $this->assertEquals($lead->officeFax, '255-454-1914');
     $this->assertEquals($lead->primaryEmail->emailAddress, '*****@*****.**');
     $this->assertEquals($lead->primaryEmail->optOut, '0');
     $this->assertEquals($lead->primaryEmail->isInvalid, '0');
     $this->assertEquals($lead->secondaryEmail->emailAddress, '*****@*****.**');
     $this->assertEquals($lead->secondaryEmail->optOut, '0');
     $this->assertEquals($lead->secondaryEmail->isInvalid, '0');
     $this->assertEquals($lead->primaryAddress->street1, '26378 South Arlington Ave');
     $this->assertEquals($lead->primaryAddress->street2, '');
     $this->assertEquals($lead->primaryAddress->city, 'San Jose');
     $this->assertEquals($lead->primaryAddress->state, 'CA');
     $this->assertEquals($lead->primaryAddress->postalCode, '95131');
     $this->assertEquals($lead->primaryAddress->country, 'USA');
     $this->assertEquals($lead->secondaryAddress->street1, '1652 North Cedar Court');
     $this->assertEquals($lead->secondaryAddress->street2, '');
     $this->assertEquals($lead->secondaryAddress->city, 'Phoenix');
     $this->assertEquals($lead->secondaryAddress->state, 'AZ');
     $this->assertEquals($lead->secondaryAddress->postalCode, '85003');
     $this->assertEquals($lead->secondaryAddress->country, 'USA');
     $this->assertEquals(1, count($readWritePermitables));
     $this->assertEquals(0, count($readOnlyPermitables));
     $this->assertEquals($lead->description, 'This is a Edit Description');
     $this->assertEquals($lead->checkboxCstm, '0');
     $this->assertEquals($lead->currencyCstm->value, 40);
     $this->assertEquals($lead->currencyCstm->currency->id, $baseCurrency->id);
     $this->assertEquals($lead->dateCstm, $dateAssert);
     $this->assertEquals($lead->datetimeCstm, $datetimeAssert);
     $this->assertEquals($lead->decimalCstm, '12');
     $this->assertEquals($lead->picklistCstm->value, 'b');
     $this->assertEquals($lead->integerCstm, 11);
     $this->assertEquals($lead->phoneCstm, '259-784-2069');
     $this->assertEquals($lead->radioCstm->value, 'e');
     $this->assertEquals($lead->textCstm, 'This is a test Edit Text');
     $this->assertEquals($lead->textareaCstm, 'This is a test Edit TextArea');
     $this->assertEquals($lead->urlCstm, 'http://wwww.abc-edit.com');
     $this->assertEquals($lead->countrylistCstm->value, 'aaaa');
     $this->assertEquals($lead->statelistCstm->value, 'aaa1');
     $this->assertEquals($lead->citylistCstm->value, 'ab1');
     $this->assertContains('gg', $lead->multiselectCstm->values);
     $this->assertContains('hh', $lead->multiselectCstm->values);
     $this->assertContains('reading', $lead->tagcloudCstm->values);
     $this->assertContains('surfing', $lead->tagcloudCstm->values);
     $metadata = CalculatedDerivedAttributeMetadata::getByNameAndModelClassName('calcnumber', 'Contact');
     $testCalculatedValue = CalculatedNumberUtil::calculateByFormulaAndModelAndResolveFormat($metadata->getFormula(), $lead);
     $this->assertEquals(23, $testCalculatedValue);
 }
 /**
  * @depends testEditOfTheMeetingForTheTagCloudFieldAfterRemovingAllTagsPlacedForMeetingsModule
  */
 public function testEditOfTheMeetingForTheCustomFieldsPlacedForMeetingsModule()
 {
     $super = $this->logoutCurrentUserLoginNewUserAndGetByUsername('super');
     //Retrieve the meeting Id.
     $meeting = Meeting::getByName('myEditMeeting');
     //Set the date and datetime variable values here.
     $date = Yii::app()->dateFormatter->format(DateTimeUtil::getLocaleDateFormatForInput(), time());
     $dateAssert = date('Y-m-d');
     $datetime = Yii::app()->dateFormatter->format(DateTimeUtil::getLocaleDateTimeFormatForInput(), time());
     $datetimeAssert = date('Y-m-d H:i:') . "00";
     //Get the super user, account, opportunity and contact id.
     $superUserId = $super->id;
     $superAccount = Account::getByName('superAccount');
     $superContactId1 = self::getModelIdByModelNameAndName('Contact', 'superContact1 superContact1son');
     $superContactId2 = self::getModelIdByModelNameAndName('Contact', 'superContact2 superContact2son');
     $superContactId3 = self::getModelIdByModelNameAndName('Contact', 'superContact3 superContact3son');
     $superOpportunityId = self::getModelIdByModelNameAndName('Opportunity', 'superOpp');
     $baseCurrency = Currency::getByCode(Yii::app()->currencyHelper->getBaseCode());
     $explicitReadWriteModelPermission = ExplicitReadWriteModelPermissionsUtil::MIXED_TYPE_EVERYONE_GROUP;
     $activityItemFormContacts = $superContactId1 . ',' . $superContactId2 . ',' . $superContactId3;
     // Not Coding Standard
     //Edit the meeting based on the custom fields and the meeting Id.
     $this->setGetArray(array('id' => $meeting[0]->id));
     $this->setPostArray(array('Meeting' => array('name' => 'myEditMeeting', 'location' => 'LandLine', 'startDateTime' => $datetime, 'endDateTime' => $datetime, 'category' => array('value' => 'Call'), 'description' => 'This is Edit Meeting Description', 'owner' => array('id' => $superUserId), 'explicitReadWriteModelPermissions' => array('type' => $explicitReadWriteModelPermission), 'checkboxCstm' => '0', 'currencyCstm' => array('value' => 40, 'currency' => array('id' => $baseCurrency->id)), 'dateCstm' => $date, 'datetimeCstm' => $datetime, 'decimalCstm' => '12', 'picklistCstm' => array('value' => 'b'), 'multiselectCstm' => array('values' => array('gg', 'hh')), 'tagcloudCstm' => array('values' => array('reading', 'surfing')), 'countrylistCstm' => array('value' => 'aaaa'), 'statelistCstm' => array('value' => 'aaa1'), 'citylistCstm' => array('value' => 'ab1'), 'integerCstm' => '11', 'phoneCstm' => '259-784-2069', 'radioCstm' => array('value' => 'e'), 'textCstm' => 'This is a test Edit Text', 'textareaCstm' => 'This is a test Edit TextArea', 'urlCstm' => 'http://wwww.abc-edit.com'), 'ActivityItemForm' => array('Account' => array('id' => $superAccount[0]->id), 'contact' => array('ids' => $activityItemFormContacts), 'Opportunity' => array('id' => $superOpportunityId))));
     $this->runControllerWithRedirectExceptionAndGetUrl('meetings/default/edit');
     //Check the details if they are saved properly for the custom fields.
     $meeting = Meeting::getByName('myEditMeeting');
     //Retrieve the permission of the meeting.
     $explicitReadWriteModelPermissions = ExplicitReadWriteModelPermissionsUtil::makeBySecurableItem(Meeting::getById($meeting[0]->id));
     $readWritePermitables = $explicitReadWriteModelPermissions->getReadWritePermitables();
     $readOnlyPermitables = $explicitReadWriteModelPermissions->getReadOnlyPermitables();
     $this->assertEquals($meeting[0]->name, 'myEditMeeting');
     $this->assertEquals($meeting[0]->location, 'LandLine');
     $this->assertEquals($meeting[0]->startDateTime, $datetimeAssert);
     $this->assertEquals($meeting[0]->endDateTime, $datetimeAssert);
     $this->assertEquals($meeting[0]->category->value, 'Call');
     $this->assertEquals($meeting[0]->description, 'This is Edit Meeting Description');
     $this->assertEquals($meeting[0]->owner->id, $superUserId);
     $this->assertEquals($meeting[0]->activityItems->count(), 5);
     $this->assertEquals(1, count($readWritePermitables));
     $this->assertEquals(0, count($readOnlyPermitables));
     $this->assertEquals($meeting[0]->checkboxCstm, '0');
     $this->assertEquals($meeting[0]->currencyCstm->value, 40);
     $this->assertEquals($meeting[0]->currencyCstm->currency->id, $baseCurrency->id);
     $this->assertEquals($meeting[0]->dateCstm, $dateAssert);
     $this->assertEquals($meeting[0]->datetimeCstm, $datetimeAssert);
     $this->assertEquals($meeting[0]->decimalCstm, '12');
     $this->assertEquals($meeting[0]->picklistCstm->value, 'b');
     $this->assertEquals($meeting[0]->integerCstm, 11);
     $this->assertEquals($meeting[0]->phoneCstm, '259-784-2069');
     $this->assertEquals($meeting[0]->radioCstm->value, 'e');
     $this->assertEquals($meeting[0]->textCstm, 'This is a test Edit Text');
     $this->assertEquals($meeting[0]->textareaCstm, 'This is a test Edit TextArea');
     $this->assertEquals($meeting[0]->urlCstm, 'http://wwww.abc-edit.com');
     $this->assertEquals($meeting[0]->countrylistCstm->value, 'aaaa');
     $this->assertEquals($meeting[0]->statelistCstm->value, 'aaa1');
     $this->assertEquals($meeting[0]->citylistCstm->value, 'ab1');
     $this->assertContains('gg', $meeting[0]->multiselectCstm->values);
     $this->assertContains('hh', $meeting[0]->multiselectCstm->values);
     $this->assertContains('reading', $meeting[0]->tagcloudCstm->values);
     $this->assertContains('surfing', $meeting[0]->tagcloudCstm->values);
     $metadata = CalculatedDerivedAttributeMetadata::getByNameAndModelClassName('calcnumber', 'Meeting');
     $testCalculatedValue = CalculatedNumberUtil::calculateByFormulaAndModelAndResolveFormat($metadata->getFormula(), $meeting[0]);
     $this->assertEquals(1, $testCalculatedValue);
 }
 /**
  * @depends testEditOfTheTaskForTheTagCloudFieldAfterRemovingAllTagsPlacedForTasksModule
  */
 public function testEditOfTheTaskForTheCustomFieldsPlacedForTasksModule()
 {
     $super = $this->logoutCurrentUserLoginNewUserAndGetByUsername('super');
     //Retrieve the task Id.
     $task = Task::getByName('myEditTask');
     //Set the date and datetime variable values here.
     $date = Yii::app()->dateFormatter->format(DateTimeUtil::getLocaleDateFormatForInput(), time());
     $dateAssert = date('Y-m-d');
     $datetime = Yii::app()->dateFormatter->format(DateTimeUtil::getLocaleDateTimeFormatForInput(), time());
     $datetimeAssert = date('Y-m-d H:i:') . "00";
     //Get the super user, account, opportunity and contact id.
     $superUserId = $super->id;
     $superAccount = Account::getByName('superAccount');
     $superContactId = self::getModelIdByModelNameAndName('Contact', 'superContact2 superContact2son');
     $superOpportunityId = self::getModelIdByModelNameAndName('Opportunity', 'superOpp');
     $baseCurrency = Currency::getByCode(Yii::app()->currencyHelper->getBaseCode());
     $explicitReadWriteModelPermission = ExplicitReadWriteModelPermissionsUtil::MIXED_TYPE_EVERYONE_GROUP;
     //Edit the task based on the custom fields and the task id.
     $this->setGetArray(array('id' => $task[0]->id));
     $this->setPostArray(array('Task' => array('name' => 'myEditTask', 'dueDateTime' => $datetime, 'status' => Task::STATUS_COMPLETED, 'description' => 'This is edit task Description', 'owner' => array('id' => $superUserId), 'explicitReadWriteModelPermissions' => array('type' => $explicitReadWriteModelPermission), 'checkboxCstm' => '0', 'currencyCstm' => array('value' => 40, 'currency' => array('id' => $baseCurrency->id)), 'dateCstm' => $date, 'datetimeCstm' => $datetime, 'decimalCstm' => '12', 'picklistCstm' => array('value' => 'b'), 'multiselectCstm' => array('values' => array('gg', 'hh')), 'tagcloudCstm' => array('values' => array('reading', 'surfing')), 'countrylistCstm' => array('value' => 'aaaa'), 'statelistCstm' => array('value' => 'aaa1'), 'citylistCstm' => array('value' => 'ab1'), 'integerCstm' => '11', 'phoneCstm' => '259-784-2069', 'radioCstm' => array('value' => 'e'), 'textCstm' => 'This is a test Edit Text', 'textareaCstm' => 'This is a test Edit TextArea', 'urlCstm' => 'http://wwww.abc-edit.com'), 'TaskActivityItemForm' => array('Account' => array('id' => $superAccount[0]->id), 'Contact' => array('id' => $superContactId), 'Opportunity' => array('id' => $superOpportunityId)), 'save' => 'Save'));
     $this->runControllerWithNoExceptionsAndGetContent('tasks/default/modalSave');
     //Check the details if they are saved properly for the custom fields.
     $task = Task::getByName('myEditTask');
     //Retrieve the permission of the task.
     $explicitReadWriteModelPermissions = ExplicitReadWriteModelPermissionsUtil::makeBySecurableItem(Task::getById($task[0]->id));
     $readWritePermitables = $explicitReadWriteModelPermissions->getReadWritePermitables();
     $readOnlyPermitables = $explicitReadWriteModelPermissions->getReadOnlyPermitables();
     $this->assertEquals($task[0]->name, 'myEditTask');
     $this->assertEquals($task[0]->dueDateTime, $datetimeAssert);
     $this->assertTrue((bool) $task[0]->completed);
     $this->assertNotNull($task[0]->completedDateTime);
     $this->assertEquals($task[0]->description, 'This is edit task Description');
     $this->assertEquals($task[0]->owner->id, $superUserId);
     $this->assertEquals($task[0]->activityItems->count(), 3);
     $this->assertEquals(1, count($readWritePermitables));
     $this->assertEquals(0, count($readOnlyPermitables));
     $this->assertEquals($task[0]->checkboxCstm, '0');
     $this->assertEquals($task[0]->currencyCstm->value, 40);
     $this->assertEquals($task[0]->currencyCstm->currency->id, $baseCurrency->id);
     $this->assertEquals($task[0]->dateCstm, $dateAssert);
     $this->assertEquals($task[0]->datetimeCstm, $datetimeAssert);
     $this->assertEquals($task[0]->decimalCstm, '12');
     $this->assertEquals($task[0]->picklistCstm->value, 'b');
     $this->assertEquals($task[0]->integerCstm, 11);
     $this->assertEquals($task[0]->phoneCstm, '259-784-2069');
     $this->assertEquals($task[0]->radioCstm->value, 'e');
     $this->assertEquals($task[0]->textCstm, 'This is a test Edit Text');
     $this->assertEquals($task[0]->textareaCstm, 'This is a test Edit TextArea');
     $this->assertEquals($task[0]->urlCstm, 'http://wwww.abc-edit.com');
     $this->assertEquals($task[0]->countrylistCstm->value, 'aaaa');
     $this->assertEquals($task[0]->statelistCstm->value, 'aaa1');
     $this->assertEquals($task[0]->citylistCstm->value, 'ab1');
     $this->assertContains('gg', $task[0]->multiselectCstm->values);
     $this->assertContains('hh', $task[0]->multiselectCstm->values);
     $this->assertContains('reading', $task[0]->tagcloudCstm->values);
     $this->assertContains('surfing', $task[0]->tagcloudCstm->values);
     $metadata = CalculatedDerivedAttributeMetadata::getByNameAndModelClassName('calcnumber', 'Task');
     $testCalculatedValue = CalculatedNumberUtil::calculateByFormulaAndModelAndResolveFormat($metadata->getFormula(), $task[0]);
     $this->assertEquals(132, $testCalculatedValue);
 }
 /**
  * @depends testCreateSecondAccountForUserAfterTheCustomFieldsArePlacedForAccountsModule
  */
 public function testMultiValueCustomFieldContentAfterCreateAndEditPlacedForAccountsModule()
 {
     $super = $this->logoutCurrentUserLoginNewUserAndGetByUsername('super');
     //Set the date and datetime variable values here
     $date = Yii::app()->dateFormatter->format(DateTimeUtil::getLocaleDateFormatForInput(), time());
     $dateAssert = date('Y-m-d');
     $datetime = Yii::app()->dateFormatter->format(DateTimeUtil::getLocaleDateTimeFormatForInput(), time());
     $datetimeAssert = date('Y-m-d H:i:') . "00";
     $baseCurrency = Currency::getByCode(Yii::app()->currencyHelper->getBaseCode());
     //Create a new account based on the custom fields.
     $this->resetGetArray();
     $this->setPostArray(array('Account' => array('name' => 'myThirdAccount', 'officePhone' => '259-784-2169', 'industry' => array('value' => 'Automotive'), 'officeFax' => '299-845-7863', 'employees' => '930', 'annualRevenue' => '474000000', 'type' => array('value' => 'Prospect'), 'website' => 'http://www.Unnamed.com', 'primaryEmail' => array('emailAddress' => '*****@*****.**', 'optOut' => '1', 'isInvalid' => '0'), 'secondaryEmail' => array('emailAddress' => '', 'optOut' => '0', 'isInvalid' => '0'), 'billingAddress' => array('street1' => '6466 South Madison Creek', 'street2' => '', 'city' => 'Chicago', 'state' => 'IL', 'postalCode' => '60652', 'country' => 'USA'), 'shippingAddress' => array('street1' => '27054 West Michigan Lane', 'street2' => '', 'city' => 'Austin', 'state' => 'TX', 'postalCode' => '78759', 'country' => 'USA'), 'description' => 'This is a Description', 'explicitReadWriteModelPermissions' => array('type' => null), 'checkboxCstm' => '1', 'currencyCstm' => array('value' => 45, 'currency' => array('id' => $baseCurrency->id)), 'dateCstm' => $date, 'datetimeCstm' => $datetime, 'decimalCstm' => '123', 'picklistCstm' => array('value' => 'a'), 'multiselectCstm' => array('values' => array('gg', 'ff')), 'tagcloudCstm' => array('values' => array('reading', 'writing')), 'countrylistCstm' => array('value' => 'bbbb'), 'statelistCstm' => array('value' => 'bbb1'), 'citylistCstm' => array('value' => 'bb1'), 'integerCstm' => '12', 'phoneCstm' => '259-784-2169', 'radioCstm' => array('value' => 'd'), 'textCstm' => 'This is a test Text', 'textareaCstm' => 'This is a test TextArea', 'urlCstm' => 'http://wwww.abc.com')));
     $this->runControllerWithRedirectExceptionAndGetUrl('accounts/default/create');
     //Check the details if they are saved properly for the custom fields.
     $account = Account::getByName('myThirdAccount');
     //Retrieve the permission for the account.
     $explicitReadWriteModelPermissions = ExplicitReadWriteModelPermissionsUtil::makeBySecurableItem(Account::getById($account[0]->id));
     $readWritePermitables = $explicitReadWriteModelPermissions->getReadWritePermitables();
     $readOnlyPermitables = $explicitReadWriteModelPermissions->getReadOnlyPermitables();
     $this->assertEquals(1, count($account));
     $this->assertEquals($account[0]->name, 'myThirdAccount');
     $this->assertEquals(2, $account[0]->multiselectCstm->values->count());
     $this->assertEquals(2, $account[0]->tagcloudCstm->values->count());
     $this->assertContains('gg', $account[0]->multiselectCstm->values);
     $this->assertContains('ff', $account[0]->multiselectCstm->values);
     $this->assertContains('reading', $account[0]->tagcloudCstm->values);
     $this->assertContains('writing', $account[0]->tagcloudCstm->values);
     unset($account);
     $account = Account::getByName('myThirdAccount');
     $accountId = $account[0]->id;
     //Edit and save the account.
     $this->setGetArray(array('id' => $accountId));
     $this->setPostArray(array('Account' => array('name' => 'myThirdAccount', 'multiselectCstm' => array('values' => array('ff')), 'tagcloudCstm' => array('values' => array('writing'))), 'save' => 'Save'));
     $this->runControllerWithRedirectExceptionAndGetUrl('accounts/default/edit');
     //Check the details if they are saved properly for the custom fields.
     $account = Account::getByName('myThirdAccount');
     //Retrieve the permission for the account.
     $explicitReadWriteModelPermissions = ExplicitReadWriteModelPermissionsUtil::makeBySecurableItem(Account::getById($account[0]->id));
     $readWritePermitables = $explicitReadWriteModelPermissions->getReadWritePermitables();
     $readOnlyPermitables = $explicitReadWriteModelPermissions->getReadOnlyPermitables();
     $this->assertEquals(1, count($account));
     $this->assertEquals(1, $account[0]->multiselectCstm->values->count());
     $this->assertContains('ff', $account[0]->multiselectCstm->values);
     $this->assertNotContains('gg', $account[0]->multiselectCstm->values);
     $this->assertNotContains('hh', $account[0]->multiselectCstm->values);
     $this->assertNotContains('rr', $account[0]->multiselectCstm->values);
     $this->assertEquals(1, $account[0]->tagcloudCstm->values->count());
     $this->assertContains('writing', $account[0]->tagcloudCstm->values);
 }
예제 #10
0
 public static function resolveValueForDateDBFormatted($value)
 {
     if ($value == null) {
         return null;
     }
     $localeDateFormat = DateTimeUtil::getLocaleDateFormatForInput();
     return Yii::app()->dateFormatter->format(DatabaseCompatibilityUtil::getDateFormat(), CDateTimeParser::parse($value, $localeDateFormat));
 }
예제 #11
0
 public function testGetLocaleDateFormatForInput()
 {
     $timeZone = date_default_timezone_get();
     date_default_timezone_set('GMT');
     $localDateFormatForInput = DateTimeUtil::getLocaleDateFormatForInput();
     $this->assertEquals('M/d/yyyy', $localDateFormatForInput);
     //other locales
     Yii::app()->setLanguage('de');
     $localDateFormatForInput = DateTimeUtil::getLocaleDateFormatForInput();
     $this->assertEquals('dd.MM.yyyy', $localDateFormatForInput);
     Yii::app()->setLanguage('it');
     $localDateFormatForInput = DateTimeUtil::getLocaleDateFormatForInput();
     $this->assertEquals('dd/MM/yyyy', $localDateFormatForInput);
     Yii::app()->setLanguage('fr');
     $localDateFormatForInput = DateTimeUtil::getLocaleDateFormatForInput();
     $this->assertEquals('dd/MM/yyyy', $localDateFormatForInput);
     date_default_timezone_set($timeZone);
 }