39 const RIGHT_CREATE_CONTACTS =
'Create Contacts';
40 const RIGHT_DELETE_CONTACTS =
'Delete Contacts';
41 const RIGHT_ACCESS_CONTACTS =
'Access Contacts Tab';
43 public function getDependencies()
51 public function getRootModelNames()
53 return array(
'Contact');
56 public static function getTranslatedRightsLabels()
60 $labels[self::RIGHT_CREATE_CONTACTS] = Zurmo::t(
'ContactsModule',
'Create ContactsModulePluralLabel', $params);
61 $labels[self::RIGHT_DELETE_CONTACTS] = Zurmo::t(
'ContactsModule',
'Delete ContactsModulePluralLabel', $params);
62 $labels[self::RIGHT_ACCESS_CONTACTS] = Zurmo::t(
'ContactsModule',
'Access ContactsModulePluralLabel Tab', $params);
66 public static function getDefaultMetadata()
69 $metadata[
'global'] = array(
70 'designerMenuItems' => array(
71 'showFieldsLink' =>
true,
72 'showGeneralLink' =>
true,
73 'showLayoutsLink' =>
true,
74 'showMenusLink' =>
true,
76 'globalSearchAttributeNames' => array(
83 'tabMenuItems' => array(
85 'label' =>
"eval:Zurmo::t('ContactsModule', 'ContactsModulePluralLabel', \$translationParams)",
86 'url' => array(
'/contacts/default'),
87 'right' => self::RIGHT_ACCESS_CONTACTS,
91 'shortcutsCreateMenuItems' => array(
93 'label' =>
"eval:Zurmo::t('ContactsModule', 'ContactsModuleSingularLabel', \$translationParams)",
94 'url' => array(
'/contacts/default/create'),
95 'right' => self::RIGHT_CREATE_CONTACTS,
99 'updateLatestActivityDateTimeWhenATaskIsCompleted' =>
true,
100 'updateLatestActivityDateTimeWhenANoteIsCreated' =>
true,
101 'updateLatestActivityDateTimeWhenAnEmailIsSentOrArchived' =>
true,
102 'updateLatestActivityDateTimeWhenAMeetingIsInThePast' =>
true,
107 public static function getPrimaryModelName()
119 if (count(ContactState::GetAll()) != 0)
124 Zurmo::t(
'Core',
'New'),
125 Zurmo::t(
'Core',
'In Progress'),
126 Zurmo::t(
'ContactsModule',
'Recycled'),
127 Zurmo::t(
'ContactsModule',
'Dead'),
128 Zurmo::t(
'ContactsModule',
'Qualified'),
129 Zurmo::t(
'ZurmoModule',
'Customer')
132 $startingStateId = null;
133 foreach ($data as $stateName)
136 $state->name = $stateName;
137 $state->order = $order;
138 $saved = $state->save();
140 if ($stateName == Zurmo::t(
'ContactsModule',
'Qualified'))
142 $startingStateId = $state->id;
146 if ($startingStateId == null)
151 $metadata[
'global'][
'startingStateId'] = $startingStateId;
153 assert(
'count(ContactState::GetAll()) == 6');
157 public static function getAccessRight()
159 return self::RIGHT_ACCESS_CONTACTS;
162 public static function getCreateRight()
164 return self::RIGHT_CREATE_CONTACTS;
167 public static function getDeleteRight()
169 return self::RIGHT_DELETE_CONTACTS;
177 $label = static::getModuleLabelByTypeAndLanguage(
'Plural') .
' & ' .
178 LeadsModule::getModuleLabelByTypeAndLanguage(
'Plural');
182 public static function getDefaultDataMakerClassName()
184 return 'ContactsDefaultDataMaker';
187 public static function getDemoDataMakerClassNames()
189 return array(
'ContactsDemoDataMaker');
192 public static function getStateMetadataAdapterClassName()
194 return 'ContactsStateMetadataAdapter';
197 public static function getGlobalSearchFormClassName()
199 return 'ContactsSearchForm';
202 public static function hasPermissions()
207 public static function isReportable()
212 public static function canHaveWorkflow()
217 public static function canHaveContentTemplates()
222 protected static function getSingularModuleLabel($language)
224 return Zurmo::t(
'ContactsModule',
'Contact', array(), null, $language);
227 protected static function getPluralModuleLabel($language)
229 return Zurmo::t(
'ContactsModule',
'Contacts', array(), null, $language);
232 public static function shouldUpdateLatestActivityDateTimeWhenATaskIsCompleted()
234 $metadata = static::getMetadata();
235 if (isset($metadata[
'global'][
'updateLatestActivityDateTimeWhenATaskIsCompleted']))
237 return (
bool) $metadata[
'global'][
'updateLatestActivityDateTimeWhenATaskIsCompleted'];
242 public static function shouldUpdateLatestActivityDateTimeWhenANoteIsCreated()
244 $metadata = static::getMetadata();
245 if (isset($metadata[
'global'][
'updateLatestActivityDateTimeWhenANoteIsCreated']))
247 return (
bool) $metadata[
'global'][
'updateLatestActivityDateTimeWhenANoteIsCreated'];
252 public static function shouldUpdateLatestActivityDateTimeWhenAnEmailIsSentOrArchived()
254 $metadata = static::getMetadata();
255 if (isset($metadata[
'global'][
'updateLatestActivityDateTimeWhenAnEmailIsSentOrArchived']))
257 return (
bool) $metadata[
'global'][
'updateLatestActivityDateTimeWhenAnEmailIsSentOrArchived'];
262 public static function shouldUpdateLatestActivityDateTimeWhenAMeetingIsInThePast()
264 $metadata = static::getMetadata();
265 if (isset($metadata[
'global'][
'updateLatestActivityDateTimeWhenAMeetingIsInThePast']))
267 return (
bool) $metadata[
'global'][
'updateLatestActivityDateTimeWhenAMeetingIsInThePast'];
static getMetadata(User $user=null)
static getTranslationParamsForAllModules()
static setMetadata(array $metadata, User $user=null)