Skip to content
This repository has been archived by the owner on Dec 25, 2019. It is now read-only.

Commit

Permalink
Merge pull request #32 from mouadino/master
Browse files Browse the repository at this point in the history
BUGFIX: Fix ``admin_required`` decorator to not redirect connected users with  no admin credentials in infinite loop.
  • Loading branch information
kamalgill committed Oct 2, 2012
2 parents 7727e79 + ce5208c commit 5696f24
Showing 1 changed file with 6 additions and 5 deletions.
11 changes: 6 additions & 5 deletions src/application/decorators.py
Expand Up @@ -7,7 +7,7 @@


from functools import wraps from functools import wraps
from google.appengine.api import users from google.appengine.api import users
from flask import redirect, request from flask import redirect, request, abort




def login_required(func): def login_required(func):
Expand All @@ -24,8 +24,9 @@ def admin_required(func):
"""Requires App Engine admin credentials""" """Requires App Engine admin credentials"""
@wraps(func) @wraps(func)
def decorated_view(*args, **kwargs): def decorated_view(*args, **kwargs):
if not users.is_current_user_admin(): if users.get_current_user():
return redirect(users.create_login_url(request.url)) if not users.is_current_user_admin():
return func(*args, **kwargs) abort(401) # Unauthorized
return func(*args, **kwargs)
return redirect(users.create_login_url(request.url))
return decorated_view return decorated_view

0 comments on commit 5696f24

Please sign in to comment.