From fd7f1714a1c1263ff4a1433057862c795f9b7e05 Mon Sep 17 00:00:00 2001 From: Luca <30728163+lucasalva87@users.noreply.github.com> Date: Wed, 13 Nov 2019 22:11:12 +0100 Subject: [PATCH] Bloccati stati di sistema per preventivi e contratti --- modules/stati_contratto/actions.php | 4 ++-- modules/stati_contratto/edit.php | 30 ++++++++++++++++------------ modules/stati_intervento/add.php | 4 ++-- modules/stati_intervento/edit.php | 10 +++++----- modules/stati_preventivo/actions.php | 4 ++-- modules/stati_preventivo/edit.php | 30 ++++++++++++++++------------ modules/voci_servizio/add.php | 2 +- modules/voci_servizio/edit.php | 2 +- plugins/receiptFE/edit.php | 17 ++++++++++------ update/2_4_11.sql | 16 ++++++++++++++- 10 files changed, 73 insertions(+), 46 deletions(-) diff --git a/modules/stati_contratto/actions.php b/modules/stati_contratto/actions.php index b675b98a5..b16b16752 100644 --- a/modules/stati_contratto/actions.php +++ b/modules/stati_contratto/actions.php @@ -40,9 +40,9 @@ switch (post('op')) { //scelgo se settare come eliminato o cancellare direttamente la riga se non è stato utilizzato nei contratti if (count($dbo->fetchArray('SELECT id FROM co_contratti WHERE idstato='.prepare($id_record))) > 0) { - $query = 'UPDATE co_staticontratti SET deleted_at = NOW() WHERE id='.prepare($id_record); + $query = 'UPDATE co_staticontratti SET deleted_at = NOW() WHERE is_cancellabile = 1 AND id='.prepare($id_record); } else { - $query = 'DELETE FROM co_staticontratti WHERE id='.prepare($id_record); + $query = 'DELETE FROM co_staticontratti WHERE is_cancellabile = 1 AND id='.prepare($id_record); } $dbo->query($query); diff --git a/modules/stati_contratto/edit.php b/modules/stati_contratto/edit.php index 82d0af887..54beca443 100644 --- a/modules/stati_contratto/edit.php +++ b/modules/stati_contratto/edit.php @@ -1,15 +1,13 @@ fetchNum('SELECT id FROM co_contratti WHERE idstato='.prepare($id_record)); -$attr = ''; -/* -if ($contratti == 0) { +if ($record['is_cancellabile']) { $attr = ''; } else { $attr = 'readonly'; - echo '
'.tr('Alcune impostazioni non possono essere modificate per questo stato perché già utilizzato in alcuni contratti.').'
'; -}*/ + echo '
'.tr('Alcune impostazioni non possono essere modificate per questo stato.').'
'; +} + ?>
@@ -20,19 +18,19 @@ if ($contratti == 0) {
- {[ "type": "text", "label": "", "name": "descrizione", "required": 1, "value": "$descrizione$" ]} + {[ "type": "text", "label": "", "name": "descrizione", "required": 1, "value": "$descrizione$", "extra": "" ]}
- {[ "type": "checkbox", "label": "", "name": "is_completato", "value": "$is_completato$", "help": "", "placeholder": "", "extra": "" ]} + {[ "type": "checkbox", "label": "", "name": "is_completato", "value": "$is_completato$", "help": "", "placeholder": "", "extra": "" ]}
- {[ "type": "checkbox", "label": "", "name": "is_pianificabile", "value": "$is_pianificabile$", "help": "", "placeholder": "", "extra": "" ]} + {[ "type": "checkbox", "label": "", "name": "is_pianificabile", "value": "$is_pianificabile$", "help": "", "placeholder": "", "extra": "" ]}
- {[ "type": "checkbox", "label": "", "name": "is_fatturabile", "value": "$is_fatturabile$", "help": "", "placeholder": "", "extra": "" ]} + {[ "type": "checkbox", "label": "", "name": "is_fatturabile", "value": "$is_fatturabile$", "help": "", "placeholder": "", "extra": "" ]}
@@ -58,8 +56,14 @@ if (!empty($contratti)) { ]).'. '; } -?> + + +if (!empty($record['is_cancellabile'])) { + echo ' - - + '.tr('Elimina').' +'; +} + +?> \ No newline at end of file diff --git a/modules/stati_intervento/add.php b/modules/stati_intervento/add.php index 7ea0f964f..a91fcbdeb 100644 --- a/modules/stati_intervento/add.php +++ b/modules/stati_intervento/add.php @@ -7,7 +7,7 @@ include_once __DIR__.'/../../core.php';
-
+
{[ "type": "text", "label": "", "name": "codice", "maxlength": 10, "class": "alphanumeric-mask", "required": 1 ]}
@@ -15,7 +15,7 @@ include_once __DIR__.'/../../core.php'; {[ "type": "text", "label": "", "name": "descrizione", "required": 1 ]}
-
+
{[ "type": "text", "label": "", "name": "colore", "id": "colore_", "required": 1, "class": "colorpicker text-center", "value": "#ffffff", "extra": "maxlength='7'", "icon-after": "
" ]}
diff --git a/modules/stati_intervento/edit.php b/modules/stati_intervento/edit.php index d84b3863b..5d9938f6f 100644 --- a/modules/stati_intervento/edit.php +++ b/modules/stati_intervento/edit.php @@ -18,15 +18,15 @@ if ($record['can_delete']) { {[ "type": "span", "label": "", "name": "codice", "value": "$codice$" ]}
-
+
{[ "type": "text", "label": "", "name": "descrizione", "required": 1, "value": "$descrizione$" ]}
- {[ "type": "checkbox", "label": "", "name": "completato", "value": "$completato$", "help": "", "placeholder": "", "extra": "" ]} + {[ "type": "checkbox", "label": "", "name": "completato", "value": "$completato$", "help": "", "placeholder": "", "extra": "" ]}
-
+
{[ "type": "text", "label": "", "name": "colore", "required": 1, "class": "colorpicker text-center", "value": "$colore$", "extra": "maxlength='7'", "icon-after": "
" ]}
@@ -36,11 +36,11 @@ if ($record['can_delete']) { {[ "type": "checkbox", "label": "", "name": "notifica", "help": ".", "value": "$notifica$" ]}
-
+
{[ "type": "select", "label": "", "name": "email", "value": "$id_email$", "values": "query=SELECT id, name AS descrizione FROM em_templates WHERE id_module = AND deleted_at IS NULL", "disabled": ]}
-
+
{[ "type": "text", "label": "", "name": "destinatari", "value": "$destinatari$", "disabled": ]}
diff --git a/modules/stati_preventivo/actions.php b/modules/stati_preventivo/actions.php index 4e5ad5ad8..76861f7b2 100644 --- a/modules/stati_preventivo/actions.php +++ b/modules/stati_preventivo/actions.php @@ -40,9 +40,9 @@ switch (post('op')) { //scelgo se settare come eliminato o cancellare direttamente la riga se non è stato utilizzato nei preventivi if (count($dbo->fetchArray('SELECT id FROM co_preventivi WHERE idstato='.prepare($id_record))) > 0) { - $query = 'UPDATE co_statipreventivi SET deleted_at = NOW() WHERE id='.prepare($id_record); + $query = 'UPDATE co_statipreventivi SET deleted_at = NOW() WHERE is_cancellabile = 1 AND id='.prepare($id_record); } else { - $query = 'DELETE FROM co_statipreventivi WHERE id='.prepare($id_record); + $query = 'DELETE FROM co_statipreventivi WHERE is_cancellabile = 1 AND id='.prepare($id_record); } $dbo->query($query); diff --git a/modules/stati_preventivo/edit.php b/modules/stati_preventivo/edit.php index 9b9d4999d..7c1f11c5c 100644 --- a/modules/stati_preventivo/edit.php +++ b/modules/stati_preventivo/edit.php @@ -1,15 +1,14 @@ fetchNum('SELECT id FROM co_preventivi WHERE idstato='.prepare($id_record)); -$attr = ''; -/* -if ($preventivi == 0) { + +if ($record['is_cancellabile']) { $attr = ''; } else { $attr = 'readonly'; - echo '
'.tr('Alcune impostazioni non possono essere modificate per questo stato perché già utilizzato in alcuni preventivi.').'
'; -}*/ + echo '
'.tr('Alcune impostazioni non possono essere modificate per questo stato.').'
'; +} + ?> @@ -20,19 +19,19 @@ if ($preventivi == 0) {
- {[ "type": "text", "label": "", "name": "descrizione", "required": 1, "value": "$descrizione$" ]} + {[ "type": "text", "label": "", "name": "descrizione", "required": 1, "value": "$descrizione$", "extra": "" ]}
- {[ "type": "checkbox", "label": "", "name": "is_completato", "value": "$is_completato$", "help": "", "placeholder": "", "extra": "" ]} + {[ "type": "checkbox", "label": "", "name": "is_completato", "value": "$is_completato$", "help": "", "placeholder": "", "extra": "" ]}
- {[ "type": "checkbox", "label": "", "name": "is_pianificabile", "value": "$is_pianificabile$", "help": "", "placeholder": "", "extra": "" ]} + {[ "type": "checkbox", "label": "", "name": "is_pianificabile", "value": "$is_pianificabile$", "help": "", "placeholder": "", "extra": "" ]}
- {[ "type": "checkbox", "label": "", "name": "is_fatturabile", "value": "$is_fatturabile$", "help": "", "placeholder": "", "extra": "" ]} + {[ "type": "checkbox", "label": "", "name": "is_fatturabile", "value": "$is_fatturabile$", "help": "", "placeholder": "", "extra": "" ]}
@@ -58,8 +57,13 @@ if (!empty($preventivi)) { ]).'. '; } -?> + +if (!empty($record['is_cancellabile'])) { + echo ' - - + '.tr('Elimina').' +'; +} + +?> \ No newline at end of file diff --git a/modules/voci_servizio/add.php b/modules/voci_servizio/add.php index 7feab5bce..98d1e0dfb 100644 --- a/modules/voci_servizio/add.php +++ b/modules/voci_servizio/add.php @@ -11,7 +11,7 @@ include_once __DIR__.'/../../core.php'; {[ "type": "text", "label": "", "name": "categoria", "required": 1 ]} -
+
{[ "type": "text", "label": "", "name": "descrizione", "required": 1 ]}
diff --git a/modules/voci_servizio/edit.php b/modules/voci_servizio/edit.php index c0140563d..89f69117e 100644 --- a/modules/voci_servizio/edit.php +++ b/modules/voci_servizio/edit.php @@ -12,7 +12,7 @@ include_once __DIR__.'/../../core.php'; {[ "type": "text", "label": "", "name": "categoria", "required": 1, "value": "$categoria$" ]} -
+
{[ "type": "text", "label": "", "name": "descrizione", "required": 1, "value": "$descrizione$" ]}
diff --git a/plugins/receiptFE/edit.php b/plugins/receiptFE/edit.php index 7e89dfc46..3c82ef61e 100644 --- a/plugins/receiptFE/edit.php +++ b/plugins/receiptFE/edit.php @@ -5,13 +5,15 @@ include_once __DIR__.'/../../core.php'; use Plugins\ReceiptFE\Interaction; echo ' -

'.tr('Le ricevute delle Fatture Elettroniche permettono di individuare se una determinata fattura tramessa è stata accettata dal Sistema Di Interscambio').'.

- +

'.tr('Le ricevute delle Fatture Elettroniche permettono di individuare se una determinata fattura tramessa è stata accettata dal Sistema Di Interscambio').'.

'; +if (Interaction::isEnabled()) { +echo '

'.tr('Tramite il pulsante _BTN_ è possibile procedere al recupero delle ricevute, aggiornando automaticamente lo stato delle relative fatture e allegandole ad esse', [ '_BTN_' => ''.tr('Ricerca ricevute').'', -]).'.

-
+]).'.

'; +} +echo '

@@ -184,8 +186,11 @@ function importAll(btn) { html: html, type: "info", }) - - buttonRestore(btn, restore); + + $("#list").load("'.$structure->fileurl('list.php').'?id_module='.$id_module.'&id_plugin='.$id_plugin.'", function() { + buttonRestore(button, restore); + }); + }, error: function(data) { alert("'.tr('Errore').': " + data); diff --git a/update/2_4_11.sql b/update/2_4_11.sql index 0e165472c..e6be50b82 100644 --- a/update/2_4_11.sql +++ b/update/2_4_11.sql @@ -882,4 +882,18 @@ ALTER TABLE `mg_articoli` ADD `id_fornitore` INT(11) NULL DEFAULT NULL; INSERT INTO `zz_views` (`id_module`, `name`, `query`, `order`, `search`, `slow`, `format`, `summable`, `visible`, `default`) VALUES ((SELECT `id` FROM `zz_modules` WHERE `name` = 'Articoli'), 'Fornitore', '(SELECT `ragione_sociale` FROM `an_anagrafiche` WHERE `idanagrafica` = `id_fornitore`)', 6, 1, 0, 0, 0, 0, 1), ((SELECT `id` FROM `zz_modules` WHERE `name` = 'Articoli'), 'Prezzo di acquisto', 'prezzo_acquisto', 6, 1, 0, 1, 1, 0, 1), -((SELECT `id` FROM `zz_modules` WHERE `name` = 'Articoli'), 'Prezzo di vendita', 'prezzo_vendita', 6, 1, 0, 1, 1, 0, 1); \ No newline at end of file +((SELECT `id` FROM `zz_modules` WHERE `name` = 'Articoli'), 'Prezzo di vendita', 'prezzo_vendita', 6, 1, 0, 1, 1, 0, 1); + +-- Aggiunta flag is_cancellabile per stati preventivi e contratti +ALTER TABLE `co_statipreventivi` ADD `is_cancellabile` BOOLEAN NOT NULL DEFAULT TRUE; +ALTER TABLE `co_staticontratti` ADD `is_cancellabile` BOOLEAN NOT NULL DEFAULT TRUE; + +-- Imposto gli stati Bozza, In lavorazione e Concluso non eliminabili per stati preventivi e contratti +UPDATE `co_statipreventivi` SET `is_cancellabile` = '0' WHERE `co_statipreventivi`.`descrizione` = 'Bozza'; +UPDATE `co_statipreventivi` SET `is_cancellabile` = '0' WHERE `co_statipreventivi`.`descrizione` = 'In lavorazione'; + +UPDATE `co_staticontratti` SET `is_cancellabile` = '0' WHERE `co_staticontratti`.`descrizione` = 'Bozza'; +UPDATE `co_staticontratti` SET `is_cancellabile` = '0' WHERE `co_staticontratti`.`descrizione` = 'In lavorazione'; +UPDATE `co_staticontratti` SET `is_cancellabile` = '0' WHERE `co_staticontratti`.`descrizione` = 'Concluso'; +UPDATE `co_staticontratti` SET `is_cancellabile` = '0' WHERE `co_staticontratti`.`descrizione` = 'Fatturato'; +UPDATE `co_staticontratti` SET `is_cancellabile` = '0' WHERE `co_staticontratti`.`descrizione` = 'Parzialmente fatturato'; \ No newline at end of file