Úprava requestu pred uložením do session

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
JakubJarabica
Gold Partner | 184
+
0
-

Skúsim čo najjednoduchšie.

Po úspešnom štandardnom prihlásení do redirectu posielam kvôli GA parameter loggedIn, ktorý mi ifset prejde do šablóny a tá spustí svoj kúsok JS kódu na tracknutie eventu úspešné prihlásenie.

Keď som do prihlásenia presmerovaný z nejakej auth-only sekcie a posúvam si stored request key, tak pri prihlásení miesto presmerovania s loggedIn parametrom obnovujem predchádzajúci request.

Problém je, že neviem akým spôsobom do toho uloženého requestu vložiť ten príznak loggedIn, prípadne ako inak detegovať, že aktuálny presenter:action(čokolvek napr. zo sekcie MyAccount: po prístupe bez prihlásenia) je po prihlásení.

Vyriešil som to v startupe MyAccount presenteru zatiaľ takto(staršie nette, preto sú *request metódy ešte v Application):

<?php
if (!$this->user->loggedIn) {
            if ($this->getParam('loggedIn') === NULL) { // ak priznak nastaveny nebol, tak ho nastav a potom az storni request
                $this->redirect('this', array(
                    'loggedIn' => TRUE,
                ));
            }

            $this->flashMessage('Pre prístup do sekcie Môj účet musíte byť prihlásený!', 'error');
            $this->redirect('Auth:login', array(
                'key' => $this->application->storeRequest(),
            ));
        }
?>

… ale absolútne sa mi to nepáči a napr. v šablóne keď potrebujem odkazovať na prihlásenie s nejakým stored request key tam toto neporiešim.

V podstate by som potreboval možnosť storeRequestu neriešiť na aktuálny request ale na ľubovoľný(v mojom prípade aktuálny + pridanie jedného parametra).

newPOPE
Člen | 648
+
0
-

Nestaci Ti upravit si toto spravanie?