📚 Improved backend structure & logs, added conflict manager 🌟

This commit is contained in:
2025-06-02 14:26:33 +02:00
parent f2928b97fc
commit 3cab66efc8
10 changed files with 773 additions and 5 deletions

View File

@ -818,6 +818,11 @@
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 12h14M5 12a2 2 0 01-2-2V6a2 2 0 012-2h14a2 2 0 012 2v4a2 2 0 01-2 2M5 12a2 2 0 00-2 2v4a2 2 0 002 2h14a2 2 0 002-2v-4a2 2 0 00-2-2m-2-4h.01M17 16h.01"/>
</svg>
Produktionseinheit
<button type="button" id="refreshAvailability"
class="ml-2 text-blue-500 hover:text-blue-700 text-sm underline"
onclick="window.conflictManager && window.conflictManager.refreshAvailability()">
🔄 Verfügbarkeit prüfen
</button>
</label>
<select id="printerFilter" class="mercedes-form-input block w-full px-4 py-3 rounded-lg">
<option value="">Alle Produktionseinheiten</option>
@ -1097,6 +1102,14 @@
class="btn-secondary">
Abbrechen
</button>
<button type="button" id="checkConflictsBtn"
class="px-4 py-2 border border-blue-300 text-blue-600 hover:bg-blue-50 dark:hover:bg-blue-900/20 rounded-lg transition-colors flex items-center gap-2"
onclick="window.conflictManager && window.conflictManager.checkConflicts(window.conflictManager.getFormData()).then(conflicts => { if (conflicts) { if (conflicts.has_conflicts) { window.conflictManager.showConflictModal(conflicts); } else { window.conflictManager.showSuccess('Keine Konflikte gefunden! ✅'); } } })">
<svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"/>
</svg>
Konflikte prüfen
</button>
<button type="submit"
class="btn-primary">
Auftrag speichern
@ -1118,6 +1131,9 @@
<script src="{{ url_for('static', filename='js/fullcalendar/timegrid.min.js') }}"></script>
<script src="{{ url_for('static', filename='js/fullcalendar/interaction.min.js') }}"></script>
<script src="{{ url_for('static', filename='js/fullcalendar/list.min.js') }}"></script>
<!-- Erweiterte Konfliktmanagement-Engine -->
<script src="{{ url_for('static', filename='js/conflict-manager.js') }}"></script>
<input type="hidden" id="canEditFlag" value="{% if can_edit %}true{% else %}false{% endif %}">
<script>
document.addEventListener('DOMContentLoaded', function() {