CalendarProxy icon indicating copy to clipboard operation
CalendarProxy copied to clipboard

Feature: Adjust/Hide Events/Courses

Open PSandro opened this issue 1 year ago • 2 comments

This is a rebase of #144 It is now possible to deselect specific events/courses after providing calendar link URL to CalendarProxy.

As discussed in #144, there are multiple ways to approach the filtering. It can be done by tag, by the full course name or the X-CO-RECURRINGID included in the event series.

For now, the full course name is used.

It is planned to also provide a feature for adjusting start- and endtimes of events. I'm unsure yet if this should be included here or in a followup PR.

PSandro avatar Jan 08 '24 15:01 PSandro

I think it is a good idea to include the time adjustment feature in this PR since a change in the /api/courses endpoint might be required. In fact, I already changed the endpoint for this manner:

In my opinion in makes most sense to adjust the time of an event/course per recurrence-id. Example: A course has lectures on mondays and wednesdays every week. But the lecture on wednesdays always start 15 minutes later compared to what is originally set in the calendar. For this the user can take the recurrence id of the wednesdays lectures and apply a 15-minute offset.

For now the /api/courses endpoint is adjusted in a way so that the recurrences can be displayed. image

PSandro avatar Jan 15 '24 17:01 PSandro

image Courses can now be adjusted by selecting/setting an offset per "recurrence"/"reoccurrence". The offset value is also appended to the description of every event that is within that recurrence-series (has the same X-CO-RECURRINGID). image

With the adjustments from above, this is what the calendar would look like: The entries in white are from the adjusted iCal feed. The ones in red are just for reference. This is from an iCal feed without adjustments.

image

I have also added a test, validating the functionality of time adjustments via offsets.

PSandro avatar Feb 05 '24 15:02 PSandro