Přenášení obsahu formuláře přes session při použití tlačítka back

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Azim
Člen | 41
+
0
-

Zdravim.
Mam formular, ktery ajaxove filtruje obsah tabulky pod formularem. Pri kliknuti na radek tabulky se pres js otevre stranka s detaily radku. Potrebuji implementovat nasledujici funkcionalitu – Pri kliknuti na back potrebuji, aby se data, ktera byla pred kliknutim na radek tabulky ve formulari, obnovila, tj. zachovat filtr.

Diky za rady

Azim
Člen | 41
+
0
-

Mam nasledujici kod:

	public function renderDefault($filter = NULL)
	{
            if ($this->isAjax())
            {

                $result = $this->model->getProjectsByFilter($this->payload->filter);
                $this->template->projects = $result;

                $session = Environment::getSession('filter');
                $this->template->form = $this['filterProjectForm'];
                $this->template->form->setDefaults((array) $session->filter);
            }
            else
            {
		$this->template->projects = $this->model->getProjects();
            }
	}


	public function filterProjectFormSubmitted(AppForm $form)
        {
            $entry = $form->getValues();


            if (!$this->isAjax())
                $this->redirect('this');
            else {
                $session = Environment::getSession('filter');
                $session->filter = $entry;


                $this->payload->filter = $entry;
                $this->invalidateControl('projects');
            }

        }

teoreticky by to melo fungovat tak, ze pri vyplneni nejakeho pole formulare se ajaxem profiltruji projekty a zaroven se do session ulozi obsah filtru ve formulari a pri znovurenderovani stranky se do formu nactou hodnoty ze session, nicmene se tak nedeje. je mozne ze se ajax a session nemaji rady a pri ajaxovem pozadavku nedojde k ulozeni session, tj. problem by byl tady?

            if (!$this->isAjax())
                $this->redirect('this');
            else {
                $session = Environment::getSession('filter');
                $session->filter = $entry;


                $this->payload->filter = $entry;
                $this->invalidateControl('projects');
            }

diky za odpovedi