From b1ff27840074f1079bcd084094019e70c547761f Mon Sep 17 00:00:00 2001 From: Will Woods Date: Wed, 16 Sep 2009 16:48:16 -0400 Subject: Add json support for login/logout as per python-fedora docs --- israwhidebroken/controllers.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/israwhidebroken/controllers.py b/israwhidebroken/controllers.py index 4b3062d..0883216 100644 --- a/israwhidebroken/controllers.py +++ b/israwhidebroken/controllers.py @@ -1,4 +1,5 @@ import turbogears as tg +import fedora from turbogears import controllers, expose, flash from israwhidebroken.model import Test, Tree, TestResult, hub from sqlobject import AND @@ -64,6 +65,7 @@ class Root(controllers.RootController): # Identity stuff (login/logout) @expose(template="israwhidebroken.templates.login") + @expose(allow_json=True) def login(self, forward_url=None, *args, **kw): if forward_url: @@ -75,6 +77,8 @@ class Root(controllers.RootController): # If the login was successful... if not identity.current.anonymous and identity.was_login_attempted() \ and not identity.get_identity_errors(): + if 'json' == fedora.tg.util.request_format(): + return dict(user=identity.current.user) flash("Welcome, %s" % identity.current.user_name) redirect(tg.url(forward_url or '/', kw)) @@ -94,7 +98,9 @@ class Root(controllers.RootController): forward_url=forward_url, previous_url=request.path_info, original_parameters=request.params) - @expose() + @expose(allow_json=True) def logout(self): identity.current.logout() + if 'json' in fedora.tg.util.request_format(): + return dict() redirect("/") -- cgit