/**
  * Processing of Upload Photos Form
  *
  * @Privilege('generate')
  *
  * @param Form $form
  */
 public function uploadPhotosFormSucceded(Form $form)
 {
     $values = $form->getValues();
     $event = $this->loadItem($values['id']);
     $calendar = $event->ref('calendar');
     $year = $calendar->yearpart === 'podzim' ? $calendar->year : $calendar->year - 1;
     $date = substr($event->datestart, 0, 4) . substr($event->datestart, 5, 2) . substr($event->datestart, 8, 2);
     // check if the year dir exist. if not, create one
     $params = $this->context->parameters;
     $dirYear = $params['wwwDir'] . $params['chroniclePhotosStorage'] . '/' . $year . ($year + 1) . '/';
     // check if the event dir exists. if not, create one
     $dir = $dirYear . $date . '/';
     if (!file_exists($dir)) {
         mkdir($dir, 0777, TRUE);
     }
     \Tracy\Debugger::barDump($dir);
     // start uploading files
     $counter = 0;
     foreach ($values['upload'] as $file) {
         if ($file->isOK()) {
             if ($file->isImage()) {
                 do {
                     $counter += 1;
                     //increment counter until you hit empty space for file
                     $filePath = $dir . \Nette\Utils\Strings::padLeft($counter, 4, '0') . '.jpg';
                 } while (file_exists($filePath));
                 $image = $file->toImage();
                 $image->save($filePath, 85, \Nette\Image::JPEG);
                 $this->database->table('chronicle_photos')->insert(['event_id' => $values['id'], 'order' => $counter]);
                 $this->flashMessage("Soubor " . $file->getName() . " byl úspěšně nahrán!");
             } else {
                 $form->addError('Soubor' . $file->getName() . ' nebyl rozpoznán jako fotka.');
             }
         } else {
             $form->addError('Nepodařilo se nahrát soubor:' . $file->getName());
         }
     }
     //change event visibility
     if (!array_key_exists('showchronicle', $values)) {
         //user did not have the sufficient permission
         $showchronicle = FALSE;
     } else {
         $showchronicle = $values['showchronicle'] ? TRUE : FALSE;
     }
     $this->events->showChronicle($values['id'], $showchronicle);
     if (!$form->hasErrors()) {
         $this->redirect('default');
     }
 }
Example #2
0
 public function validate(Form $form, $values)
 {
     if ($values->login_name != "AB") {
         $form["login_name"]->addError("Nenapsal jsi AB");
     }
     if ($form->hasErrors()) {
         $this->presenter->flashMessage("Form has some errors!!", "danger");
     }
 }
Example #3
0
 public function quickPickFormError(Form $form)
 {
     if ($form->hasErrors() && $this->presenter->isAjax()) {
         $errors = $form->getErrors();
         $error = array_shift($errors);
         $this->presenter->payload->error = true;
         $this->presenter->payload->message = $error;
         $this->presenter->sendPayload();
     }
 }
 public function validateAddReservationForm(Form $form, $values)
 {
     $date = DateTimeUtils::createDbDatetimeFormatFromDateParts($values->year, $values->month, $values->day, "0", "0", "0");
     $validDate = DateTimeUtils::createDateTime(DateTimeUtils::DB_DATETIME_FORMAT, $date);
     if (!$validDate) {
         $form->addError("Zadej prosím platné datum.");
     } elseif ($validDate->format(DateTimeUtils::DB_DATE_FORMAT) < DateTimeUtils::getNow()->format(DateTimeUtils::DB_DATE_FORMAT)) {
         $form->addError("Nemůžeš si zpětně rezervovat zápas.");
     }
     if ($form->getPresenter()->isAjax() && $form->hasErrors()) {
         if ($values->reservationId == 0) {
             $form->getPresenter()->redrawControl("addReservation");
         } else {
             $form->getPresenter()->redrawControl("editReservation");
         }
     }
 }
 /**
  * Processing of Add Hlasinek Form
  *
  * @Privilege("addall")
  *
  * @param Form $form
  */
 public function addHlasinekFormSucceded(Form $form)
 {
     $values = $form->getValues(TRUE);
     $folder = $values['folder'];
     unset($values['folder']);
     $month_number = $values['month_number'];
     unset($values['month_number']);
     unset($values['send']);
     $params = $this->context->parameters;
     $path = $params['wwwDir'] . $params['hlasinekStorage'] . '/' . $folder . '/';
     foreach ($values as $key => $file) {
         if ($file->isOk()) {
             if ($file->isImage()) {
                 //make sure the file will be GIF
                 $image = $file->toImage();
                 $filename = 'hlas' . $month_number . mb_substr($key, 0, 2) . '.gif';
                 $image->save($path . $filename, NULL, \Nette\Image::GIF);
                 $this->flashMessage('Náhled byl úspěšně nahrán.');
             } else {
                 //file is PDF
                 $filename = 'hlas' . $month_number . mb_substr($key, 0, 2) . '.' . mb_substr($key, 2, 5);
                 $file->move($path . $filename);
                 $this->flashMessage('Dokument byl úspěšně nahrán.');
             }
         } else {
             if ($file->getError() != 4) {
                 //no file was selected - not an error
                 $form->addError('Soubor se nepodařilo nahrát. Důvod: ' . $file->getError());
             }
         }
     }
     if (!$form->hasErrors()) {
         $this->redirect('default');
     }
 }