From 8e9abdd7fb84b4e73c613844233f3a0646a2f187 Mon Sep 17 00:00:00 2001 From: Daniel Egger Date: Thu, 3 Feb 2022 16:49:52 +0100 Subject: [PATCH] Refactor user stuff --- config/settings/base.py | 3 +- vbv_lernwelt/core/admin.py | 28 ++++++++++++++++- vbv_lernwelt/core/apps.py | 6 ++++ .../migrations/0001_initial.py | 15 +++++++++- .../core/migrations/0002_create_users.py | 25 ++++++++++++++++ vbv_lernwelt/core/models.py | 9 ++++++ vbv_lernwelt/users/__init__.py | 0 vbv_lernwelt/users/admin.py | 30 ------------------- vbv_lernwelt/users/apps.py | 13 -------- vbv_lernwelt/users/forms.py | 3 -- vbv_lernwelt/users/migrations/__init__.py | 0 vbv_lernwelt/users/models.py | 17 ----------- vbv_lernwelt/users/tests/__init__.py | 0 vbv_lernwelt/users/urls.py | 1 - vbv_lernwelt/users/views.py | 2 -- 15 files changed, 82 insertions(+), 70 deletions(-) rename vbv_lernwelt/{users => core}/migrations/0001_initial.py (74%) create mode 100644 vbv_lernwelt/core/migrations/0002_create_users.py delete mode 100644 vbv_lernwelt/users/__init__.py delete mode 100644 vbv_lernwelt/users/admin.py delete mode 100644 vbv_lernwelt/users/apps.py delete mode 100644 vbv_lernwelt/users/forms.py delete mode 100644 vbv_lernwelt/users/migrations/__init__.py delete mode 100644 vbv_lernwelt/users/models.py delete mode 100644 vbv_lernwelt/users/tests/__init__.py delete mode 100644 vbv_lernwelt/users/urls.py delete mode 100644 vbv_lernwelt/users/views.py diff --git a/config/settings/base.py b/config/settings/base.py index f95aec55..dd61637d 100644 --- a/config/settings/base.py +++ b/config/settings/base.py @@ -78,7 +78,6 @@ THIRD_PARTY_APPS = [ ] LOCAL_APPS = [ - "vbv_lernwelt.users", "vbv_lernwelt.core", # Your stuff: custom apps go here ] @@ -97,7 +96,7 @@ AUTHENTICATION_BACKENDS = [ "django.contrib.auth.backends.ModelBackend", ] # https://docs.djangoproject.com/en/dev/ref/settings/#auth-user-model -AUTH_USER_MODEL = "users.User" +AUTH_USER_MODEL = "core.User" # https://docs.djangoproject.com/en/dev/ref/settings/#login-redirect-url # LOGIN_REDIRECT_URL = "users:redirect" # https://docs.djangoproject.com/en/dev/ref/settings/#login-url diff --git a/vbv_lernwelt/core/admin.py b/vbv_lernwelt/core/admin.py index 8c38f3f3..fef21a6f 100644 --- a/vbv_lernwelt/core/admin.py +++ b/vbv_lernwelt/core/admin.py @@ -1,3 +1,29 @@ from django.contrib import admin +from django.contrib.auth import admin as auth_admin +from django.contrib.auth import get_user_model +from django.utils.translation import gettext_lazy as _ -# Register your models here. +User = get_user_model() + + +@admin.register(User) +class UserAdmin(auth_admin.UserAdmin): + fieldsets = ( + (None, {"fields": ("username", "password")}), + (_("Personal info"), {"fields": ("first_name", "last_name", "email")}), + ( + _("Permissions"), + { + "fields": ( + "is_active", + "is_staff", + "is_superuser", + "groups", + "user_permissions", + ), + }, + ), + (_("Important dates"), {"fields": ("last_login", "date_joined")}), + ) + list_display = ["username", "first_name", "last_name", "is_active", "is_superuser"] + search_fields = ["first_name", "last_name", "email", "username"] diff --git a/vbv_lernwelt/core/apps.py b/vbv_lernwelt/core/apps.py index df80bc98..e39f4766 100644 --- a/vbv_lernwelt/core/apps.py +++ b/vbv_lernwelt/core/apps.py @@ -4,3 +4,9 @@ from django.apps import AppConfig class CoreConfig(AppConfig): default_auto_field = 'django.db.models.BigAutoField' name = 'vbv_lernwelt.core' + + def ready(self): + try: + import vbv_lernwelt.core.signals # noqa F401 + except ImportError: + pass diff --git a/vbv_lernwelt/users/migrations/0001_initial.py b/vbv_lernwelt/core/migrations/0001_initial.py similarity index 74% rename from vbv_lernwelt/users/migrations/0001_initial.py rename to vbv_lernwelt/core/migrations/0001_initial.py index c0c36b57..27c24240 100644 --- a/vbv_lernwelt/users/migrations/0001_initial.py +++ b/vbv_lernwelt/core/migrations/0001_initial.py @@ -1,4 +1,4 @@ -# Generated by Django 3.2.12 on 2022-02-02 13:01 +# Generated by Django 3.2.12 on 2022-02-03 15:46 import django.contrib.auth.models import django.contrib.auth.validators @@ -15,6 +15,19 @@ class Migration(migrations.Migration): ] operations = [ + migrations.CreateModel( + name='SecurityRequestResponseLog', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('label', models.CharField(blank=True, default='', max_length=255)), + ('request_method', models.CharField(blank=True, default='', max_length=255)), + ('request_full_path', models.CharField(blank=True, default='', max_length=255)), + ('request_username', models.CharField(blank=True, default='', max_length=255)), + ('request_client_ip', models.CharField(blank=True, default='', max_length=255)), + ('response_status_code', models.CharField(blank=True, default='', max_length=255)), + ('additional_json_data', models.JSONField(blank=True, default=dict)), + ], + ), migrations.CreateModel( name='User', fields=[ diff --git a/vbv_lernwelt/core/migrations/0002_create_users.py b/vbv_lernwelt/core/migrations/0002_create_users.py new file mode 100644 index 00000000..c9966ccf --- /dev/null +++ b/vbv_lernwelt/core/migrations/0002_create_users.py @@ -0,0 +1,25 @@ +from django.db import migrations + +from vbv_lernwelt.core.models import User + + +def create_iterativ_users(apps, schema_editor): + for username in ['info@iterativ.ch', ]: + user = User.objects.create( + username=username, + email=username, + is_superuser=True, + is_staff=True, + ) + user.set_password('ACEEs0DCmNaPxdoNV8vhccuCTRl9b') + user.save() + + +class Migration(migrations.Migration): + dependencies = [ + ('core', '0001_initial'), + ] + + operations = [ + migrations.RunPython(create_iterativ_users), + ] diff --git a/vbv_lernwelt/core/models.py b/vbv_lernwelt/core/models.py index 28dbc96a..16626f6b 100644 --- a/vbv_lernwelt/core/models.py +++ b/vbv_lernwelt/core/models.py @@ -1,7 +1,16 @@ +from django.contrib.auth.models import AbstractUser from django.db import models from django.db.models import JSONField +class User(AbstractUser): + """ + Default custom user model for VBV Lernwelt. + If adding fields that need to be filled at user signup, + """ + pass + + class SecurityRequestResponseLog(models.Model): label = models.CharField(max_length=255, blank=True, default='') diff --git a/vbv_lernwelt/users/__init__.py b/vbv_lernwelt/users/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/vbv_lernwelt/users/admin.py b/vbv_lernwelt/users/admin.py deleted file mode 100644 index 8d70d38a..00000000 --- a/vbv_lernwelt/users/admin.py +++ /dev/null @@ -1,30 +0,0 @@ -from django.contrib import admin -from django.contrib.auth import admin as auth_admin -from django.contrib.auth import get_user_model -from django.utils.translation import gettext_lazy as _ - -User = get_user_model() - - -@admin.register(User) -class UserAdmin(auth_admin.UserAdmin): - - fieldsets = ( - (None, {"fields": ("username", "password")}), - (_("Personal info"), {"fields": ("first_name", "last_name", "email")}), - ( - _("Permissions"), - { - "fields": ( - "is_active", - "is_staff", - "is_superuser", - "groups", - "user_permissions", - ), - }, - ), - (_("Important dates"), {"fields": ("last_login", "date_joined")}), - ) - list_display = ["username", "first_name", "last_name", "is_active", "is_superuser"] - search_fields = ["first_name", "last_name", "email", "username"] diff --git a/vbv_lernwelt/users/apps.py b/vbv_lernwelt/users/apps.py deleted file mode 100644 index 6b625bbd..00000000 --- a/vbv_lernwelt/users/apps.py +++ /dev/null @@ -1,13 +0,0 @@ -from django.apps import AppConfig -from django.utils.translation import gettext_lazy as _ - - -class UsersConfig(AppConfig): - name = "vbv_lernwelt.users" - verbose_name = _("Users") - - def ready(self): - try: - import vbv_lernwelt.users.signals # noqa F401 - except ImportError: - pass diff --git a/vbv_lernwelt/users/forms.py b/vbv_lernwelt/users/forms.py deleted file mode 100644 index d4b5f161..00000000 --- a/vbv_lernwelt/users/forms.py +++ /dev/null @@ -1,3 +0,0 @@ -from django.contrib.auth import get_user_model - -User = get_user_model() diff --git a/vbv_lernwelt/users/migrations/__init__.py b/vbv_lernwelt/users/migrations/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/vbv_lernwelt/users/models.py b/vbv_lernwelt/users/models.py deleted file mode 100644 index 62510db7..00000000 --- a/vbv_lernwelt/users/models.py +++ /dev/null @@ -1,17 +0,0 @@ -from django.contrib.auth.models import AbstractUser -from django.urls import reverse - - -class User(AbstractUser): - """ - Default custom user model for VBV Lernwelt. - If adding fields that need to be filled at user signup, - """ - def get_absolute_url(self): - """Get url for user's detail view. - - Returns: - str: URL for user detail. - - """ - return reverse("users:detail", kwargs={"username": self.username}) diff --git a/vbv_lernwelt/users/tests/__init__.py b/vbv_lernwelt/users/tests/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/vbv_lernwelt/users/urls.py b/vbv_lernwelt/users/urls.py deleted file mode 100644 index 8b137891..00000000 --- a/vbv_lernwelt/users/urls.py +++ /dev/null @@ -1 +0,0 @@ - diff --git a/vbv_lernwelt/users/views.py b/vbv_lernwelt/users/views.py deleted file mode 100644 index 139597f9..00000000 --- a/vbv_lernwelt/users/views.py +++ /dev/null @@ -1,2 +0,0 @@ - -