Используя плагин discourse-calendar-and-event, мы с моими однокурсниками заметили отсутствие функции, которая, по нашему мнению, значительно улучшила бы полезность этого расширения.
Представьте следующую ситуацию:
Мы используем тему календаря для организации использования и занятости конкретной комнаты.
В течение двенадцати подряд идущих сред комната будет занята курсами с 10:00 до 15:00, за исключением одной среды.
На данный момент мы видим два варианта добавления повторяющихся событий, у которых есть дата начала и дата окончания:
Либо мы публикуем каждую дату отдельно — что засоряет тему и требует много времени, — либо добавляем событие как повторяющееся и просто принимаем тот факт, что оно будет длиться вечно, отображая курсы, которые на самом деле не проводятся (что создаёт необходимость в другом календарном приложении или в каком-то виде комментариев).
Кроме того: возможность создания повторяющегося события доступна только в том случае, если вы не указываете время окончания:
2023-11-22T09:00:00Z
[date=2023-11-22 time=10:00:00 timezone="Europe/Berlin" recurring="1.weeks"]
Для нашего случая время окончания крайне важно. В результате запись в календаре будет распространяться бесконечно как в будущее, так и в прошлое.
Я представляю два способа добавления этой функции в вставку времени/даты:
- Если вы указываете диапазон дат, превышающий два дня, у вас появляется возможность указать несколько исключений по шаблонам, таким как пятницы, выходные, праздники, или по индивидуальным датам.
Это не учитывает время начала и окончания отдельных вхождений, но всё же предлагает жизнеспособное решение. - Возможность повторения должна сохраняться при указании времени окончания, имеющего ту же дату. Тогда при выборе повторения появится возможность указать дату окончания, обозначающую последнее вхождение. Дата начала должна соответствовать первому вхождению повторяющегося события.
Надеюсь, это понятно, и кто-то сможет откликнуться и помочь нам реализовать это.
Спасибо за вашу отличную работу!