From f8bdfacb3804e5e91d2530c75db41126bd6c18e0 Mon Sep 17 00:00:00 2001 From: Pek5892 Date: Wed, 23 Nov 2022 13:05:27 +0100 Subject: [PATCH 01/19] Aggiunta campi provvigione su righe promemoria --- modules/contratti/row-list.php | 6 ++++++ modules/ddt/row-list.php | 6 ++++++ modules/fatture/row-list.php | 5 +++++ modules/interventi/row-list.php | 5 +++++ modules/ordini/row-list.php | 5 +++++ modules/preventivi/row-list.php | 8 ++++++++ plugins/pianificazione_interventi/row-list.php | 6 ++++++ update/2_4_38.sql | 5 ++++- 8 files changed, 45 insertions(+), 1 deletion(-) diff --git a/modules/contratti/row-list.php b/modules/contratti/row-list.php index 329c0a46b..f2edecb5a 100755 --- a/modules/contratti/row-list.php +++ b/modules/contratti/row-list.php @@ -81,6 +81,12 @@ foreach ($righe as $riga) { echo ' '.$descrizione; + + if ($riga->isArticolo() && !empty($riga->articolo->barcode)) { + echo ' +
'.$riga->articolo->barcode.''; + } + if (!empty($riga->note)) { echo '
'.nl2br($riga->note).''; diff --git a/modules/ddt/row-list.php b/modules/ddt/row-list.php index cb3cd4635..9cb513de0 100755 --- a/modules/ddt/row-list.php +++ b/modules/ddt/row-list.php @@ -119,6 +119,12 @@ foreach ($righe as $riga) { } } + if ($riga->isArticolo() && !empty($riga->articolo->barcode)) { + echo ' +
'.$riga->articolo->barcode.''; + } + + if (!empty($riga->note)) { echo '
'.nl2br($riga->note).''; diff --git a/modules/fatture/row-list.php b/modules/fatture/row-list.php index ab6eaadea..e1d0c697b 100755 --- a/modules/fatture/row-list.php +++ b/modules/fatture/row-list.php @@ -163,6 +163,11 @@ foreach ($righe as $riga) { } } + if ($riga->isArticolo() && !empty($riga->articolo->barcode)) { + echo ' +
'.$riga->articolo->barcode.''; + } + if (!empty($riga->note)) { echo '
'.nl2br($riga->note).''; diff --git a/modules/interventi/row-list.php b/modules/interventi/row-list.php index 9c13edf9b..fdb15c73c 100755 --- a/modules/interventi/row-list.php +++ b/modules/interventi/row-list.php @@ -107,6 +107,11 @@ echo ' } } + if ($riga->isArticolo() && !empty($riga->articolo->barcode)) { + echo ' +
'.$riga->articolo->barcode.''; + } + if (!empty($riga->note)) { echo '
'.nl2br($riga->note).''; diff --git a/modules/ordini/row-list.php b/modules/ordini/row-list.php index 8b6da5f43..2a8d027b4 100755 --- a/modules/ordini/row-list.php +++ b/modules/ordini/row-list.php @@ -135,6 +135,11 @@ foreach ($righe as $riga) { } } + if ($riga->isArticolo() && !empty($riga->articolo->barcode)) { + echo ' +
'.$riga->articolo->barcode.''; + } + if (!empty($riga->note)) { echo '
'.nl2br($riga->note).''; diff --git a/modules/preventivi/row-list.php b/modules/preventivi/row-list.php index 05ffd952f..1fda41cf1 100755 --- a/modules/preventivi/row-list.php +++ b/modules/preventivi/row-list.php @@ -82,6 +82,14 @@ foreach ($righe as $riga) { } echo ' '.$descrizione; + + + if ($riga->isArticolo() && !empty($riga->articolo->barcode)) { + echo ' +
'.$riga->articolo->barcode.''; + } + + if (!empty($riga->note)) { echo '
'.nl2br($riga->note).''; diff --git a/plugins/pianificazione_interventi/row-list.php b/plugins/pianificazione_interventi/row-list.php index 6ed41a16d..8ed5e072b 100755 --- a/plugins/pianificazione_interventi/row-list.php +++ b/plugins/pianificazione_interventi/row-list.php @@ -80,6 +80,12 @@ if (!$righe->isEmpty()) {
'.tr('SN').': '.implode(', ', $serials); } } + + if ($riga->isArticolo() && !empty($riga->articolo->barcode)) { + echo ' +
'.$riga->articolo->barcode.''; + } + echo ' '; diff --git a/update/2_4_38.sql b/update/2_4_38.sql index 2e36fc09a..d522efdbd 100644 --- a/update/2_4_38.sql +++ b/update/2_4_38.sql @@ -609,4 +609,7 @@ WHERE HAVING 2=2 ORDER BY - an_anagrafiche.ragione_sociale" WHERE `name` = 'Listini'; \ No newline at end of file + an_anagrafiche.ragione_sociale" WHERE `name` = 'Listini'; + +-- Aggiunta campi provvigione su righe promemoria +ALTER TABLE `co_righe_promemoria` ADD `provvigione` DECIMAL(15,6) NOT NULL AFTER `prezzo_unitario_ivato`, ADD `provvigione_unitaria` DECIMAL(15,6) NOT NULL AFTER `provvigione`, ADD `provvigione_percentuale` DECIMAL(15,6) NOT NULL AFTER `provvigione_unitaria`, ADD `tipo_provvigione` ENUM('UNT','PRC') NOT NULL DEFAULT 'UNT' AFTER `provvigione_percentuale`; \ No newline at end of file From acabbf57dd4b04b4742bc0fa826ca1db3434efd3 Mon Sep 17 00:00:00 2001 From: Pek5892 Date: Wed, 23 Nov 2022 13:16:29 +0100 Subject: [PATCH 02/19] Ottimizzazione query vista stampe --- update/2_4_38.sql | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/update/2_4_38.sql b/update/2_4_38.sql index d522efdbd..4fc7db852 100644 --- a/update/2_4_38.sql +++ b/update/2_4_38.sql @@ -612,4 +612,20 @@ ORDER BY an_anagrafiche.ragione_sociale" WHERE `name` = 'Listini'; -- Aggiunta campi provvigione su righe promemoria -ALTER TABLE `co_righe_promemoria` ADD `provvigione` DECIMAL(15,6) NOT NULL AFTER `prezzo_unitario_ivato`, ADD `provvigione_unitaria` DECIMAL(15,6) NOT NULL AFTER `provvigione`, ADD `provvigione_percentuale` DECIMAL(15,6) NOT NULL AFTER `provvigione_unitaria`, ADD `tipo_provvigione` ENUM('UNT','PRC') NOT NULL DEFAULT 'UNT' AFTER `provvigione_percentuale`; \ No newline at end of file +ALTER TABLE `co_righe_promemoria` ADD `provvigione` DECIMAL(15,6) NOT NULL AFTER `prezzo_unitario_ivato`, ADD `provvigione_unitaria` DECIMAL(15,6) NOT NULL AFTER `provvigione`, ADD `provvigione_percentuale` DECIMAL(15,6) NOT NULL AFTER `provvigione_unitaria`, ADD `tipo_provvigione` ENUM('UNT','PRC') NOT NULL DEFAULT 'UNT' AFTER `provvigione_percentuale`; + +-- Ottimizzazione query vista Stampe +UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = 'zz_modules.NAME' WHERE `zz_modules`.`name` = 'Stampe' AND `zz_views`.`name` = 'Modulo'; +UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = 'zz_prints.id' WHERE `zz_modules`.`name` = 'Stampe' AND `zz_views`.`name` = 'id'; +UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = 'zz_prints.title' WHERE `zz_modules`.`name` = 'Stampe' AND `zz_views`.`name` = 'Titolo'; +UPDATE `zz_modules` SET `options` = "SELECT + |select| + FROM + `zz_prints` + LEFT JOIN zz_modules ON zz_modules.id = zz_prints.id_module +WHERE + 1=1 +AND + zz_prints.enabled=1 +HAVING + 2=2" WHERE `name` = 'Stampe'; \ No newline at end of file From 972d16fefc46582b9f4bf0426f26d19a6db1ecdc Mon Sep 17 00:00:00 2001 From: Pek5892 Date: Wed, 23 Nov 2022 15:07:45 +0100 Subject: [PATCH 03/19] fix minore --- update/2_4_38.sql | 2 ++ 1 file changed, 2 insertions(+) diff --git a/update/2_4_38.sql b/update/2_4_38.sql index 4fc7db852..0c44d0e36 100644 --- a/update/2_4_38.sql +++ b/update/2_4_38.sql @@ -478,6 +478,8 @@ WHERE 1=1 AND `dir` = 'uscita' |segment(`co_documenti`.`id_segment`)||date_period(custom, '|period_start|' <= `co_documenti`.`data` AND '|period_end|' >= `co_documenti`.`data`, '|period_start|' <= `co_documenti`.`data_competenza` AND '|period_end|' >= `co_documenti`.`data_competenza` )| +GROUP BY + co_documenti.id HAVING 2=2 ORDER BY From 5d17f6530f761d07bfc7d2732398db443922be09 Mon Sep 17 00:00:00 2001 From: Pek5892 Date: Wed, 23 Nov 2022 15:27:49 +0100 Subject: [PATCH 04/19] Ottimizzazione query vista Articoli --- update/2_4_38.sql | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/update/2_4_38.sql b/update/2_4_38.sql index 0c44d0e36..f318a11c6 100644 --- a/update/2_4_38.sql +++ b/update/2_4_38.sql @@ -630,4 +630,26 @@ WHERE AND zz_prints.enabled=1 HAVING - 2=2" WHERE `name` = 'Stampe'; \ No newline at end of file + 2=2" WHERE `name` = 'Stampe'; + + +-- Ottimizzazione query vista Articoli +UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = 'IF( co_iva.percentuale IS NOT NULL, (mg_articoli.prezzo_vendita + mg_articoli.prezzo_vendita * co_iva.percentuale / 100), mg_articoli.prezzo_vendita + mg_articoli.prezzo_vendita*iva.perc/100)' WHERE `zz_modules`.`name` = 'Articoli' AND `zz_views`.`name` = 'Prezzo vendita ivato'; +UPDATE `zz_modules` SET `options` = "SELECT + |select| +FROM + `mg_articoli` + LEFT JOIN an_anagrafiche ON mg_articoli.id_fornitore = an_anagrafiche.idanagrafica + LEFT JOIN co_iva ON mg_articoli.idiva_vendita = co_iva.id + LEFT JOIN (SELECT SUM(or_righe_ordini.qta - or_righe_ordini.qta_evasa) AS qta_impegnata, or_righe_ordini.idarticolo FROM or_righe_ordini INNER JOIN or_ordini ON or_righe_ordini.idordine = or_ordini.id INNER JOIN or_tipiordine ON or_ordini.idtipoordine = or_tipiordine.id INNER JOIN or_statiordine ON or_ordini.idstatoordine = or_statiordine.id WHERE or_tipiordine.dir = 'entrata' AND or_righe_ordini.confermato = 1 AND or_statiordine.impegnato = 1 GROUP BY idarticolo) a ON a.idarticolo = mg_articoli.id + LEFT JOIN (SELECT SUM(or_righe_ordini.qta - or_righe_ordini.qta_evasa) AS qta_ordinata, or_righe_ordini.idarticolo FROM or_righe_ordini INNER JOIN or_ordini ON or_righe_ordini.idordine = or_ordini.id INNER JOIN or_tipiordine ON or_ordini.idtipoordine = or_tipiordine.id INNER JOIN or_statiordine ON or_ordini.idstatoordine = or_statiordine.id WHERE or_tipiordine.dir = 'uscita' AND or_righe_ordini.confermato = 1 AND or_statiordine.impegnato = 1 + GROUP BY idarticolo) ordini_fornitore ON ordini_fornitore.idarticolo = mg_articoli.id + LEFT JOIN mg_categorie ON mg_articoli.id_categoria = mg_categorie.id + LEFT JOIN mg_categorie AS sottocategorie ON mg_articoli.id_sottocategoria = sottocategorie.id + LEFT JOIN (SELECT co_iva.percentuale AS perc, co_iva.id, zz_settings.nome FROM co_iva INNER JOIN zz_settings ON co_iva.id=zz_settings.valore)AS iva ON iva.nome= 'Iva predefinita' +WHERE + 1=1 AND(`mg_articoli`.`deleted_at`) IS NULL +HAVING + 2=2 +ORDER BY + `mg_articoli`.`descrizione`" WHERE `name` = 'Articoli'; \ No newline at end of file From e6ecb6f6a54b5df2ca3cca719cc68b6b690f884a Mon Sep 17 00:00:00 2001 From: Pek5892 Date: Wed, 23 Nov 2022 15:37:22 +0100 Subject: [PATCH 05/19] Ottimizzazione query vista Utenti e permessi --- update/2_4_38.sql | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/update/2_4_38.sql b/update/2_4_38.sql index f318a11c6..16b7a9985 100644 --- a/update/2_4_38.sql +++ b/update/2_4_38.sql @@ -652,4 +652,24 @@ WHERE HAVING 2=2 ORDER BY - `mg_articoli`.`descrizione`" WHERE `name` = 'Articoli'; \ No newline at end of file + `mg_articoli`.`descrizione`" WHERE `name` = 'Articoli'; + + +-- Ottimizzazione query vista Utenti e permessi +UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = '`nome`' WHERE `zz_modules`.`name` = 'Utenti e permessi' AND `zz_views`.`name` = 'Gruppo'; +UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = '`zz_groups`.`id`' WHERE `zz_modules`.`name` = 'Utenti e permessi' AND `zz_views`.`name` = 'id'; +UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = '`utenti`.`num`' WHERE `zz_modules`.`name` = 'Utenti e permessi' AND `zz_views`.`name` = 'N. utenti'; +UPDATE `zz_modules` SET `options` = "SELECT + |select| +FROM + `zz_groups` + LEFT JOIN (SELECT `zz_users`.`id`, COUNT(`id`) AS num FROM `zz_users` GROUP BY `id`) AS utenti ON `zz_groups`.`id`=`utenti`.`id` +WHERE + 1=1 +HAVING + 2=2 +ORDER BY + `id`, + `nome` ASC" WHERE `name` = 'Utenti e permessi'; + + From 8a19e433bdc15b3043307a01d4b915780b96bf4a Mon Sep 17 00:00:00 2001 From: Pek5892 Date: Wed, 23 Nov 2022 16:27:44 +0100 Subject: [PATCH 06/19] Ottimizzazione query vista Listini cliente --- update/2_4_38.sql | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/update/2_4_38.sql b/update/2_4_38.sql index 16b7a9985..ea70278af 100644 --- a/update/2_4_38.sql +++ b/update/2_4_38.sql @@ -673,3 +673,20 @@ ORDER BY `nome` ASC" WHERE `name` = 'Utenti e permessi'; +-- Ottimizzazione query vista Listini cliente +UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = '`mg_listini`.`id`' WHERE `zz_modules`.`name` = 'Listini cliente' AND `zz_views`.`name` = 'id'; +UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = '`mg_listini`.`id`' WHERE `zz_modules`.`name` = 'Listini cliente' AND `zz_views`.`name` = 'id'; +UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = '`articoli`.`num`' WHERE `zz_modules`.`name` = 'Listini cliente' AND `zz_views`.`name` = 'Articoli'; +UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = '`anagrafiche`.`num`' WHERE `zz_modules`.`name` = 'Listini cliente' AND `zz_views`.`name` = 'Anagrafiche'; +UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = '`utente`.`username`' WHERE `zz_modules`.`name` = 'Listini cliente' AND `zz_views`.`name` = 'Ultima modifica'; +UPDATE `zz_modules` SET `options` = "SELECT + |select| +FROM + `mg_listini` + LEFT JOIN (SELECT `mg_listini_articoli`.`id_listino`, COUNT(`id_listino`) AS num FROM `mg_listini_articoli` GROUP BY `id_listino`) AS articoli ON `mg_listini`.`id`=`articoli`.`id_listino` + LEFT JOIN (SELECT `an_anagrafiche`.`id_listino`, COUNT(`id_listino`) AS num FROM `an_anagrafiche` GROUP BY `id_listino`) AS anagrafiche ON `mg_listini`.`id`=`anagrafiche`.`id_listino` + LEFT JOIN (SELECT `zz_users`.`id`, `zz_users`.`username` FROM `zz_users` INNER JOIN (SELECT `id_utente`, `id_record` FROM `zz_operations` INNER JOIN `zz_modules` ON `zz_modules`.`NAME` = 'Listini cliente' ORDER BY `id_utente` DESC LIMIT 0, 1) AS `id`) AS `utente` ON `utente`.`id` = `mg_listini`.`id` +WHERE + 1=1 +HAVING + 2=2" WHERE `name` = 'Listini cliente'; From ed1e1980c6dbbbf10ecf59d646d9632b0cbcd6c2 Mon Sep 17 00:00:00 2001 From: Matteo Date: Wed, 23 Nov 2022 16:45:46 +0100 Subject: [PATCH 07/19] Fix login tramite api --- api/index.php | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/api/index.php b/api/index.php index fd5ef0b00..08738786c 100755 --- a/api/index.php +++ b/api/index.php @@ -34,9 +34,6 @@ register_shutdown_function('serverError'); include_once __DIR__.'/../core.php'; -// Disabilita la sessione per l'API -session_write_close(); - // Permesso di accesso all'API da ogni dispositivo header('Access-Control-Allow-Origin: *'); header('Access-Control-Allow-Methods: POST, GET, PUT, DELETE, OPTIONS'); @@ -67,3 +64,5 @@ if (json_last_error() == JSON_ERROR_NONE) { // Stampa dei risultati echo $response; + +Auth::logout(); \ No newline at end of file From 83c1024c42d811c8277d412e47896b50ac2859c0 Mon Sep 17 00:00:00 2001 From: Pek5892 Date: Wed, 23 Nov 2022 17:35:53 +0100 Subject: [PATCH 08/19] Allineamento query vista Piani di sconto/maggioraz --- update/2_4_38.sql | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/update/2_4_38.sql b/update/2_4_38.sql index ea70278af..fc8d9a3f5 100644 --- a/update/2_4_38.sql +++ b/update/2_4_38.sql @@ -690,3 +690,16 @@ WHERE 1=1 HAVING 2=2" WHERE `name` = 'Listini cliente'; + + +-- Allineamento query vista Piani di sconto/maggiorazione +UPDATE `zz_modules` SET `options` = "SELECT + |select| +FROM + `mg_piani_sconto` +WHERE + 1=1 +HAVING + 2=2 +ORDER BY + `nome`" WHERE `name` = 'Piani di scondo/maggiorazione'; \ No newline at end of file From b4d02ba4ab42ed5d8be490b342e3330044e42410 Mon Sep 17 00:00:00 2001 From: Pek5892 Date: Wed, 23 Nov 2022 17:40:20 +0100 Subject: [PATCH 09/19] fix minore --- update/2_4_38.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/update/2_4_38.sql b/update/2_4_38.sql index fc8d9a3f5..5a62ffa9a 100644 --- a/update/2_4_38.sql +++ b/update/2_4_38.sql @@ -702,4 +702,4 @@ WHERE HAVING 2=2 ORDER BY - `nome`" WHERE `name` = 'Piani di scondo/maggiorazione'; \ No newline at end of file + `nome`" WHERE `name` = 'Piani di sconto/maggiorazione'; \ No newline at end of file From b4ee59d4d9b07802073b3d3e107ef171b6734b47 Mon Sep 17 00:00:00 2001 From: Pek5892 Date: Thu, 24 Nov 2022 11:09:35 +0100 Subject: [PATCH 10/19] Miglioria inserimento conti modello prima nota --- update/2_4_38.sql | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/update/2_4_38.sql b/update/2_4_38.sql index 5a62ffa9a..68c5ece1c 100644 --- a/update/2_4_38.sql +++ b/update/2_4_38.sql @@ -55,10 +55,17 @@ ORDER BY TRIM(`ragione_sociale`)" WHERE `name` = 'Anagrafiche'; -- Creazione modelli prima nota per liquidazione salari e stipendi +SELECT @numero := MAX(CAST(numero AS UNSIGNED))+10 FROM co_pianodeiconti3 WHERE idpianodeiconti2 = '8'; INSERT INTO `co_pianodeiconti3` (`id`, `numero`, `descrizione`, `idpianodeiconti2`, `dir`, `percentuale_deducibile`) VALUES -(NULL, '000080', 'Personale c/Retribuzioni', '8', '', '100.00'), -(NULL, '000090', 'INPS c/Competenza', '8', '', '100.00'), -(NULL, '000090', 'Erario c/Ritenute dipendenti', '5', '', '100.00'); +(NULL, LPAD(@numero, 6, '0'), 'Personale c/Retribuzioni', '8', '', '100.00'); + +SELECT @numero := MAX(CAST(numero AS UNSIGNED))+10 FROM co_pianodeiconti3 WHERE idpianodeiconti2 = '8'; +INSERT INTO `co_pianodeiconti3` (`id`, `numero`, `descrizione`, `idpianodeiconti2`, `dir`, `percentuale_deducibile`) VALUES +(NULL, LPAD(@numero, 6, '0'), 'INPS c/Competenza', '8', '', '100.00'); + +SELECT @numero := MAX(CAST(numero AS UNSIGNED))+10 FROM co_pianodeiconti3 WHERE idpianodeiconti2 = '5'; +INSERT INTO `co_pianodeiconti3` (`id`, `numero`, `descrizione`, `idpianodeiconti2`, `dir`, `percentuale_deducibile`) VALUES +(NULL, LPAD(@numero, 6, '0'), 'Erario c/Ritenute dipendenti', '5', '', '100.00'); SELECT @idmastrino := MAX(idmastrino)+1 FROM co_movimenti_modelli; INSERT INTO `co_movimenti_modelli` (`id`, `idmastrino`, `nome`, `descrizione`, `idconto`, `totale`) VALUES From 141b67055f2464933faafe246a75792661793d41 Mon Sep 17 00:00:00 2001 From: Luca Date: Thu, 24 Nov 2022 12:47:34 +0100 Subject: [PATCH 11/19] Fix validazione username Validazione gruppo utenti --- modules/ddt/add.php | 2 +- modules/utenti/add.php | 2 +- modules/utenti/components/base.php | 2 +- modules/utenti/validation.php | 21 ++++++++++++++++++++- src/HTMLBuilder/Wrapper/HTMLWrapper.php | 6 ++++-- 5 files changed, 27 insertions(+), 6 deletions(-) diff --git a/modules/ddt/add.php b/modules/ddt/add.php index 9336350ae..717b79881 100755 --- a/modules/ddt/add.php +++ b/modules/ddt/add.php @@ -53,7 +53,7 @@ $id_anagrafica = !empty(get('idanagrafica')) ? get('idanagrafica') : '';
- {[ "type": "select", "label": "", "name": "idanagrafica", "id": "idanagrafica_add", "required": 1, "value": "", "ajax-source": "clienti_fornitori", "icon-after": "add||tipoanagrafica=&readonly_tipo=1" ]} + {[ "type": "select", "label": "", "name": "idanagrafica", "id": "idanagrafica_add", "required": 1, "value": "", "ajax-source": "clienti_fornitori", "icon-after": "add||tipoanagrafica=" ]}
diff --git a/modules/utenti/add.php b/modules/utenti/add.php index afb7a3023..066da9a6a 100755 --- a/modules/utenti/add.php +++ b/modules/utenti/add.php @@ -25,7 +25,7 @@ include_once __DIR__.'/../../core.php';
- {[ "type": "text", "label": "", "name": "nome", "required": 1 ]} + {[ "type": "text", "label": "", "name": "nome", "required": 1, "validation": "gruppo", "help": "" ]}
diff --git a/modules/utenti/components/base.php b/modules/utenti/components/base.php index bf9d108df..6569a740a 100755 --- a/modules/utenti/components/base.php +++ b/modules/utenti/components/base.php @@ -26,7 +26,7 @@ if (!empty(filter('idanagrafica'))) { echo '
- {[ "type": "text", "label": "'.tr('Username').'", "name": "username", "required": 1, "value": "'.$utente['username'].'", "validation": "username||'.($utente['id'] ?: 0).'" ]} + {[ "type": "text", "label": "'.tr('Username').'", "name": "username", "required": 1, "value": "'.$utente['username'].'", "validation": "username|'.$id_module.'|'.($utente['id'] ?: 0).'" ]}
'; diff --git a/modules/utenti/validation.php b/modules/utenti/validation.php index 03888447f..c2440308b 100755 --- a/modules/utenti/validation.php +++ b/modules/utenti/validation.php @@ -19,6 +19,7 @@ include_once __DIR__.'/../../core.php'; +use Models\Group; use Models\User; $name = filter('name'); @@ -31,7 +32,7 @@ switch ($name) { ['id', '<>', $id_record], ])->count() == 0; - $message = $disponibile ? tr("L'username è disponbile") : tr("L'username è già in uso"); + $message = $disponibile ? tr("L'username è disponbile") : tr("L'username aa ".$id_record." è già in uso"); $result = $disponibile; // Lunghezza minima del nome utente (username) @@ -47,4 +48,22 @@ switch ($name) { ]; break; + + + case 'gruppo': + $disponibile = Group::where([ + ['nome', $value], + //['id', '<>', $id_record], + ])->count() == 0; + + $message = $disponibile ? tr("Il nome del gruppo è disponbile") : tr("Il nome per questo gruppo è già in uso"); + $result = $disponibile; + + $response = [ + 'result' => $result, + 'message' => $message, + ]; + + break; + } diff --git a/src/HTMLBuilder/Wrapper/HTMLWrapper.php b/src/HTMLBuilder/Wrapper/HTMLWrapper.php index ed1aa030b..3bcd40d5f 100755 --- a/src/HTMLBuilder/Wrapper/HTMLWrapper.php +++ b/src/HTMLBuilder/Wrapper/HTMLWrapper.php @@ -130,9 +130,11 @@ class HTMLWrapper implements WrapperInterface var icon = container.find("i"); var id_record = "'.$id_record.'"; - if ($(".modal-content").is(":visible")) { + + /*La validazione su finestra modali deve essere sempre permessa anche per record già esistenti*/ + /*if ($(".modal-content").is(":visible")) { var id_record = ""; - } + }*/ icon.attr("class", "fa fa-spinner fa-spin"); From 4afe2fa5e6f985014b054d4fd5a7dca9333a9212 Mon Sep 17 00:00:00 2001 From: Luca Date: Thu, 24 Nov 2022 15:49:50 +0100 Subject: [PATCH 12/19] =?UTF-8?q?Avviso=20gruppo=20o=20username=20gi=C3=A0?= =?UTF-8?q?=20in=20uso=20in=20fase=20di=20creazione=20/=20modifica?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/utenti/add.php | 22 +++++++++++++++++++--- modules/utenti/user.php | 4 ++++ src/HTMLBuilder/Wrapper/HTMLWrapper.php | 8 ++------ 3 files changed, 25 insertions(+), 9 deletions(-) diff --git a/modules/utenti/add.php b/modules/utenti/add.php index 066da9a6a..bfab4d6ad 100755 --- a/modules/utenti/add.php +++ b/modules/utenti/add.php @@ -21,18 +21,34 @@ include_once __DIR__.'/../../core.php'; ?>
- +
- {[ "type": "text", "label": "", "name": "nome", "required": 1, "validation": "gruppo", "help": "" ]} + {[ "type": "text", "label": "", "name": "nome", "required": 1, "validation": "gruppo", "help": "" ]}
- +
+ + + + \ No newline at end of file diff --git a/modules/utenti/user.php b/modules/utenti/user.php index 95865ee3e..df1de601d 100755 --- a/modules/utenti/user.php +++ b/modules/utenti/user.php @@ -112,6 +112,10 @@ function submitCheck() { if(username) { $("#user_update").submit(); + }else{ + $("input[name=username]").focus(); + swal("'.tr('Impossibile procedere').'", "'.tr('Nome utente già in uso').'", "error"); + } } diff --git a/src/HTMLBuilder/Wrapper/HTMLWrapper.php b/src/HTMLBuilder/Wrapper/HTMLWrapper.php index 3bcd40d5f..6abea7c0e 100755 --- a/src/HTMLBuilder/Wrapper/HTMLWrapper.php +++ b/src/HTMLBuilder/Wrapper/HTMLWrapper.php @@ -130,11 +130,7 @@ class HTMLWrapper implements WrapperInterface var icon = container.find("i"); var id_record = "'.$id_record.'"; - - /*La validazione su finestra modali deve essere sempre permessa anche per record già esistenti*/ - /*if ($(".modal-content").is(":visible")) { - var id_record = ""; - }*/ + var id_module = "'.$id_module.'"; icon.attr("class", "fa fa-spinner fa-spin"); @@ -142,7 +138,7 @@ class HTMLWrapper implements WrapperInterface url: globals.rootdir + "/actions.php", type: "post", data: { - id_module: "'.$id_module.'", + id_module: id_module, id_record: id_record, name: "'.$name.'", value: value, From 00407e11365130129d8897c94a09f7f144973e73 Mon Sep 17 00:00:00 2001 From: Pek5892 Date: Thu, 24 Nov 2022 16:28:51 +0100 Subject: [PATCH 13/19] Fix #1115 --- modules/import/actions.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/import/actions.php b/modules/import/actions.php index 7a318e382..3735895c6 100755 --- a/modules/import/actions.php +++ b/modules/import/actions.php @@ -69,7 +69,7 @@ switch (filter('op')) { // Inizializzazione del lettore CSV $csv = new $import_manager($record->filepath); foreach ($fields as $key => $value) { - $csv->setColumnAssociation($key, $value - 1); + $csv->setColumnAssociation($key, (int)$value - 1); } // Generazione offset sulla base della pagina From acacf591c8f14f07ef33a27007428c7704a8f5d3 Mon Sep 17 00:00:00 2001 From: Luca Date: Thu, 24 Nov 2022 18:55:19 +0100 Subject: [PATCH 14/19] Colore per il livello di permesso impostato --- modules/utenti/edit.php | 61 +++++++++++++++++++++++++++----------- modules/utenti/modutil.php | 31 ++++++++++++++----- 2 files changed, 67 insertions(+), 25 deletions(-) diff --git a/modules/utenti/edit.php b/modules/utenti/edit.php index 05d1af966..80efb11d5 100755 --- a/modules/utenti/edit.php +++ b/modules/utenti/edit.php @@ -24,7 +24,7 @@ $utenti = $dbo->fetchArray('SELECT *, (SELECT ragione_sociale FROM an_anagrafich echo '
-

'.tr('Utenti _GROUP_', [ +

'.tr('Utenti del gruppo: _GROUP_', [ '_GROUP_' => $record['nome'], ]).'

@@ -32,7 +32,7 @@ echo '
- {["type":"select", "label":"", "name":"id_module_start", "ajax-source":"moduli_gruppo", "select-options": '.json_encode(['idgruppo' => $record['id']]).', "placeholder":"'.tr('Modulo iniziale').'", "value":"'.$record['id_module_start'].'" ]} + {["type":"select", "label":"'.tr('Modulo iniziale').'", "name":"id_module_start", "ajax-source":"moduli_gruppo", "select-options": '.json_encode(['idgruppo' => $record['id']]).', "placeholder":"'.tr('Modulo iniziale').'", "value":"'.$record['id_module_start'].'" ]}

'; @@ -167,10 +167,9 @@ echo ' echo '
-

'.tr('Permessi _GROUP_', [ +

'.tr('Permessi del gruppo: _GROUP_', [ '_GROUP_' => $record['nome'], - ]).((empty($record['editable'])) ? ''.tr('Reimposta permessi').'' : '').'

- + ]).((empty($record['editable']) && ($record['nome'] != 'Amministratori')) ? ''.tr('Reimposta permessi').'' : '').'
'; @@ -209,17 +208,16 @@ echo '
'; // Eliminazione gruppo (se non è tra quelli di default) -if ($record['editable'] == 1) { - echo ' - - '; -} + +echo ' + +'; echo '