-
Notifications
You must be signed in to change notification settings - Fork 7
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
Add Reappointment
subdecision for installations in bodies
#347
Conversation
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. |
ed0bb13
to
a2c797e
Compare
|
There was a problem hiding this 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.
a2c797e
to
0dc2bdb
Compare
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>
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 withInstallation
s.Reappointment
s are processed beforeDischarge
s andInstallation
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.
Before reappointment:
![image](https://private-user-images.githubusercontent.com/4983571/271790325-fbca3122-7588-4407-b3d4-98a690f02dd0.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTk0MzM5NjIsIm5iZiI6MTcxOTQzMzY2MiwicGF0aCI6Ii80OTgzNTcxLzI3MTc5MDMyNS1mYmNhMzEyMi03NTg4LTQ0MDctYjNkNC05OGE2OTBmMDJkZDAucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MDYyNiUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDA2MjZUMjAyNzQyWiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9ZDQzZTkyZWYwYWNjMzY5NzgxMzI1NTFjZjkzYmY4MzZhOTZmODU5OWVhMzQyOThmM2NmYTI1YWU3MTIxY2UzZCZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmYWN0b3JfaWQ9MCZrZXlfaWQ9MCZyZXBvX2lkPTAifQ.OvrMTcA7T46kRKzKHTxlhd0qp-Y3pFD50tZWqwbDBYg)
Reappointment modal:
![image](https://private-user-images.githubusercontent.com/4983571/271790350-4345e71d-4167-4782-bcf0-3c58c2fd0496.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTk0MzM5NjIsIm5iZiI6MTcxOTQzMzY2MiwicGF0aCI6Ii80OTgzNTcxLzI3MTc5MDM1MC00MzQ1ZTcxZC00MTY3LTQ3ODItYmNmMC0zYzU4YzJmZDA0OTYucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MDYyNiUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDA2MjZUMjAyNzQyWiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9M2U2NDFlNTNmNmMyZWQwYWMxMDVjZGIzN2ZhZTNhYzcwNjE0MDY1OGY0MjVhNDk5NDIyNDlkZmQxMDZkOTNiMiZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmYWN0b3JfaWQ9MCZrZXlfaWQ9MCZyZXBvX2lkPTAifQ.r8yCarTTU0fR1mmEARgmkhbgWPgIxmftYNgpzt8x9h4)
Reappointment of membership and one additional function:
![image](https://private-user-images.githubusercontent.com/4983571/271790413-400222c9-4194-44a0-9184-a700ffffbaa6.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTk0MzM5NjIsIm5iZiI6MTcxOTQzMzY2MiwicGF0aCI6Ii80OTgzNTcxLzI3MTc5MDQxMy00MDAyMjJjOS00MTk0LTQ0YTAtOTE4NC1hNzAwZmZmZmJhYTYucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MDYyNiUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDA2MjZUMjAyNzQyWiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9MDI2OTBlNWEwNDExMGU0N2EzNWZiMTA3ZTMwODZmNmVjYmNjZmFkMzBkMWY1NTdkMzZkZjliZDhiMmQ2ZjdhNiZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmYWN0b3JfaWQ9MCZrZXlfaWQ9MCZyZXBvX2lkPTAifQ.9bZE_NkNlvtegKjxeR7eAqTm-F9-B1mLifTsP_LdpyM)
Resulting decision:
![image](https://private-user-images.githubusercontent.com/4983571/271790540-767dca11-5271-4451-ba0a-bb947f802249.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTk0MzM5NjIsIm5iZiI6MTcxOTQzMzY2MiwicGF0aCI6Ii80OTgzNTcxLzI3MTc5MDU0MC03NjdkY2ExMS01MjcxLTQ0NTEtYmEwYS1iYjk0N2Y4MDIyNDkucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MDYyNiUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDA2MjZUMjAyNzQyWiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9Yjk2Y2RiMjc2NzE0NGIxZWVlNTE4NmNiNjM2MWI1ZWE3YWRlMDVhOTQxNjM2ZjMzMjIyMDYyNWRiZGRhMmM3NyZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmYWN0b3JfaWQ9MCZrZXlfaWQ9MCZyZXBvX2lkPTAifQ.Ssmt4xnauNeLFpnpUWkaSBaQWfyYbctGT2GIvVwN__0)
This closes GH-346 and closes ABC-2309-556 (pending IR changes).