changeset 7685:71713cf466b9

auth: minor code improvements around global permission Use immutable lists for constants ... just because we can. Fix trailing dot in check for hg.create.write_on_repogroup. Add missing (but so far unused) global permissions to PERM_WEIGHTS.
author Mads Kiilerich <mads@kiilerich.com>
date Thu, 03 Jan 2019 01:03:27 +0100
parents 65d45e2fbc33
children 93834966ae01
files kallithea/controllers/admin/permissions.py kallithea/model/db.py
diffstat 2 files changed, 16 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/kallithea/controllers/admin/permissions.py	Mon Jan 21 03:57:34 2019 +0100
+++ b/kallithea/controllers/admin/permissions.py	Thu Jan 03 01:03:27 2019 +0100
@@ -155,7 +155,7 @@
             if p.permission.permission_name.startswith('usergroup.'):
                 defaults['default_user_group_perm'] = p.permission.permission_name
 
-            if p.permission.permission_name.startswith('hg.create.write_on_repogroup'):
+            if p.permission.permission_name.startswith('hg.create.write_on_repogroup.'):
                 defaults['create_on_write'] = p.permission.permission_name
 
             elif p.permission.permission_name.startswith('hg.create.'):
--- a/kallithea/model/db.py	Mon Jan 21 03:57:34 2019 +0100
+++ b/kallithea/model/db.py	Thu Jan 03 01:03:27 2019 +0100
@@ -1652,7 +1652,7 @@
         _table_args_default_dict,
     )
 
-    PERMS = [
+    PERMS = (
         ('hg.admin', _('Kallithea Administrator')),
 
         ('repository.none', _('Default user has no access to new repositories')),
@@ -1691,10 +1691,10 @@
 
         ('hg.extern_activate.manual', _('Manual activation of external account')),
         ('hg.extern_activate.auto', _('Automatic activation of external account')),
-    ]
+    )
 
     # definition of system default permissions for DEFAULT user
-    DEFAULT_USER_PERMISSIONS = [
+    DEFAULT_USER_PERMISSIONS = (
         'repository.read',
         'group.read',
         'usergroup.read',
@@ -1703,7 +1703,7 @@
         'hg.fork.repository',
         'hg.register.manual_activate',
         'hg.extern_activate.auto',
-    ]
+    )
 
     # defines which permissions are more important higher the more important
     # Weight defines which permissions are more important.
@@ -1734,7 +1734,17 @@
         'hg.fork.repository': 1,
 
         'hg.create.none': 0,
-        'hg.create.repository': 1
+        'hg.create.repository': 1,
+
+        'hg.create.write_on_repogroup.false': 0,
+        'hg.create.write_on_repogroup.true': 1,
+
+        'hg.register.none': 0,
+        'hg.register.manual_activate': 1,
+        'hg.register.auto_activate': 2,
+
+        'hg.extern_activate.manual': 0,
+        'hg.extern_activate.auto': 1,
     }
 
     permission_id = Column(Integer(), primary_key=True)