diff --git a/ticketsystem/static/js/ticket_detail.js b/ticketsystem/static/js/ticket_detail.js index 10be506..0d2ee3f 100644 --- a/ticketsystem/static/js/ticket_detail.js +++ b/ticketsystem/static/js/ticket_detail.js @@ -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 + ' *'; } - } 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(' *', ''); } diff --git a/ticketsystem/templates/ticketsystem/detail.html b/ticketsystem/templates/ticketsystem/detail.html index 48dc781..cb7ce5b 100644 --- a/ticketsystem/templates/ticketsystem/detail.html +++ b/ticketsystem/templates/ticketsystem/detail.html @@ -12,6 +12,12 @@ {% endif %}