Ich habe die CSS/JS-Klassen und verbundenen Dateien überprüft. Alles scheint korrekt zu sein, ich habe sogar GPT verwendet, aber keine Ergebnisse.

{% block title %}Головна{% endblock %}
[*]
[*]
Dropdown
document.getElementById('sidebarToggle').addEventListener('click', function() {
document.getElementById('sidebar').classList.toggle('active');
this.classList.toggle('active');
});
document.addEventListener('DOMContentLoaded', function() {
var calendarEl = document.getElementById('calendar');
if (calendarEl) {
var calendar = new FullCalendar.Calendar(calendarEl, {
initialView: 'dayGridMonth',
locale: 'uk',
editable: true,
selectable: true,
events: '/get_duties/', // Завантаження нарядів з сервера
select: function(info) {
var dutyDateInput = document.getElementById('dutyDate');
dutyDateInput.value = info.startStr;
var dutyFormModal = new bootstrap.Modal(document.getElementById('dutyFormModal'));
dutyFormModal.show();
calendar.unselect();
},
eventClick: function(info) {
if (confirm('Ви впевнені, що хочете видалити цю подію?')) {
$.ajax({
type: 'POST',
url: '{% url "delete_duty" %}',
data: {
'id': info.event.id,
'csrfmiddlewaretoken': '{{ csrf_token }}'
},
success: function(response) {
if (response.status === 'success') {
info.event.remove();
} else {
alert('Сталася помилка при видаленні наряду.');
}
},
error: function(response) {
alert('Сталася помилка при видаленні наряду.');
}
});
}
}
});
calendar.render();
}
$('#dutyForm').on('submit', function(event) {
event.preventDefault();
$.ajax({
type: 'POST',
url: $(this).attr('action'),
data: $(this).serialize(),
success: function(response) {
$('#dutyFormModal').modal('hide');
calendar.refetchEvents();
},
error: function(response) {
var errors = response.responseJSON.errors;
var errorMessage = 'Сталася помилка при подачі наряду:\n';
for (var field in errors) {
errorMessage += field + ': ' + errors[field].join(', ') + '\n';
}
alert(errorMessage);
}
});
});
});