public function dropByAdmin($id) { try { $vks = Vks::findorFail($id); } catch (Exception $e) { $this->error("404", $e->getMessage()); } $request = $this->request->request; $this->validator->validate(['Комментарий для пользователя' => [$request->get('comment_for_user'), 'max(255)']]); //if no passes if (!$this->validator->passes()) { $this->backWithData($this->validator->errors()->all()); } if ($vks->other_tb_required) { if ($vks->other_tb_required && $vks->link_ca_vks_type == 1 && isset($vks->link_ca_vks_id)) { //pull from CA $caVks = CAVksNoSupport::findOrFail($vks->link_ca_vks_id); if ($caVks->status != VKS_STATUS_TRANSPORT_FOR_TB) { App::$instance->MQ->setMessage("Возникла ошибка, ВКС в ТБ {$id} ссылается на ВКС в ЦА {$vks->link_ca_vks_id}, однако ВКС в ЦА, не имеет транспортного статуса, обратитесь к разработчику"); ST::redirect('back'); } $caVks->delete(); App::$instance->log->logWrite(LOG_VKSWS_CREATED, "VKS + transport" . $vks->id . "({$caVks->id}) deleted by admin " . App::$instance->user->login . ""); } } else { App::$instance->log->logWrite(LOG_VKSWS_CREATED, "VKS " . $vks->id . " deleted by admin " . App::$instance->user->login . ""); } $vks->status = VKS_STATUS_DELETED; $vks->comment_for_user = $request->get('comment_for_user'); $vks->approved_by = App::$instance->user->id; $vks->save(); App::$instance->MQ->setMessage("ВКС успешно аннулирована"); Capsule::commit(); if ($request->has('notificate')) { $vks = Vks::full()->find($vks->id); $this->humanize($vks); App::$instance->callService('vks_report_builder')->sendDeleteMail($vks, false); } //revoke all outlook requests requests OutlookCalendarRequest_controller::changeRequestTypeAndPutToResend($vks->id, OutlookCalendarRequest::REQUEST_TYPE_DELETE); ST::redirectToRoute('Index/index'); }