<?php

class MyPresenter extends BasePresenter
{
	  
	// EN: inject the form interface into the presenter
	// CS: nainjectujeme si rozhraní továrny formuláře
  
  	/** @var \IFooFormFactory @inject */
	public $fooFormFactory;
	
	// EN: this is our foo parameter we need to process our form (for some reason)
	// CS: toto je náš vlastní parametr, který si z nějakého důvodu potřebujeme předat do formuláře pro zpracování hodnot
	
	private $fooParam;
	
	// EN: create the from in presenter
	// CS: vytvoříme formulář v presenteru

	protected function createComponentFooForm()
	{
		
		
    		// EN: call create() method of the form with our foo parameter
    		// CS: zavoláme metodu create() formuláře a předáme náš parametr
    
  		$form = $this->fooFormFactory->create($this->fooParam);
  	
  		
  		// EN: this is the event, we defined in the form. Now we can hook on it stuff specific for this presenter, like
  		// redirect or redrawControl()
  		// CS: na událost, kterou jsme si ve formuláři definovali, a který se spustí po jeho odeslání a zpracování, navěsíme další
  		// potřebné věci. V tomto případě redirect. Ten je konkrétní pouze pro tento presenter, proto je uveden zde.
  	
	  	$form->onFormSuccess[] = function () {
			$this->flashMessage('Form has been submitted successfuly', 'success');
	  		$this->redirect('Redirect:somewhere');
	  	};
	  	return $form;
	}

}