Exemplo n.º 1
0
 /**
  * This test shows that accents are maybe not in the right encoding in the message file. This is just an example
  * of something that was not working in windows correctly. The result was the label would not display in the
  * input box in the browser in the module general in designer.
  */
 public function testAccentsAreEncodingProperly()
 {
     $this->assertEquals('Opportunité', ZurmoHtml::encode('Opportunité'));
     //First we need to activate French, to import the message
     Yii::app()->languageHelper->load();
     Yii::app()->languageHelper->activateLanguagesForTesting();
     Yii::app()->languageHelper->importMessagesForTesting();
     $label = OpportunitiesModule::getModuleLabelByTypeAndLanguage('SingularLowerCase', 'fr');
     $this->assertEquals('opportunité', $label);
     $this->assertEquals('opportunité', ZurmoHtml::encode($label));
 }
 public function testSuperUserOpportunityDefaultControllerActions()
 {
     $super = $this->logoutCurrentUserLoginNewUserAndGetByUsername('super');
     //Default Controller actions requiring some sort of parameter via POST or GET
     //Load Opportunity Modules Menu.
     $this->setGetArray(array('moduleClassName' => 'OpportunitiesModule'));
     $this->runControllerWithNoExceptionsAndGetContent('designer/default/modulesMenu');
     //Load AttributesList for Opportunity module.
     $this->setGetArray(array('moduleClassName' => 'OpportunitiesModule'));
     $this->runControllerWithNoExceptionsAndGetContent('designer/default/attributesList');
     //Load ModuleLayoutsList for Opportunity module.
     $this->setGetArray(array('moduleClassName' => 'OpportunitiesModule'));
     $this->runControllerWithNoExceptionsAndGetContent('designer/default/moduleLayoutsList');
     //Load ModuleEdit view for each applicable module.
     $this->setGetArray(array('moduleClassName' => 'OpportunitiesModule'));
     $this->runControllerWithNoExceptionsAndGetContent('designer/default/moduleEdit');
     //Now validate save with failed validation.
     $this->setGetArray(array('moduleClassName' => 'OpportunitiesModule'));
     $this->setPostArray(array('ajax' => 'edit-form', 'OpportunitiesModuleForm' => $this->createModuleEditBadValidationPostData()));
     $content = $this->runControllerWithExitExceptionAndGetContent('designer/default/moduleEdit');
     $this->assertTrue(strlen($content) > 50);
     //approximate, but should definetely be larger than 50.
     //Now validate save with successful validation.
     $this->setGetArray(array('moduleClassName' => 'OpportunitiesModule'));
     $this->setPostArray(array('ajax' => 'edit-form', 'OpportunitiesModuleForm' => $this->createModuleEditGoodValidationPostData('opp new name')));
     $content = $this->runControllerWithExitExceptionAndGetContent('designer/default/moduleEdit');
     $this->assertEquals('[]', $content);
     //Now save successfully.
     $this->setGetArray(array('moduleClassName' => 'OpportunitiesModule'));
     $this->setPostArray(array('save' => 'Save', 'OpportunitiesModuleForm' => $this->createModuleEditGoodValidationPostData('opp new name')));
     $this->runControllerWithRedirectExceptionAndGetContent('designer/default/moduleEdit');
     //Now confirm everything did in fact save correctly.
     $this->assertEquals('Opp New Name', OpportunitiesModule::getModuleLabelByTypeAndLanguage('Singular'));
     $this->assertEquals('Opp New Names', OpportunitiesModule::getModuleLabelByTypeAndLanguage('Plural'));
     $this->assertEquals('opp new name', OpportunitiesModule::getModuleLabelByTypeAndLanguage('SingularLowerCase'));
     $this->assertEquals('opp new names', OpportunitiesModule::getModuleLabelByTypeAndLanguage('PluralLowerCase'));
     //Load LayoutEdit for each applicable module and applicable layout
     $this->resetPostArray();
     $this->setGetArray(array('moduleClassName' => 'OpportunitiesModule', 'viewClassName' => 'OpportunitiesListView'));
     $this->runControllerWithNoExceptionsAndGetContent('designer/default/LayoutEdit');
     $this->setGetArray(array('moduleClassName' => 'OpportunitiesModule', 'viewClassName' => 'OpportunitiesModalListView'));
     $this->runControllerWithNoExceptionsAndGetContent('designer/default/LayoutEdit');
     $this->setGetArray(array('moduleClassName' => 'OpportunitiesModule', 'viewClassName' => 'OpportunitiesModalSearchView'));
     $this->runControllerWithNoExceptionsAndGetContent('designer/default/LayoutEdit');
     $this->setGetArray(array('moduleClassName' => 'OpportunitiesModule', 'viewClassName' => 'OpportunitiesMassEditView'));
     $this->runControllerWithNoExceptionsAndGetContent('designer/default/LayoutEdit');
     $this->setGetArray(array('moduleClassName' => 'OpportunitiesModule', 'viewClassName' => 'OpportunitiesRelatedListView'));
     $this->runControllerWithNoExceptionsAndGetContent('designer/default/LayoutEdit');
     $this->setGetArray(array('moduleClassName' => 'OpportunitiesModule', 'viewClassName' => 'OpportunitiesSearchView'));
     $this->runControllerWithNoExceptionsAndGetContent('designer/default/LayoutEdit');
     $this->setGetArray(array('moduleClassName' => 'OpportunitiesModule', 'viewClassName' => 'OpportunityEditAndDetailsView'));
     $this->runControllerWithNoExceptionsAndGetContent('designer/default/LayoutEdit');
 }
Exemplo n.º 3
0
 /**
  * Action called in the event that the mass delete quantity is larger than the pageSize.
  * This action is called after the pageSize quantity has been delted and continues to be
  * called until the mass delete action is complete.  For example, if there are 20 records to delete
  * and the pageSize is 5, then this action will be called 3 times.  The first 5 are updated when
  * the actionMassDelete is called upon the initial form submission.
  */
 public function actionMassDeleteProgress()
 {
     $pageSize = Yii::app()->pagination->resolveActiveForCurrentUserByType('massDeleteProgressPageSize');
     $opportunity = new Opportunity(false);
     $dataProvider = $this->getDataProviderByResolvingSelectAllFromGet(new OpportunitiesSearchForm($opportunity), $pageSize, Yii::app()->user->userModel->id, null, 'OpportunitiesSearchView');
     $this->processMassDeleteProgress('Opportunity', $pageSize, OpportunitiesModule::getModuleLabelByTypeAndLanguage('Plural'), $dataProvider);
 }
 protected function resolveConfirmAlertInHtmlOptions($htmlOptions)
 {
     $htmlOptions['confirm'] = Zurmo::t('Core', 'Are you sure you want to delete this {modelLabel}?', array('{modelLabel}' => OpportunitiesModule::getModuleLabelByTypeAndLanguage('SingularLowerCase')));
     return $htmlOptions;
 }