Guest User

Untitled

a guest
Sep 21st, 2011
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 3.48 KB | None | 0 0
  1. <?php
  2. namespace AdminModule\Forms\School;
  3.  
  4. use Nette\Application\UI\Form,
  5.     Nette\Security as NS;
  6.  
  7. class TypesForm extends Form {
  8.  
  9.     public function getValuesSelectOkres($form) {
  10.         return $this->presenter->model->school->getOkres($form["region"]->getValue());
  11.     }
  12.  
  13.     public function __construct($parent = null, $name = null) {
  14.         parent::__construct($parent, $name);
  15.  
  16.         $typ_zapisu = $this->presenter->model->school->getTypZapisu();;
  17.         $kategorie = NULL;
  18.         $pforma_red = $this->presenter->model->school->getLawForms();
  19.         $zriz_kod = $this->presenter->model->school->getZrizovatel();
  20.  
  21.         $this->addProtection('Prosím odešlete formulář znovu (vypršela platnost bezpečnostního tokenu)');
  22.  
  23.         // Base
  24.         $this->addText('rednazev')
  25.                 ->setRequired('Musíte zadat název školy')
  26.                 ->setAttribute('placeholder', 'Název školy');
  27.  
  28.         $this->addText('red_ico')
  29.                 ->setRequired('Zadejte IČ')
  30.                 ->addRule(Form::MIN_LENGTH, 'IČ musí mít minimálně %d číslic', 7)
  31.                 ->addRule(Form::MAX_LENGTH, 'IČ může mít maximálně %d číslic', 9)
  32.                 ->setAttribute('placeholder', 'IČ');
  33.  
  34.         $this->addText('red_izo')
  35.                 ->setRequired('Musíte zadat REDIZO')
  36.                 ->addRule(Form::LENGTH, 'Redizo musí mít %d číslic', 9)
  37.                 ->setAttribute('placeholder', 'REDIZO');
  38.  
  39.         $this->addText('red_naz')
  40.                 ->setRequired('Musíte zadat zkrácený název školy')
  41.                 ->setAttribute('placeholder', 'Zkrácený název školy');
  42.  
  43.         $this->addSelect('typ_zapisu', NULL, $typ_zapisu)
  44.                 ->setPrompt('-- Typ zápisu --');
  45.  
  46.         $this->addSelect('pforma_red', NULL, $pforma_red)
  47.                 ->setRequired('Zadejte právní formu ředitelství')
  48.                 ->setPrompt('-- Právní forma ředitelství --');
  49.  
  50.         $this->addMultiSelect('kategorie', NULL, $kategorie)
  51.                 ->setPrompt('-- Typ školy --');
  52.  
  53.         $this->addSelect('zriz_kod', NULL, $zriz_kod)
  54.                 ->setRequired('Musíte zadat zřizovatele')
  55.                 ->setPrompt('-- Zřizovatel --');
  56.  
  57.         /**
  58.          * Address
  59.          * todo - dependency selectbox (Region - Okres - Město)
  60.          */
  61.         $region = $this->presenter->model->school->getRegions();
  62.         $okres = $this->presenter->model->school->getOkres();
  63.         $mesto = NULL;
  64.  
  65.         $this->addSelect('region', NULL, $region)
  66.                 ->setPrompt('-- Region --');
  67.  
  68.         $this->addJsonDependentSelectBox('okres', NULL, $this['region'], callback($this, "getValuesSelectOkres"))
  69.                 ->setPrompt('-- Okres --');
  70.  
  71.         $this->addSelect('mesto', NULL, $mesto)
  72.                 ->setPrompt('-- Město --');
  73.  
  74.         $this->addSubmit('send', 'Uložit');
  75.     }
  76.  
  77.     public function add(Form $form) {
  78.         try {
  79.             $values = $form->getValues();
  80.         //........
  81.             $this->presenter->redirect('add');
  82.         } catch (NS\AuthenticationException $e) {
  83.             $this->presenter->flashMessage($e->getMessage(), 'warning');
  84.         }
  85.     }
  86.  
  87.     public function edit(Form $form) {
  88.         try {
  89.             $values = $form->getValues();
  90.  
  91.         //........
  92.             $this->presenter->redirect('add');
  93.         } catch (NS\AuthenticationException $e) {
  94.             $this->presenter->flashMessage($e->getMessage(), 'warning');
  95.         }
  96.     }
  97.  
  98. }
Advertisement
Add Comment
Please, Sign In to add comment