Added 'Hide from userlist' to user settings

This commit is contained in:
Julian Müller (ChaoticByte) 2023-04-13 21:19:11 +02:00
parent 105ddc0409
commit 5ab0d1088f
4 changed files with 26 additions and 4 deletions

View file

@ -43,20 +43,24 @@ class CustomUserAdmin(UserAdmin):
fieldsets_ = list((*UserAdmin.fieldsets,)) fieldsets_ = list((*UserAdmin.fieldsets,))
fieldsets_.insert(1, ( fieldsets_.insert(1, (
"Visibility",
{"fields": ("hide_from_userlist",)},
))
fieldsets_.insert(2, (
"Balance", "Balance",
{"fields": ("balance", "allow_order_with_negative_balance")}, {"fields": ("balance", "allow_order_with_negative_balance")},
)) ))
fieldsets_.insert(2, ( fieldsets_.insert(3, (
"Supply", "Supply",
{"fields": ("allowed_to_supply",)}, {"fields": ("allowed_to_supply",)},
)) ))
fieldsets_.insert(3, ( fieldsets_.insert(4, (
"Profile Picture", "Profile Picture",
{"fields": ("profile_picture_filename",)}, {"fields": ("profile_picture_filename",)},
)) ))
fieldsets = tuple(fieldsets_) 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 def get_actions(self, request): # remove the "delete_selected" action because it breaks some functionality
actions = super().get_actions(request) actions = super().get_actions(request)

View file

@ -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),
),
]

View file

@ -13,6 +13,7 @@ class User(AbstractUser):
allow_order_with_negative_balance = models.BooleanField(default=False) allow_order_with_negative_balance = models.BooleanField(default=False)
profile_picture_filename = models.CharField(default="default.svg", max_length=25) profile_picture_filename = models.CharField(default="default.svg", max_length=25)
allowed_to_supply = models.BooleanField(default=False) allowed_to_supply = models.BooleanField(default=False)
hide_from_userlist = models.BooleanField(default=False)
def delete(self, *args, **kwargs): def delete(self, *args, **kwargs):
self.balance = 0 self.balance = 0

View file

@ -25,7 +25,7 @@ from .models import RegisterTransaction
def login_page(request): 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": if request.method == "POST":
form = AuthenticationForm(request.POST) form = AuthenticationForm(request.POST)
username = request.POST['username'] username = request.POST['username']