Example #1
0
 /**
  * Экшэн редактирование поля c7
  *
  * @param Request                  $request
  * @param FlashBag                 $flashBag
  * @param EventDispatcherInterface $dispatcher
  * @param int                      $id
  *
  * @return Response
  */
 public function actionModify(Request $request, FlashBag $flashBag, EventDispatcherInterface $dispatcher, $id)
 {
     $error = [];
     /** @var Kvo $kvo */
     $kvo = Kvo::model([Kvo::SCENARIO_EXPORT, Kvo::SCENARIO_SAVE_C7, Kvo::SCENARIO_ADDR_OFF])->findByPk($id);
     if ($request->request->get('dprib')) {
         $kvo->setAttributes(['dprib' => $request->request->get('dprib')]);
     }
     if ($request->request->get('nprib')) {
         $kvo->setAttributes(['nprib' => $request->request->get('nprib')]);
     }
     if ($success = $kvo->save($kvo)) {
         $flashBag->add('Запись была успешно изменена', MessageType::SUCCESS());
         // Если запрос со страницы ШДК-2
         if ($request->request->has('greetings-from-staff-book2')) {
             $event = ControllerEvents::STAFF_BOOK2_ARRIVE;
             $page = Page::getPagesAsListRouteKey()[trim(Url::to('@staff-book/2'), '/')];
         } else {
             if ($request->request->has('greetings-from-operating-page')) {
                 $event = ControllerEvents::FORM1_2_ARRIVE;
                 $page = Page::getPagesAsListRouteKey()[trim(Url::to('/core-activities/daily-activities/personnel/form1/2'), '/')];
             } else {
                 $event = ControllerEvents::KVO_UPDATE;
                 $page = $this->page;
             }
         }
         $dispatcher->dispatch($event, new UserActionEvent($page, $kvo));
     } else {
         $error = $kvo->getErrors();
         $flashBag->add('Ошибка при изменении', MessageType::DANGER());
     }
     return $this->renderJson(['success' => $success, 'error' => $error]);
 }