From 142388e1ed511da18ab6fbc7f89a978bd4c863ce Mon Sep 17 00:00:00 2001 From: styx0x6 Date: Thu, 30 Jan 2025 23:11:12 +0000 Subject: [PATCH] Add default admin user --- colvert/settings.py | 3 +++ core/signals.py | 13 +++++++++++++ 2 files changed, 16 insertions(+) diff --git a/colvert/settings.py b/colvert/settings.py index 0562904..766e2d4 100644 --- a/colvert/settings.py +++ b/colvert/settings.py @@ -195,6 +195,9 @@ TITLE_PREFIX = f"[DEBUG] {APP_SHORT_NAME}" if DEBUG else APP_SHORT_NAME +DEFAULT_ADMIN_USER = 'admin' +DEFAULT_ADMIN_PASSWORD = 'colvert' + # Colvert - Organization constants ORG_NAME = config.org_name diff --git a/core/signals.py b/core/signals.py index 52c1115..e071196 100644 --- a/core/signals.py +++ b/core/signals.py @@ -12,9 +12,18 @@ from django.db.models.signals import post_migrate from django.dispatch import receiver from .models.usecase import Severity, Status +from django.contrib.auth.models import User +from django.conf import settings @receiver(post_migrate) def add_default_values(sender, **kwargs): + """Add default values to the database after the migration. + + Default values added for the following models: + - Severity + - Status + and create the default admin user. + """ if sender.name == 'core': default_severities = [ {'name': 'Low'}, @@ -38,3 +47,7 @@ def add_default_values(sender, **kwargs): ] for status in default_status: Status.objects.get_or_create(**status) + + # Create the default admin user + User.objects.create_superuser(username=getattr(settings, 'DEFAULT_ADMIN_USER'), password=getattr(settings, 'DEFAULT_ADMIN_PASSWORD')) + # TODO: Django logger #print("Default values added successfully.")