security.py
578 Bytes
from .models.ziggurat import (
User,
UserGroup,
)
def group_finder(login, request):
q = request.dbsession.query(User).filter_by(id=login)
u = q.first()
if not u or not u.status:
return # None means logout
r = []
q = request.dbsession.query(UserGroup).filter_by(user_id=u.id)
for ug in q:
acl_name = f'group:{ug.group_id}'
r.append(acl_name)
return r
def get_user(request):
uid = request.authenticated_userid
if uid:
q = request.dbsession.query(User).filter_by(id=uid)
return q.first()