Přihlášení uživatelů v komponentě. Jak na odhlášení?

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

Ahoj,

mám komponentu CLoginControl, BasePresenter ji vytvoří a v @layout.latte se vždy zobrazí v pravém sloupci.

V komponentě je loginForm.

<?php
class CLoginControl extends Control
{

    protected function createComponentLoginForm ( ) {
        $loginForm = new CUserLoginForm( );
        $loginForm -> onSuccess [] = callback( new CUserLoginFormHandler( $this -> presenter ), "logIn" );
        return $loginForm;
    }

?>

při onSuccess se zavolá metoda logIn ze třídy CUserLoginFormHandler které se předá aktuální presenter. V metodě je $this → presenter → getUser () → login ( … )
Vše funguje, ale: jak na odhlášení?

V komponentě v šabloně mám <a href=„{plink SignOut:logOut }“>Odhlásit</a> a presenter na odhlášení, ale to se mi nelíbí, mám tak přihlášení a odhlášení jinde.
Dá se nějak udělat, aby odkaz logout vedl například na metodu CUserLoginFormHandler?

Nebo to mám udělat nějak uplně jinak?

22
Člen | 1478
+
0
-

jde to udělat přes handleLogout() přímo v komponentě, kde v té metodě voláš $this->presenter->user->logout() a do šablony <a href="{link logout!}">Odhlásit</a>

Editoval 22 (15. 4. 2012 13:42)

SvvimX
Člen | 65
+
0
-

To je přesně ono, díky moc