Commit Graph

23 Commits

Author SHA1 Message Date
Bastian Wagner
f2e6704943 feat: use cash flow presentation in transaction histories 2026-08-01 20:58:22 +02:00
Bastian Wagner
239b157015 feat: add team cash flow amount presentation 2026-08-01 20:16:09 +02:00
Bastian Wagner
727ff0b1af icon 2026-08-01 19:17:25 +02:00
Bastian Wagner
5dae4362b2 feat(cashbox): book a catalog penalty directly as a transaction
Adds a catalog picker to the member-booking form in the cashbox (prefills
amount/note/type, stays editable) and a "Buchen" button on each penalty
catalog entry that jumps to the cashbox with that entry preselected via a
penaltyId query param. No backend changes — reuses the existing POST
/transactions flow, the catalog only supplies starting values.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-01 18:50:58 +02:00
Bastian Wagner
3551641a85 feat(teams): manage player active status and team-role with treasurer safeguard
Team managers (captain and above) can now deactivate/reactivate a player and
change their team-role from the player detail page. Deactivation zeroes the
open balance via an auditable adjustment transaction instead of overwriting
the balance field, and both actions are blocked if they would leave a team
without an active treasurer. Also hardens the existing PUT teams/:id/players
endpoint down to profile-only fields, fixing a typo bug and closing a gap
where any authenticated user could mutate a player's active/role/balance in
any team.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-01 15:42:09 +02:00
Bastian Wagner
2424a8c025 Merge branch 'feature/penalty-catalog-management' 2026-08-01 15:03:07 +02:00
Bastian Wagner
c7dfdd7498 fix: address penalty catalog review findings 2026-08-01 14:46:58 +02:00
Bastian Wagner
fa05e55d43 feat: manage penalty catalog in modern frontend 2026-08-01 13:32:22 +02:00
Bastian Wagner
4c1bd49405 fixes 2026-08-01 13:17:26 +02:00
Bastian Wagner
e3bff40181 Merge branch 'feature/admin-user-management' 2026-08-01 11:50:27 +02:00
Bastian Wagner
945369796e fix: refresh admin self profile state 2026-08-01 11:45:03 +02:00
Bastian Wagner
431eba86e7 fix: align admin profile request validation 2026-08-01 11:20:47 +02:00
Bastian Wagner
d962200b79 test: cover assignment failure recovery 2026-08-01 10:52:17 +02:00
Bastian Wagner
9eec6268d0 fix: lock directory during assignment changes 2026-08-01 10:44:17 +02:00
Bastian Wagner
9dc9dc3dcf fix: stabilize admin user UI state 2026-08-01 10:32:51 +02:00
Bastian Wagner
3ae0fd2000 feat: build admin user management UI 2026-08-01 10:01:25 +02:00
Bastian Wagner
d0ec000bff fix: harden admin frontend contracts 2026-08-01 09:26:14 +02:00
Bastian Wagner
484c7473fb feat: add admin user frontend contract 2026-08-01 09:17:57 +02:00
Bastian Wagner
81040efd8b css 2026-07-31 22:34:52 +02:00
Bastian Wagner
e722d9e26b css 2026-07-31 22:28:57 +02:00
Bastian Wagner
e5ba292815 scss 2026-07-31 22:12:38 +02:00
Bastian Wagner
1d4546d483 styling 2026-07-31 22:01:09 +02:00
Bastian Wagner
6bea4f766a first commit 2026-07-31 21:02:47 +02:00