From e0dadc4b20d5f4a30b313392b52d6c1f6358e647 Mon Sep 17 00:00:00 2001 From: Florian Heinz Date: Tue, 21 Apr 2026 21:43:36 +0200 Subject: [PATCH] fix: include admin in personal payout fallback --- app/utils/users.py | 3 ++- tests/test_comparison_and_allocations.py | 13 ++++++++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/app/utils/users.py b/app/utils/users.py index f871545..b6bcf2f 100644 --- a/app/utils/users.py +++ b/app/utils/users.py @@ -34,7 +34,8 @@ def active_users() -> list[User]: def personal_users() -> list[User]: users = active_users() non_admin = [user for user in users if not user.is_admin()] - return (non_admin or users)[:2] + admin_users = [user for user in users if user.is_admin()] + return (non_admin + admin_users)[:2] def personal_account_names() -> dict[str, str]: diff --git a/tests/test_comparison_and_allocations.py b/tests/test_comparison_and_allocations.py index 44598f5..6357935 100644 --- a/tests/test_comparison_and_allocations.py +++ b/tests/test_comparison_and_allocations.py @@ -3,7 +3,7 @@ from __future__ import annotations from decimal import Decimal from app.extensions import db -from app.models import Account, AllocationSuggestion, Month +from app.models import Account, AllocationSuggestion, Month, User from app.utils.users import personal_account_names @@ -169,3 +169,14 @@ def test_seeded_distribution_entries_are_marked_as_allocation_targets(app): assert target_entries["Freizeitbudget"] is True assert target_entries["Person 1"] is True assert target_entries["Person 2"] is True + + +def test_personal_account_names_fill_with_admin_if_only_one_editor_is_active(app): + editor_b = User.query.filter_by(username="mitglied2").first() + editor_b.is_active = False + db.session.commit() + + personal_labels = personal_account_names() + + assert personal_labels["persoenlich-flo"] == "Person A" + assert personal_labels["persoenlich-desi"] == "Admin"