From f6361484cdc5a39bcfa5415e9f9b1d2ef35b0ee0 Mon Sep 17 00:00:00 2001 From: Gabriele Cimaschi Date: Mon, 12 Oct 2026 14:59:20 +0200 Subject: [PATCH] feat: in caso di retrodatazione ora propone automaticamente una data successiva all'ora di creazione di cinque minuti. --- public/js/views/ticketDetail.js | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/public/js/views/ticketDetail.js b/public/js/views/ticketDetail.js index c72a5d4..3da08c0 100644 --- a/public/js/views/ticketDetail.js +++ b/public/js/views/ticketDetail.js @@ -16,13 +16,16 @@ const TicketDetailView = { (document.getElementById('note-time-units-bottom') ? document.getElementById('note-time-units-bottom').value.trim() : ''); const ticket_state_id = document.getElementById('note-ticket-state') ? document.getElementById('note-ticket-state').value : ''; - if ((body !== '


' && body !== '') || subject !== '' || time_unit !== '' || this.noteAttachments.length > 0 || ticket_state_id !== '') { + const note_create_time = document.getElementById('note-create-time') ? document.getElementById('note-create-time').value : ''; + + if ((body !== '


' && body !== '') || subject !== '' || time_unit !== '' || this.noteAttachments.length > 0 || ticket_state_id !== '' || note_create_time !== '') { App.saveDraft(this.ticketId, { type: 'note', body, subject, time_unit, ticket_state_id, + note_create_time, attachments: [...this.noteAttachments] }); } else { @@ -4002,6 +4005,9 @@ const TicketDetailView = { if (document.getElementById('note-ticket-state') && noteDraft.ticket_state_id) { document.getElementById('note-ticket-state').value = noteDraft.ticket_state_id; } + if (document.getElementById('note-create-time') && noteDraft.note_create_time) { + document.getElementById('note-create-time').value = noteDraft.note_create_time; + } this.noteAttachments = noteDraft.attachments || []; this.updateNoteAttachmentList(); } @@ -4092,6 +4098,21 @@ const TicketDetailView = { } if (noteCreateTimeInput) { noteCreateTimeInput.addEventListener('change', checkChanges); + + const setDefaultNoteTime = () => { + if (!noteCreateTimeInput.value && ticket && ticket.create_time) { + const createDate = new Date(ticket.create_time); + if (!isNaN(createDate.getTime())) { + const plus5Min = new Date(createDate.getTime() + 5 * 60 * 1000); + const localISO = new Date(plus5Min.getTime() - plus5Min.getTimezoneOffset() * 60000).toISOString().slice(0, 16); + noteCreateTimeInput.value = localISO; + checkChanges(); + } + } + }; + + noteCreateTimeInput.addEventListener('focus', setDefaultNoteTime); + noteCreateTimeInput.addEventListener('click', setDefaultNoteTime); } if (this.noteQuill) { this.noteQuill.on('text-change', checkChanges);