public function renderDefault($event_id = null) { if ($event_id) { $this->template->filterName = $this->event->get($event_id)->name; $this->template->registration = $this->registration->where('event_id = ?', $event_id)->order('id DESC'); } else { $this->template->filterName = ''; $this->template->registration = $this->registration->order('id DESC')->limit(100); } }
public function eventTicketFormSucceeded(Nette\Application\UI\Form $form, $values) { // Udalost $event = $this->event->get($values['event_id']); // Drive zamluvene vstupenky $duplicite = $this->ticket->where('event_id = ? AND email = ?', [$values['event_id'], $values['email']]); // Vycerpan limit if (count($duplicite) >= $event['max_ticket_per_email']) { $this->flashMessage('Limit na počet vstupenek pro Váš email byl již vyčerpán, použijte jiný email.', 'warning'); $this->redirect('this'); } // Ulozeni do databaze try { $ticket = $this->ticket->insert($values); } catch (\Exception $e) { $ticket = false; } // Notifikace na email a odeslání vstupenky if ($ticket) { $this->mailNotify('SOS - nova vstupenka', 'Uzivatel s emailem ' . $values['email'] . ' si zazadal o vstupenku na akci ' . $event->name . '.', $values); $this->sendTicket($ticket); $this->flashMessage('Byla Vám zaslána vstupenka.', 'success'); } else { $this->flashMessage('Je nám líto, ale došlo k chybě. Pro vstupenku se obraťte se pořadatelku akce.', 'danger'); } $this->redirect('this'); }
public function handleToggleMain($id) { $event = $this->event->get($id); if (!$event) { $this->flashMessage('Akce nenalezena.', 'danger'); } else { $event->update(['main' => !$event->main]); $this->flashMessage('Akce upravena.', 'success'); } $this->redirect('default'); }