From a0f7d0188d92793d1f1976697a6ae678a9699bba Mon Sep 17 00:00:00 2001 From: moanos Date: Sat, 13 Apr 2024 02:12:21 +0200 Subject: [PATCH] fix: Try to fix the group and permission creation --- README.md | 24 +++++++++++++++++-- src/fellchensammlung/apps.py | 8 ++++++- .../migrations/0001_initial.py | 2 +- src/fellchensammlung/tools/signals.py | 10 ++++++-- 4 files changed, 38 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 0f6b42d..d27518a 100644 --- a/README.md +++ b/README.md @@ -6,10 +6,11 @@ Diese Website soll die bestehende Communities NICHT ersetzten, jedoch ermöglich wollen Informationen einfach finden und nicht bereits in jeder Gruppe sein müssen. Wir nehmen Angebote auf die + * von Rattenhilfen * Tierheimen * oder Privatpersonen die ihre Haltung aufgeben wollen -kommen. Letzteren empfehlen wir den Weg über eine Rattenhilfe, denn so ist die Vertrauensbasis größer. + kommen. Letzteren empfehlen wir den Weg über eine Rattenhilfe, denn so ist die Vertrauensbasis größer. Rattenhilfen mit denen gute Erfahrungen bestehen werden von uns als "geprüft" markiert. @@ -17,4 +18,23 @@ Wir legen großen Wert darauf, dass hier kommerzielle Angebote keinen Platz habe Vermittlung von Ratten aus geplanten Vermehrungen oder aus Zooladenkäufen die schwanger wurden. Wir wollen Zooladenkäufe in keinem Fall unterstützen und empfehlen hier den Weg über eine Rattenhilfe. -Auch seriöse Züchter\*innen können hier nicht vermitteln, das Angebot ist für Ratten, die sonst kein artgerechtes Zuhause finden können. \ No newline at end of file +Auch seriöse Züchter\*innen können hier nicht vermitteln, das Angebot ist für Ratten, die sonst kein artgerechtes +Zuhause finden können. + +# Developer Notes + +Because of a wired bug the inital migrations must run two times as the first time the permissions +for `create_active_adoption_notice` are created but can not yet be accessed and on the second time this permission will +be added to groups. + +## Docker + +Build latest image + +``` +docker build . -t moanos/notfellchen:latest +``` + +``` +docker run -p8000:8345 moanos/notfellchen:latest +``` \ No newline at end of file diff --git a/src/fellchensammlung/apps.py b/src/fellchensammlung/apps.py index 2996d50..8e5ddd0 100644 --- a/src/fellchensammlung/apps.py +++ b/src/fellchensammlung/apps.py @@ -2,9 +2,15 @@ from django.apps import AppConfig from .tools.signals import ensure_groups from django.db.models.signals import post_migrate + + class FellchensammlungConfig(AppConfig): default_auto_field = 'django.db.models.BigAutoField' name = 'fellchensammlung' def ready(self): - post_migrate.connect(ensure_groups, sender=self) + from django.contrib.auth.models import Permission + try: + post_migrate.connect(ensure_groups, sender=self) + except Permission.DoesNotExist: + pass diff --git a/src/fellchensammlung/migrations/0001_initial.py b/src/fellchensammlung/migrations/0001_initial.py index fc78115..99e451f 100644 --- a/src/fellchensammlung/migrations/0001_initial.py +++ b/src/fellchensammlung/migrations/0001_initial.py @@ -1,4 +1,4 @@ -# Generated by Django 5.0.3 on 2024-04-12 20:02 +# Generated by Django 5.0.3 on 2024-04-13 00:02 import datetime import django.contrib.auth.models diff --git a/src/fellchensammlung/tools/signals.py b/src/fellchensammlung/tools/signals.py index 055d227..6cc16ab 100644 --- a/src/fellchensammlung/tools/signals.py +++ b/src/fellchensammlung/tools/signals.py @@ -3,13 +3,19 @@ def _get_perms(permission_name_list): permissions = [] for permission_name in permission_name_list: print(f"{permission_name}") - permission = Permission.objects.get(codename=permission_name) - permissions.append(permission) + try: + permission = Permission.objects.get(codename=permission_name) + permissions.append(permission) + except Permission.DoesNotExist: + print("aaaaaa") return permissions def ensure_groups(sender, **kwargs): from django.contrib.auth.models import Group + from django.contrib.auth.models import Permission + print([permission.name for permission in Permission.objects.all()]) + member_permissions = [] coordinator_permissions = ["create_active_adoption_notice"]