From 5ab0d1088f149022f9032b488959e18ce81e8d2f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julian=20M=C3=BCller=20=28ChaoticByte=29?= Date: Thu, 13 Apr 2023 21:19:11 +0200 Subject: [PATCH] Added 'Hide from userlist' to user settings --- app/admin.py | 10 +++++++--- app/migrations/0003_user_hide_from_userlist.py | 17 +++++++++++++++++ app/models.py | 1 + app/views.py | 2 +- 4 files changed, 26 insertions(+), 4 deletions(-) create mode 100644 app/migrations/0003_user_hide_from_userlist.py diff --git a/app/admin.py b/app/admin.py index 0d37821..4e8da52 100644 --- a/app/admin.py +++ b/app/admin.py @@ -43,20 +43,24 @@ class CustomUserAdmin(UserAdmin): fieldsets_ = list((*UserAdmin.fieldsets,)) fieldsets_.insert(1, ( + "Visibility", + {"fields": ("hide_from_userlist",)}, + )) + fieldsets_.insert(2, ( "Balance", {"fields": ("balance", "allow_order_with_negative_balance")}, )) - fieldsets_.insert(2, ( + fieldsets_.insert(3, ( "Supply", {"fields": ("allowed_to_supply",)}, )) - fieldsets_.insert(3, ( + fieldsets_.insert(4, ( "Profile Picture", {"fields": ("profile_picture_filename",)}, )) fieldsets = tuple(fieldsets_) - list_display = ["username", "balance", "is_active", "allow_order_with_negative_balance"] + list_display = ["username", "balance", "allow_order_with_negative_balance", "is_active", "hide_from_userlist"] def get_actions(self, request): # remove the "delete_selected" action because it breaks some functionality actions = super().get_actions(request) diff --git a/app/migrations/0003_user_hide_from_userlist.py b/app/migrations/0003_user_hide_from_userlist.py new file mode 100644 index 0000000..7ffa0e8 --- /dev/null +++ b/app/migrations/0003_user_hide_from_userlist.py @@ -0,0 +1,17 @@ +# Generated by Django 4.1.6 on 2023-04-13 19:12 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + dependencies = [ + ("app", "0002_setup"), + ] + + operations = [ + migrations.AddField( + model_name="user", + name="hide_from_userlist", + field=models.BooleanField(default=False), + ), + ] diff --git a/app/models.py b/app/models.py index ddfd302..5978a47 100644 --- a/app/models.py +++ b/app/models.py @@ -13,6 +13,7 @@ class User(AbstractUser): allow_order_with_negative_balance = models.BooleanField(default=False) profile_picture_filename = models.CharField(default="default.svg", max_length=25) allowed_to_supply = models.BooleanField(default=False) + hide_from_userlist = models.BooleanField(default=False) def delete(self, *args, **kwargs): self.balance = 0 diff --git a/app/views.py b/app/views.py index 7f3ea30..07fd072 100644 --- a/app/views.py +++ b/app/views.py @@ -25,7 +25,7 @@ from .models import RegisterTransaction def login_page(request): - userlist = get_user_model().objects.filter(is_superuser=False).filter(is_active=True).order_by("username") + userlist = get_user_model().objects.filter(hide_from_userlist=False).filter(is_active=True).order_by("username") if request.method == "POST": form = AuthenticationForm(request.POST) username = request.POST['username']