ecamp / ecamp/ecamp3

Feature: Allow overlapping periods

Open
#2,454 1 comment 0 reactions 0 assignees View on GitHub
agents:ignore System architecture
Dominant language
PHP
Stars
156
Forks
72
Avg merge
12h 43m
Merged PRs (30d)
203

Description

So far we have decided, not to llow overlapping periods. Allowing this would make eCamp more complex in different places. Here is a (maybe not exhaustive) list of places where this assumption has influenced our implementation. All of these places need to be adjusted if we want to allow overlapping periods. Checked-off entries are no longer a problem as far as we know.
- [x] Original decision was in #494. Reason being that we wanted to display multiple periods on the same picasso screen. Then, drag&dropping a schedule entry into n overlapping day, it might have been unclear, which period the schedule entry should be placed in (?). The idea of displaying multiple periods at once was later dropped, but in case we circle back in the future, this would need to be thought through again.
- [ ] When creating nd editing schedule entries in the [popup dialog](https://github.com/ecamp/ecamp3/blob/devel/frontend/src/components/program/DialogActivityEdit.vue)), it is currently possible to choose a date in another period and move the schedule entry there this way. With overlapping periods, this would need adjustment, so we can uniquely identify the target period, or offer another way to move a schedule entry into another period.
- [x] Filtering schedule entries in the API by day works via start and end time of the day, since we don't have a database relation between day and schedule entry: `/schedule_entries?start[strictly_before]=2021-01-02T00:00:00+00:00&end[after]=2021-01-01T00:00:00+00:00`. These filters on their own couldn't distinguish schedule entries in different, overlapping periods. But in Day::scheduleEntries, we already additionally filter by period: `/schedule_entries?period=/periods/1a2b3c4d&start[strictly_before]=2021-01-02T00:00:00+00:00&end[after]=2021-01-01T00:00:00+00:00`
- [ ] The numbering of days in the overlapping periods would have to be fixed and implemented in `Period`: https://github.com/ecamp/ecamp3/pull/2411#discussion_r801977491
- [ ] The pretty-printed display of periods on the camp list needs to be re-implemented given this new possibility

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.