diff --git a/modules/aggiornamenti/edit.php b/modules/aggiornamenti/edit.php index b2505d408..c95ea2240 100644 --- a/modules/aggiornamenti/edit.php +++ b/modules/aggiornamenti/edit.php @@ -125,7 +125,7 @@ function search(button) { op: "check", }, success: function(data){ - if (data == "none") { + if (data == "none" || data == "" ) { $("#update-search").html("'.tr('Nessun aggiornamento disponibile').'."); } else { $("#update-search").html("'.tr("E' stato individuato un nuovo aggiornamento").': " + data + ".'.tr('Scaricalo ora: _LINK_', [ diff --git a/modules/contratti/buttons.php b/modules/contratti/buttons.php index 403407bf5..39fcd2022 100644 --- a/modules/contratti/buttons.php +++ b/modules/contratti/buttons.php @@ -7,9 +7,14 @@ echo' $rs_documento = $dbo->fetchArray('SELECT * FROM co_righe_contratti WHERE idcontratto='.prepare($id_record)); +$disabled = $record['is_fatturabile'] && !empty($rs_documento); + +$stati_abilitati = $dbo->fetchOne('SELECT GROUP_CONCAT(`descrizione` SEPARATOR ", ") AS stati_abilitati FROM `co_staticontratti` WHERE `is_fatturabile` = 1')['stati_abilitati']; + + /* permetto di fatturare il contratto solo se contiene righe e si trova in uno stato fatturabile */ echo ' - + '.tr('Crea fattura').' '; diff --git a/modules/interventi/actions.php b/modules/interventi/actions.php index 7dce8e4ca..321cdfaec 100644 --- a/modules/interventi/actions.php +++ b/modules/interventi/actions.php @@ -426,11 +426,11 @@ switch (post('op')) { if (!$img->save($docroot.'/files/interventi/'.$firma_file)) { flash()->error(tr('Impossibile creare il file!')); - } elseif ($dbo->query('UPDATE in_interventi SET firma_file='.prepare($firma_file).', firma_data=NOW(), firma_nome = '.prepare($firma_nome).', idstatointervento = (SELECT idstatointervento FROM in_statiintervento WHERE descrizione = \'Completato\') WHERE id='.prepare($id_record))) { + } elseif ($dbo->query('UPDATE in_interventi SET firma_file='.prepare($firma_file).', firma_data=NOW(), firma_nome = '.prepare($firma_nome).', idstatointervento = (SELECT idstatointervento FROM in_statiintervento WHERE codice = \'OK\') WHERE id='.prepare($id_record))) { flash()->info(tr('Firma salvata correttamente!')); flash()->info(tr('Attività completata!')); - $stato = $dbo->selectOne('in_statiintervento', '*', ['descrizione' => 'Completato']); + $stato = $dbo->selectOne('in_statiintervento', '*', ['codice' => 'OK']); // Notifica chiusura intervento if (!empty($stato['notifica']) && !empty($stato['destinatari'])) { $template = Template::find($stato['id_email']); diff --git a/modules/preventivi/buttons.php b/modules/preventivi/buttons.php index dba54cc3a..7593525a6 100644 --- a/modules/preventivi/buttons.php +++ b/modules/preventivi/buttons.php @@ -5,16 +5,22 @@ include_once __DIR__.'/../../core.php'; echo' '.tr('Duplica preventivo').''; -$disabled = $record['is_fatturabile'] || $record['is_completato']; -if (!$disabled) { +// Crea revisione +if (!$record['is_fatturabile'] and !$record['is_completato']) { echo ' '.tr('Crea nuova revisione...').''; } +$rs_documento = $dbo->fetchArray('SELECT * FROM co_righe_preventivi WHERE idpreventivo='.prepare($id_record)); + +$disabled = ($record['is_fatturabile'] || $record['is_completato']) && !empty($rs_documento); + +$stati_abilitati = $dbo->fetchOne('SELECT GROUP_CONCAT(`descrizione` SEPARATOR ", ") AS stati_abilitati FROM `co_statipreventivi` WHERE `is_fatturabile` = 1 OR `is_completato` = 1 ')['stati_abilitati']; + // Creazione altri documenti echo ' - + '.tr('Crea').'... diff --git a/update/2_4_9.sql b/update/2_4_9.sql index b3db6d0ce..cd35b8890 100644 --- a/update/2_4_9.sql +++ b/update/2_4_9.sql @@ -38,6 +38,7 @@ ALTER TABLE `co_statipreventivi` ADD `is_pianificabile` BOOLEAN NOT NULL DEFAULT ALTER TABLE `co_statipreventivi` DROP `annullato`; ALTER TABLE `co_statipreventivi` CHANGE `completato` `is_completato` BOOLEAN NOT NULL DEFAULT FALSE; +ALTER TABLE `co_statipreventivi` CHANGE `fatturabile` `is_fatturabile` BOOLEAN NOT NULL DEFAULT FALSE; ALTER TABLE `co_staticontratti` CHANGE `pianificabile` `is_pianificabile` BOOLEAN NOT NULL DEFAULT FALSE; ALTER TABLE `co_staticontratti` CHANGE `fatturabile` `is_fatturabile` BOOLEAN NOT NULL DEFAULT FALSE;