humhub / calendar

Create one-time or recurring events, invite and manage attendees, and keep track of all your events with the Calendar module.
28 stars 46 forks source link

Impossible to mark attendance for recurring event stream #273

Open dantefromhell opened 2 years ago

dantefromhell commented 2 years ago

I created a never ending recurring event that represents a weekly meetup within a space.

While I can mark my attendance for individual events, it is not possible to mark my attendance for the whole series.

yurabakhtin commented 2 years ago

@luke- I don't think it is possible with current database structure and code, because for attending status we use the table calendar_entry_participant where we have to know calendar_entry_id, i.e. each recurrence calendar entry should be created in DB before user can be attended. A separate calendar entry is created automatically only when user clicks on the date cell:

test_recur_entry

luke- commented 2 years ago

@yurabakhtin Ok, let's discuss some improvement possibilities here at a later time to possibly support this.

dantefromhell commented 2 years ago

I'm wondering if I can participate in the design thinking of this? But I struggle to find the documentation for the current mechanic & data model for recurring events.

yurabakhtin commented 2 years ago

@luke- We can try this:


Another UI:


Of course SQL queries will be more complex with this structure and I am not sure how it will be possible to implement the filter by "I'm attending" but we can try.

dantefromhell commented 2 years ago

A random thought that came to mind reading @yurabakhtin proposal.

I frequently have situations where I want to be able to decline one (or a more) specific dates of a series. E.g. when marking my calendar for vacation, I decline team meetings I will be unable to participate.

Also after click on the button [xxxxxx All] all single buttons [xxxxxx] should be disabled/grayed.

IMO conflicts with the scenario above. Would it be possible to:

I guesstimate the UI piece is rather flexible to implement this - the question I am curious about is if the DB schema allows this.