2 namespace PriceGuide\DataBin;
10 class Club extends \Workspace\Service\DataBin
16 protected $meta = array(
18 'DatasetName' => 'models',
19 'Entity' => '\PriceGuide\Entity\Club',
20 'References' => array(
21 'company' => '\Company\Entity\Company'
23 'Dependants' => array()
28 protected $metaSelectList = array(
29 'Type' => 'SelectList',
30 'Contract' => 'Recurring',
31 'RequiredInput' => array(),
32 'OptionalInput' => array(
41 'Fields' => array('name')
47 protected $metaGrid = array(
49 'Contract' => 'Recurring',
50 'RequiredInput' => array(),
51 'OptionalInput' => array(
53 'NumberOfRecords' => 'Integer',
60 'NumberOfRecords' => 10,
61 'Query' => 'SELECT [SELECTION]
62 FROM \PriceGuide\Entity\Club club
63 JOIN club.company company
65 'Selection' => 'club, company, SIZE(club.members) as numMembers',
67 'club.archived' => false
69 'GroupBy' => 'club.id',
70 'OrderBy' => array('club.name' => 'ASC'),
74 'created' => 'DateTime',
82 protected $metaCreate = array(
84 'Contract' => 'Recurring',
85 'RequiredInput' => array(
90 'OptionalInput' => array(
92 'useAsDefault' => 'Boolean'
99 protected $metaUpdate = array(
101 'Contract' => 'UseOnce',
102 'RequiredInput' => array(
107 'OptionalInput' => array(
109 'useAsDefault' => 'Boolean'
116 protected $metaArchive = array(
118 'Contract' => 'UseOnce',
119 'ExecuteAfter' => array(
122 'RequiredInput' => array(),
123 'OptionalInput' => array()
130 public function __construct()
132 $authData = \Utility\Registry::getAuthData();
133 switch (\Utility\Registry::getUserType())
136 $groupFilter = \Utility\Registry::getSudo('Group', false);
138 && $this->metaGrid['Filter']['IDENTITY(company.group)'] = $groupFilter;
139 $divisionFilter = \Utility\Registry::getSudo('Division', false);
141 && $this->metaGrid['Filter']['IDENTITY(company.groupDivision)'] = $divisionFilter;
142 $companyFilter = \Utility\Registry::getSudo('Company', false);
144 && $this->metaGrid['Filter']['company.id'] = $companyFilter
145 && $this->metaSelectList['Filter']['company'] = \Utility\Registry::getEntityManager()
147 '\Company\Entity\Company', $companyFilter
150 case 'Group Manager':
151 $this->metaGrid['Filter']['IDENTITY(company.group)'] = $authData['company']['group']['id'];
152 $divisionFilter = \Utility\Registry::getSudo('Division', false);
154 && $this->metaGrid['Filter']['IDENTITY(company.groupDivision)'] = $divisionFilter;
155 $companyFilter = \Utility\Registry::getSudo('Company', false);
157 && $this->metaGrid['Filter']['company.id'] = $companyFilter
158 && $this->metaSelectList['Filter']['company'] = \Utility\Registry::getEntityManager()
160 '\Company\Entity\Company', $companyFilter
163 case 'Division Manager':
164 $this->metaGrid['Filter']['IDENTITY(company.groupDivision)'] = $authData['company']['groupDivision']['id'];
165 $companyFilter = \Utility\Registry::getSudo('Company', false);
167 && $this->metaGrid['Filter']['company.id'] = $companyFilter
168 && $this->metaSelectList['Filter']['company'] = \Utility\Registry::getEntityManager()
170 '\Company\Entity\Company', $companyFilter
174 $this->metaGrid['Filter']['company.id'] = $authData['company']['id'];
175 $this->metaSelectList['Filter']['company'] = \Utility\Registry::getEntityManager()
177 '\Company\Entity\Company', $authData['company']['id']