getAcl()->getLevel('Opportunity', 'read'); if (!$level || $level == 'no') { throw new Forbidden(); } $dateFrom = $request->get('dateFrom'); $dateTo = $request->get('dateTo'); $dateFilter = $request->get('dateFilter'); return $this->getService('Opportunity')->reportByLeadSource($dateFilter, $dateFrom, $dateTo); } public function actionReportByStage($params, $data, $request) { $level = $this->getAcl()->getLevel('Opportunity', 'read'); if (!$level || $level == 'no') { throw new Forbidden(); } $dateFrom = $request->get('dateFrom'); $dateTo = $request->get('dateTo'); $dateFilter = $request->get('dateFilter'); return $this->getService('Opportunity')->reportByStage($dateFilter, $dateFrom, $dateTo); } public function actionReportSalesByMonth($params, $data, $request) { $level = $this->getAcl()->getLevel('Opportunity', 'read'); if (!$level || $level == 'no') { throw new Forbidden(); } $dateFrom = $request->get('dateFrom'); $dateTo = $request->get('dateTo'); $dateFilter = $request->get('dateFilter'); return $this->getService('Opportunity')->reportSalesByMonth($dateFilter, $dateFrom, $dateTo); } public function actionReportSalesPipeline($params, $data, $request) { $level = $this->getAcl()->getLevel('Opportunity', 'read'); if (!$level || $level == 'no') { throw new Forbidden(); } $dateFrom = $request->get('dateFrom'); $dateTo = $request->get('dateTo'); $dateFilter = $request->get('dateFilter'); $useLastStage = $request->get('useLastStage') === 'true'; return $this->getService('Opportunity')->reportSalesPipeline($dateFilter, $dateFrom, $dateTo, $useLastStage); } public function postActionMassConvertCurrency($params, $data, $request) { if (empty($data->field)) throw new BadRequest(); if (!$this->getAcl()->checkScope($this->name, 'edit')) throw new Forbidden(); $params = array(); if (property_exists($data, 'where') && !empty($data->byWhere)) { $params['where'] = json_decode(json_encode($data->where), true); if (property_exists($data, 'selectData')) { $params['selectData'] = json_decode(json_encode($data->selectData), true); } } else if (property_exists($data, 'ids')) { $params['ids'] = $data->ids; } if (empty($data->currencyRates)) throw new BadRequest(); if (empty($data->targetCurrency)) throw new BadRequest(); if (empty($data->baseCurrency)) throw new BadRequest(); return $this->getRecordService()->massConvertCurrency($data->field, $data->targetCurrency, $params, $data->baseCurrency, $data->currencyRates); } public function getActionEmailAddressList($params, $data, $request) { if (!$request->get('id')) throw new BadRequest(); if (!$this->getAcl()->checkScope($this->name, 'read')) throw new Forbidden(); return $this->getRecordService()->getEmailAddressList($request->get('id')); } }