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

Add Reappointment subdecision for installations in bodies #347

Merged
merged 2 commits into from
Oct 12, 2023

Conversation

tomudding
Copy link
Member

This adds a new type of organ mutation, a reappointment. This mutation can be used to "prolong" the membership of a member in an organ. The subdecision refers to the original installation, just like a discharge.

While a self-reference would have been nice (for consecutive reappointments), it introduces a lot of compexity due to the added recursion. As such, Reappointments have a many-to-one relationship with Installations.

Reappointments are processed before Discharges and Installations.

In the Organ Mutations UI, only the Lid function can be directly reappointed. All other functions can be reappointed by checking the relevant functions in the model. This means that if a function is NOT checked it will not be reappointed, this means that a discharge for this particular function is created.

Some of the JavaScript discharge functionality has been moved into a separate function to reduce code duplication. On top of that, the reappointments, discharges, and installations are now also sorted as such in the UI.

Before reappointment:
image

Reappointment modal:
image

Reappointment of membership and one additional function:
image

Resulting decision:
image

This closes GH-346 and closes ABC-2309-556 (pending IR changes).

@tomudding
Copy link
Member Author

Psalm issue is already in the baseline (we really should find a fix to make this work in the action). There are currently no checkers for this new functionality.

@tomudding tomudding force-pushed the feature/reappointment-decision branch from ed0bb13 to a2c797e Compare October 4, 2023 12:45
@tomudding tomudding requested a review from rinkp October 4, 2023 12:58
@rinkp
Copy link
Member

rinkp commented Oct 7, 2023

Psalm issue is already in the baseline (we really should find a fix to make this work in the action). There are currently no checkers for this new functionality.

GH-350

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.

1 Javascript-frontend issue
1 question

This adds a new type of organ mutation, a reappointment. This mutation
can be used to "prolong" the membership of a member in an organ. The
subdecision refers to the original installation, just like a discharge.

While a self-reference would have been nice (for consecutive
reappointments), it introduces a lot of compexity due to the added
recursion. As such, `Reappointment`s have a many-to-one relationship
with `Installation`s.

`Reappointment`s are processed before `Discharge`s and `Installation`s.

In the Organ Mutations UI, only the `Lid` function can be directly
reappointed. All other functions can be reappointed by checking the
relevant functions in the model. This means that if a function is NOT
checked it will not be reappointed, this means that a discharge for
this particular function is created.

Some of the JavaScript discharge functionality has been moved into a
separate function to reduce code duplication. On top of that, the
reappointments, discharges, and installations are now also sorted as
such in the UI.
If there are two or more consecutive reappointments, then the modal
is not cleared. This means that the functions from the previous member
are still present. This can result in the accidental reappointment of
these functions.
@tomudding tomudding force-pushed the feature/reappointment-decision branch from a2c797e to 0dc2bdb Compare October 12, 2023 14:25
@tomudding tomudding requested a review from rinkp October 12, 2023 14:28
@tomudding tomudding merged commit a801370 into GEWIS:main Oct 12, 2023
3 of 4 checks passed
github-actions bot added a commit that referenced this pull request Oct 12, 2023
Tom Udding: Merge pull request #347 from tomudding/feature/reappointment-decision

Add `Reappointment` subdecision for installations in bodies

Co-authored-by: tomudding <tomudding@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add Reappointment subdecision for organ mutations
2 participants