public function show($filter = 'all') { Auth::isLoggedOrDie(App::$instance); $selectedFilter = mb_strtolower($filter); $filters = ['all', 'meaning', 'pending', 'status', 'invited', 'deleted']; if (!in_array($selectedFilter, $filters)) { App::$instance->MQ->setMessage("Фильтр не определен, вам будут показаны все записи"); } $statusesForSelect = []; switch ($selectedFilter) { case 'all': $statusesForSelect = [VKS_STATUS_DELETED, VKS_STATUS_APPROVED, VKS_STATUS_PENDING, VKS_STATUS_DROP_BY_USER]; break; case 'meaning': $statusesForSelect = [VKS_STATUS_APPROVED, VKS_STATUS_PENDING]; break; case 'pending': $statusesForSelect = [VKS_STATUS_PENDING]; break; case 'status': $statusesForSelect = [VKS_STATUS_APPROVED]; break; case 'deleted': $statusesForSelect = [VKS_STATUS_DELETED, VKS_STATUS_DROP_BY_USER]; break; default: $statusesForSelect = [VKS_STATUS_DELETED, VKS_STATUS_APPROVED, VKS_STATUS_PENDING, VKS_STATUS_DROP_BY_USER]; break; } $vksList = Vks::where('owner_id', App::$instance->user->id)->whereIn('status', $statusesForSelect)->full()->take($this->getQlimit(30))->skip($this->getQOffset())->orderBy($this->getQOrder(), $this->getQVector())->get(); $vksCtrl = new Vks_controller(); foreach ($vksList as &$vks) { $vks->manipulatable = VKSTimeAnalizator::isManipulatable($vks); $vks->dayBeforeStart = VKSTimeAnalizator::is24ForBegin($vks); $vks = $vksCtrl->humanize($vks); // dump($vks); } $recordsCount = Vks::where('owner_id', App::$instance->user->id)->whereIn('status', $statusesForSelect)->count(); //pages $pages = RenderEngine::makePagination($recordsCount, $this->getQlimit(30), 'route'); $this->render("lk/index", compact('vksList', 'pages', 'filter')); }
public function cancel($id) { try { $vks = Vks::findorFail($id); } catch (Exception $e) { $this->error("404", $e->getMessage()); } if (!Auth::isAdmin(App::$instance) && !$this->isThisUserCanEdit($vks) && !VKSTimeAnalizator::isManipulatable($vks)) { $this->error("500", 'Манипулирование этой ВКС запрещено'); } $vks->status = VKS_STATUS_DROP_BY_USER; $vks->save(); // NoticeObs_controller::put("Пользователь " . App::$instance->user->login . " аннулировал ВКС " . $vks->id); App::$instance->MQ->setMessage("Успешно аннулировано"); App::$instance->log->logWrite(LOG_VKSWS_CREATED, "VKS " . $vks->id . " annulate by user " . App::$instance->user->login . ""); Capsule::commit(); //revoke all outlook requests requests OutlookCalendarRequest_controller::changeRequestTypeAndPutToResend($vks->id, OutlookCalendarRequest::REQUEST_TYPE_DELETE); ST::redirectToRoute('Index/index'); }