Proč redirect vyhazuje silent AbortException
- Filip Procházka
- Moderator | 4668
Redirect musí přerušit běh presenteru za všech okolností. To ti
zaručí jedině výjimka. Jak říká kolega, koukni jak
funguje UI\Presenter::run()
- Gaprielko
- Člen | 42
Nechcem otvarat novu temu, tak pisem tu.
Mam taky problem, ze ak zavolam redirect (bez try catch), tak sa mi vynimka redirectu (AbortException) zobrazi v ladenke a nedojde k redirectu.
Sprava sa mi to takto len v pripade, ze bol user prihlaseny, mal otvoreny formular, casom doslo kvoli neaktivite k odhlaseniu usera a pri refresh stranky s linkou, ktora generuje form checkujem ci je user lognuty a ked nie, pouzivam redirect. No stranka mi zobrazi AbortException v ladenke miesto toho aby doslo k redirectu.
Editoval Gaprielko (4. 2. 2014 16:43)
- Gaprielko
- Člen | 42
Mam to trosku zlozitejsie, ale je to v init() funkcii formularu, ktora je volana hned za konstruktorom formulara. Ten je vytvarany pomocou tovarnicky v contoleri, ktory mi zobrazuje modalne okna cez Bootstrap. Dany controler je vytvarany cez createComponent z ineho controlera, ktory mi zobrazuje pages a ktory je vytvarany presenterom.
V danej init funckcii checkujem ci je user lognuty a ak nie, tak chcem presmerovat na homepage aby sa form nevytvaral.
Ale ak nad tym uvazujem, tak David bude mat pravdu. Ano, bude to vytvarane v sablone, lebo generovanie tych modalnych oknien mam tak, ze co controlera poslem len jeho nazov a ten mi v sablone vola createComponent a vytvara formular. Da sa to nejako vyriesit, aby som nemenil generovanie tych modalnych okien? Odchytenim vynimky?
Editoval Gaprielko (5. 2. 2014 9:28)