From a89605b888395c6019d274405eb7788cd9438912 Mon Sep 17 00:00:00 2001 From: Gabriele Cimaschi Date: Thu, 9 Jul 2026 08:36:03 +0200 Subject: [PATCH] =?UTF-8?q?feat:=20gestione=20gruppi=20di=20ticket.=20feat?= =?UTF-8?q?:=20miglioramento=20filtri=20ticket=20a=20mio=20carico=20e=20ti?= =?UTF-8?q?cket.=20feat:=20possiblit=C3=A0=20di=20copiare=20il=20numero=20?= =?UTF-8?q?del=20tocket=20con=20pulsante=20copia?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .agents/rules/notifiche-browser.md | 5 + activityDb.js | 30 ++ public/index.html | 31 +- public/js/app.js | 92 +++++ public/js/components/filters.js | 603 +++++++++++++++++++++-------- public/js/views/signatures.js | 3 +- public/js/views/ticketCreate.js | 18 +- public/js/views/ticketDetail.js | 82 +++- public/js/views/ticketGroups.js | 579 +++++++++++++++++++++++++++ public/js/views/ticketList.js | 45 ++- routes/groups.js | 241 ++++++++++++ routes/presets.js | 72 ++++ routes/tickets.js | 51 ++- server.js | 4 + 14 files changed, 1674 insertions(+), 182 deletions(-) create mode 100644 .agents/rules/notifiche-browser.md create mode 100644 public/js/views/ticketGroups.js create mode 100644 routes/groups.js create mode 100644 routes/presets.js diff --git a/.agents/rules/notifiche-browser.md b/.agents/rules/notifiche-browser.md new file mode 100644 index 0000000..d0bea2e --- /dev/null +++ b/.agents/rules/notifiche-browser.md @@ -0,0 +1,5 @@ +--- +trigger: always_on +--- + +Non usare le notifiche native dei browser. \ No newline at end of file diff --git a/activityDb.js b/activityDb.js index 545e6c5..75d4f4e 100644 --- a/activityDb.js +++ b/activityDb.js @@ -47,6 +47,36 @@ db.exec(` ) `); +db.exec(` + CREATE TABLE IF NOT EXISTS ticket_groups ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + nome TEXT NOT NULL, + descrizione TEXT, + master_ticket_id INTEGER, + created_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ', 'now')) + ) +`); + +db.exec(` + CREATE TABLE IF NOT EXISTS ticket_group_members ( + group_id INTEGER NOT NULL, + ticket_id INTEGER NOT NULL, + PRIMARY KEY (group_id, ticket_id), + FOREIGN KEY (group_id) REFERENCES ticket_groups (id) ON DELETE CASCADE + ) +`); + +db.exec(` + CREATE TABLE IF NOT EXISTS filter_presets ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + agent_id INTEGER NOT NULL, + name TEXT NOT NULL, + page_mode TEXT NOT NULL, + filters_json TEXT NOT NULL, + created_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ', 'now')) + ) +`); + try { db.exec(`ALTER TABLE agent_settings ADD COLUMN tickets_per_page INTEGER NOT NULL DEFAULT 50`); } catch (e) { diff --git a/public/index.html b/public/index.html index eaff90b..a9c9ab7 100644 --- a/public/index.html +++ b/public/index.html @@ -60,6 +60,17 @@ +
  • + + + + + + + + Gruppi Ticket + +
  • @@ -80,6 +91,16 @@ Apertura Massiva
  • +
    +
  • + + + + + + Firme Email + +
  • @@ -89,15 +110,6 @@ Storico Attività Turbo
  • -
  • - - - - - - Firme Email - -