partkeepr

fork of partkeepr
git clone https://git.e1e0.net/partkeepr.git
Log | Files | Refs | Submodules | README | LICENSE

commit ea5f2718fcf56927203a107f3b585bc378c3452d
parent eb78cd58bd238511d07f7042ad0bcf49913cae92
Author: Timo A. Hummel <felicitus@felicitus.org>
Date:   Fri,  6 Nov 2015 22:03:04 +0100

Added logout handler, fixes #474

Diffstat:
Msrc/PartKeepr/AuthBundle/Controller/DefaultController.php | 16++++++++++++++++
Msrc/PartKeepr/FrontendBundle/Resources/public/js/Components/Auth/LoginManager.js | 7+++++++
2 files changed, 23 insertions(+), 0 deletions(-)

diff --git a/src/PartKeepr/AuthBundle/Controller/DefaultController.php b/src/PartKeepr/AuthBundle/Controller/DefaultController.php @@ -13,6 +13,8 @@ use PartKeepr\AuthBundle\Entity\User\Exceptions\InvalidLoginDataException; use PartKeepr\AuthBundle\Response\LoginResponse; use PartKeepr\AuthBundle\Validator\Constraints\Username; use Sensio\Bundle\FrameworkExtraBundle\Configuration as Routing; +use Symfony\Component\HttpFoundation\Request; +use Symfony\Component\HttpFoundation\Response; class DefaultController extends FOSRestController { @@ -51,4 +53,18 @@ class DefaultController extends FOSRestController return false; } } + + /** + * Logs out the user + * + * @Routing\Route("/api/users/logout", defaults={"method" = "GET","_format" = "json"}) + * @param Request $request + */ + + public function logoutAction (Request $request) { + $this->get('security.token_storage')->setToken(null); + $request->getSession()->invalidate(); + + return new Response("", 200); + } } diff --git a/src/PartKeepr/FrontendBundle/Resources/public/js/Components/Auth/LoginManager.js b/src/PartKeepr/FrontendBundle/Resources/public/js/Components/Auth/LoginManager.js @@ -66,6 +66,13 @@ Ext.define('PartKeepr.Auth.LoginManager', { */ logout: function () { + PartKeepr.AuthBundle.Entity.User.callGetCollectionAction("logout", + {}, + Ext.bind(this.onLogout, this), + true + ); + }, + onLogout: function () { this.loggedIn = false; this.fireEvent("logout"); },