fix: Try to fix the group and permission creation

This commit is contained in:
moanos [he/him] 2024-04-13 02:12:21 +02:00
parent 96b7f36749
commit a0f7d0188d
4 changed files with 38 additions and 6 deletions

View File

@ -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. wollen Informationen einfach finden und nicht bereits in jeder Gruppe sein müssen.
Wir nehmen Angebote auf die Wir nehmen Angebote auf die
* von Rattenhilfen * von Rattenhilfen
* Tierheimen * Tierheimen
* oder Privatpersonen die ihre Haltung aufgeben wollen * 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. 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 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. 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. 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
```

View File

@ -2,9 +2,15 @@ from django.apps import AppConfig
from .tools.signals import ensure_groups from .tools.signals import ensure_groups
from django.db.models.signals import post_migrate from django.db.models.signals import post_migrate
class FellchensammlungConfig(AppConfig): class FellchensammlungConfig(AppConfig):
default_auto_field = 'django.db.models.BigAutoField' default_auto_field = 'django.db.models.BigAutoField'
name = 'fellchensammlung' name = 'fellchensammlung'
def ready(self): 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

View File

@ -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 datetime
import django.contrib.auth.models import django.contrib.auth.models

View File

@ -3,13 +3,19 @@ def _get_perms(permission_name_list):
permissions = [] permissions = []
for permission_name in permission_name_list: for permission_name in permission_name_list:
print(f"{permission_name}") print(f"{permission_name}")
permission = Permission.objects.get(codename=permission_name) try:
permissions.append(permission) permission = Permission.objects.get(codename=permission_name)
permissions.append(permission)
except Permission.DoesNotExist:
print("aaaaaa")
return permissions return permissions
def ensure_groups(sender, **kwargs): def ensure_groups(sender, **kwargs):
from django.contrib.auth.models import Group 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 = [] member_permissions = []
coordinator_permissions = ["create_active_adoption_notice"] coordinator_permissions = ["create_active_adoption_notice"]