diff --git a/public/js/views/ricercaSpudorata.js b/public/js/views/ricercaSpudorata.js index 687549a..6a7417b 100644 --- a/public/js/views/ricercaSpudorata.js +++ b/public/js/views/ricercaSpudorata.js @@ -496,6 +496,9 @@ const RicercaSpudorataView = { const batchApply = document.getElementById('batch-apply'); if (batchApply) batchApply.addEventListener('click', () => this.applyBatch()); + const batchAddGroup = document.getElementById('batch-add-group'); + if (batchAddGroup) batchAddGroup.addEventListener('click', () => this.addToGroup()); + const batchMerge = document.getElementById('batch-merge'); if (batchMerge) batchMerge.addEventListener('click', () => this.mergeBatch()); @@ -716,10 +719,10 @@ const RicercaSpudorataView = { } try { - const ticketIds = Array.from(this.selectedIds).map(id => parseInt(id)); - const res = await App.api('/api/tickets/batch', { - method: 'POST', - body: JSON.stringify({ ticketIds, updates }) + const ticket_ids = Array.from(this.selectedIds).map(id => parseInt(id, 10)); + const res = await App.api('/api/tickets/batch/update', { + method: 'PATCH', + body: JSON.stringify({ ticket_ids, updates }) }); Toast.success(res.message || 'Ticket aggiornati con successo'); @@ -745,6 +748,12 @@ const RicercaSpudorataView = { t.owner_last = foundUser.last_name; } } + if (updates.responsible_user_id) { + t.responsible_user_id = updates.responsible_user_id; + } + if (updates.type_id) { + t.type_id = updates.type_id; + } } }); } @@ -756,6 +765,77 @@ const RicercaSpudorataView = { } }, + async addToGroup() { + if (this.selectedIds.size === 0) return; + + try { + const groups = await App.api('/api/groups'); + if (!groups || groups.length === 0) { + Toast.warning('non sono presenti gruppi'); + return; + } + + const groupOptions = groups.map(g => ``).join(''); + const dialogHtml = ` +
Seleziona il gruppo a cui aggiungere i ${this.selectedIds.size} ticket selezionati:
+ +