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

Commit

Permalink
BUGFIX: Fix admin_required decorator to not redirect connected us…
Browse files Browse the repository at this point in the history
…ers with

        no admin credentials in infinite loop.
  • Loading branch information
mouadino committed Oct 2, 2012
1 parent 7727e79 commit ce5208c
Showing 1 changed file with 6 additions and 5 deletions.
11 changes: 6 additions & 5 deletions src/application/decorators.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

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


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

0 comments on commit ce5208c

Please sign in to comment.