fix: corretta gestione proprietario e responsaibile da pagina ticket e a mio carico
This commit is contained in:
@@ -100,6 +100,13 @@ const TicketListView = {
|
|||||||
${(App.lookups.users || []).map(u => `<option value="${u.id}">${u.first_name} ${u.last_name}</option>`).join('')}
|
${(App.lookups.users || []).map(u => `<option value="${u.id}">${u.first_name} ${u.last_name}</option>`).join('')}
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="filter-group">
|
||||||
|
<span class="filter-label">Responsabile</span>
|
||||||
|
<select class="filter-select" id="batch-responsible">
|
||||||
|
<option value="">—</option>
|
||||||
|
${(App.lookups.users || []).map(u => `<option value="${u.id}">${u.first_name} ${u.last_name}</option>`).join('')}
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
<div class="filter-group" style="position:relative;">
|
<div class="filter-group" style="position:relative;">
|
||||||
<span class="filter-label">Cliente</span>
|
<span class="filter-label">Cliente</span>
|
||||||
<input type="text" class="form-input filter-select" id="batch-customer-search" placeholder="Cerca cliente..." autocomplete="off" style="width:160px; padding: 4px 8px; font-family: inherit; font-size: 0.85rem;" />
|
<input type="text" class="form-input filter-select" id="batch-customer-search" placeholder="Cerca cliente..." autocomplete="off" style="width:160px; padding: 4px 8px; font-family: inherit; font-size: 0.85rem;" />
|
||||||
@@ -429,6 +436,8 @@ const TicketListView = {
|
|||||||
if (batchQueue) batchQueue.value = '';
|
if (batchQueue) batchQueue.value = '';
|
||||||
const batchOwner = document.getElementById('batch-owner');
|
const batchOwner = document.getElementById('batch-owner');
|
||||||
if (batchOwner) batchOwner.value = '';
|
if (batchOwner) batchOwner.value = '';
|
||||||
|
const batchResponsible = document.getElementById('batch-responsible');
|
||||||
|
if (batchResponsible) batchResponsible.value = '';
|
||||||
|
|
||||||
this.updateBatchBar();
|
this.updateBatchBar();
|
||||||
});
|
});
|
||||||
@@ -559,6 +568,7 @@ const TicketListView = {
|
|||||||
const batchState = document.getElementById('batch-state')?.value;
|
const batchState = document.getElementById('batch-state')?.value;
|
||||||
const batchQueue = document.getElementById('batch-queue')?.value;
|
const batchQueue = document.getElementById('batch-queue')?.value;
|
||||||
const batchOwner = document.getElementById('batch-owner')?.value;
|
const batchOwner = document.getElementById('batch-owner')?.value;
|
||||||
|
const batchResponsible = document.getElementById('batch-responsible')?.value;
|
||||||
const batchCustomerSearch = document.getElementById('batch-customer-search')?.value.trim();
|
const batchCustomerSearch = document.getElementById('batch-customer-search')?.value.trim();
|
||||||
let batchCustomerUserId = document.getElementById('batch-customer-user-id')?.value;
|
let batchCustomerUserId = document.getElementById('batch-customer-user-id')?.value;
|
||||||
let batchCustomerId = document.getElementById('batch-customer-id')?.value;
|
let batchCustomerId = document.getElementById('batch-customer-id')?.value;
|
||||||
@@ -573,6 +583,11 @@ const TicketListView = {
|
|||||||
if (batchState) updates.ticket_state_id = parseInt(batchState);
|
if (batchState) updates.ticket_state_id = parseInt(batchState);
|
||||||
if (batchQueue) updates.queue_id = parseInt(batchQueue);
|
if (batchQueue) updates.queue_id = parseInt(batchQueue);
|
||||||
if (batchOwner) updates.user_id = parseInt(batchOwner);
|
if (batchOwner) updates.user_id = parseInt(batchOwner);
|
||||||
|
if (batchResponsible) {
|
||||||
|
updates.responsible_user_id = parseInt(batchResponsible);
|
||||||
|
} else if (batchOwner) {
|
||||||
|
updates.responsible_user_id = parseInt(batchOwner);
|
||||||
|
}
|
||||||
if (batchCustomerUserId) updates.customer_user_id = batchCustomerUserId;
|
if (batchCustomerUserId) updates.customer_user_id = batchCustomerUserId;
|
||||||
if (batchCustomerId) updates.customer_id = batchCustomerId;
|
if (batchCustomerId) updates.customer_id = batchCustomerId;
|
||||||
|
|
||||||
|
|||||||
+2
-1
@@ -1418,6 +1418,7 @@ router.patch('/batch/update', async (req, res) => {
|
|||||||
if (updates.ticket_priority_id !== undefined) ticketFields.PriorityID = updates.ticket_priority_id;
|
if (updates.ticket_priority_id !== undefined) ticketFields.PriorityID = updates.ticket_priority_id;
|
||||||
if (updates.queue_id !== undefined) ticketFields.QueueID = updates.queue_id;
|
if (updates.queue_id !== undefined) ticketFields.QueueID = updates.queue_id;
|
||||||
if (updates.user_id !== undefined) ticketFields.OwnerID = updates.user_id;
|
if (updates.user_id !== undefined) ticketFields.OwnerID = updates.user_id;
|
||||||
|
if (updates.responsible_user_id !== undefined) ticketFields.ResponsibleID = updates.responsible_user_id;
|
||||||
if (updates.customer_id !== undefined) ticketFields.CustomerID = updates.customer_id;
|
if (updates.customer_id !== undefined) ticketFields.CustomerID = updates.customer_id;
|
||||||
if (updates.customer_user_id !== undefined) ticketFields.CustomerUser = updates.customer_user_id;
|
if (updates.customer_user_id !== undefined) ticketFields.CustomerUser = updates.customer_user_id;
|
||||||
|
|
||||||
@@ -1470,7 +1471,7 @@ router.patch('/batch/update', async (req, res) => {
|
|||||||
try {
|
try {
|
||||||
await client.query('BEGIN');
|
await client.query('BEGIN');
|
||||||
|
|
||||||
const allowedFields = ['ticket_state_id', 'ticket_priority_id', 'queue_id', 'user_id', 'customer_id', 'customer_user_id'];
|
const allowedFields = ['ticket_state_id', 'ticket_priority_id', 'queue_id', 'user_id', 'responsible_user_id', 'customer_id', 'customer_user_id'];
|
||||||
const setClauses = [];
|
const setClauses = [];
|
||||||
const setParams = [];
|
const setParams = [];
|
||||||
let pIdx = 1;
|
let pIdx = 1;
|
||||||
|
|||||||
Reference in New Issue
Block a user