Resolve "Only allow one absence at any point of time"
Closes #32 (closed)
Merge request reports
Activity
changed milestone to /AlekSIS%"[NLnet #7 (closed)] Fix bugs, improve usability, and implement additional features based on feedback reports by pilot schools in timetable management and class register"
added part::backend label
assigned to @yuha
added 1 commit
- 2f14ace5 - Add clean method checking for overlapping absences
added 1 commit
- 3e06c764 - WIP: Cut existing absences on absence creation to avoid overlaps
added 1 commit
- 4e97b71b - Cut existing absences on absence creation to avoid overlaps
- Resolved by Hangzhi Yu
@hansegucker @ZugBahnHof two questions:
- We should probably inform the user in case of overlapping absences and the consequences of creating/editing an absence in a way that leads to overlaps (cuts to existing absences). How exactly should this happen? I'd think of something like the overview step when creating absences in the coursebook that shows which lessons will be affected.
- This is more related to Alsijils use of Kolego absences, but how exactly should instances that relate to Kolego absences be updates in case these said absences change?
- Resolved by Hangzhi Yu
apart from that, TODO: There are now use cases for which trying to create an absence does not actually lead to an absence being created (when overlaps exist with pre-existing absences that share the same absence reason; this leads to a merge, reflected in the existing absence being updated which seems semantically correct to me). This causes problems with graphene for now since create mutations depend on the obj being created & saved having an ID to return. Probably the logic for handling overlaps should be moved to some custom mutation instead?
mentioned in issue #35
added 1 commit
- 178874bc - Handle overlapping absences with same reason correctly
- Resolved by Hangzhi Yu
TODO: Refresh absences list after save
- Resolved by Hangzhi Yu
TODO/to discuss: what should happen with absences that get deleted because their time span is now fully covered by a newly created/edited absence but that are used as the reference absence in existing participation statuses?
- Resolved by Hangzhi Yu
TODO: actually remove absences from CRUD list when saving leads to deletion (somehow update apollo cache)
mentioned in issue #36
added 2 commits