From 451755282d443c7d2205694d02b38284379d7fe1 Mon Sep 17 00:00:00 2001 From: Dmytro Trotsko Date: Tue, 16 Jul 2024 22:56:11 +0300 Subject: [PATCH 1/3] Added custom createsuperuser command --- src/base/management/__init__.py | 0 src/base/management/commands/__init__.py | 0 src/base/management/commands/initadmin.py | 19 +++++++++++++++++++ 3 files changed, 19 insertions(+) create mode 100644 src/base/management/__init__.py create mode 100644 src/base/management/commands/__init__.py create mode 100644 src/base/management/commands/initadmin.py diff --git a/src/base/management/__init__.py b/src/base/management/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/base/management/commands/__init__.py b/src/base/management/commands/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/base/management/commands/initadmin.py b/src/base/management/commands/initadmin.py new file mode 100644 index 0000000..b7e4875 --- /dev/null +++ b/src/base/management/commands/initadmin.py @@ -0,0 +1,19 @@ +import os +from django.core.management.base import BaseCommand +from django.contrib.auth.models import User + + +ADMIN_USERNAME = os.environ.get("ADMIN_USERNAME", "admin") +ADMIN_EMAIL = os.environ.get("ADMIN_EMAIL", "admin@andrew.cmu.edu") +ADMIN_PASSWORD = os.environ.get("ADMIN_PASSWORD", "admin123") # Default password + + +class Command(BaseCommand): + help = "Automatically creates a superuser" + + def handle(self, *args, **kwargs): + if not User.objects.filter(username="admin").exists(): + User.objects.create_superuser(ADMIN_USERNAME, ADMIN_EMAIL, ADMIN_PASSWORD) + self.stdout.write(self.style.SUCCESS("Superuser created successfully")) + else: + self.stdout.write(self.style.WARNING("Superuser already exists")) From bf7b87b196947591da2d458e0867306211bdaf5b Mon Sep 17 00:00:00 2001 From: Dmytro Trotsko Date: Tue, 16 Jul 2024 23:00:38 +0300 Subject: [PATCH 2/3] Small fixx --- src/base/management/commands/initadmin.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/base/management/commands/initadmin.py b/src/base/management/commands/initadmin.py index b7e4875..009fefe 100644 --- a/src/base/management/commands/initadmin.py +++ b/src/base/management/commands/initadmin.py @@ -12,7 +12,7 @@ class Command(BaseCommand): help = "Automatically creates a superuser" def handle(self, *args, **kwargs): - if not User.objects.filter(username="admin").exists(): + if not User.objects.filter(username=ADMIN_USERNAME).exists(): User.objects.create_superuser(ADMIN_USERNAME, ADMIN_EMAIL, ADMIN_PASSWORD) self.stdout.write(self.style.SUCCESS("Superuser created successfully")) else: From a223d46392a75bba4a6f5c93b716674d68943835 Mon Sep 17 00:00:00 2001 From: Dmytro Trotsko Date: Tue, 16 Jul 2024 23:01:11 +0300 Subject: [PATCH 3/3] Added comments --- src/base/management/commands/initadmin.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/base/management/commands/initadmin.py b/src/base/management/commands/initadmin.py index 009fefe..24160a9 100644 --- a/src/base/management/commands/initadmin.py +++ b/src/base/management/commands/initadmin.py @@ -3,8 +3,8 @@ from django.contrib.auth.models import User -ADMIN_USERNAME = os.environ.get("ADMIN_USERNAME", "admin") -ADMIN_EMAIL = os.environ.get("ADMIN_EMAIL", "admin@andrew.cmu.edu") +ADMIN_USERNAME = os.environ.get("ADMIN_USERNAME", "admin") # Default username +ADMIN_EMAIL = os.environ.get("ADMIN_EMAIL", "admin@andrew.cmu.edu") # Default email ADMIN_PASSWORD = os.environ.get("ADMIN_PASSWORD", "admin123") # Default password