storeRequest s daty z formuláře a jeho dovyplnění podle identity
- fsanitize
- Člen | 3
Ahoj,
mám formulář s objednávkou, kde v určitém případě potřebuji zařídit, aby byl uživatel přihlášen. Zároveň ale nechci, aby musel vyplňovat údaje znovu a chci mu po přihlášení vyplnit políčka o jeho účtu.
Zatím jsem to, aby nemusel vypňovat údaje znovu řešil tak, že
formulář má 2 submity (přihlásit se a odeslat), kdy při kliknutí na
přihlásit se nedochází k žádné validaci. Místo toho se v onValidate
(zkoušel jsem onSubmmit, ale to se mi spouštěl i onSuccess) zjistí, jakým
tlačítkem byl formulář odeslán a pokud se jednalo o tlačítko
přihlásit, došlo k zavolání storeRequest a přesměrování na
přihlášení. Po přihlášení se údaje z formuláře načetly hezky zpět.
Jediný downside byl, že po přihlášení nedošlo k přesměrování na URL
s oním formulářem, ale ten se vykreslil na URL
example.com/sign/in?backlink=xxxxx
, což se mi nepodařilo
změnit.
Nyní se však po přihlášení ještě snažím přidat údaje z účtu přihlášené osoby. Tam jsem bohužel narazil, protože ačkoliv latte té stránky se překreslí a já tam mohu dělat logiku ve smyslu n:if podle existence přihlášení, tak kód z action neproběhne (za mě asi i celkem pochopitelně protože se jen vykreslí formulář na jiném presenteru), aka setDefaults mi moc nepomohou.
Dá se to nějak řešit pomocí storeRequest/restoreRequest nebo si budu muset implementovat vlastní logiku? Pro mě ideální řešení by bylo, že po přihlášení, dojde k přesměrování na původní stránku s formulářem (nějakou order page), kde proběhne spuštění action původní stránky a zároveň vyplnění původních údajů, které byly ve formuláři.
Asi mě nezabije, si uložit data z formuláře do session a udělat si takovou svoji Lidl implementaci storeRequestu, ale preferoval bych využití již hotové implementace v rámci Nette.
Díky
Editoval fsanitize (6. 9. 2023 11:02)