feat: answer field now invisible if not editable

This commit is contained in:
2025-06-11 21:21:13 +02:00
parent 1388166e9d
commit 35d8727348
2 changed files with 24 additions and 3 deletions

View File

@@ -32,20 +32,35 @@ function initializeTicketDetail(config) {
if (!answerField) return;
if (statusSelect.value === 'resolved') {
// Antwort-Feld einblenden und aktivieren
answerField.closest('div').style.display = 'block';
answerField.disabled = false;
answerField.readOnly = false;
answerField.style.pointerEvents = 'auto'; // Erlaube Klicks
answerField.classList.remove('bg-gray-100', 'cursor-not-allowed');
answerField.classList.add('bg-white');
answerField.required = true;
if (answerLabel && !answerLabel.querySelector('.text-red-500')) {
answerLabel.innerHTML = answerLabel.textContent + ' <span class="text-red-500">*</span>';
}
} else {
answerField.disabled = true;
} else if (statusSelect.value === 'closed') {
// Antwort-Feld einblenden aber ausgegraut (readonly statt disabled)
answerField.closest('div').style.display = 'block';
answerField.disabled = false;
answerField.readOnly = true;
answerField.style.pointerEvents = 'none'; // Verhindert Klicks
answerField.classList.add('bg-gray-100', 'cursor-not-allowed');
answerField.classList.remove('bg-white');
answerField.required = false;
if (answerLabel) {
answerLabel.innerHTML = answerLabel.textContent.replace(' *', '');
}
} else {
// Antwort-Feld ausblenden
answerField.closest('div').style.display = 'none';
answerField.required = false;
if (answerLabel) {
answerLabel.innerHTML = answerLabel.textContent.replace(' *', '');
}

View File

@@ -12,6 +12,12 @@
</div>
{% endif %}
<div class="max-w-6xl mx-auto px-4 py-6">
<div class="mb-6">
<a href="{% url 'ticket-list' %}"
class="inline-flex items-center text-blue-500 hover:text-blue-600 font-medium">
← Zurück zur Übersicht
</a>
</div>
<!-- Ticket Bearbeitung -->
<div class="bg-white rounded-lg shadow p-6 mb-6">
<h1 class="text-3xl font-bold mb-4">🎫 Ticket #{{ ticket.id }} {{ ticket.title }}</h1>