]> de.git.xonotic.org Git - xonotic/xonstat.git/blobdiff - xonstat/security.py
Clean up the submit_stats function and its dependents.
[xonotic/xonstat.git] / xonstat / security.py
index b942de10c137bd5e04fc7a61881af896767a5c85..c19909a8a8c94e0fd72a56d2356edc457774d521 100644 (file)
@@ -1,4 +1,8 @@
+import logging
 from pyramid.security import Allow, Everyone
+from xonstat.models import DBSession, Player, PlayerGroups
+
+log = logging.getLogger(__name__)
 
 USERS = {
     'admin':'admin',
@@ -12,16 +16,23 @@ GROUPS = {
 # default ACL
 class ACLFactory(object):
     __acl__ = [
+        # permission, principal, permission
         (Allow, Everyone, 'view'),
-        (Allow, 'group:admins', 'merge')
+        (Allow, 'admin', 'merge')
     ]
     def __init__(self, request):
         pass
 
 
 def groupfinder(userid, request):
-    print('userid is %s' % userid)
-    if userid in USERS:
-        return GROUPS.get(userid, [])
-    else:
-        return []
+    groups = []
+    try:
+        groups_q = DBSession.query(PlayerGroups.group_name).\
+            filter(Player.email_addr == userid).all()
+
+        for g in groups_q:
+            groups.append(g.group_name)
+    except:
+        pass
+
+    return groups