diff --git a/modules/preventivi/buttons.php b/modules/preventivi/buttons.php index 24002e448..97c1e4c95 100755 --- a/modules/preventivi/buttons.php +++ b/modules/preventivi/buttons.php @@ -6,10 +6,8 @@ echo' '; // Crea revisione -if (!$record['is_completato'] || ($record['is_completato'] && $record['stato']=='Rifiutato')) { - echo ' - '; -} +echo ' +'; $rs_documento = $dbo->fetchArray('SELECT * FROM co_righe_preventivi WHERE idpreventivo='.prepare($id_record)); diff --git a/modules/preventivi/init.php b/modules/preventivi/init.php index 1ecfc9294..480d77119 100755 --- a/modules/preventivi/init.php +++ b/modules/preventivi/init.php @@ -5,11 +5,12 @@ include_once __DIR__.'/../../core.php'; if (isset($id_record)) { $preventivo = Modules\Preventivi\Preventivo::with('stato')->find($id_record); - $record = $dbo->fetchOne('SELECT *, + $record = $dbo->fetchOne('SELECT co_preventivi.*, (SELECT tipo FROM an_anagrafiche WHERE idanagrafica = co_preventivi.idanagrafica) AS tipo_anagrafica, - (SELECT is_fatturabile FROM co_statipreventivi WHERE id=idstato) AS is_fatturabile, - (SELECT is_completato FROM co_statipreventivi WHERE id=idstato) AS is_completato, - (SELECT descrizione FROM co_statipreventivi WHERE id=idstato) AS stato - FROM co_preventivi - WHERE id='.prepare($id_record)); + co_statipreventivi.is_fatturabile, + co_statipreventivi.is_completato, + co_statipreventivi.is_revisionabile, + co_statipreventivi.descrizione AS stato + FROM co_preventivi LEFT JOIN co_statipreventivi ON co_preventivi.idstato=co_statipreventivi.id + WHERE co_preventivi.id='.prepare($id_record)); } diff --git a/modules/stati_preventivo/actions.php b/modules/stati_preventivo/actions.php index edd2cff0a..43a2fc8df 100755 --- a/modules/stati_preventivo/actions.php +++ b/modules/stati_preventivo/actions.php @@ -10,6 +10,7 @@ switch (post('op')) { 'is_completato' => post('is_completato') ?: null, 'is_fatturabile' => post('is_fatturabile') ?: null, 'is_pianificabile' => post('is_pianificabile') ?: null, + 'is_revisionabile' => post('is_revisionabile') ?: null, ], ['id' => $id_record]); flash()->info(tr('Informazioni salvate correttamente.')); diff --git a/modules/stati_preventivo/edit.php b/modules/stati_preventivo/edit.php index 66e1286d8..23c5a7465 100755 --- a/modules/stati_preventivo/edit.php +++ b/modules/stati_preventivo/edit.php @@ -15,32 +15,28 @@ if ($record['can_delete']) {
- - -
+
{[ "type": "text", "label": "", "name": "descrizione", "required": 1, "value": "$descrizione$", "extra": "" ]}
-
- {[ "type": "checkbox", "label": "", "name": "is_completato", "value": "$is_completato$", "help": "", "placeholder": "", "extra": "" ]} +
+ {[ "type": "text", "label": "", "name": "icona", "required": 1, "class": "text-center", "value": "$icona$", "extra": "", "icon-after": "' : ''; ?>" ]}
-
- {[ "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_completato", "value": "$is_completato$", "help": "", "placeholder": "", "extra": "" ]} + {[ "type": "checkbox", "label": "", "name": "is_revisionabile", "value": "$is_revisionabile$", "help": "", "placeholder": "", "extra": "" ]} +
+
- -
- {[ "type": "checkbox", "label": "", "name": "is_fatturabile", "value": "$is_fatturabile$", "help": "", "placeholder": "", "extra": "" ]} -
- -
- -
- -
- {[ "type": "text", "label": "", "name": "icona", "required": 1, "class": "text-center", "value": "$icona$", "extra": "", "icon-after": "' : ''; ?>" ]} -
-
diff --git a/update/2_4_14.sql b/update/2_4_14.sql index c480923be..1d3b0aa12 100755 --- a/update/2_4_14.sql +++ b/update/2_4_14.sql @@ -494,4 +494,13 @@ INSERT INTO `or_statiordine` (`id`, `descrizione`, `annullato`, `icona`, `comple -- Aggiunta vincolo a pianificazione rate contratti DELETE FROM `co_fatturazione_contratti` WHERE `idcontratto` NOT IN(SELECT `id` FROM `co_contratti`); -ALTER TABLE `co_fatturazione_contratti` ADD CONSTRAINT `fk_contratti_fatturazione` FOREIGN KEY (`idcontratto`) REFERENCES `co_contratti`(`id`) ON DELETE CASCADE; \ No newline at end of file +ALTER TABLE `co_fatturazione_contratti` ADD CONSTRAINT `fk_contratti_fatturazione` FOREIGN KEY (`idcontratto`) REFERENCES `co_contratti`(`id`) ON DELETE CASCADE; + +-- Aggiunta flag per gestione revisioni per stato +ALTER TABLE `co_statipreventivi` ADD `is_revisionabile` BOOLEAN NOT NULL AFTER `is_pianificabile`; + +-- Impostazione flag revisionabile per i preventivi non completati o rifiutati +UPDATE `co_statipreventivi` SET `is_revisionabile` = 1 WHERE `is_completato` = 0 OR `descrizione` = 'Rifiutato'; + +-- Spostamento moduli "Stati preventivi" e "Stati contratti" sotto "Tabelle" +UPDATE `zz_modules` SET `parent` = (SELECT `id` FROM (SELECT `id` FROM `zz_modules` WHERE `name` = 'Tabelle') AS `m` ) WHERE `name` IN('Stati dei preventivi', 'Stati dei contratti'); \ No newline at end of file