feat: Migrate to hero-models for calendar event data

- Replaced custom `CalendarEvent` model with `heromodels`' `Event` model.
- Updated database interactions and controller logic to use the new model.
- Removed unnecessary `CalendarEvent` model and related code.
- Updated views to reflect changes in event data structure.
This commit is contained in:
Mahmoud-Emad
2025-06-03 15:12:53 +03:00
parent 2299b61e79
commit 9802d51acc
8 changed files with 47 additions and 111 deletions

View File

@@ -114,8 +114,9 @@
{% for event in day.events %}
<div class="event-preview text-truncate mb-1 {% if loop.index > 2 %}d-none{% endif %}"
style="background-color: {{ event.color }}; color: white;"
onclick="openEventDetails(event, '{{ event.id }}', '{{ event.title|escape }}', '{{ event.description|escape }}', '{{ event.color }}', {{ event.all_day }}, '{{ event.start_time }}', '{{ event.end_time }}')"
data-event-id="{{ event.id }}" data-event-title="{{ event.title|escape }}"
onclick="openEventDetails(event, '{{ event.base_data.id }}', '{{ event.title|escape }}', '{{ event.description|escape }}', '{{ event.color }}', {{ event.all_day }}, '{{ event.start_time }}', '{{ event.end_time }}')"
data-event-id="{{ event.base_data.id }}"
data-event-title="{{ event.title|escape }}"
data-event-description="{{ event.description|escape }}"
data-event-color="{{ event.color }}"
data-event-all-day="{{ event.all_day }}"
@@ -204,7 +205,7 @@
{% if event.all_day %}
{% set_global has_all_day_events = true %}
<div class="alert mb-2" style="background-color: {{ event.color }}; color: white; cursor: pointer;"
onclick="openEventDetails(event, '{{ event.id }}', '{{ event.title|escape }}', '{{ event.description|escape }}', '{{ event.color }}', {{ event.all_day }}, '{{ event.start_time }}', '{{ event.end_time }}')">
onclick="openEventDetails(event, '{{ event.base_data.id }}', '{{ event.title|escape }}', '{{ event.description|escape }}', '{{ event.color }}', {{ event.all_day }}, '{{ event.start_time }}', '{{ event.end_time }}')">
<h5 class="mb-1">{{ event.title }}</h5>
{% if event.description %}
<p class="mb-0">{{ event.description }}</p>
@@ -235,7 +236,7 @@
{% set start_hour = event.start_time|extract_hour %}
{% if start_hour == hour %}
<div class="alert mb-2" style="background-color: {{ event.color }}; color: white; cursor: pointer;"
onclick="openEventDetails(event, '{{ event.id }}', '{{ event.title|escape }}', '{{ event.description|escape }}', '{{ event.color }}', {{ event.all_day }}, '{{ event.start_time }}', '{{ event.end_time }}')">
onclick="openEventDetails(event, '{{ event.base_data.id }}', '{{ event.title|escape }}', '{{ event.description|escape }}', '{{ event.color }}', {{ event.all_day }}, '{{ event.start_time }}', '{{ event.end_time }}')">
<h5>{{ event.title }}</h5>
<p>{{ event.start_time|format_time }} - {{ event.end_time|format_time }}</p>
<p>{{ event.description }}</p>
@@ -859,7 +860,7 @@
eventDiv.onclick = (e) => {
e.stopPropagation();
closeEventsPopup();
openEventDetails(e, event.id, event.title, event.description, event.color, event.all_day, event.start_time, event.end_time);
openEventDetails(e, event.base_data.id, event.title, event.description, event.color, event.all_day, event.start_time, event.end_time);
};
content.appendChild(eventDiv);
});