/** * Вывод истории действий заявок. * * @return string */ public function run() { /** @var \common\models\User $user */ $user = \Yii::$app->getUser()->getIdentity(); $leadActionsCriteria = ['company_id' => $user->getCompanyId()]; $leadActions = LeadActionLog::find()->where($leadActionsCriteria)->orderBy('lead_action_log_id desc')->limit(30)->all(); return $this->render('historyLeadActions', ['leadActions' => $leadActions, 'user' => $user]); }
/** * Логгирование. * * @param \common\models\Lead|Model $lead * @param $action * @param array $data * @return mixed|void * @throws LeadLoggerException */ public function write(Model $lead, $action, $data = []) { if (!$this->checkAvailableAction($action)) { throw new LeadLoggerException('Не допустимое действие для логирования.'); } $leadActionLog = new LeadActionLog(); $leadActionLog->setAction($action); $leadActionLog->setLeadId($lead->getLeadId()); $leadActionLog->setCompanyId($lead->getCompanyId()); $leadActionLog->setUserId($lead->getUserId()); $leadActionLog->setLeadStatus($lead->getStatus()); if (!empty($data)) { $leadActionLog->setData(json_encode($data)); } $leadActionLog->save(); }