]> WPIA git - motion.git/commitdiff
Merge branch 'UTC' into 'master'
authorFelix Dörre <felix@dogcraft.de>
Sat, 9 May 2020 13:15:35 +0000 (15:15 +0200)
committerFelix Dörre <felix@dogcraft.de>
Sat, 9 May 2020 13:15:35 +0000 (15:15 +0200)
Utc

See merge request felixdoerre/motion!5

config.py.example
motion.py

index dcd7c8db99d3d39c959a2fb1e484a52b5730e4ac..25b8123d431ac792cd8afe6f6acb2c1671f4e305 100644 (file)
@@ -5,3 +5,7 @@ PASSWORD="..."
 DEFAULT_HOST="hostname for migration from db version < 2"
 
 GROUP_PREFIX={'hostname': {'group1': 'g1', 'group2': 'g2'}} # motion types and their id-prefixes
+
+DURATION={'hostname':[3, 7, 14]} # duration period for motions
+
+#DEBUGUSER={'hostname':'username/create:* vote:*'} # remove # at beginning of line to use local debuguser
index 24c86dec66347cbcf0b4f0c4531c06daa2936d6a..eb04effb9844d7734e69549b93532a265110b391 100644 (file)
--- a/motion.py
+++ b/motion.py
@@ -5,8 +5,6 @@ from flask import request
 import postgresql
 import filters
 
-times=[3,5,14]
-
 def get_db():
     db = getattr(g, '_database', None)
     if db is None:
@@ -22,12 +20,21 @@ app.config.from_pyfile('config.py')
 
 prefix=app.config.get("GROUP_PREFIX")
 
+times=app.config.get("DURATION")
+
+debuguser=app.config.get("DEBUGUSER")
+
 @app.before_request
 def lookup_user():
     global prefix
 
     env = request.environ
     user = None
+    if debuguser is not None:
+        parts =debuguser[request.host].split("/", 1)
+        user = parts[0]
+        roles = parts[1]
+
     if "USER_ROLES" in env:
         parts = env.get("USER_ROLES").split("/", 1)
         user = parts[0]
@@ -37,6 +44,7 @@ def lookup_user():
         user = env.get("USER")
         roles = env.get("ROLES")
 
+
     if user is None:
         return "Server misconfigured", 500
     roles = roles.split(" ")
@@ -56,13 +64,14 @@ def lookup_user():
 
     for r in roles:
         a = r.split(":", 1)
-        val = a[1]
-        if a[0] not in g.roles:
-            g.roles[a[0]] = []
-        if val == "*":
-            g.roles[a[0]] = [group for group in prefix[request.host]]
-        else:
-            g.roles[a[0]].append(val)
+        if len(r)!=0:
+            val = a[1]
+            if a[0] not in g.roles:
+                g.roles[a[0]] = []
+            if val == "*":
+                g.roles[a[0]] = [group for group in prefix[request.host]]
+            else:
+                g.roles[a[0]].append(val)
     return None
 
 def get_allowed_cats(action):
@@ -143,7 +152,7 @@ def main():
             prev = rs[9][0]
         else:
             prev = -1
-    return render_template('index.html', motions=rv[:10], more=rv[10]["id"] if len(rv) == 11 else None, times=times, prev=prev,
+    return render_template('index.html', motions=rv[:10], more=rv[10]["id"] if len(rv) == 11 else None, times=times[request.host], prev=prev,
                            categories=get_allowed_cats("create"))
 
 def rel_redirect(loc):
@@ -157,7 +166,7 @@ def put_motion():
     if cat not in get_allowed_cats("create"):
         return "Forbidden", 403
     time = int(request.form.get("days", "3"));
-    if time not in times:
+    if time not in times[request.host]:
         return "Error, invalid length", 500
     db = get_db()
     with db.xact():