All Data Structures Functions Variables Pages
GroupsModule.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 
38  {
39  const RIGHT_CREATE_GROUPS = 'Create Groups';
40  const RIGHT_DELETE_GROUPS = 'Delete Groups';
41  const RIGHT_ACCESS_GROUPS = 'Access Groups Tab';
42 
43  public static function getTranslatedRightsLabels()
44  {
45  $labels = array();
46  $labels[self::RIGHT_CREATE_GROUPS] = Zurmo::t('ZurmoModule', 'Create Groups');
47  $labels[self::RIGHT_DELETE_GROUPS] = Zurmo::t('ZurmoModule', 'Delete Groups');
48  $labels[self::RIGHT_ACCESS_GROUPS] = Zurmo::t('ZurmoModule', 'Access Groups Tab');
49  return $labels;
50  }
51 
52  public function canDisable()
53  {
54  return false;
55  }
56 
57  public function getDependencies()
58  {
59  return array('zurmo');
60  }
61 
62  public function getRootModelNames()
63  {
64  return array('Group');
65  }
66 
67  public static function getDefaultMetadata()
68  {
69  $metadata = array();
70  $metadata['global'] = array(
71  'adminTabMenuItems' => array(
72  array(
73  'label' => "eval:Zurmo::t('ZurmoModule', 'Groups')",
74  'url' => array('/zurmo/group'),
75  'right' => self::RIGHT_ACCESS_GROUPS,
76  ),
77  ),
78  'configureMenuItems' => array(
79  array(
80  'category' => ZurmoModule::ADMINISTRATION_CATEGORY_GENERAL,
81  'titleLabel' => "eval:Zurmo::t('ZurmoModule', 'Groups')",
82  'descriptionLabel' => "eval:Zurmo::t('ZurmoModule', 'Manage Groups')",
83  'route' => '/zurmo/group',
84  'right' => self::RIGHT_ACCESS_GROUPS,
85  ),
86  ),
87  );
88  return $metadata;
89  }
90 
91  public static function getPrimaryModelName()
92  {
93  return 'Group';
94  }
95 
96  public static function getAccessRight()
97  {
98  return self::RIGHT_ACCESS_GROUPS;
99  }
100 
101  public static function getCreateRight()
102  {
103  return self::RIGHT_CREATE_GROUPS;
104  }
105 
106  public static function getDeleteRight()
107  {
108  return self::RIGHT_DELETE_GROUPS;
109  }
110 
111  public static function getDefaultDataMakerClassName()
112  {
113  return 'GroupsDefaultDataMaker';
114  }
115 
116  public static function getDemoDataMakerClassNames()
117  {
118  return array('GroupsDemoDataMaker');
119  }
120 
125  public static function resolveEveryoneDisplayLabel()
126  {
127  if (null != $displayLabel = ZurmoConfigurationUtil::getByModuleName('GroupsModule', 'EveryoneDisplayLabel'))
128  {
129  return $displayLabel;
130  }
131  return Zurmo::t('Core', 'Everyone');
132  }
133 
134  public static function setEveryoneDisplayLabel($label)
135  {
136  assert('is_string($label)');
137  ZurmoConfigurationUtil::setByModuleName('GroupsModule', 'EveryoneDisplayLabel', $label);
138  }
139  }
140 ?>
static resolveEveryoneDisplayLabel()
static getByModuleName($moduleName, $key, $cache=true)
static setByModuleName($moduleName, $key, $value, $cache=true)
Generated on Thu Apr 9 2020 07:10:45