From 7da2982b549672cb226ad1487e99c6de867c0bd6 Mon Sep 17 00:00:00 2001 From: Dmitry Afanasyev Date: Wed, 27 Oct 2021 10:49:54 +0300 Subject: [PATCH] accounts app redirections --- django_accounts_app/README.md | 4 +++- django_accounts_app/admin.py | 12 ++---------- .../management/commands/create_admin.py | 19 +++++++++++++++++++ .../migrations/create_accounts_models.py | 14 -------------- django_accounts_app/models.py | 8 +------- django_accounts_app/urls.py | 1 + 6 files changed, 26 insertions(+), 32 deletions(-) create mode 100644 django_accounts_app/management/commands/create_admin.py diff --git a/django_accounts_app/README.md b/django_accounts_app/README.md index 40106db..0fa6b06 100644 --- a/django_accounts_app/README.md +++ b/django_accounts_app/README.md @@ -53,9 +53,11 @@ EMAIL_USE_TLS= ## To urls.py - from health_check import urls as health_urls +from server.apps.accounts import urls as accounts_urls url_patterns path('accounts/', include(accounts_urls)), + path('admin/login/', login_required(lambda request: redirect('accounts/login/', permanent=True), + redirect_field_name='admin/login/?next=')), diff --git a/django_accounts_app/admin.py b/django_accounts_app/admin.py index 34f3794..9565e23 100644 --- a/django_accounts_app/admin.py +++ b/django_accounts_app/admin.py @@ -1,6 +1,6 @@ -from server.apps.accounts.models import CustomUser, CustomGroup +from server.apps.accounts.models import CustomUser from django.contrib import admin -from django.contrib.auth.admin import UserAdmin, GroupAdmin, Group +from django.contrib.auth.admin import UserAdmin @admin.register(CustomUser) @@ -38,11 +38,3 @@ class CustomUserAdmin(UserAdmin): search_fields = ('username', 'first_name', 'last_name', 'mobile', 'email') filter_horizontal = ('groups', 'user_permissions',) - - -admin.site.unregister(Group) - - -@admin.register(CustomGroup) -class CustomGroupAdmin(GroupAdmin): - ... diff --git a/django_accounts_app/management/commands/create_admin.py b/django_accounts_app/management/commands/create_admin.py new file mode 100644 index 0000000..9871de2 --- /dev/null +++ b/django_accounts_app/management/commands/create_admin.py @@ -0,0 +1,19 @@ +from django.core.management.base import BaseCommand +from server.apps.accounts.models import CustomUser + + +class Command(BaseCommand): + + def handle(self, *args, **options): + if not CustomUser.objects.filter(username='admin').exists(): + username = 'admin' + email = 'admin@admin.ru' + password = 'admin' + admin = CustomUser.objects.create_superuser(username=username, + password=password, + email=email) + admin.is_active = True + admin.is_admin = True + admin.save() + else: + print('Admin accounts can only be initialized if no Accounts exist') diff --git a/django_accounts_app/migrations/create_accounts_models.py b/django_accounts_app/migrations/create_accounts_models.py index 017e375..3ff2efb 100644 --- a/django_accounts_app/migrations/create_accounts_models.py +++ b/django_accounts_app/migrations/create_accounts_models.py @@ -16,20 +16,6 @@ class Migration(migrations.Migration): ] operations = [ - migrations.CreateModel( - name='CustomGroup', - fields=[ - ('group_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='auth.group')), - ], - options={ - 'verbose_name': 'Permissions group', - 'verbose_name_plural': 'Permissions groups', - }, - bases=('auth.group',), - managers=[ - ('objects', django.contrib.auth.models.GroupManager()), - ], - ), migrations.CreateModel( name='CustomUser', fields=[ diff --git a/django_accounts_app/models.py b/django_accounts_app/models.py index efbf67c..e303885 100644 --- a/django_accounts_app/models.py +++ b/django_accounts_app/models.py @@ -1,5 +1,5 @@ from django.db import models -from django.contrib.auth.models import AbstractUser, Group +from django.contrib.auth.models import AbstractUser from .managers import CustomUserManager @@ -18,9 +18,3 @@ class CustomUser(AbstractUser): def __str__(self): return self.username - - -class CustomGroup(Group): - class Meta: - verbose_name = 'Permissions group' - verbose_name_plural = 'Permissions groups' diff --git a/django_accounts_app/urls.py b/django_accounts_app/urls.py index 221021f..69476aa 100644 --- a/django_accounts_app/urls.py +++ b/django_accounts_app/urls.py @@ -1,3 +1,4 @@ + from django.urls import path, include from .views import dashboard, RegisterUser