public function makeClone($id) { $strict = boolval(intval(Settings_controller::getOther("attendance_strict"))); if (!Auth::isLogged(App::$instance)) { App::$instance->MQ->setMessage('Создавать заявки могут только зарегистрированные пользователи, пожалуйста, войдите в систему или зарегистрируйтесь'); ST::redirectToRoute('AuthNew/login'); } //can this user access it try { $vks = Vks::full()->findOrFail($id); } catch (Exception $e) { $this->error('404'); } $this->humanize($vks); if (!$vks->humanized->isCloneable) { $this->error('no_manipulable'); } //get vksdata if ($vks->is_simple) { App::$instance->MQ->setMessage("Упрощенные ВКС клонировать запрещено, можно только аннулировать"); ST::redirect('back'); } $vks = $this->humanize($vks); if (!$vks->humanized->isCloneable) { App::$instance->MQ->setMessage("Данную ВКС клонировать запрещено"); ST::redirectToRoute("Vks/show/" . $vks->id); } //refill stack $tbs = CAAttendance::tbs()->get(); $departments = Department::orderBy('prefix')->get(); LocalStorage_controller::staticRemove('vks_participants_create'); if (!$strict) { $this->fillCookieParticipants('vks_participants_create', $vks); } else { $vks->in_place_participants_count = 0; $vks->participants = null; } $vksbp = ST::lookAtBackPack(); if (count($vksbp->request)) { $vks = $vksbp->request; $vksDumb = new Vks(); $vksDumb->in_place_participants_count = $vks->get("in_place_participants_count"); $vksDumb->participants = $vks->get("inner_participants"); $this->fillCookieParticipants('vks_participants_edit', $vksDumb); } if ($vks instanceof Vks) { $vks->inner_participants = $vks->participants; foreach ($vks->toArray() as $key => $val) { if (!in_array($key, array("date", "start_date_time", "end_date_time"))) { $this->request->request->set($key, $val); } } $vks = $this->request->request; } $this->render('vks/create', compact('vks', 'departments', 'tbs')); }