Permission rethinking

* No detailed permissions due to django constraints on model-based permissions
* instead: logic controlled permission by group membership
* adds translations
This commit is contained in:
mipel
2021-07-02 09:30:50 +02:00
parent 206d34afbb
commit 32370a0a7e
6 changed files with 211 additions and 259 deletions

View File

@@ -83,18 +83,10 @@ class Command(BaseCommand):
self._write_warning("--- Groups ---")
for group_data in GROUPS_DATA:
name = group_data.get("name")
perms_data = group_data.get("permissions")
perms_objects = [
Permission.objects.get_or_create(
codename=perm[0],
name=perm[1]
)
for perm in perms_data
]
group = Group.objects.get_or_create(
Group.objects.get_or_create(
name=name,
)
group.permissions.set(perms_objects)
self._write_success(CREATED_TEMPLATE.format(name))
self._break_line()

View File

@@ -26,36 +26,14 @@ TEST_ORGANISATION_DATA = [
},
]
# Groups permissions are declared in konova/settings.py
GROUPS_DATA = [
{
"name": _("Default"),
"permissions": [
ADD_INTERVENTION,
EDIT_INTERVENTION,
DELETE_INTERVENTION,
ADD_COMPENSATION,
EDIT_COMPENSATION,
DELETE_COMPENSATION,
ADD_ECOACCOUNT,
EDIT_ECOACCOUNT,
DELETE_ECOACCOUNT,
CREATE_SHARE_LINK,
]
},
{
"name": _("Registration office"),
"permissions": [
VALIDITY_CHECK,
]
},
{
"name": _("Conservation office"),
"permissions": [
RECORD_DATA,
ADD_EMA,
EDIT_EMA,
DELETE_EMA,
]
},
]