2 namespace Stock\DataBin;
7 * Manage Trans Union HPI data.
10 class Tuhpi extends \Workspace\Service\DataBin
16 protected $meta = array(
18 'DatasetName' => 'stock',
19 'Entity' => '\Stock\Entity\Tuhpi',
20 'References' => array(
22 'company' => '\Company\Entity\Company',
23 'valuation' => '\Valuation\Entity\Valuation',
24 'priceGuide' => '\PriceGuide\Entity\PriceGuide',
25 'auction' => '\Auction\Entity\Auction',
28 'Dependants' => array(
29 'stock' => '\Stock\Entity\Stock'
35 protected $metaList = array(
37 'Contract' => 'Recurring',
38 'RequiredInput' => array(),
39 'OptionalInput' => array(
43 'jobState' => 'String25',
49 'OrderBy' => array('created' => 'DESC'),
60 protected $metaGrid = array(
65 'Contract' => 'Recurring',
67 'RequiredInput' => array(),
68 'OptionalInput' => array(
70 'NumberOfRecords' => 'Integer',
77 'NumberOfRecords' => 20,
78 'Query' => 'SELECT [SELECTION]
79 FROM \Stock\Entity\Tuhpi tuhpi
80 JOIN tuhpi.stock stock
81 JOIN tuhpi.company company
82 JOIN stock.vehicleYear vehicleYear
86 LEFT JOIN tuhpi.auction auction
87 LEFT JOIN tuhpi.priceGuide priceGuide
88 LEFT JOIN company.group companyGroup
89 LEFT JOIN company.groupDivision groupDivision
90 LEFT JOIN stock.exteriorColour exteriorColour
92 'Selection' => 'tuhpi, stock, company, companyGroup, groupDivision, auction, priceGuide, exteriorColour, vehicleYear, make, model, type',
94 'tuhpi.archived' => false
96 'OrderBy' => array('tuhpi.created' => 'DESC'),
100 'created' => 'DateTime',
101 'registrationNumber',
113 'vehicleYear' => array(
116 'exteriorColour' => array(
119 'priceGuide' => array(
125 'retailAmountRequired',
133 protected $metaView = array(
142 'Intersect' => array()
147 protected $metaCreate = array(
149 'Contract' => 'Recurring',
150 'ExecuteBefore' => array(),
151 'ExecuteAfter' => array(),
152 'RequiredInput' => array(
159 'OptionalInput' => array(
167 protected $metaPrint = array(
169 'Builder' => '\Stock\Pdf\Tuhpi',
170 'Writer' => '\Utility\Export\PdfTemplate',
171 'Output' => 'Download',
172 'FilePath' => '\test.pdf',
173 'RequiredInput' => array(),
174 'OptionalInput' => array(
175 'PdfTemplate' => array(
185 protected $metaPrintAccident = array(
187 'Builder' => '\Stock\Pdf\TuhpiAccident',
188 'Writer' => '\Utility\Export\PdfTemplate',
189 'Output' => 'Download',
190 'FilePath' => '\testAccident.pdf',
191 'RequiredInput' => array(),
192 'OptionalInput' => array(
193 'PdfTemplate' => array(
202 * Add some dynamic filtering to our grids.
204 public function __construct()
206 $authData = \Utility\Registry::getAuthData();
207 $logedInCompanyId = $authData['company']['id'];
208 switch (\Utility\Registry::getUserType())
211 $groupFilter = \Utility\Registry::getSudo('Group', false);
213 && $this->metaGrid['Filter']['IDENTITY(company.group)'] = $groupFilter;
214 $divisionFilter = \Utility\Registry::getSudo('Division', false);
216 && $this->metaGrid['Filter']['IDENTITY(company.groupDivision)'] = $divisionFilter;
217 $companyFilter = \Utility\Registry::getSudo('Company', false);
219 && $this->metaGrid['Filter']['company.id'] = $companyFilter;
221 && $this->metaTradeCenterGrid['Filter']['IDENTITY(company.tradeCenter)'] = $companyFilter;
224 $this->metaGrid['Filter']['IDENTITY(company.group)'] = $authData['company']['group']['id'];
225 $divisionFilter = \Utility\Registry::getSudo('Division', false);
227 && $this->metaGrid['Filter']['IDENTITY(company.groupDivision)'] = $divisionFilter;
228 $companyFilter = \Utility\Registry::getSudo('Company', false);
230 && $this->metaGrid['Filter']['company.id'] = $companyFilter;
232 && $this->metaTradeCenterGrid['Filter']['IDENTITY(company.tradeCenter)'] = $companyFilter;
234 case 'Dealer Principle':
235 $this->metaGrid['Filter']['IDENTITY(company.groupDivision)'] = $authData['company']['groupDivision']['id'];
236 $companyFilter = \Utility\Registry::getSudo('Company', false);
238 && $this->metaGrid['Filter']['company.id'] = $companyFilter;
240 && $this->metaTradeCenterGrid['Filter']['IDENTITY(company.tradeCenter)'] = $companyFilter;
244 //$this->metaList['OptionalInput']['Filter']['company'] = $authData['company']['id'];
245 $this->metaGrid['Filter']['company.id'] = $authData['company']['id'];
246 $this->metaTradeCenterGrid['Filter']['IDENTITY(company.tradeCenter)'] = $authData['company']['id'];