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);
     }
 }
Пример #2
0
 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');
 }
Пример #3
0
 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');
 }