From d0884fb87ca1fb731bdecb8e770947a5896769cd Mon Sep 17 00:00:00 2001 From: Pek5892 Date: Wed, 27 Sep 2023 11:41:43 +0200 Subject: [PATCH 01/15] Miglioria modifica tipo documento #1336 --- modules/fatture/edit.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/fatture/edit.php b/modules/fatture/edit.php index f19e44a68..af332ee66 100755 --- a/modules/fatture/edit.php +++ b/modules/fatture/edit.php @@ -355,7 +355,7 @@ elseif ($record['stato'] == 'Bozza') {
- {[ "type": "select", "label": "", "name": "idtipodocumento", "required": 1, "values": "query=SELECT id, CONCAT_WS(\" - \",codice_tipo_documento_fe, descrizione) AS descrizione FROM co_tipidocumento WHERE dir='' AND (reversed = 0 OR id = ) ORDER BY codice_tipo_documento_fe", "value": "$idtipodocumento$", "readonly": , "help": "fetchOne('SELECT tipo FROM an_anagrafiche WHERE idanagrafica = '.prepare($record['idanagrafica']))['tipo'] == 'Ente pubblico') ? 'FPA12 - fattura verso PA (Ente pubblico)' : 'FPR12 - fattura verso soggetti privati (Azienda o Privato)'; ?>" ]} + {[ "type": "select", "label": "", "name": "idtipodocumento", "required": 1, "values": "query=SELECT id, CONCAT_WS(\" - \",codice_tipo_documento_fe, descrizione) AS descrizione FROM co_tipidocumento WHERE dir='' AND ((reversed = 0 AND id_segment ='') OR id = ) ORDER BY codice_tipo_documento_fe", "value": "$idtipodocumento$", "readonly": , "help": "fetchOne('SELECT tipo FROM an_anagrafiche WHERE idanagrafica = '.prepare($record['idanagrafica']))['tipo'] == 'Ente pubblico') ? 'FPA12 - fattura verso PA (Ente pubblico)' : 'FPR12 - fattura verso soggetti privati (Azienda o Privato)'; ?>" ]}
From af2f79f8179463652678b1695708edea924e373b Mon Sep 17 00:00:00 2001 From: Pek5892 Date: Wed, 27 Sep 2023 17:04:00 +0200 Subject: [PATCH 02/15] Aggiunta colore record nei documenti in base allo stato #1366 #1155 #1240 --- modules/contratti/edit.php | 2 +- modules/ddt/actions.php | 2 +- modules/ddt/edit.php | 8 +-- modules/fatture/edit.php | 4 +- modules/fatture/src/Fattura.php | 2 +- modules/ordini/actions.php | 2 +- modules/ordini/edit.php | 6 +- modules/preventivi/actions.php | 2 +- modules/preventivi/edit.php | 2 +- modules/stati_contratto/actions.php | 4 +- modules/stati_contratto/add.php | 16 +++++- modules/stati_contratto/edit.php | 19 ++++++- modules/stati_ordine/actions.php | 6 +- modules/stati_ordine/add.php | 16 +++++- modules/stati_ordine/edit.php | 18 +++++- update/2_4_50.sql | 87 +++++++++++++++++++++++++++++ 16 files changed, 173 insertions(+), 23 deletions(-) create mode 100644 update/2_4_50.sql diff --git a/modules/contratti/edit.php b/modules/contratti/edit.php index 349bf8b3f..359e719f0 100755 --- a/modules/contratti/edit.php +++ b/modules/contratti/edit.php @@ -101,7 +101,7 @@ echo '
- {[ "type": "select", "label": "", "name": "idstato", "required": 1, "values": "query=SELECT id, descrizione FROM co_staticontratti", "value": "$idstato$", "class": "unblockable" ]} + {[ "type": "select", "label": "", "name": "idstato", "required": 1, "values": "query=SELECT id, descrizione, colore AS _bgcolor_ FROM co_staticontratti ORDER BY descrizione", "value": "$idstato$", "class": "unblockable" ]}
diff --git a/modules/ddt/actions.php b/modules/ddt/actions.php index 4c49b1c21..7c529f769 100755 --- a/modules/ddt/actions.php +++ b/modules/ddt/actions.php @@ -736,7 +736,7 @@ switch (filter('op')) { $sconto = $listino['sconto_percentuale_listino']; } } - + if ($dir == 'entrata') { $prezzo_unitario = $prezzo_unitario ?: ($prezzi_ivati ? $riga->articolo->prezzo_vendita_ivato : $riga->articolo->prezzo_vendita); $riga->costo_unitario = $riga->articolo->prezzo_acquisto; diff --git a/modules/ddt/edit.php b/modules/ddt/edit.php index 438e6a9cf..65044b7dd 100755 --- a/modules/ddt/edit.php +++ b/modules/ddt/edit.php @@ -106,16 +106,16 @@ if ($dir == 'entrata') { if (setting('Cambia automaticamente stato ddt fatturati')) { if ($record['stato'] == 'Fatturato' || $record['stato'] == 'Parzialmente fatturato') { ?> - {[ "type": "select", "label": "", "name": "idstatoddt", "required": 1, "values": "query=SELECT * FROM dt_statiddt", "value": "$idstatoddt$", "extra": "readonly", "class": "unblockable" ]} + {[ "type": "select", "label": "", "name": "idstatoddt", "required": 1, "values": "query=SELECT *, colore AS _bgcolor_ FROM dt_statiddt ORDER BY descrizione", "value": "$idstatoddt$", "extra": "readonly", "class": "unblockable" ]} - {[ "type": "select", "label": "", "name": "idstatoddt", "required": 1, "values": "query=SELECT * FROM dt_statiddt WHERE descrizione IN('Bozza', 'Evaso', 'Parzialmente evaso')", "value": "$idstatoddt$", "class": "unblockable" ]} + {[ "type": "select", "label": "", "name": "idstatoddt", "required": 1, "values": "query=SELECT *, colore AS _bgcolor_ FROM dt_statiddt WHERE descrizione IN('Bozza', 'Evaso', 'Parzialmente evaso') ORDER BY descrizione", "value": "$idstatoddt$", "class": "unblockable" ]} - {[ "type": "select", "label": "", "name": "idstatoddt", "required": 1, "values": "query=SELECT * FROM dt_statiddt", "value": "$idstatoddt$", "class": "unblockable" ]} + {[ "type": "select", "label": "", "name": "idstatoddt", "required": 1, "values": "query=SELECT *, colore AS _bgcolor_ FROM dt_statiddt ORDER BY descrizione", "value": "$idstatoddt$", "class": "unblockable" ]} @@ -180,7 +180,7 @@ if ($dir == 'entrata') {
anagrafica->sedeLegale; + $sede_anagrafica = $ddt->anagrafica->sedeLegale; $id_sede_anagrafica = $dir == 'entrata' ? $ddt->idsede_destinazione : $ddt->idsede_partenza; if (!empty($id_sede_anagrafica)) { $sede_anagrafica = Sede::find($id_sede_anagrafica); diff --git a/modules/fatture/edit.php b/modules/fatture/edit.php index af332ee66..9102f909e 100755 --- a/modules/fatture/edit.php +++ b/modules/fatture/edit.php @@ -238,7 +238,7 @@ if ($dir == 'entrata') { numero_esterno = null; + $new->numero_esterno = ''; $new->numero = Fattura::getNextNumero($now, $new->direzione, $new->id_segment); // Rimozione informazioni di Fattura Elettronica diff --git a/modules/ordini/actions.php b/modules/ordini/actions.php index 55066f6ea..3129c189b 100755 --- a/modules/ordini/actions.php +++ b/modules/ordini/actions.php @@ -825,4 +825,4 @@ switch (post('op')) { } break; -} \ No newline at end of file +} diff --git a/modules/ordini/edit.php b/modules/ordini/edit.php index aa7d37c7e..57e00002c 100755 --- a/modules/ordini/edit.php +++ b/modules/ordini/edit.php @@ -60,16 +60,16 @@ if ($module['name'] == 'Ordini cliente') { if (setting('Cambia automaticamente stato ordini fatturati')) { if ($record['stato'] == 'Evaso' || $record['stato'] == 'Parzialmente evaso' || $record['stato'] == 'Fatturato' || $record['stato'] == 'Parzialmente fatturato') { ?> - {[ "type": "select", "label": "", "name": "idstatoordine", "required": 1, "values": "query=SELECT * FROM or_statiordine", "value": "$idstatoordine$", "extra": "readonly", "class": "unblockable" ]} + {[ "type": "select", "label": "", "name": "idstatoordine", "required": 1, "values": "query=SELECT *, colore AS _bgcolor_ FROM or_statiordine ORDER BY descrizione", "value": "$idstatoordine$", "extra": "readonly", "class": "unblockable" ]} - {[ "type": "select", "label": "", "name": "idstatoordine", "required": 1, "values": "query=SELECT * FROM or_statiordine WHERE descrizione IN('Bozza', 'Accettato', 'In attesa di conferma', 'Annullato')", "value": "$idstatoordine$", "class": "unblockable" ]} + {[ "type": "select", "label": "", "name": "idstatoordine", "required": 1, "values": "query=SELECT *, colore AS _bgcolor_ FROM or_statiordine WHERE descrizione IN('Bozza', 'Accettato', 'In attesa di conferma', 'Annullato') ORDER BY descrizione", "value": "$idstatoordine$", "class": "unblockable" ]} - {[ "type": "select", "label": "", "name": "idstatoordine", "required": 1, "values": "query=SELECT * FROM or_statiordine", "value": "$idstatoordine$", "class": "unblockable" ]} + {[ "type": "select", "label": "", "name": "idstatoordine", "required": 1, "values": "query=SELECT *, colore AS _bgcolor_ FROM or_statiordine ORDER BY descrizione", "value": "$idstatoordine$", "class": "unblockable" ]} diff --git a/modules/preventivi/actions.php b/modules/preventivi/actions.php index ef0bdfcef..b7fc3e487 100755 --- a/modules/preventivi/actions.php +++ b/modules/preventivi/actions.php @@ -624,4 +624,4 @@ switch (post('op')) { } break; -} \ No newline at end of file +} diff --git a/modules/preventivi/edit.php b/modules/preventivi/edit.php index 5af9a4d31..87eb8c13e 100755 --- a/modules/preventivi/edit.php +++ b/modules/preventivi/edit.php @@ -115,7 +115,7 @@ echo '
- {[ "type": "select", "label": "", "name": "idstato", "required": 1, "values": "query=SELECT id, descrizione FROM co_statipreventivi", "value": "$idstato$", "class": "unblockable" ]} + {[ "type": "select", "label": "", "name": "idstato", "required": 1, "values": "query=SELECT id, descrizione, colore AS _bgcolor_ FROM co_statipreventivi ORDER BY descrizione", "value": "$idstato$", "class": "unblockable" ]}
diff --git a/modules/stati_contratto/actions.php b/modules/stati_contratto/actions.php index 21bf277cb..f09074eb8 100755 --- a/modules/stati_contratto/actions.php +++ b/modules/stati_contratto/actions.php @@ -24,6 +24,7 @@ switch (post('op')) { $dbo->update('co_staticontratti', [ 'descrizione' => (count($dbo->fetchArray('SELECT descrizione FROM co_staticontratti WHERE descrizione = '.prepare(post('descrizione')))) > 0) ? $dbo->fetchOne('SELECT descrizione FROM co_staticontratti WHERE id ='.$id_record)['descrizione'] : post('descrizione'), 'icona' => post('icona'), + 'colore' => post('colore'), 'is_completato' => post('is_completato') ?: null, 'is_fatturabile' => post('is_fatturabile') ?: null, 'is_pianificabile' => post('is_pianificabile') ?: null, @@ -36,6 +37,7 @@ switch (post('op')) { case 'add': $descrizione = post('descrizione'); $icona = post('icona'); + $colore = post('colore'); $is_completato = post('is_completato') ?: null; $is_fatturabile = post('is_fatturabile') ?: null; $is_pianificabile = post('is_pianificabile') ?: null; @@ -44,7 +46,7 @@ switch (post('op')) { if (count($dbo->fetchArray('SELECT descrizione FROM co_staticontratti WHERE descrizione='.prepare($descrizione))) > 0) { flash()->error(tr('Stato di contratto già esistente.')); } else { - $query = 'INSERT INTO co_staticontratti(descrizione, icona, is_completato, is_fatturabile, is_pianificabile) VALUES ('.prepare($descrizione).', '.prepare($icona).', '.prepare($is_completato).', '.prepare($is_fatturabile).', '.prepare($is_pianificabile).' )'; + $query = 'INSERT INTO co_staticontratti(descrizione, icona, colore, is_completato, is_fatturabile, is_pianificabile) VALUES ('.prepare($descrizione).', '.prepare($icona).', '.prepare($colore).', '.prepare($is_completato).', '.prepare($is_fatturabile).', '.prepare($is_pianificabile).' )'; $dbo->query($query); $id_record = $dbo->lastInsertedID(); flash()->info(tr('Nuovo stato contratto aggiunto.')); diff --git a/modules/stati_contratto/add.php b/modules/stati_contratto/add.php index a2ca44b1f..8ce1203e4 100755 --- a/modules/stati_contratto/add.php +++ b/modules/stati_contratto/add.php @@ -24,9 +24,13 @@ include_once __DIR__.'/../../core.php';
-
+
{[ "type": "text", "label": "", "name": "descrizione", "required": 1 ]}
+ +
+ {[ "type": "text", "label": "", "name": "colore", "required": 1, "class": "colorpicker text-center", "value": "$colore$", "extra": "maxlength='7'", "icon-after": "
" ]} +
@@ -53,3 +57,13 @@ include_once __DIR__.'/../../core.php';
+ + diff --git a/modules/stati_contratto/edit.php b/modules/stati_contratto/edit.php index b2a14943b..136aec586 100755 --- a/modules/stati_contratto/edit.php +++ b/modules/stati_contratto/edit.php @@ -33,14 +33,18 @@ if ($record['can_delete']) {
-
+
{[ "type": "text", "label": "", "name": "descrizione", "required": 1, "value": "$descrizione$", "extra": "" ]}
-
+
{[ "type": "text", "label": "", "name": "icona", "required": 1, "class": "text-center", "value": "$icona$", "extra": "", "icon-after": "' : ''; ?>" ]}
+
+ {[ "type": "text", "label": "", "name": "colore", "required": 1, "class": "colorpicker text-center", "value": "$colore$", "extra": "maxlength='7'", "icon-after": "
" ]} +
+
@@ -78,3 +82,14 @@ if (!empty($record['can_delete'])) { } ?> + + diff --git a/modules/stati_ordine/actions.php b/modules/stati_ordine/actions.php index 37f8f5165..1babf0aef 100644 --- a/modules/stati_ordine/actions.php +++ b/modules/stati_ordine/actions.php @@ -24,6 +24,7 @@ switch (post('op')) { $dbo->update('or_statiordine', [ 'descrizione' => (count($dbo->fetchArray('SELECT descrizione FROM or_statiordine WHERE descrizione = '.prepare(post('descrizione')))) > 0) ? $dbo->fetchOne('SELECT descrizione FROM or_statiordine WHERE id ='.$id_record)['descrizione'] : post('descrizione'), 'icona' => post('icona'), + 'colore' => post('colore'), 'completato' => post('completato') ?: null, 'is_fatturabile' => post('is_fatturabile') ?: null, 'impegnato' => post('impegnato') ?: null, @@ -36,6 +37,7 @@ switch (post('op')) { case 'add': $descrizione = post('descrizione'); $icona = post('icona'); + $colore = post('colore'); $completato = post('completato') ?: null; $is_fatturabile = post('is_fatturabile') ?: null; $impegnato = post('impegnato') ?: null; @@ -44,7 +46,7 @@ switch (post('op')) { if (count($dbo->fetchArray('SELECT descrizione FROM or_statiordine WHERE descrizione='.prepare($descrizione))) > 0) { flash()->error(tr('Stato ordine già esistente.')); } else { - $query = 'INSERT INTO or_statiordine(descrizione, icona, completato, is_fatturabile, impegnato) VALUES ('.prepare($descrizione).', '.prepare($icona).', '.prepare($completato).', '.prepare($is_fatturabile).', '.prepare($impegnato).' )'; + $query = 'INSERT INTO or_statiordine(descrizione, icona, colore, completato, is_fatturabile, impegnato) VALUES ('.prepare($descrizione).', '.prepare($icona).', '.prepare($colore).','.prepare($completato).', '.prepare($is_fatturabile).', '.prepare($impegnato).' )'; $dbo->query($query); $id_record = $dbo->lastInsertedID(); flash()->info(tr('Nuovo stato ordine aggiunto.')); @@ -54,7 +56,7 @@ switch (post('op')) { case 'delete': //scelgo se settare come eliminato o cancellare direttamente la riga se non è stato utilizzato negli ordini - if (count($dbo->fetchArray('SELECT id FROM or_statiordine WHERE idstato='.prepare($id_record))) > 0) { + if (count($dbo->fetchArray('SELECT id FROM or_statiordine WHERE id='.prepare($id_record))) > 0) { $query = 'UPDATE or_statiordine SET deleted_at = NOW() WHERE can_delete = 1 AND id='.prepare($id_record); } else { $query = 'DELETE FROM or_statiordine WHERE can_delete = 1 AND id='.prepare($id_record); diff --git a/modules/stati_ordine/add.php b/modules/stati_ordine/add.php index 501d4e860..0f656cbdc 100644 --- a/modules/stati_ordine/add.php +++ b/modules/stati_ordine/add.php @@ -24,9 +24,13 @@ include_once __DIR__.'/../../core.php';
-
+
{[ "type": "text", "label": "", "name": "descrizione", "required": 1 ]}
+ +
+ {[ "type": "text", "label": "", "name": "colore", "required": 1, "class": "colorpicker text-center", "value": "$colore$", "extra": "maxlength='7'", "icon-after": "
" ]} +
@@ -53,3 +57,13 @@ include_once __DIR__.'/../../core.php';
+ + diff --git a/modules/stati_ordine/edit.php b/modules/stati_ordine/edit.php index c5c915a7f..ac341fa48 100644 --- a/modules/stati_ordine/edit.php +++ b/modules/stati_ordine/edit.php @@ -33,14 +33,18 @@ if ($record['can_delete']) {
-
+
{[ "type": "text", "label": "", "name": "descrizione", "required": 1, "value": "$descrizione$", "extra": "" ]}
-
+
{[ "type": "text", "label": "", "name": "icona", "required": 1, "class": "text-center", "value": "$icona$", "extra": "", "icon-after": "' : ''; ?>" ]}
+
+ {[ "type": "text", "label": "", "name": "colore", "required": 1, "class": "colorpicker text-center", "value": "$colore$", "extra": "maxlength='7'", "icon-after": "
" ]} +
+
@@ -78,3 +82,13 @@ if (!empty($record['can_delete'])) { } ?> + diff --git a/update/2_4_50.sql b/update/2_4_50.sql new file mode 100644 index 000000000..f83c8924f --- /dev/null +++ b/update/2_4_50.sql @@ -0,0 +1,87 @@ +ALTER TABLE `co_staticontratti` ADD `colore` VARCHAR(7) NOT NULL AFTER `icona`; +ALTER TABLE `co_statidocumento` ADD `colore` VARCHAR(7) NOT NULL AFTER `icona`; +ALTER TABLE `dt_statiddt` ADD `colore` VARCHAR(7) NOT NULL AFTER `icona`; +ALTER TABLE `or_statiordine` ADD `colore` VARCHAR(7) NOT NULL AFTER `icona`; + +INSERT INTO `zz_views` (`id_module`, `name`, `query`, `order`, `search`, `slow`, `format`, `html_format`, `search_inside`, `order_by`, `visible`, `summable`, `default`) VALUES ((SELECT id FROM zz_modules WHERE name = 'Stati dei contratti'), 'color_Colore', 'colore', '7', '0', '0', '1', '0', '', '', '1', '0', '0'); +INSERT INTO `zz_views` (`id_module`, `name`, `query`, `order`, `search`, `slow`, `format`, `html_format`, `search_inside`, `order_by`, `visible`, `summable`, `default`) VALUES ((SELECT id FROM zz_modules WHERE name = 'Stati degli ordini'), 'color_Colore', 'colore', '7', '0', '0', '1', '0', '', '', '1', '0', '0'); +INSERT INTO `zz_views` (`id_module`, `name`, `query`, `order`, `search`, `slow`, `format`, `html_format`, `search_inside`, `order_by`, `visible`, `summable`, `default`) VALUES ((SELECT id FROM zz_modules WHERE name = 'Ordini cliente'), '_bg_', 'or_statiordine.colore', '14', '0', '0', '1', '0', '', '', '0', '0', '0'); +INSERT INTO `zz_views` (`id_module`, `name`, `query`, `order`, `search`, `slow`, `format`, `html_format`, `search_inside`, `order_by`, `visible`, `summable`, `default`) VALUES ((SELECT id FROM zz_modules WHERE name = 'Ordini fornitore'), '_bg_', 'or_statiordine.colore', '14', '0', '0', '1', '0', '', '', '0', '0', '0'); +INSERT INTO `zz_views` (`id_module`, `name`, `query`, `order`, `search`, `slow`, `format`, `html_format`, `search_inside`, `order_by`, `visible`, `summable`, `default`) VALUES ((SELECT id FROM zz_modules WHERE name = 'Contratti'), '_bg_', 'co_staticontratti.colore', '14', '0', '0', '1', '0', '', '', '0', '0', '0'); +INSERT INTO `zz_views` (`id_module`, `name`, `query`, `order`, `search`, `slow`, `format`, `html_format`, `search_inside`, `order_by`, `visible`, `summable`, `default`) VALUES ((SELECT id FROM zz_modules WHERE name = 'Ddt di vendita'), '_bg_', 'dt_statiddt.colore', '14', '0', '0', '1', '0', '', '', '0', '0', '0'); +INSERT INTO `zz_views` (`id_module`, `name`, `query`, `order`, `search`, `slow`, `format`, `html_format`, `search_inside`, `order_by`, `visible`, `summable`, `default`) VALUES ((SELECT id FROM zz_modules WHERE name = 'Ddt di acquisto'), '_bg_', 'dt_statiddt.colore', '14', '0', '0', '1', '0', '', '', '0', '0', '0'); + +UPDATE `co_staticontratti` SET `colore` = '#ffef99' WHERE `co_staticontratti`.`descrizione` = 'Bozza'; +UPDATE `co_staticontratti` SET `colore` = '#99e6ff' WHERE `co_staticontratti`.`descrizione` = 'In attesa di conferma'; +UPDATE `co_staticontratti` SET `colore` = '#99ffff' WHERE `co_staticontratti`.`descrizione` = 'Accettato'; +UPDATE `co_staticontratti` SET `colore` = '#e5e4e2' WHERE `co_staticontratti`.`descrizione` = 'Rifiutato'; +UPDATE `co_staticontratti` SET `colore` = '#fdd9a0' WHERE `co_staticontratti`.`descrizione` = 'In lavorazione'; +UPDATE `co_staticontratti` SET `colore` = '#98fb98' WHERE `co_staticontratti`.`descrizione` = 'Fatturato'; +UPDATE `co_staticontratti` SET `colore` = '#88de69' WHERE `co_staticontratti`.`descrizione` = 'Pagato'; +UPDATE `co_staticontratti` SET `colore` = '#5dd333' WHERE `co_staticontratti`.`descrizione` = 'Concluso'; +UPDATE `co_staticontratti` SET `colore` = '#b4ff99' WHERE `co_staticontratti`.`descrizione` = 'Parzialmente fatturato'; + +UPDATE `co_statidocumento` SET `colore` = '#88de69' WHERE `co_statidocumento`.`descrizione` = 'Pagato'; +UPDATE `co_statidocumento` SET `colore` = '#ffef99' WHERE `co_statidocumento`.`descrizione` = 'Bozza'; +UPDATE `co_statidocumento` SET `colore` = '#99ffff' WHERE `co_statidocumento`.`descrizione` = 'Emessa'; +UPDATE `co_statidocumento` SET `colore` = '#e5e4e2' WHERE `co_statidocumento`.`descrizione` = 'Annullata'; +UPDATE `co_statidocumento` SET `colore` = '#98fb98' WHERE `co_statidocumento`.`descrizione` = 'Parzialmente pagato'; + +UPDATE `dt_statiddt` SET `colore` = '#ffef99' WHERE `dt_statiddt`.`descrizione` = 'Bozza'; +UPDATE `dt_statiddt` SET `colore` = '#99ffff' WHERE `dt_statiddt`.`descrizione` = 'Evaso'; +UPDATE `dt_statiddt` SET `colore` = '#98fb98' WHERE `dt_statiddt`.`descrizione` = 'Fatturato'; +UPDATE `dt_statiddt` SET `colore` = '#b4ff99' WHERE `dt_statiddt`.`descrizione` = 'Parzialmente fatturato'; +UPDATE `dt_statiddt` SET `colore` = '#FFDF80' WHERE `dt_statiddt`.`descrizione` = 'Parzialmente evaso'; + +UPDATE `or_statiordine` SET `colore` = '#ffef99' WHERE `or_statiordine`.`descrizione` = 'Bozza'; +UPDATE `or_statiordine` SET `colore` = '#99ffff' WHERE `or_statiordine`.`descrizione` = 'Evaso'; +UPDATE `or_statiordine` SET `colore` = '#FFDF80' WHERE `or_statiordine`.`descrizione` = 'Parzialmente evaso'; +UPDATE `or_statiordine` SET `colore` = '#b4ff99' WHERE `or_statiordine`.`descrizione` = 'Parzialmente fatturato'; +UPDATE `or_statiordine` SET `colore` = '#98fb98' WHERE `or_statiordine`.`descrizione` = 'Fatturato'; +UPDATE `or_statiordine` SET `colore` = '#f9f5be' WHERE `or_statiordine`.`descrizione` = 'In attesa di conferma'; +UPDATE `or_statiordine` SET `colore` = '#99E6FF' WHERE `or_statiordine`.`descrizione` = 'Accettato'; +UPDATE `or_statiordine` SET `colore` = '#e5e4e2' WHERE `or_statiordine`.`descrizione` = 'Annullato'; + +UPDATE `co_statipreventivi` SET `colore` = '#ffef99' WHERE `co_statipreventivi`.`descrizione` = 'Bozza'; +UPDATE `co_statipreventivi` SET `colore` = '#99e6ff' WHERE `co_statipreventivi`.`descrizione` = 'In attesa di conferma'; +UPDATE `co_statipreventivi` SET `colore` = '#99ffff' WHERE `co_statipreventivi`.`descrizione` = 'Accettato'; +UPDATE `co_statipreventivi` SET `colore` = '#e5e4e2' WHERE `co_statipreventivi`.`descrizione` = 'Rifiutato'; +UPDATE `co_statipreventivi` SET `colore` = '#fdd9a0' WHERE `co_statipreventivi`.`descrizione` = 'In lavorazione'; +UPDATE `co_statipreventivi` SET `colore` = '#d8bfd8' WHERE `co_statipreventivi`.`descrizione` = 'Concluso'; +UPDATE `co_statipreventivi` SET `colore` = '#88de69' WHERE `co_statipreventivi`.`descrizione` = 'Pagato'; +UPDATE `co_statipreventivi` SET `colore` = '#98fb98' WHERE `co_statipreventivi`.`descrizione` = 'Fatturato'; +UPDATE `co_statipreventivi` SET `colore` = '#b4ff99' WHERE `co_statipreventivi`.`descrizione` = 'Parzialmente fatturato'; + +UPDATE `in_statiintervento` SET `colore` = '#ffef99' WHERE `in_statiintervento`.`descrizione` = 'Da programmare'; +UPDATE `in_statiintervento` SET `colore` = '#98fb98' WHERE `in_statiintervento`.`descrizione` = 'Fatturato'; +UPDATE `in_statiintervento` SET `colore` = '#d8bfd8' WHERE `in_statiintervento`.`descrizione` = 'Completato'; +UPDATE `in_statiintervento` SET `colore` = '#99e6ff' WHERE `in_statiintervento`.`descrizione` = 'Programmato'; + +UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = 'IF(`d`.`conteggio`>1, \'red\', co_statidocumento.colore)' WHERE `zz_modules`.`name` = 'Fatture di acquisto' AND `zz_views`.`name` = '_bg_'; +UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = 'IF(`dup`.`numero_esterno` IS NOT NULL, \'red\', co_statidocumento.colore)' WHERE `zz_modules`.`name` = 'Fatture di vendita' AND `zz_views`.`name` = '_bg_'; + +-- Allineamento query Fatture di vendita +UPDATE `zz_modules` SET `options` = " +SELECT + |select| +FROM + `co_documenti` + LEFT JOIN (SELECT SUM(`totale`) AS `totale`, `iddocumento` FROM `co_movimenti` WHERE `totale` > 0 AND `primanota` = 1 GROUP BY `iddocumento`) AS `primanota` ON `primanota`.`iddocumento` = `co_documenti`.`id` + LEFT JOIN `an_anagrafiche` ON `co_documenti`.`idanagrafica` = `an_anagrafiche`.`idanagrafica` + LEFT JOIN `co_tipidocumento` ON `co_documenti`.`idtipodocumento` = `co_tipidocumento`.`id` + LEFT JOIN (SELECT `iddocumento`, SUM(`subtotale` - `sconto`) AS `totale_imponibile`, SUM(`iva`) AS `iva` FROM `co_righe_documenti` GROUP BY `iddocumento`) AS righe ON `co_documenti`.`id` = `righe`.`iddocumento` + LEFT JOIN (SELECT `co_banche`.`id`, CONCAT(`co_banche`.`nome`, ' - ', `co_banche`.`iban`) AS descrizione FROM `co_banche` GROUP BY `co_banche`.`id`) AS banche ON `banche`.`id` =`co_documenti`.`id_banca_azienda` + LEFT JOIN `co_statidocumento` ON `co_documenti`.`idstatodocumento` = `co_statidocumento`.`id` + LEFT JOIN `fe_stati_documento` ON `co_documenti`.`codice_stato_fe` = `fe_stati_documento`.`codice` + LEFT JOIN `co_ritenuta_contributi` ON `co_documenti`.`id_ritenuta_contributi` = `co_ritenuta_contributi`.`id` + LEFT JOIN (SELECT COUNT(id) as emails, em_emails.id_record FROM em_emails INNER JOIN zz_operations ON zz_operations.id_email = em_emails.id WHERE id_module IN(SELECT id FROM zz_modules WHERE name = 'Fatture di vendita') AND `zz_operations`.`op` = 'send-email' GROUP BY em_emails.id_record) AS `email` ON `email`.`id_record` = `co_documenti`.`id` + LEFT JOIN `co_pagamenti` ON `co_documenti`.`idpagamento` = `co_pagamenti`.`id` + LEFT JOIN (SELECT `numero_esterno`, `id_segment`, `idtipodocumento`, `data` FROM `co_documenti` WHERE `co_documenti`.`idtipodocumento` IN( SELECT `id` FROM `co_tipidocumento` WHERE `dir` = 'entrata') AND `numero_esterno` != '' GROUP BY `id_segment`, `numero_esterno`, `idtipodocumento` HAVING COUNT(`numero_esterno`) > 1 |date_period(`co_documenti`.`data`)| ) dup ON `co_documenti`.`numero_esterno` = `dup`.`numero_esterno` AND `dup`.`id_segment` = `co_documenti`.`id_segment` AND `dup`.`idtipodocumento` = `co_documenti`.`idtipodocumento` +WHERE + 1=1 AND `dir` = 'entrata' |segment(`co_documenti`.`id_segment`)| |date_period(`co_documenti`.`data`)| +HAVING + 2=2 +ORDER BY + `co_documenti`.`data` DESC, + CAST(`co_documenti`.`numero_esterno` AS UNSIGNED) DESC" WHERE `name` = 'Fatture di vendita'; + From 95ca1f6488ab3c1f2e69ee397854d4544d08ab03 Mon Sep 17 00:00:00 2001 From: Pek5892 Date: Wed, 27 Sep 2023 17:08:33 +0200 Subject: [PATCH 03/15] Fix minore --- modules/anagrafiche/bulk.php | 4 +--- modules/tipi_documento/actions.php | 2 +- modules/tipi_documento/edit.php | 6 +++--- plugins/exportFE/src/FatturaElettronica.php | 2 +- 4 files changed, 6 insertions(+), 8 deletions(-) diff --git a/modules/anagrafiche/bulk.php b/modules/anagrafiche/bulk.php index 99230bef5..947a3405b 100755 --- a/modules/anagrafiche/bulk.php +++ b/modules/anagrafiche/bulk.php @@ -17,8 +17,6 @@ * along with this program. If not, see . */ -use Geocoder\Provider\GoogleMaps; -use Ivory\HttpAdapter\CurlHttpAdapter; use Modules\Anagrafiche\Anagrafica; use Modules\Anagrafiche\Export\CSV; @@ -50,7 +48,7 @@ switch (post('op')) { // TODO: da riscrivere con Guzzle e spostare su hook $ch = curl_init(); - $url = "https://nominatim.openstreetmap.org/search.php?q=".$indirizzo."&format=jsonv2"; + $url = 'https://nominatim.openstreetmap.org/search.php?q='.$indirizzo.'&format=jsonv2'; $user_agent = 'traccar'; curl_setopt($ch, CURLOPT_USERAGENT, $user_agent); curl_setopt($ch, CURLOPT_URL, $url); diff --git a/modules/tipi_documento/actions.php b/modules/tipi_documento/actions.php index 91cfdebc2..764dbee16 100644 --- a/modules/tipi_documento/actions.php +++ b/modules/tipi_documento/actions.php @@ -39,7 +39,7 @@ switch (filter('op')) { 'help' => filter('help'), 'predefined' => $predefined, 'enabled' => post('enabled'), - 'id_segment' => post('id_segment') + 'id_segment' => post('id_segment'), ], ['id' => $id_record]); flash()->info(tr('Salvataggio completato!')); diff --git a/modules/tipi_documento/edit.php b/modules/tipi_documento/edit.php index 70c04147c..bace8a40b 100644 --- a/modules/tipi_documento/edit.php +++ b/modules/tipi_documento/edit.php @@ -49,11 +49,11 @@ include_once __DIR__.'/../../core.php';
fetchOne('SELECT id FROM zz_modules WHERE title = "Fatture di acquisto"')['id']; $id_module_vendite = database()->fetchOne('SELECT id FROM zz_modules WHERE title = "Fatture di vendita"')['id']; - - echo' + + echo '
{[ "type": "select", "label": "'.tr('Sezionale predefinito').'", "name": "id_segment", "required": 1, "ajax-source": "segmenti", "select-options": '.json_encode(['id_module' => $record['dir'] == 'entrata' ? $id_module_vendite : $id_module_acquisti, 'is_sezionale' => 1]).', "value": "$id_segment$" ]} diff --git a/plugins/exportFE/src/FatturaElettronica.php b/plugins/exportFE/src/FatturaElettronica.php index 2732efaad..71e821c22 100755 --- a/plugins/exportFE/src/FatturaElettronica.php +++ b/plugins/exportFE/src/FatturaElettronica.php @@ -815,7 +815,7 @@ class FatturaElettronica } // Riferimento Amministrazione - if ($fattura->getCliente()->tipo == "Ente pubblico") { + if ($fattura->getCliente()->tipo == 'Ente pubblico') { if (!empty($fattura->getCliente()->riferimento_amministrazione)) { $result['RiferimentoAmministrazione'] = $fattura->getCliente()->riferimento_amministrazione; } From 2f2655fc7df95bb38eb1298c3390e8bdac9b4740 Mon Sep 17 00:00:00 2001 From: Pek5892 Date: Wed, 27 Sep 2023 18:06:35 +0200 Subject: [PATCH 04/15] Aggiunta colonna Sezionale in Tipi documento #1367 --- update/2_4_50.sql | 1 + 1 file changed, 1 insertion(+) diff --git a/update/2_4_50.sql b/update/2_4_50.sql index f83c8924f..779c8cdb6 100644 --- a/update/2_4_50.sql +++ b/update/2_4_50.sql @@ -85,3 +85,4 @@ ORDER BY `co_documenti`.`data` DESC, CAST(`co_documenti`.`numero_esterno` AS UNSIGNED) DESC" WHERE `name` = 'Fatture di vendita'; +INSERT INTO `zz_views` (`id_module`, `name`, `query`, `order`, `search`, `slow`, `format`, `html_format`, `search_inside`, `order_by`, `visible`, `summable`, `default`) VALUES ((SELECT id FROM zz_modules WHERE name = 'Tipi documento'), 'Sezionale', 'zz_segments.name', '8', '1', '0', '0', '0', '', '', '1', '0', '0'); \ No newline at end of file From 686c9af24e11b590576665b7d63d88d4998d6db8 Mon Sep 17 00:00:00 2001 From: Pek5892 Date: Thu, 28 Sep 2023 09:27:44 +0200 Subject: [PATCH 05/15] Fix #1348 --- modules/listini_cliente/edit.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/listini_cliente/edit.php b/modules/listini_cliente/edit.php index ecef4539e..ba3550c37 100644 --- a/modules/listini_cliente/edit.php +++ b/modules/listini_cliente/edit.php @@ -76,7 +76,7 @@ echo '
- +
From 7745e29c1390c08f9cc74a181a985e47881a14fa Mon Sep 17 00:00:00 2001 From: Pek5892 Date: Thu, 28 Sep 2023 11:02:12 +0200 Subject: [PATCH 06/15] =?UTF-8?q?Aggiunta=20gestione=20fatture=20con=20pi?= =?UTF-8?q?=C3=B9=20ritenute?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- plugins/importFE/src/FatturaOrdinaria.php | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/plugins/importFE/src/FatturaOrdinaria.php b/plugins/importFE/src/FatturaOrdinaria.php index 1d3250bd3..755b9e6d8 100755 --- a/plugins/importFE/src/FatturaOrdinaria.php +++ b/plugins/importFE/src/FatturaOrdinaria.php @@ -87,9 +87,7 @@ class FatturaOrdinaria extends FatturaElettronica { $linee = $this->getBody()['DatiBeniServizi']['DettaglioLinee']; $linee = $this->forceArray($linee); - $ritenuta = $this->getBody()['DatiGenerali']['DatiGeneraliDocumento']['DatiRitenuta']; $cassa_previdenziale = $this->getBody()['DatiGenerali']['DatiGeneraliDocumento']['DatiCassaPrevidenziale']; - $linee = $this->forceArray($linee); $imponibile = []; $totale_imposta = []; @@ -382,7 +380,8 @@ class FatturaOrdinaria extends FatturaElettronica // Arrotondamenti differenti nella fattura XML $diff = round(abs($totale_righe) + $totale_arrotondamento - abs($fattura->totale_imponibile), 2); // Aggiunta della riga di arrotondamento nel caso in cui ci sia una differenza tra i totali, o tra l'imponibile dell'XML e quello ricavato dalla somma delle righe - if (($diff != 0 && $diff != $totale_arrotondamento) || $fattura->totale_imponibile + $fattura->rivalsa_inps != $totale_imp) { + + if (($diff != 0 && $diff != $totale_arrotondamento) || (($fattura->totale_imponibile + $fattura->rivalsa_inps) != $totale_imp)) { // Rimozione dell'IVA calcolata automaticamente dal gestionale $iva_arrotondamento = database()->fetchOne('SELECT * FROM co_iva WHERE percentuale=0 AND deleted_at IS NULL'); if ($diff != 0) { @@ -501,6 +500,11 @@ class FatturaOrdinaria extends FatturaElettronica if (!empty($riga['Ritenuta'])) { $totali[] = $riga['PrezzoTotale']; $ritenuta_norighe = false; + $ritenuta = $this->forceArray($ritenuta); + foreach ($ritenuta as $rit) { + $percentuale += floatval($rit['AliquotaRitenuta']); + $importo += floatval($rit['ImportoRitenuta']); + } } } @@ -511,9 +515,6 @@ class FatturaOrdinaria extends FatturaElettronica $totale = sum($totali); } - $percentuale = floatval($ritenuta['AliquotaRitenuta']); - $importo = floatval($ritenuta['ImportoRitenuta']); - $totale_previsto = round($importo / $percentuale * 100, 2); $percentuale_importo = round($totale_previsto / $totale * 100, 2); $percentuale_importo = min($percentuale_importo, 100); // Nota: Fix per la percentuale che superava il 100% nel caso di importi con Rivalsa compresa From 80848ac799995a76a5039e76a589fc6b25eaf310 Mon Sep 17 00:00:00 2001 From: Pek5892 Date: Thu, 28 Sep 2023 12:15:40 +0200 Subject: [PATCH 07/15] Aggiunta preventivi in attesa di conferma in informazioni aggiuntive in dashboard --- modules/dashboard/ajax.php | 81 ++++++++++++++++++++------------------ 1 file changed, 42 insertions(+), 39 deletions(-) diff --git a/modules/dashboard/ajax.php b/modules/dashboard/ajax.php index 029e42e61..187e5b297 100644 --- a/modules/dashboard/ajax.php +++ b/modules/dashboard/ajax.php @@ -128,56 +128,59 @@ switch (filter('op')) { co_preventivi.numero, co_preventivi.data_accettazione, co_preventivi.data_conclusione, + co_statipreventivi.is_pianificabile, + co_statipreventivi.descrizione as stato, + co_statipreventivi.is_completato, (SELECT ragione_sociale FROM an_anagrafiche WHERE idanagrafica = co_preventivi.idanagrafica) AS cliente, - (SELECT id FROM zz_files WHERE id_record = co_preventivi.id AND id_module = '.prepare($modulo_preventivi->id).' LIMIT 1) AS have_attachments, - \'1\' AS is_completato + (SELECT id FROM zz_files WHERE id_record = co_preventivi.id AND id_module = '.prepare($modulo_preventivi->id).' LIMIT 1) AS have_attachments FROM co_preventivi LEFT JOIN co_statipreventivi ON co_preventivi.idstato = co_statipreventivi.id WHERE ( (co_preventivi.data_accettazione >= '.prepare($start).' AND co_preventivi.data_accettazione <= '.prepare($end).') OR (co_preventivi.data_conclusione >= '.prepare($start).' AND co_preventivi.data_conclusione <= '.prepare($end).') - ) - AND - co_statipreventivi.is_pianificabile=1'; + )'; $preventivi = $dbo->fetchArray($query); - + foreach ($preventivi as $preventivo) { - if (!empty($preventivo['data_accettazione']) && $preventivo['data_accettazione'] != '0000-00-00') { - $results[] = [ - 'id' => 'A_'.$modulo_preventivi->id.'_'.$preventivo['id'], - 'idintervento' => $preventivo['id'], - 'idtecnico' => '', - 'title' => '
'.(($preventivo['is_completato']) ? '' : '').' '.(($preventivo['have_attachments']) ? '' : '').'
'.''.tr('Accettazione prev.').' '.$preventivo['numero'].' '.$preventivo['nome'].'
'.tr('Cliente').': '.$preventivo['cliente'], - 'start' => $preventivo['data_accettazione'], - //'end' => $preventivo['data_accettazione'], - 'url' => base_path().'/editor.php?id_module='.$modulo_preventivi->id.'&id_record='.$preventivo['id'], - 'backgroundColor' => '#ff7f50', - 'textColor' => color_inverse('#ff7f50'), - 'borderColor' => '#ff7f50', - 'allDay' => true, - 'eventStartEditable' => false, - 'editable' => false, - ]; - } + if ($preventivo['is_pianificabile'] == 1 || $preventivo['stato'] = 'In attesa di conferma') { + if (!empty($preventivo['data_accettazione']) && $preventivo['data_accettazione'] != '0000-00-00') { + $query."AND co_statipreventivi.is_pianificabile=1"; + $results[] = [ + 'id' => 'A_'.$modulo_preventivi->id.'_'.$preventivo['id'], + 'idintervento' => $preventivo['id'], + 'idtecnico' => '', + 'title' => '
'.(($preventivo['is_completato']) ? '' : '').' '.(($preventivo['have_attachments']) ? '' : '').'
'.''.tr('Accettazione prev.').' '.$preventivo['numero'].' '.$preventivo['nome'].'
'.tr('Cliente').': '.$preventivo['cliente'], + 'start' => $preventivo['data_accettazione'], + //'end' => $preventivo['data_accettazione'], + 'url' => base_path().'/editor.php?id_module='.$modulo_preventivi->id.'&id_record='.$preventivo['id'], + 'backgroundColor' => '#ff7f50', + 'textColor' => color_inverse('#ff7f50'), + 'borderColor' => '#ff7f50', + 'allDay' => true, + 'eventStartEditable' => false, + 'editable' => false, + ]; + } - if ($preventivo['data_accettazione'] != $preventivo['data_conclusione'] && $preventivo['data_conclusione'] != '0000-00-00' && !empty($preventivo['data_conclusione'])) { - $results[] = [ - 'id' => 'B_'.$modulo_preventivi->id.'_'.$preventivo['id'], - 'idintervento' => $preventivo['id'], - 'idtecnico' => '', - 'title' => '
'.(($preventivo['is_completato']) ? '' : '').' '.(($preventivo['have_attachments']) ? '' : '').'
'.''.tr('Conclusione prev.').' '.$preventivo['numero'].' '.$preventivo['nome'].'
'.tr('Cliente').': '.$preventivo['cliente'], - 'start' => $preventivo['data_conclusione'], - //'end' => $preventivo['data_conclusione'], - 'url' => base_path().'/editor.php?id_module='.$modulo_preventivi->id.'&id_record='.$preventivo['id'], - 'backgroundColor' => '#ff7f50', - 'textColor' => color_inverse('#ff7f50'), - 'borderColor' => '#ff7f50', - 'allDay' => true, - 'eventStartEditable' => false, - 'editable' => false, - ]; + if ($preventivo['data_accettazione'] != $preventivo['data_conclusione'] && $preventivo['data_conclusione'] != '0000-00-00' && !empty($preventivo['data_conclusione'])) { + $results[] = [ + 'id' => 'B_'.$modulo_preventivi->id.'_'.$preventivo['id'], + 'idintervento' => $preventivo['id'], + 'idtecnico' => '', + 'title' => '
'.(($preventivo['is_completato']) ? '' : '').' '.(($preventivo['have_attachments']) ? '' : '').'
'.''.tr('Conclusione prev.').' '.$preventivo['numero'].' '.$preventivo['nome'].'
'.tr('Cliente').': '.$preventivo['cliente'], + 'start' => $preventivo['data_conclusione'], + //'end' => $preventivo['data_conclusione'], + 'url' => base_path().'/editor.php?id_module='.$modulo_preventivi->id.'&id_record='.$preventivo['id'], + 'backgroundColor' => '#ff7f50', + 'textColor' => color_inverse('#ff7f50'), + 'borderColor' => '#ff7f50', + 'allDay' => true, + 'eventStartEditable' => false, + 'editable' => false, + ]; + } } } From 6466bed3918f214407c48f4f542612a02ccd273e Mon Sep 17 00:00:00 2001 From: Pek5892 Date: Thu, 28 Sep 2023 14:35:22 +0200 Subject: [PATCH 08/15] Fix stampe predefinite --- update/2_4_50.sql | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/update/2_4_50.sql b/update/2_4_50.sql index 779c8cdb6..ce0a11a75 100644 --- a/update/2_4_50.sql +++ b/update/2_4_50.sql @@ -85,4 +85,7 @@ ORDER BY `co_documenti`.`data` DESC, CAST(`co_documenti`.`numero_esterno` AS UNSIGNED) DESC" WHERE `name` = 'Fatture di vendita'; -INSERT INTO `zz_views` (`id_module`, `name`, `query`, `order`, `search`, `slow`, `format`, `html_format`, `search_inside`, `order_by`, `visible`, `summable`, `default`) VALUES ((SELECT id FROM zz_modules WHERE name = 'Tipi documento'), 'Sezionale', 'zz_segments.name', '8', '1', '0', '0', '0', '', '', '1', '0', '0'); \ No newline at end of file +INSERT INTO `zz_views` (`id_module`, `name`, `query`, `order`, `search`, `slow`, `format`, `html_format`, `search_inside`, `order_by`, `visible`, `summable`, `default`) VALUES ((SELECT id FROM zz_modules WHERE name = 'Tipi documento'), 'Sezionale', 'zz_segments.name', '8', '1', '0', '0', '0', '', '', '1', '0', '0'); + +UPDATE `zz_prints` SET `predefined` = '0' WHERE `zz_prints`.`name` IN ('Stampa calendario settimanale', "Intervento & checklist", "Intervento & checklist (senza costi)", "Barcode bulk"); + From a9d5468678606ba30a045d7c5df85c4b64199ac3 Mon Sep 17 00:00:00 2001 From: Pek5892 Date: Thu, 28 Sep 2023 16:08:45 +0200 Subject: [PATCH 09/15] Disabilitazione tasto Elimina se sono selezionate delle righe --- modules/contratti/edit.php | 2 +- modules/contratti/row-list.php | 2 ++ modules/ddt/edit.php | 2 +- modules/ddt/row-list.php | 4 +++- modules/fatture/edit.php | 2 +- modules/fatture/row-list.php | 4 +++- modules/interventi/edit.php | 2 +- modules/interventi/row-list.php | 4 +++- modules/ordini/edit.php | 2 +- modules/ordini/row-list.php | 4 +++- modules/preventivi/edit.php | 2 +- modules/preventivi/row-list.php | 4 +++- 12 files changed, 23 insertions(+), 11 deletions(-) diff --git a/modules/contratti/edit.php b/modules/contratti/edit.php index 359e719f0..2fca8a6dc 100755 --- a/modules/contratti/edit.php +++ b/modules/contratti/edit.php @@ -603,7 +603,7 @@ if (!empty($elementi)) { ?> - + sedi)) { ?> - + sedi)) { $disabilita_eliminazione = in_array($fattura->codice_stato_fe, ['RC', 'MC', 'EC01', 'WAIT']); echo ' - + '.tr('Elimina').' '; } diff --git a/modules/fatture/row-list.php b/modules/fatture/row-list.php index cd57ac1b7..71efd958d 100755 --- a/modules/fatture/row-list.php +++ b/modules/fatture/row-list.php @@ -689,11 +689,13 @@ $(".check").on("change", function() { $("#duplica_righe").removeClass("disabled"); $("#confronta_righe").removeClass("disabled"); $("#aggiorna_righe").removeClass("disabled"); + $("#elimina").addClass("disabled"); } else { $("#elimina_righe").addClass("disabled"); $("#duplica_righe").addClass("disabled"); $("#confronta_righe").addClass("disabled"); - $("#aggiorna_righe").removeClass("disabled"); + $("#aggiorna_righe").addClass("disabled"); + $("#elimina").removeClass("disabled"); } }); diff --git a/modules/interventi/edit.php b/modules/interventi/edit.php index 5fa74edd8..2030bcf41 100755 --- a/modules/interventi/edit.php +++ b/modules/interventi/edit.php @@ -894,5 +894,5 @@ if (!empty($elementi)) { ?> - + diff --git a/modules/interventi/row-list.php b/modules/interventi/row-list.php index 09a7681f7..98f1363c2 100755 --- a/modules/interventi/row-list.php +++ b/modules/interventi/row-list.php @@ -459,11 +459,13 @@ $(".check").on("change", function() { $("#duplica_righe").removeClass("disabled"); $("#confronta_righe").removeClass("disabled"); $("#aggiorna_righe").removeClass("disabled"); + $("#elimina").addClass("disabled"); } else { $("#elimina_righe").addClass("disabled"); $("#duplica_righe").addClass("disabled"); $("#confronta_righe").addClass("disabled"); - $("#aggiorna_righe").removeClass("disabled"); + $("#aggiorna_righe").addClass("disabled"); + $("#elimina").removeClass("disabled"); } }); diff --git a/modules/ordini/edit.php b/modules/ordini/edit.php index 57e00002c..37c116aa8 100755 --- a/modules/ordini/edit.php +++ b/modules/ordini/edit.php @@ -516,6 +516,6 @@ if (!empty($elementi)) { ?> - + diff --git a/modules/ordini/row-list.php b/modules/ordini/row-list.php index fde0a0b4d..994082d4d 100755 --- a/modules/ordini/row-list.php +++ b/modules/ordini/row-list.php @@ -622,11 +622,13 @@ $(".check").on("change", function() { $("#duplica_righe").removeClass("disabled"); $("#confronta_righe").removeClass("disabled"); $("#aggiorna_righe").removeClass("disabled"); + $("#elimina").addClass("disabled"); } else { $("#elimina_righe").addClass("disabled"); $("#duplica_righe").addClass("disabled"); $("#confronta_righe").addClass("disabled"); - $("#aggiorna_righe").removeClass("disabled"); + $("#aggiorna_righe").addClass("disabled"); + $("#elimina").removeClass("disabled"); } }); diff --git a/modules/preventivi/edit.php b/modules/preventivi/edit.php index 87eb8c13e..5479d3dae 100755 --- a/modules/preventivi/edit.php +++ b/modules/preventivi/edit.php @@ -518,7 +518,7 @@ if (!empty($elementi)) { ?> - +