Securing seed to not run on PROD, adding the super admin

This commit is contained in:
Michael Bergbauer 2025-05-11 11:43:08 +02:00
parent 837884bb02
commit 51ba0fb693

View File

@ -1,3 +1,4 @@
from django.conf import settings
from django.core.management.base import BaseCommand
from member.models import Person, UserAccount
from django.contrib.auth.hashers import make_password
@ -6,6 +7,8 @@ class Command(BaseCommand):
help = "Füllt die DB mit Beispieldaten"
def handle(self, *args, **kwargs):
if not settings.DEBUG:
raise CommandError("❌ Dieses Kommando darf nur in DEBUG-Umgebungen verwendet werden.")
# Bestehende Daten löschen
self.stdout.write("🧹 Lösche bestehende Personen und Benutzerkonten...")
UserAccount.objects.all().delete()
@ -13,6 +16,7 @@ class Command(BaseCommand):
# Personen anlegen
self.stdout.write("👤 Erstelle Personen...")
p0 = Person.objects.create(vorname="Florian", nachname="von Lorch", geburtsdatum="0304-05-04", aktiv=True)
p1 = Person.objects.create(vorname="Max", nachname="Mustermann", geburtsdatum="1980-05-01", aktiv=True)
p2 = Person.objects.create(vorname="Erika", nachname="Beispiel", geburtsdatum="1992-03-15", aktiv=True)
p3 = Person.objects.create(vorname="Thomas", nachname="Feuer", geburtsdatum=None, aktiv=True)
@ -20,6 +24,13 @@ class Command(BaseCommand):
# Benutzerkonten anlegen
self.stdout.write("🔐 Erstelle Benutzerkonten...")
UserAccount.objects.create(
person=p0,
userName="admin",
passwort_hash=make_password("adminpass1234"),
role="superadmin",
isActive=True,
)
UserAccount.objects.create(
person=p1,
userName="maxadmin",