Fix some stuff with logins and permissions, add tags to the mode.

This commit is contained in:
yackob03 2013-09-25 16:46:28 -04:00
parent 744c73509b
commit 08446ef59e
10 changed files with 94 additions and 34 deletions

View file

@ -3,38 +3,17 @@ import logging
from functools import wraps
from flask import request, make_response, _request_ctx_stack, abort
from flask.ext.principal import identity_changed, Identity
from flask.ext.login import UserMixin
from base64 import b64decode
from data import model
from app import app, login_manager
from app import app
from util import parse_namespace_repository
from util.names import parse_namespace_repository
logger = logging.getLogger(__name__)
class _LoginWrappedDBUser(UserMixin):
def __init__(self, db_user):
self.db_user = db_user
def is_active(self):
return self.db_user.verified
def get_id(self):
return unicode(self.db_user.username)
@login_manager.user_loader
def load_user(username):
db_user = model.get_user(username)
if db_user:
return _LoginWrappedDBUser(db_user)
else:
return None
def get_authenticated_user():
return getattr(_request_ctx_stack.top, 'authenticated_user', None)