Overview: Fancy user-management -> use. diff structs #911
Loading…
x
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
It should be impossible to make me sad when I see people enter stuff wrongly. The system should detect that and tell the user instead. Goal: make me unnecessary, because the system handles itself.
Have different structs for different User. E.g.
scheckbuch
-User, which has functions to move toDonauLinz
user, or send an mail. Not a single hundreds of linesuser/mod.rs
but split by user type. The default user has e.g. aedit_details()
function, to edit address, phone number etc. In the admin-user-edit-view, the admin sees first the default user functionality, and then the special user functionality.To ponder: Use traits for functionality/permissions? E.g.
AllowedToManageEvents
, and only special users who implement this trait are allowed to perform this. Downside: How would you iterate over functionality in admin-user-edit-view? You would have to check "has this user that trait implemented?" which is not idiomatic because you want to abstract the differences away.The default user list should only contain club members (+ scheckbuch). Basically all users except
schnupper-interessierte
andschnupperaten
.The admin-edit-view should contain different boxes. The first one basic user details (Name, email, ...). And then boxes depending on special_user functionality (e.g. move
scheckbuch
user toDonauLinz
Remove hard-coded costs. Roles should have assigned
costs
.Remove linkage of "regular member" and "donau linz".
Ehrenmitglied
should be part ofmembership_type
add history (either field or table) to note stuff that happened to a user (e.g. moved to different class, something got updated etc. To have a nice overview of a user.
Instead of allowing to directly edit all data of users and save that into the DB (
user::update
), create functions for specific things (the goal in the end is to remove "general" user editing)make it easy to transition between user states (scheckbuch, mitglied, austritt) -> buttons?
announce (via notification?) if a person got promoted to cox/bootsführer
Fancy user-managementto Overview: Fancy user-managementOverview: Fancy user-managementto Overview: Fancy user-management -> use. diff structsMoved specific next steps to milestone: https://git.hofer.link/Ruderverein-Donau-Linz/rowt/milestone/47
After this milestone is completed, check what's left from the requirements in this issue :-)