Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Inactive member organ members and fixes to installation/discharge UX #183

Merged

Conversation

tomudding
Copy link
Member

This supersedes #148.

This adds the Inactief Lid function to organ installation. Additionally, this fixes some UX problems that caused a lot of problems in the past.

First and foremost, installations are now sorted per member instead of per installation (date). Furthermore, when discharging a member with function Lid, if they had additional functions in that organ, they would technically not be a member any more but still have a function (which should not be possible), this has now been fixed by ensuring that any other functions are discharged first. Finally, it was possible to install the same member multiple times (regardless of function), this is not also not possible.

Note: discharging of all functions and preventing multiple installations are purely done in the front-end.

This closes #166, fixes #181, and fixes #182.

@tomudding tomudding requested a review from rinkp July 19, 2022 13:27
@tomudding tomudding self-assigned this Jul 19, 2022
@tomudding
Copy link
Member Author

Small note, this does not yet have an implementation in GEWIS/gewisweb, but we aren't close to deploying this.

This adds a new member function for organs, `Inactief Lid`. This
new function is mutually exclusive with any other functions.

Furthermore, I have slightly changed the install/discharge result
table. It is now sorted by member instead of installation.
This ensure that members can only be installed once with a specific
function.
@tomudding tomudding force-pushed the feature/inactive-member-of-fraternity branch from 642c8c7 to 2da6284 Compare July 20, 2022 10:04
@tomudding
Copy link
Member Author

Parity with GEWIS/gewisweb is ensured through GEWIS/gewisweb#1497.

Copy link
Member

@rinkp rinkp left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think I tested all functionality after this PR. I do think the checker needs to be updated and I made a proposal, but wasn't sure whether I should push it, so I included it in this review.

(apart from the error that is thrown on member edits I think should be solved by df2c1e1)

@tomudding tomudding force-pushed the feature/inactive-member-of-fraternity branch 3 times, most recently from 52ad859 to 1328473 Compare August 9, 2022 19:42
The `Checker` can now determine that a member cannot be "Lid" AND
"Inactief Lid" of the same organ, it guesses whether or not the
member should actually be "Lid" or "Inactief Lid", however, there
is no guarantee this is correct.

Additionally, it can detect "Inactief Lid" members who still have
a special role in the organ.

Co-Authored-By: rinkp <[email protected]>
@tomudding tomudding force-pushed the feature/inactive-member-of-fraternity branch from 1328473 to 3e3a0ea Compare August 9, 2022 19:56
This is the first time that Psalm actually kept complaining about
polymorphic calls. This has been address by making the `Checker`'s
`Error` a template for the generic type `T`. All specific errors
that extend the class now also extend it with a specific class for
implementation.

Also removes the budget check, as that did not do anything.
@tomudding tomudding merged commit 9a8bb7b into GEWIS:master Aug 9, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants