security.py
960 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
import logging
from .models import (
User,
UserGroup,
DBSession,
)
log = logging.getLogger(__name__)
# It is used by RootFactory
def group_finder(user_id, request):
if user_id != 'None':
q = DBSession.query(User).filter_by(id=user_id)
user = q.first()
else:
user = None
if not user or not user.status:
log.info("User tidak ditemukan")
return []
r = []
q = DBSession.query(UserGroup).filter_by(user_id=user.id)
for ug in q:
acl_name = 'group:{gid}'.format(gid=ug.group_id)
r.append(acl_name)
log.debug(r)
return r
def get_user(request):
user_id = request.authenticated_userid
if user_id:
q = DBSession.query(User).filter_by(id=user_id)
return q.first()
# def get_user(request):
# user_id = request.unauthenticated_userid
# if user_id is not None:
# user = DBSession.query(User).get(user_id)
# return user