Account Suspended
Account Suspended
This Account has been suspended.
Contact your hosting provider for more information.
 All Data Structures Functions Variables Pages
LeadsDesignerSuperUserWalkthroughTest.php
1 <?php
2  /*********************************************************************************
3  * Zurmo is a customer relationship management program developed by
4  * Zurmo, Inc. Copyright (C) 2017 Zurmo Inc.
5  *
6  * Zurmo is free software; you can redistribute it and/or modify it under
7  * the terms of the GNU Affero General Public License version 3 as published by the
8  * Free Software Foundation with the addition of the following permission added
9  * to Section 15 as permitted in Section 7(a): FOR ANY PART OF THE COVERED WORK
10  * IN WHICH THE COPYRIGHT IS OWNED BY ZURMO, ZURMO DISCLAIMS THE WARRANTY
11  * OF NON INFRINGEMENT OF THIRD PARTY RIGHTS.
12  *
13  * Zurmo is distributed in the hope that it will be useful, but WITHOUT
14  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
15  * FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
16  * details.
17  *
18  * You should have received a copy of the GNU Affero General Public License along with
19  * this program; if not, see http://www.gnu.org/licenses or write to the Free
20  * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
21  * 02110-1301 USA.
22  *
23  * You can contact Zurmo, Inc. with a mailing address at 27 North Wacker Drive
24  * Suite 370 Chicago, IL 60606. or at email address contact@zurmo.com.
25  *
26  * The interactive user interfaces in original and modified versions
27  * of this program must display Appropriate Legal Notices, as required under
28  * Section 5 of the GNU Affero General Public License version 3.
29  *
30  * In accordance with Section 7(b) of the GNU Affero General Public License version 3,
31  * these Appropriate Legal Notices must retain the display of the Zurmo
32  * logo and Zurmo copyright notice. If the display of the logo is not reasonably
33  * feasible for technical reasons, the Appropriate Legal Notices must display the words
34  * "Copyright Zurmo Inc. 2017. All rights reserved".
35  ********************************************************************************/
36 
47  {
48  public static $activateDefaultLanguages = true;
49 
50  public static function setUpBeforeClass()
51  {
52  parent::setUpBeforeClass();
53  SecurityTestHelper::createSuperAdmin();
54  $super = User::getByUsername('super');
55  Yii::app()->user->userModel = $super;
56  Currency::makeBaseCurrency();
57  //create a lead here
58  LeadTestHelper::createLeadbyNameForOwner('superLead', $super);
59  }
60 
61  public function testSuperUserLeadDefaultControllerActions()
62  {
63  $super = $this->logoutCurrentUserLoginNewUserAndGetByUsername('super');
64 
65  //Default Controller actions requiring some sort of parameter via POST or GET
66  //Load Lead Modules Menu.
67  $this->setGetArray(array('moduleClassName' => 'LeadsModule'));
68  $this->runControllerWithNoExceptionsAndGetContent('designer/default/modulesMenu');
69 
70  //Load AttributesList for Leads module.
71  $this->setGetArray(array('moduleClassName' => 'LeadsModule'));
72  $this->runControllerWithNoExceptionsAndGetContent('designer/default/attributesList');
73 
74  //Load ModuleLayoutsList for Lead module.
75  $this->setGetArray(array('moduleClassName' => 'LeadsModule'));
76  $this->runControllerWithNoExceptionsAndGetContent('designer/default/moduleLayoutsList');
77 
78  //Load ModuleEdit view for each applicable module.
79  $this->setGetArray(array('moduleClassName' => 'LeadsModule'));
80  $this->runControllerWithNoExceptionsAndGetContent('designer/default/moduleEdit');
81 
82  //Now validate save with failed validation.
83  $this->setGetArray(array('moduleClassName' => 'LeadsModule'));
84  $this->setPostArray(array('ajax' => 'edit-form',
85  'LeadsModuleForm' => $this->createModuleEditBadValidationPostData()));
86  $content = $this->runControllerWithExitExceptionAndGetContent('designer/default/moduleEdit');
87  $this->assertTrue(strlen($content) > 50); //approximate, but should definetely be larger than 50.
88 
89  //Now validate save with successful validation.
90  $this->setGetArray(array('moduleClassName' => 'LeadsModule'));
91  $this->setPostArray(array('ajax' => 'edit-form',
92  'LeadsModuleForm' => $this->createModuleEditGoodValidationPostData('lea new name')));
93  $content = $this->runControllerWithExitExceptionAndGetContent('designer/default/moduleEdit');
94  $this->assertEquals('[]', $content);
95 
96  //Now save successfully.
97  $this->setGetArray(array('moduleClassName' => 'LeadsModule'));
98  $this->setPostArray(array('save' => 'Save',
99  'LeadsModuleForm' => $this->createModuleEditGoodValidationPostData('lea new name')));
100  $this->runControllerWithRedirectExceptionAndGetContent('designer/default/moduleEdit');
101 
102  //Now confirm everything did in fact save correctly.
103  $this->assertEquals('Lea New Name', LeadsModule::getModuleLabelByTypeAndLanguage('Singular'));
104  $this->assertEquals('Lea New Names', LeadsModule::getModuleLabelByTypeAndLanguage('Plural'));
105  $this->assertEquals('lea new name', LeadsModule::getModuleLabelByTypeAndLanguage('SingularLowerCase'));
106  $this->assertEquals('lea new names', LeadsModule::getModuleLabelByTypeAndLanguage('PluralLowerCase'));
107 
108  //Load LayoutEdit for each applicable module and applicable layout
109  $this->resetPostArray();
110  $this->setGetArray(array('moduleClassName' => 'LeadsModule',
111  'viewClassName' => 'LeadEditAndDetailsView'));
112  $this->runControllerWithNoExceptionsAndGetContent('designer/default/LayoutEdit');
113  $this->setGetArray(array('moduleClassName' => 'LeadsModule',
114  'viewClassName' => 'LeadsListView'));
115  $this->runControllerWithNoExceptionsAndGetContent('designer/default/LayoutEdit');
116  $this->setGetArray(array('moduleClassName' => 'LeadsModule',
117  'viewClassName' => 'LeadsMassEditView'));
118  $this->runControllerWithNoExceptionsAndGetContent('designer/default/LayoutEdit');
119  $this->setGetArray(array('moduleClassName' => 'LeadsModule',
120  'viewClassName' => 'LeadsModalListView'));
121  $this->runControllerWithNoExceptionsAndGetContent('designer/default/LayoutEdit');
122  $this->setGetArray(array('moduleClassName' => 'LeadsModule',
123  'viewClassName' => 'LeadsModalSearchView'));
124  $this->runControllerWithNoExceptionsAndGetContent('designer/default/LayoutEdit');
125  $this->setGetArray(array('moduleClassName' => 'LeadsModule',
126  'viewClassName' => 'LeadsSearchView'));
127  $this->runControllerWithNoExceptionsAndGetContent('designer/default/LayoutEdit');
128  }
129 
134  {
135  $super = $this->logoutCurrentUserLoginNewUserAndGetByUsername('super');
136 
137  //Test create field list.
138  $this->setGetArray(array('moduleClassName' => 'ContactsModule'));
139 
140  //View creation screen, then create custom field for each custom field type.
141  $this->createCheckBoxCustomFieldByModule ('ContactsModule', 'checkbox');
142  $this->createCurrencyValueCustomFieldByModule ('ContactsModule', 'currency');
143  $this->createDateCustomFieldByModule ('ContactsModule', 'date');
144  $this->createDateTimeCustomFieldByModule ('ContactsModule', 'datetime');
145  $this->createDecimalCustomFieldByModule ('ContactsModule', 'decimal');
146  $this->createDropDownCustomFieldByModule ('ContactsModule', 'picklist');
147  $this->createDependentDropDownCustomFieldByModule ('ContactsModule', 'countrylist');
148  $this->createDependentDropDownCustomFieldByModule ('ContactsModule', 'statelist');
149  $this->createDependentDropDownCustomFieldByModule ('ContactsModule', 'citylist');
150  $this->createIntegerCustomFieldByModule ('ContactsModule', 'integer');
151  $this->createMultiSelectDropDownCustomFieldByModule ('ContactsModule', 'multiselect');
152  $this->createTagCloudCustomFieldByModule ('ContactsModule', 'tagcloud');
153  $this->createCalculatedNumberCustomFieldByModule ('ContactsModule', 'calcnumber');
154  $this->createDropDownDependencyCustomFieldByModule ('ContactsModule', 'dropdowndep');
155  $this->createPhoneCustomFieldByModule ('ContactsModule', 'phone');
156  $this->createRadioDropDownCustomFieldByModule ('ContactsModule', 'radio');
157  $this->createTextCustomFieldByModule ('ContactsModule', 'text');
158  $this->createTextAreaCustomFieldByModule ('ContactsModule', 'textarea');
159  $this->createUrlCustomFieldByModule ('ContactsModule', 'url');
160  }
161 
166  {
167  $super = $this->logoutCurrentUserLoginNewUserAndGetByUsername('super');
168 
169  //Add custom fields to LeadEditAndDetailsView.
170  $this->setGetArray(array('moduleClassName' => 'LeadsModule',
171  'viewClassName' => 'LeadEditAndDetailsView'));
173  'LeadStateDropDown');
174  $this->setPostArray(array('save' => 'Save', 'layout' => $layout,
175  'LayoutPanelsTypeForm' => array('type' => FormLayout::PANELS_DISPLAY_TYPE_ALL)));
176  $content = $this->runControllerWithExitExceptionAndGetContent('designer/default/LayoutEdit');
177  $this->assertContains('Layout saved successfully', $content);
178 
179  //Add all fields to LeadsSearchView.
180  $this->setGetArray(array('moduleClassName' => 'LeadsModule',
181  'viewClassName' => 'LeadsSearchView'));
183  'LeadStateDropDown');
184  $this->setPostArray(array('save' => 'Save', 'layout' => $layout));
185  $content = $this->runControllerWithExitExceptionAndGetContent('designer/default/LayoutEdit');
186  $this->assertContains('Layout saved successfully', $content);
187 
188  //Add all fields to LeadsListView.
189  $this->setGetArray(array('moduleClassName' => 'LeadsModule',
190  'viewClassName' => 'LeadsListView'));
192  $this->setPostArray(array('save' => 'Save', 'layout' => $layout));
193  $content = $this->runControllerWithExitExceptionAndGetContent('designer/default/LayoutEdit');
194  $this->assertContains('Layout saved successfully', $content);
195 
196  //Add all fields to LeadsMassEditView.
197  $this->setGetArray(array('moduleClassName' => 'LeadsModule',
198  'viewClassName' => 'LeadsMassEditView'));
200  'LeadStateDropDown');
201  $this->setPostArray(array('save' => 'Save', 'layout' => $layout));
202  $content = $this->runControllerWithExitExceptionAndGetContent('designer/default/LayoutEdit');
203  $this->assertContains('Layout saved successfully', $content);
204 
205  //Add all fields to LeadsModalListView.
206  $this->setGetArray(array('moduleClassName' => 'LeadsModule',
207  'viewClassName' => 'LeadsModalListView'));
209  $this->setPostArray(array('save' => 'Save', 'layout' => $layout));
210  $content = $this->runControllerWithExitExceptionAndGetContent('designer/default/LayoutEdit');
211  $this->assertContains('Layout saved successfully', $content);
212  }
213 
218  {
219  $super = $this->logoutCurrentUserLoginNewUserAndGetByUsername('super');
220  $superLeadId = self::getModelIdByModelNameAndName('Contact', 'superLead superLeadson');
221  //Load create, edit, and details views.
222  $this->runControllerWithNoExceptionsAndGetContent('leads/default/create');
223  $this->setGetArray(array('id' => $superLeadId));
224  $this->runControllerWithNoExceptionsAndGetContent('leads/default/edit');
225  $this->runControllerWithNoExceptionsAndGetContent('leads/default/details');
226  $this->runControllerWithNoExceptionsAndGetContent('leads/default/list');
227  $this->setGetArray(array(
228  'modalTransferInformation' => array('sourceIdFieldId' => 'x', 'sourceNameFieldId' => 'y', 'modalId' => 'z')
229  ));
230  $this->resetPostArray();
231  $this->runControllerWithNoExceptionsAndGetContent('leads/default/modalList');
232  $this->setGetArray(array('selectAll' => '1'));
233  $this->resetPostArray();
234  $this->runControllerWithNoExceptionsAndGetContent('leads/default/massEdit');
235  //todo: test related list once the related list is available in a sub view.
236  }
237 
242  {
243  $super = $this->logoutCurrentUserLoginNewUserAndGetByUsername('super');
244 
245  //Retrieve the the super user id.
246  $superUserId = $super->id;
247 
248  //Set the date and datetime variable values here.
249  $date = Yii::app()->dateFormatter->format(DateTimeUtil::getLocaleDateFormatForInput(), time());
250  $dateAssert = date('Y-m-d');
251  $datetime = Yii::app()->dateFormatter->format(DateTimeUtil::getLocaleDateTimeFormatForInput(), time());
252  $datetimeAssert = date('Y-m-d H:i:')."00";
253  $baseCurrency = Currency::getByCode(Yii::app()->currencyHelper->getBaseCode());
254 
255  //Retrieve the Lead State (Status) Id based on the name.
256  $leadState = ContactState::getByName('New');
257  $leadStateId = $leadState[0]->id;
258 
259  //Create a new Lead based on the custom fields.
260  $this->resetGetArray();
261  $this->setPostArray(array('Contact' => array(
262  'title' => array('value' => 'Mr.'),
263  'firstName' => 'Sarah',
264  'lastName' => 'Williams',
265  'state' => array('id' => $leadStateId),
266  'jobTitle' => 'Sales Director',
267  'companyName' => 'ABC Telecom',
268  'industry' => array('value' => 'Automotive'),
269  'website' => 'http://www.company.com',
270  'department' => 'Sales',
271  'officePhone' => '739-741-3005',
272  'source' => array('value' => 'Self-Generated'),
273  'mobilePhone' => '285-301-8232',
274  'officeFax' => '255-455-1914',
275  'primaryEmail' => array('emailAddress' => 'info@myNewLead.com',
276  'optOut' => '1',
277  'isInvalid' => '0'),
278  'secondaryEmail' => array('emailAddress' => '',
279  'optOut' => '0',
280  'isInvalid' => '0'),
281  'primaryAddress' => array('street1' => '16139 North Michigan Road',
282  'street2' => '',
283  'city' => 'Boston',
284  'state' => 'MA',
285  'postalCode' => '02119',
286  'country' => 'USA'),
287  'secondaryAddress' => array('street1' => '26217 West Third Lane',
288  'street2' => '',
289  'city' => 'New York',
290  'state' => 'NY',
291  'postalCode' => '10169',
292  'country' => 'USA'),
293  'owner' => array('id' => $superUserId),
294  'explicitReadWriteModelPermissions' => array('type' => null),
295  'description' => 'This is a Description',
296  'checkboxCstm' => '1',
297  'currencyCstm' => array('value' => 45,
298  'currency' => array(
299  'id' => $baseCurrency->id)),
300  'dateCstm' => $date,
301  'datetimeCstm' => $datetime,
302  'decimalCstm' => '123',
303  'picklistCstm' => array('value' => 'a'),
304  'multiselectCstm' => array('values' => array('ff', 'rr')),
305  'tagcloudCstm' => array('values' => array('writing', 'gardening')),
306  'countrylistCstm' => array('value' => 'bbbb'),
307  'statelistCstm' => array('value' => 'bbb1'),
308  'citylistCstm' => array('value' => 'bb1'),
309  'integerCstm' => '12',
310  'phoneCstm' => '259-784-2169',
311  'radioCstm' => array('value' => 'd'),
312  'textCstm' => 'This is a test Text',
313  'textareaCstm' => 'This is a test TextArea',
314  'urlCstm' => 'http://wwww.abc.com')));
315  $this->runControllerWithRedirectExceptionAndGetUrl('leads/default/create');
316 
317  //Check the details if they are saved properly for the custom fields.
318  $leadId = self::getModelIdByModelNameAndName ('Contact', 'Sarah Williams');
319  $lead = Contact::getById($leadId);
320 
321  //Retrieve the permission of the lead.
322  $explicitReadWriteModelPermissions = ExplicitReadWriteModelPermissionsUtil::
323  makeBySecurableItem($lead);
324  $readWritePermitables = $explicitReadWriteModelPermissions->getReadWritePermitables();
325  $readOnlyPermitables = $explicitReadWriteModelPermissions->getReadOnlyPermitables();
326 
327  $this->assertEquals($lead->title->value , 'Mr.');
328  $this->assertEquals($lead->firstName , 'Sarah');
329  $this->assertEquals($lead->lastName , 'Williams');
330  $this->assertEquals($lead->state->id , $leadStateId);
331  $this->assertEquals($lead->jobTitle , 'Sales Director');
332  $this->assertEquals($lead->companyName , 'ABC Telecom');
333  $this->assertEquals($lead->industry->value , 'Automotive');
334  $this->assertEquals($lead->website , 'http://www.company.com');
335  $this->assertEquals($lead->department , 'Sales');
336  $this->assertEquals($lead->officePhone , '739-741-3005');
337  $this->assertEquals($lead->source->value , 'Self-Generated');
338  $this->assertEquals($lead->mobilePhone , '285-301-8232');
339  $this->assertEquals($lead->officeFax , '255-455-1914');
340  $this->assertEquals($lead->primaryEmail->emailAddress , 'info@myNewLead.com');
341  $this->assertEquals($lead->primaryEmail->optOut , '1');
342  $this->assertEquals($lead->primaryEmail->isInvalid , '0');
343  $this->assertEquals($lead->secondaryEmail->emailAddress , '');
344  $this->assertEquals($lead->secondaryEmail->optOut , '0');
345  $this->assertEquals($lead->secondaryEmail->isInvalid , '0');
346  $this->assertEquals($lead->primaryAddress->street1 , '16139 North Michigan Road');
347  $this->assertEquals($lead->primaryAddress->street2 , '');
348  $this->assertEquals($lead->primaryAddress->city , 'Boston');
349  $this->assertEquals($lead->primaryAddress->state , 'MA');
350  $this->assertEquals($lead->primaryAddress->postalCode , '02119');
351  $this->assertEquals($lead->primaryAddress->country , 'USA');
352  $this->assertEquals($lead->secondaryAddress->street1 , '26217 West Third Lane');
353  $this->assertEquals($lead->secondaryAddress->street2 , '');
354  $this->assertEquals($lead->secondaryAddress->city , 'New York');
355  $this->assertEquals($lead->secondaryAddress->state , 'NY');
356  $this->assertEquals($lead->secondaryAddress->postalCode , '10169');
357  $this->assertEquals($lead->secondaryAddress->country , 'USA');
358  $this->assertEquals($lead->owner->id , $superUserId);
359  $this->assertEquals(0 , count($readWritePermitables));
360  $this->assertEquals(0 , count($readOnlyPermitables));
361  $this->assertEquals($lead->description , 'This is a Description');
362  $this->assertEquals($lead->checkboxCstm , '1');
363  $this->assertEquals($lead->currencyCstm->value , 45);
364  $this->assertEquals($lead->currencyCstm->currency->id , $baseCurrency->id);
365  $this->assertEquals($lead->dateCstm , $dateAssert);
366  $this->assertEquals($lead->datetimeCstm , $datetimeAssert);
367  $this->assertEquals($lead->decimalCstm , '123');
368  $this->assertEquals($lead->picklistCstm->value , 'a');
369  $this->assertEquals($lead->integerCstm , 12);
370  $this->assertEquals($lead->phoneCstm , '259-784-2169');
371  $this->assertEquals($lead->radioCstm->value , 'd');
372  $this->assertEquals($lead->textCstm , 'This is a test Text');
373  $this->assertEquals($lead->textareaCstm , 'This is a test TextArea');
374  $this->assertEquals($lead->urlCstm , 'http://wwww.abc.com');
375  $this->assertEquals($lead->countrylistCstm->value , 'bbbb');
376  $this->assertEquals($lead->statelistCstm->value , 'bbb1');
377  $this->assertEquals($lead->citylistCstm->value , 'bb1');
378  $this->assertContains('ff' , $lead->multiselectCstm->values);
379  $this->assertContains('rr' , $lead->multiselectCstm->values);
380  $this->assertContains('writing' , $lead->tagcloudCstm->values);
381  $this->assertContains('gardening' , $lead->tagcloudCstm->values);
383  getByNameAndModelClassName('calcnumber', 'Contact');
384  $testCalculatedValue = CalculatedNumberUtil::calculateByFormulaAndModelAndResolveFormat($metadata->getFormula(), $lead);
385  $this->assertEquals(135 , $testCalculatedValue);
386  }
387 
392  {
393  $super = $this->logoutCurrentUserLoginNewUserAndGetByUsername('super');
394 
395  //Retrieve the super user id.
396  $superUserId = $super->id;
397 
398  //Retrieve the Lead State (Status) Id based on the name.
399  $leadState = ContactState::getByName('New');
400  $leadStateId = $leadState[0]->id;
401 
402  //Search a created lead using the customfields.
403  $this->resetPostArray();
404  $this->setGetArray(array('LeadsSearchForm' => array(
405  'fullName' => 'Sarah Williams',
406  'officePhone' => '739-741-3005',
407  'anyPostalCode' => '10169',
408  'companyName' => 'ABC Telecom',
409  'department' => 'Sales',
410  'industry' => array('value' => 'Automotive'),
411  'website' => 'http://www.company.com',
412  'anyCountry' => 'USA',
413  'anyInvalidEmail' => array('value' => '0'),
414  'anyEmail' => 'info@myNewLead.com',
415  'anyOptOutEmail' => array('value' => '1'),
416  'ownedItemsOnly' => '1',
417  'anyStreet' => '26217 West Third Lane',
418  'anyCity' => 'New York',
419  'anyState' => 'NY',
420  'state' => array('id' => $leadStateId),
421  'owner' => array('id' => $superUserId),
422  'firstName' => 'Sarah',
423  'lastName' => 'Williams',
424  'jobTitle' => 'Sales Director',
425  'officeFax' => '255-455-1914',
426  'title' => array('value' => 'Mr.'),
427  'source' => array('value' => 'Self-Generated'),
428  'decimalCstm' => '123',
429  'integerCstm' => '12',
430  'phoneCstm' => '259-784-2169',
431  'textCstm' => 'This is a test Text',
432  'textareaCstm' => 'This is a test TextArea',
433  'urlCstm' => 'http://wwww.abc.com',
434  'checkboxCstm' => array('value' => '1'),
435  'currencyCstm' => array('value' => 45),
436  'picklistCstm' => array('value' => 'a'),
437  'multiselectCstm' => array('values' => array('ff', 'rr')),
438  'tagcloudCstm' => array('values' => array('writing', 'gardening')),
439  'countrylistCstm' => array('value' => 'bbbb'),
440  'statelistCstm' => array('value' => 'bbb1'),
441  'citylistCstm' => array('value' => 'bb1'),
442  'radioCstm' => array('value' => 'd'),
443  'dateCstm__Date' => array('type' => 'Today'),
444  'datetimeCstm__DateTime' => array('type' => 'Today')),
445  'ajax' => 'list-view'));
446  $content = $this->runControllerWithNoExceptionsAndGetContent('leads/default');
447 
448  //Check if the lead name exits after the search is performed on the basis of the
449  //custom fields added to the leads module.
450  //$this->assertContains("Displaying 1-1 of 1 result(s).", $content); //removed until we show the count again in the listview.
451  $this->assertContains("Sarah Williams", $content);
452  }
453 
458  {
459  $super = $this->logoutCurrentUserLoginNewUserAndGetByUsername('super');
460 
461  //Retrieve the the super user id.
462  $superUserId = $super->id;
463 
464  //Retrieve the lead id.
465  $lead = Contact::getByName('Sarah Williams');
466  $leadId = $lead[0]->id;
467  $this->assertEquals(2, $lead[0]->tagcloudCstm->values->count());
468 
469  //Set the date and datetime variable values here.
470  $date = Yii::app()->dateFormatter->format(DateTimeUtil::getLocaleDateFormatForInput(), time());
471  $dateAssert = date('Y-m-d');
472  $datetime = Yii::app()->dateFormatter->format(DateTimeUtil::getLocaleDateTimeFormatForInput(), time());
473  $datetimeAssert = date('Y-m-d H:i:')."00";
474  $baseCurrency = Currency::getByCode(Yii::app()->currencyHelper->getBaseCode());
475 
476  //Retrieve the Lead State (Status) Id based on the name.
477  $leadState = ContactState::getByName('In Progress');
478  $leadStateId = $leadState[0]->id;
479  $explicitReadWriteModelPermission = ExplicitReadWriteModelPermissionsUtil::MIXED_TYPE_EVERYONE_GROUP;
480 
481  //Edit and save the lead.
482  $this->setGetArray(array('id' => $leadId));
483  $this->setPostArray(array('Contact' => array(
484  'title' => array('value' => 'Mrs.'),
485  'firstName' => 'Sarah',
486  'lastName' => 'Williams Edit',
487  'jobTitle' => 'Sales Director Edit',
488  'companyName' => 'ABC Telecom Edit',
489  'industry' => array('value' => 'Banking'),
490  'website' => 'http://www.companyedit.com',
491  'department' => 'Sales Edit',
492  'officePhone' => '739-742-3005',
493  'source' => array('value' => 'Inbound Call'),
494  'mobilePhone' => '285-300-8232',
495  'officeFax' => '255-454-1914',
496  'state' => array('id' => $leadStateId),
497  'owner' => array('id' => $superUserId),
498  'primaryEmail' => array('emailAddress' => 'info@myNewLead.com',
499  'optOut' => '0',
500  'isInvalid' => '0'),
501  'secondaryEmail' => array('emailAddress' => 'info@myNewLeadEdit.com',
502  'optOut' => '0',
503  'isInvalid' => '0'),
504  'primaryAddress' => array('street1' => '26378 South Arlington Ave',
505  'street2' => '',
506  'city' => 'San Jose',
507  'state' => 'CA',
508  'postalCode' => '95131',
509  'country' => 'USA'),
510  'secondaryAddress' => array('street1' => '1652 North Cedar Court',
511  'street2' => '',
512  'city' => 'Phoenix',
513  'state' => 'AZ',
514  'postalCode' => '85003',
515  'country' => 'USA'),
516  'explicitReadWriteModelPermissions' => array('type' => $explicitReadWriteModelPermission),
517  'description' => 'This is a Edit Description',
518  'checkboxCstm' => '0',
519  'currencyCstm' => array('value' => 40,
520  'currency' => array(
521  'id' => $baseCurrency->id)),
522  'dateCstm' => $date,
523  'datetimeCstm' => $datetime,
524  'decimalCstm' => '12',
525  'picklistCstm' => array('value' => 'b'),
526  'multiselectCstm' => array('values' => array('gg', 'hh')),
527  'tagcloudCstm' => array('values' => array('writing')),
528  'countrylistCstm' => array('value' => 'aaaa'),
529  'statelistCstm' => array('value' => 'aaa1'),
530  'citylistCstm' => array('value' => 'ab1'),
531  'integerCstm' => '11',
532  'phoneCstm' => '259-784-2069',
533  'radioCstm' => array('value' => 'e'),
534  'textCstm' => 'This is a test Edit Text',
535  'textareaCstm' => 'This is a test Edit TextArea',
536  'urlCstm' => 'http://wwww.abc-edit.com'),
537  'save' => 'Save'));
538  $this->runControllerWithRedirectExceptionAndGetUrl('leads/default/edit');
539 
540  //Check the details if they are saved properly for the custom fields after the edit.
541  $lead = Contact::getById($leadId);
542  //Retrieve the permission of the lead.
543  $explicitReadWriteModelPermissions = ExplicitReadWriteModelPermissionsUtil::
544  makeBySecurableItem($lead);
545  $readWritePermitables = $explicitReadWriteModelPermissions->getReadWritePermitables();
546  $readOnlyPermitables = $explicitReadWriteModelPermissions->getReadOnlyPermitables();
547 
548  $this->assertEquals($lead->title->value , 'Mrs.');
549  $this->assertEquals($lead->firstName , 'Sarah');
550  $this->assertEquals($lead->lastName , 'Williams Edit');
551  $this->assertEquals($lead->state->id , $leadStateId);
552  $this->assertEquals($lead->jobTitle , 'Sales Director Edit');
553  $this->assertEquals($lead->companyName , 'ABC Telecom Edit');
554  $this->assertEquals($lead->industry->value , 'Banking');
555  $this->assertEquals($lead->website , 'http://www.companyedit.com');
556  $this->assertEquals($lead->department , 'Sales Edit');
557  $this->assertEquals($lead->officePhone , '739-742-3005');
558  $this->assertEquals($lead->source->value , 'Inbound Call');
559  $this->assertEquals($lead->mobilePhone , '285-300-8232');
560  $this->assertEquals($lead->officeFax , '255-454-1914');
561  $this->assertEquals($lead->primaryEmail->emailAddress , 'info@myNewLead.com');
562  $this->assertEquals($lead->primaryEmail->optOut , '0');
563  $this->assertEquals($lead->primaryEmail->isInvalid , '0');
564  $this->assertEquals($lead->secondaryEmail->emailAddress , 'info@myNewLeadEdit.com');
565  $this->assertEquals($lead->secondaryEmail->optOut , '0');
566  $this->assertEquals($lead->secondaryEmail->isInvalid , '0');
567  $this->assertEquals($lead->primaryAddress->street1 , '26378 South Arlington Ave');
568  $this->assertEquals($lead->primaryAddress->street2 , '');
569  $this->assertEquals($lead->primaryAddress->city , 'San Jose');
570  $this->assertEquals($lead->primaryAddress->state , 'CA');
571  $this->assertEquals($lead->primaryAddress->postalCode , '95131');
572  $this->assertEquals($lead->primaryAddress->country , 'USA');
573  $this->assertEquals($lead->secondaryAddress->street1 , '1652 North Cedar Court');
574  $this->assertEquals($lead->secondaryAddress->street2 , '');
575  $this->assertEquals($lead->secondaryAddress->city , 'Phoenix');
576  $this->assertEquals($lead->secondaryAddress->state , 'AZ');
577  $this->assertEquals($lead->secondaryAddress->postalCode , '85003');
578  $this->assertEquals($lead->secondaryAddress->country , 'USA');
579  $this->assertEquals(1 , count($readWritePermitables));
580  $this->assertEquals(0 , count($readOnlyPermitables));
581  $this->assertEquals($lead->description , 'This is a Edit Description');
582  $this->assertEquals($lead->checkboxCstm , '0');
583  $this->assertEquals($lead->currencyCstm->value , 40);
584  $this->assertEquals($lead->currencyCstm->currency->id , $baseCurrency->id);
585  $this->assertEquals($lead->dateCstm , $dateAssert);
586  $this->assertEquals($lead->datetimeCstm , $datetimeAssert);
587  $this->assertEquals($lead->decimalCstm , '12');
588  $this->assertEquals($lead->picklistCstm->value , 'b');
589  $this->assertEquals($lead->integerCstm , 11);
590  $this->assertEquals($lead->phoneCstm , '259-784-2069');
591  $this->assertEquals($lead->radioCstm->value , 'e');
592  $this->assertEquals($lead->textCstm , 'This is a test Edit Text');
593  $this->assertEquals($lead->textareaCstm , 'This is a test Edit TextArea');
594  $this->assertEquals($lead->urlCstm , 'http://wwww.abc-edit.com');
595  $this->assertEquals($lead->countrylistCstm->value , 'aaaa');
596  $this->assertEquals($lead->statelistCstm->value , 'aaa1');
597  $this->assertEquals($lead->citylistCstm->value , 'ab1');
598  $this->assertContains('gg' , $lead->multiselectCstm->values);
599  $this->assertContains('hh' , $lead->multiselectCstm->values);
600  $this->assertEquals(1 , $lead->tagcloudCstm->values->count());
602  getByNameAndModelClassName('calcnumber', 'Contact');
603  $testCalculatedValue = CalculatedNumberUtil::calculateByFormulaAndModelAndResolveFormat($metadata->getFormula(), $lead);
604  $this->assertEquals(23 , $testCalculatedValue);
605  }
606 
611  {
612  $super = $this->logoutCurrentUserLoginNewUserAndGetByUsername('super');
613 
614  //Retrieve the the super user id.
615  $superUserId = $super->id;
616 
617  //Retrieve the lead id.
618  $lead = Contact::getByName('Sarah Williams Edit');
619  $leadId = $lead[0]->id;
620  $this->assertEquals(1, $lead[0]->tagcloudCstm->values->count());
621 
622  //Set the date and datetime variable values here.
623  $date = Yii::app()->dateFormatter->format(DateTimeUtil::getLocaleDateFormatForInput(), time());
624  //$dateAssert = date('Y-m-d');
625  $datetime = Yii::app()->dateFormatter->format(DateTimeUtil::getLocaleDateTimeFormatForInput(), time());
626  //$datetimeAssert = date('Y-m-d H:i:')."00";
627  $baseCurrency = Currency::getByCode(Yii::app()->currencyHelper->getBaseCode());
628 
629  //Retrieve the Lead State (Status) Id based on the name.
630  $leadState = ContactState::getByName('In Progress');
631  $leadStateId = $leadState[0]->id;
632  $explicitReadWriteModelPermission = ExplicitReadWriteModelPermissionsUtil::MIXED_TYPE_EVERYONE_GROUP;
633 
634  //Edit and save the lead.
635  $this->setGetArray(array('id' => $leadId));
636  $this->setPostArray(array('Contact' => array(
637  'title' => array('value' => 'Mrs.'),
638  'firstName' => 'Sarah',
639  'lastName' => 'Williams Edit',
640  'jobTitle' => 'Sales Director Edit',
641  'companyName' => 'ABC Telecom Edit',
642  'industry' => array('value' => 'Banking'),
643  'website' => 'http://www.companyedit.com',
644  'department' => 'Sales Edit',
645  'officePhone' => '739-742-3005',
646  'source' => array('value' => 'Inbound Call'),
647  'mobilePhone' => '285-300-8232',
648  'officeFax' => '255-454-1914',
649  'state' => array('id' => $leadStateId),
650  'owner' => array('id' => $superUserId),
651  'primaryEmail' => array('emailAddress' => 'info@myNewLead.com',
652  'optOut' => '0',
653  'isInvalid' => '0'),
654  'secondaryEmail' => array('emailAddress' => 'info@myNewLeadEdit.com',
655  'optOut' => '0',
656  'isInvalid' => '0'),
657  'primaryAddress' => array('street1' => '26378 South Arlington Ave',
658  'street2' => '',
659  'city' => 'San Jose',
660  'state' => 'CA',
661  'postalCode' => '95131',
662  'country' => 'USA'),
663  'secondaryAddress' => array('street1' => '1652 North Cedar Court',
664  'street2' => '',
665  'city' => 'Phoenix',
666  'state' => 'AZ',
667  'postalCode' => '85003',
668  'country' => 'USA'),
669  'explicitReadWriteModelPermissions' => array('type' => $explicitReadWriteModelPermission),
670  'description' => 'This is a Edit Description',
671  'checkboxCstm' => '0',
672  'currencyCstm' => array('value' => 40,
673  'currency' => array(
674  'id' => $baseCurrency->id)),
675  'dateCstm' => $date,
676  'datetimeCstm' => $datetime,
677  'decimalCstm' => '12',
678  'picklistCstm' => array('value' => 'b'),
679  'multiselectCstm' => array('values' => array('gg', 'hh')),
680  'tagcloudCstm' => array('values' => array()),
681  'countrylistCstm' => array('value' => 'aaaa'),
682  'statelistCstm' => array('value' => 'aaa1'),
683  'citylistCstm' => array('value' => 'ab1'),
684  'integerCstm' => '11',
685  'phoneCstm' => '259-784-2069',
686  'radioCstm' => array('value' => 'e'),
687  'textCstm' => 'This is a test Edit Text',
688  'textareaCstm' => 'This is a test Edit TextArea',
689  'urlCstm' => 'http://wwww.abc-edit.com'),
690  'save' => 'Save'));
691  $content = $this->runControllerWithNoExceptionsAndGetContent('leads/default/edit');
692  $this->assertContains("tagcloud en cannot be blank.", $content);
693  }
694 
699  {
700  $super = $this->logoutCurrentUserLoginNewUserAndGetByUsername('super');
701 
702  //Retrieve the the super user id.
703  $superUserId = $super->id;
704 
705  //Retrieve the lead id.
706  $leadId = self::getModelIdByModelNameAndName('Contact', 'Sarah Williams Edit');
707 
708  //Set the date and datetime variable values here.
709  $date = Yii::app()->dateFormatter->format(DateTimeUtil::getLocaleDateFormatForInput(), time());
710  $dateAssert = date('Y-m-d');
711  $datetime = Yii::app()->dateFormatter->format(DateTimeUtil::getLocaleDateTimeFormatForInput(), time());
712  $datetimeAssert = date('Y-m-d H:i:')."00";
713  $baseCurrency = Currency::getByCode(Yii::app()->currencyHelper->getBaseCode());
714 
715  //Retrieve the Lead State (Status) Id based on the name.
716  $leadState = ContactState::getByName('In Progress');
717  $leadStateId = $leadState[0]->id;
718  $explicitReadWriteModelPermission = ExplicitReadWriteModelPermissionsUtil::MIXED_TYPE_EVERYONE_GROUP;
719 
720  //Edit and save the lead.
721  $this->setGetArray(array('id' => $leadId));
722  $this->setPostArray(array('Contact' => array(
723  'title' => array('value' => 'Mrs.'),
724  'firstName' => 'Sarah',
725  'lastName' => 'Williams Edit',
726  'jobTitle' => 'Sales Director Edit',
727  'companyName' => 'ABC Telecom Edit',
728  'industry' => array('value' => 'Banking'),
729  'website' => 'http://www.companyedit.com',
730  'department' => 'Sales Edit',
731  'officePhone' => '739-742-3005',
732  'source' => array('value' => 'Inbound Call'),
733  'mobilePhone' => '285-300-8232',
734  'officeFax' => '255-454-1914',
735  'state' => array('id' => $leadStateId),
736  'owner' => array('id' => $superUserId),
737  'primaryEmail' => array('emailAddress' => 'info@myNewLead.com',
738  'optOut' => '0',
739  'isInvalid' => '0'),
740  'secondaryEmail' => array('emailAddress' => 'info@myNewLeadEdit.com',
741  'optOut' => '0',
742  'isInvalid' => '0'),
743  'primaryAddress' => array('street1' => '26378 South Arlington Ave',
744  'street2' => '',
745  'city' => 'San Jose',
746  'state' => 'CA',
747  'postalCode' => '95131',
748  'country' => 'USA'),
749  'secondaryAddress' => array('street1' => '1652 North Cedar Court',
750  'street2' => '',
751  'city' => 'Phoenix',
752  'state' => 'AZ',
753  'postalCode' => '85003',
754  'country' => 'USA'),
755  'explicitReadWriteModelPermissions' => array('type' => $explicitReadWriteModelPermission),
756  'description' => 'This is a Edit Description',
757  'checkboxCstm' => '0',
758  'currencyCstm' => array('value' => 40,
759  'currency' => array(
760  'id' => $baseCurrency->id)),
761  'dateCstm' => $date,
762  'datetimeCstm' => $datetime,
763  'decimalCstm' => '12',
764  'picklistCstm' => array('value' => 'b'),
765  'multiselectCstm' => array('values' => array('gg', 'hh')),
766  'tagcloudCstm' => array('values' => array('reading', 'surfing')),
767  'countrylistCstm' => array('value' => 'aaaa'),
768  'statelistCstm' => array('value' => 'aaa1'),
769  'citylistCstm' => array('value' => 'ab1'),
770  'integerCstm' => '11',
771  'phoneCstm' => '259-784-2069',
772  'radioCstm' => array('value' => 'e'),
773  'textCstm' => 'This is a test Edit Text',
774  'textareaCstm' => 'This is a test Edit TextArea',
775  'urlCstm' => 'http://wwww.abc-edit.com'),
776  'save' => 'Save'));
777  $this->runControllerWithRedirectExceptionAndGetUrl('leads/default/edit');
778 
779  //Check the details if they are saved properly for the custom fields after the edit.
780  $lead = Contact::getById($leadId);
781  //Retrieve the permission of the lead.
782  $explicitReadWriteModelPermissions = ExplicitReadWriteModelPermissionsUtil::
783  makeBySecurableItem($lead);
784  $readWritePermitables = $explicitReadWriteModelPermissions->getReadWritePermitables();
785  $readOnlyPermitables = $explicitReadWriteModelPermissions->getReadOnlyPermitables();
786 
787  $this->assertEquals($lead->title->value , 'Mrs.');
788  $this->assertEquals($lead->firstName , 'Sarah');
789  $this->assertEquals($lead->lastName , 'Williams Edit');
790  $this->assertEquals($lead->state->id , $leadStateId);
791  $this->assertEquals($lead->jobTitle , 'Sales Director Edit');
792  $this->assertEquals($lead->companyName , 'ABC Telecom Edit');
793  $this->assertEquals($lead->industry->value , 'Banking');
794  $this->assertEquals($lead->website , 'http://www.companyedit.com');
795  $this->assertEquals($lead->department , 'Sales Edit');
796  $this->assertEquals($lead->officePhone , '739-742-3005');
797  $this->assertEquals($lead->source->value , 'Inbound Call');
798  $this->assertEquals($lead->mobilePhone , '285-300-8232');
799  $this->assertEquals($lead->officeFax , '255-454-1914');
800  $this->assertEquals($lead->primaryEmail->emailAddress , 'info@myNewLead.com');
801  $this->assertEquals($lead->primaryEmail->optOut , '0');
802  $this->assertEquals($lead->primaryEmail->isInvalid , '0');
803  $this->assertEquals($lead->secondaryEmail->emailAddress , 'info@myNewLeadEdit.com');
804  $this->assertEquals($lead->secondaryEmail->optOut , '0');
805  $this->assertEquals($lead->secondaryEmail->isInvalid , '0');
806  $this->assertEquals($lead->primaryAddress->street1 , '26378 South Arlington Ave');
807  $this->assertEquals($lead->primaryAddress->street2 , '');
808  $this->assertEquals($lead->primaryAddress->city , 'San Jose');
809  $this->assertEquals($lead->primaryAddress->state , 'CA');
810  $this->assertEquals($lead->primaryAddress->postalCode , '95131');
811  $this->assertEquals($lead->primaryAddress->country , 'USA');
812  $this->assertEquals($lead->secondaryAddress->street1 , '1652 North Cedar Court');
813  $this->assertEquals($lead->secondaryAddress->street2 , '');
814  $this->assertEquals($lead->secondaryAddress->city , 'Phoenix');
815  $this->assertEquals($lead->secondaryAddress->state , 'AZ');
816  $this->assertEquals($lead->secondaryAddress->postalCode , '85003');
817  $this->assertEquals($lead->secondaryAddress->country , 'USA');
818  $this->assertEquals(1 , count($readWritePermitables));
819  $this->assertEquals(0 , count($readOnlyPermitables));
820  $this->assertEquals($lead->description , 'This is a Edit Description');
821  $this->assertEquals($lead->checkboxCstm , '0');
822  $this->assertEquals($lead->currencyCstm->value , 40);
823  $this->assertEquals($lead->currencyCstm->currency->id , $baseCurrency->id);
824  $this->assertEquals($lead->dateCstm , $dateAssert);
825  $this->assertEquals($lead->datetimeCstm , $datetimeAssert);
826  $this->assertEquals($lead->decimalCstm , '12');
827  $this->assertEquals($lead->picklistCstm->value , 'b');
828  $this->assertEquals($lead->integerCstm , 11);
829  $this->assertEquals($lead->phoneCstm , '259-784-2069');
830  $this->assertEquals($lead->radioCstm->value , 'e');
831  $this->assertEquals($lead->textCstm , 'This is a test Edit Text');
832  $this->assertEquals($lead->textareaCstm , 'This is a test Edit TextArea');
833  $this->assertEquals($lead->urlCstm , 'http://wwww.abc-edit.com');
834  $this->assertEquals($lead->countrylistCstm->value , 'aaaa');
835  $this->assertEquals($lead->statelistCstm->value , 'aaa1');
836  $this->assertEquals($lead->citylistCstm->value , 'ab1');
837  $this->assertContains('gg' , $lead->multiselectCstm->values);
838  $this->assertContains('hh' , $lead->multiselectCstm->values);
839  $this->assertContains('reading' , $lead->tagcloudCstm->values);
840  $this->assertContains('surfing' , $lead->tagcloudCstm->values);
842  getByNameAndModelClassName('calcnumber', 'Contact');
843  $testCalculatedValue = CalculatedNumberUtil::calculateByFormulaAndModelAndResolveFormat($metadata->getFormula(), $lead);
844  $this->assertEquals(23 , $testCalculatedValue);
845  }
846 
851  {
852  $super = $this->logoutCurrentUserLoginNewUserAndGetByUsername('super');
853 
854  //Retrieve the super user id.
855  $superUserId = $super->id;
856 
857  //Retrieve the Lead State (Status) Id based on the name.
858  $leadState = ContactState::getByName('In Progress');
859  $leadStateId = $leadState[0]->id;
860 
861  //Search a created lead using the customfields.
862  $this->resetPostArray();
863  $this->setGetArray(array(
865  $leadStateId, $superUserId),
866  'ajax' => 'list-view')
867  );
868  $content = $this->runControllerWithNoExceptionsAndGetContent('leads/default');
869 
870  //Check if the lead name exits after the search is performed on the basis of the
871  //custom fields added to the leads module.
872  //$this->assertContains("Displaying 1-1 of 1 result(s).", $content); //removed until we show the count again in the listview.
873  $this->assertContains("Sarah Williams Edit", $content);
874  }
875 
880  {
881  $super = $this->logoutCurrentUserLoginNewUserAndGetByUsername('super');
882 
883  //Retrieve the lead id.
884  $leadId = self::getModelIdByModelNameAndName('Contact', 'Sarah Williams Edit');
885 
886  //Set the lead id so as to delete the lead.
887  $this->setGetArray(array('id' => $leadId));
888  $this->runControllerWithRedirectExceptionAndGetUrl('leads/default/delete');
889 
890  //Check whether the lead is deleted.
891  $lead = Contact::getByName('Sarah Williams Edit');
892  $this->assertEquals(0, count($lead));
893  }
894 
899  {
900  $super = $this->logoutCurrentUserLoginNewUserAndGetByUsername('super');
901 
902  //Retrieve the super user id.
903  $superUserId = $super->id;
904 
905  //Retrieve the Lead State (Status) Id based on the name.
906  $leadState = ContactState::getByName('In Progress');
907  $leadStateId = $leadState[0]->id;
908 
909  //Search a created lead using the customfields.
910  $this->resetPostArray();
911  $this->setGetArray(array(
913  $leadStateId, $superUserId),
914  'ajax' => 'list-view')
915  );
916  $content = $this->runControllerWithNoExceptionsAndGetContent('leads/default');
917 
918  //Assert that the edit lead does not exits after the search.
919  $this->assertContains("No results found", $content);
920  $this->assertNotContains("26378 South Arlington Ave", $content);
921  }
922 
927  {
928  $super = $this->logoutCurrentUserLoginNewUserAndGetByUsername('super');
929 
930  //Search a list item by typing in tag cloud attribute.
931  $this->resetPostArray();
932  $this->setGetArray(array('name' => 'tagcloud',
933  'term' => 'rea'));
934  $content = $this->runControllerWithNoExceptionsAndGetContent('zurmo/default/autoCompleteCustomFieldData');
935 
936  //Check if the returned content contains the expected vlaue
937  $this->assertContains("reading", $content);
938  }
939 
944  {
945  Yii::app()->user->userModel = User::getByUsername('super');
946  $languageHelper = new ZurmoLanguageHelper();
947  $languageHelper->load();
948  $this->assertEquals('en', $languageHelper->getForCurrentUser());
949  Yii::app()->user->userModel->language = 'fr';
950  $this->assertTrue(Yii::app()->user->userModel->save());
951  $languageHelper->setActive('fr');
952  $this->assertEquals('fr', Yii::app()->user->getState('language'));
953 
954  $super = $this->logoutCurrentUserLoginNewUserAndGetByUsername('super');
955 
956  //Search a list item by typing in tag cloud attribute.
957  $this->resetPostArray();
958  $this->setGetArray(array('name' => 'tagcloud',
959  'term' => 'surf'));
960  $content = $this->runControllerWithNoExceptionsAndGetContent('zurmo/default/autoCompleteCustomFieldData');
961 
962  //Check if the returned content contains the expected vlaue
963  $this->assertContains("surfing fr", $content);
964  }
965  }
966 ?>
static makeBySecurableItem(SecurableItem $securableItem)
static calculateByFormulaAndModelAndResolveFormat($formula, RedBeanModel $model)
static getByUsername($username)
Definition: User.php:49
static getByCode($code)
Definition: Currency.php:90
static getContactsSearchViewLayoutWithAllCustomFieldsPlaced($stateElementName= 'ContactStateDropDown')
runControllerWithRedirectExceptionAndGetContent($route, $compareUrl=null, $compareUrlContains=false)
static fetchLeadsSearchFormGetData($leadStateId, $superUserId)
static getById($id, $modelClassName=null)
logoutCurrentUserLoginNewUserAndGetByUsername($username)
runControllerWithNoExceptionsAndGetContent($route, $empty=false)
static getContactsMassEditViewLayoutWithAllStandardAndCustomFieldsPlaced($stateElementName= 'ContactStateDropDown')
static getContactEditAndDetailsViewLayoutWithAllCustomFieldsPlaced($stateElementName= 'ContactStateDropDown')
static getByNameAndModelClassName($name, $modelClassName)
Generated on Sun Nov 29 2020 07:10:26
Account Suspended
Account Suspended
This Account has been suspended.
Contact your hosting provider for more information.