Enables the use of HTML email templates, providing richer formatting and
improved user experience.
This includes:
- Modifying the EmailTemplate model to include both plaintext and HTML fields.
- Updating the clear_bookings script to use the HTML template when available,
for sending notifications.
- Adds the possibility to add alternative calendars to the calendar model.
- Adds the possibility to consider calendar alternatives when clearing bookings.
- Provides a list of alternative rooms to the email template.
The available template variables were also updated in the README.
Ensures that the event end time is rounded down to the nearest minute.
This prevents potential collision issues where events start and end at
very close times (seconds/milliseconds), especially when creating new events.
If the principal of the calendar does not own it, because it is a shared calendar, invitations cannot be declined because the principal is not invited. This fix causes the appointment to be canceled in the calendar instead.
Enhances the calendar admin interface by adding more relevant
fields to the list display, such as associated users,
auto-clearing settings, and the email template used.
Also improves the event admin by including calendar, creation
date, start, and end times to the list display,
and orders events by calendar in addition to start and end times.
This commit introduces support for prioritized events, allowing certain events to take precedence over others during overlap resolution.
This is achieved by:
- Introducing a `PriorityEventToken` model to manage tokens for priority events.
- Modifying the overlap resolution logic to skip overlaps if a prioritized event is involved.
- Updating email templates to include information about prioritization and overlap events.
- Adding a check for priority tokens in event descriptions.
Sets up environment variables within the docker-compose file,
replacing the use of a .env file. This includes defining
variables for Django secret key, allowed hosts, SMTP settings,
and sender name. This change improves configuration management
and clarifies the necessary environment settings.
Implements a mechanism to automatically clear overlapping events in user calendars.
Introduces a new model for email templates, enabling customizable notifications to event organizers when their events are declined due to overlaps.
Adds a background task to find overlapping events based on calendar settings and automatically cancels the later event, sending a notification email to the organizer, if configured.