2 namespace Auction\DataBin;
10 class Question extends \Workspace\Service\DataBin
16 protected $meta = array(
18 'DatasetName' => 'questions',
19 'Entity' => '\Auction\Entity\Question',
20 'JobField' => 'auction',
21 'References' => array(
22 'auction' => '\Auction\Entity\Auction',
23 'company' => '\Company\Entity\Company',
24 'profile' => '\User\Entity\Profile',
25 'reply' => '\Auction\Entity\Reply'
27 'Dependants' => array()
32 protected $metaCreate = array(
34 'Contract' => 'Recurring',
35 'ExecuteAfter' => array(
38 'RequiredInput' => array(
41 'question' => 'String500'
44 'OptionalInput' => array()
49 protected $metaAskedGrid = array(
52 'Contract' => 'Recurring',
54 'RequiredInput' => array(),
55 'OptionalInput' => array(
57 'NumberOfRecords' => 'Integer',
64 'NumberOfRecords' => 10,
65 'Query' => 'SELECT [SELECTION]
66 FROM \Auction\Entity\Question question
67 JOIN question.auction auction
68 JOIN auction.company company
69 JOIN auction.stock stock
70 JOIN stock.vehicleYear vehicleYear
74 LEFT JOIN question.reply reply
75 LEFT JOIN reply.profile profile
77 'Selection' => 'question, reply, auction, profile, company, stock, vehicleYear, make, model, type',
79 'auction.jobState' => 'Active',
80 'question.archived' => 0
82 'OrderBy' => array('question.updated' => 'DESC'),
85 'created' => 'DateTime',
86 'updated' => 'DateTime',
94 'created' => 'DateTime',
104 'vehicleYear' => array(
124 protected $metaToAnswerGrid = array(
127 'Contract' => 'Recurring',
128 'Options' => array(),
129 'RequiredInput' => array(),
130 'OptionalInput' => array(
132 'NumberOfRecords' => 'Integer',
138 'Base' => 'question',
139 'NumberOfRecords' => 10,
140 'Query' => 'SELECT [SELECTION]
141 FROM \Auction\Entity\Question question
142 JOIN question.auction auction
143 JOIN question.profile profile
144 JOIN question.company company
145 JOIN auction.stock stock
146 JOIN auction.company seller
147 JOIN stock.vehicleYear vehicleYear
149 JOIN type.model model
151 LEFT JOIN question.reply reply
153 'Selection' => 'question, reply, auction, profile, company, stock, vehicleYear, make, model, type',
155 'auction.jobState' => 'Active',
156 'question.archived' => 0
158 'OrderBy' => array('question.updated' => 'DESC'),
161 'created' => 'DateTime',
162 'updated' => 'DateTime',
170 'created' => 'DateTime',
180 'vehicleYear' => array(
201 protected $metaView = array(
203 'Contract' => 'Recurring',
215 'RequiredInput' => array(),
216 'OptionalInput' => array()
222 * Add some dynamic filtering to our grids.
224 public function __construct()
226 $authData = \Utility\Registry::getAuthData();
227 switch (\Utility\Registry::getUserType())
230 $groupFilter = \Utility\Registry::getSudo('Group', false);
231 $divisionFilter = \Utility\Registry::getSudo('Division', false);
232 $companyFilter = \Utility\Registry::getSudo('Company', false);
233 if ($groupFilter && $divisionFilter && $companyFilter)
235 $this->metaAskedGrid['Filter']['IDENTITY(question.company)'] = $companyFilter;
236 $this->metaToAnswerGrid['Filter']['IDENTITY(auction.company)'] = $companyFilter;
240 $divisionFilter = \Utility\Registry::getSudo('Division', false);
241 $companyFilter = \Utility\Registry::getSudo('Company', false);
242 if ($divisionFilter && $companyFilter)
244 $this->metaAskedGrid['Filter']['IDENTITY(question.company)'] = $companyFilter;
245 $this->metaToAnswerGrid['Filter']['IDENTITY(auction.company)'] = $companyFilter;
248 case 'Dealer Principle':
249 $companyFilter = \Utility\Registry::getSudo('Company', false);
252 $this->metaAskedGrid['Filter']['IDENTITY(question.company)'] = $companyFilter;
253 $this->metaToAnswerGrid['Filter']['IDENTITY(auction.company)'] = $companyFilter;
257 $this->metaAskedGrid['Filter']['IDENTITY(question.company)'] = $authData['company']['id'];
258 $this->metaToAnswerGrid['Filter']['IDENTITY(auction.company)'] = $authData['company']['id'];