Niedługo czeka mnie uzupełnienie funkcjonalności o cykliczne wydarzenia. Pozornie prosta sprawa może dać po głowie bo trzeba dużo rzeczy przewidzieć.
Kwestia cykliczności tzn. jej rodzaju wydaje się stosunkowo łatwa, w zależności ile użytkownikowi chcemy dać funkcji.
Bardziej mnie ciekawi jak coś takiego zapisać w bazie, jak obsługiwać.
Powiedzmy, że chce wydarzenie co każdy poniedziałek w danym miesiącu. Do sprawy można podejść dwojako - wyświetlić na sztywno w poniedziałek eventy read only. Można też podejść w ten sposób, że po utworzeniu cyklicznego eventu tworzą się unikalne ID i pojedyncze eventy w bazie danych dzięki czemu mamy łatwiejszą kontrolę nad pojedynczymi eventami np. możemy go usunąć czy jemu zmienić wyjątkowo godzinę.
Na wzór patrzę na Google Calendar. Jest tam sporo opcji i dość inteligentnie to działa gdy właśnie ustawię coś co poniedziałek, dodam np. wtorek to nie resetuje się nic. Dopiero jak zmieniłbym godzinę to jakoś już wypada z serii ale nadal relacja jest zachowana. W każdym razie przy każdej edycji pyta się czy zmienić ten event, event i wszystkie następujące czy event i wszystkie pozostałe.
Tak więc jak to rozwiązujcie zwykle?
Może ktoś napisał bo tą jakąś paczuszkę?