diff --git a/modules/fatture/add_intervento.php b/modules/fatture/add_intervento.php index 9713d6155..a755c9e20 100755 --- a/modules/fatture/add_intervento.php +++ b/modules/fatture/add_intervento.php @@ -40,8 +40,14 @@ $idconto = ($dir == 'entrata') ? setting('Conto predefinito fatture di vendita') $where = ''; // Lettura interventi non collegati a preventivi, ordini e contratti -if (!setting('Permetti fatturazione delle attività collegate a contratti, ordini e preventivi')) { - $where = 'AND in_interventi.id_preventivo IS NULL AND in_interventi.id_contratto IS NULL AND in_interventi.id_ordine IS NULL'; +if (!setting('Permetti fatturazione delle attività collegate a contratti')) { + $where = ' AND in_interventi.id_contratto IS NULL'; +} +if (!setting('Permetti fatturazione delle attività collegate a ordini')) { + $where .= ' AND in_interventi.id_ordine IS NULL'; +} +if (!setting('Permetti fatturazione delle attività collegate a preventivi')) { + $where .= ' AND in_interventi.id_preventivo IS NULL'; } /* diff --git a/modules/fatture/edit.php b/modules/fatture/edit.php index 4d6ccdb5e..d44f05129 100755 --- a/modules/fatture/edit.php +++ b/modules/fatture/edit.php @@ -761,8 +761,14 @@ if (!$block_edit) { if ($dir == 'entrata') { $where = ''; // Lettura interventi non collegati a preventivi, ordini e contratti - if (!setting('Permetti fatturazione delle attività collegate a contratti, ordini e preventivi')) { - $where = 'AND in_interventi.id_preventivo IS NULL AND in_interventi.id_contratto IS NULL AND in_interventi.id_ordine IS NULL'; + if (!setting('Permetti fatturazione delle attività collegate a contratti')) { + $where = ' AND in_interventi.id_contratto IS NULL'; + } + if (!setting('Permetti fatturazione delle attività collegate a ordini')) { + $where .= ' AND in_interventi.id_ordine IS NULL'; + } + if (!setting('Permetti fatturazione delle attività collegate a preventivi')) { + $where .= ' AND in_interventi.id_preventivo IS NULL'; } // Lettura interventi non rifiutati, non fatturati diff --git a/modules/interventi/bulk.php b/modules/interventi/bulk.php index 00fda1252..9bcb9c121 100755 --- a/modules/interventi/bulk.php +++ b/modules/interventi/bulk.php @@ -95,8 +95,14 @@ switch (post('op')) { $where = ''; // Lettura interventi non collegati a preventivi, ordini e contratti - if (!setting('Permetti fatturazione delle attività collegate a contratti, ordini e preventivi')) { - $where = 'AND in_interventi.id_preventivo IS NULL AND in_interventi.id_contratto IS NULL AND in_interventi.id_ordine IS NULL'; + if (!setting('Permetti fatturazione delle attività collegate a contratti')) { + $where = ' AND in_interventi.id_contratto IS NULL'; + } + if (!setting('Permetti fatturazione delle attività collegate a ordini')) { + $where .= ' AND in_interventi.id_ordine IS NULL'; + } + if (!setting('Permetti fatturazione delle attività collegate a preventivi')) { + $where .= ' AND in_interventi.id_preventivo IS NULL'; } $interventi = $dbo->fetchArray('SELECT *, IFNULL((SELECT MIN(orario_inizio) FROM in_interventi_tecnici WHERE in_interventi_tecnici.idintervento = in_interventi.id), in_interventi.data_richiesta) AS data, in_statiintervento.descrizione AS stato, in_interventi.codice AS codice_intervento FROM in_interventi INNER JOIN in_statiintervento ON in_interventi.idstatointervento=in_statiintervento.idstatointervento WHERE in_statiintervento.is_completato=1 AND in_statiintervento.is_fatturabile=1 AND in_interventi.id NOT IN (SELECT idintervento FROM co_righe_documenti WHERE idintervento IS NOT NULL) AND in_interventi.id NOT IN (SELECT idintervento FROM co_promemoria WHERE idintervento IS NOT NULL) AND in_interventi.id IN ('.implode(',', $id_records).') '.$where); diff --git a/update/2_4_46.sql b/update/2_4_46.sql index d918fb785..47a642db6 100644 --- a/update/2_4_46.sql +++ b/update/2_4_46.sql @@ -36,3 +36,9 @@ INSERT INTO `zz_widgets` (`id`, `name`, `type`, `id_module`, `location`, `class` INSERT INTO `zz_prints` (`id`, `id_module`, `is_record`, `name`, `title`, `filename`, `directory`, `previous`, `options`, `icon`, `version`, `compatibility`, `order`, `predefined`, `default`, `enabled`, `available_options`) VALUES (NULL, (SELECT id FROM zz_modules WHERE name = 'Dashboard'), 1, 'Stampa calendario settimanale', 'Stampa calendario settimanale', 'Calendario settimanale', 'dashboard_settimanale', '', '', 'fa fa-print', '', '', 0, 1, 1, 1, NULL); + +UPDATE `zz_settings` SET `nome` = 'Permetti fatturazione delle attività collegate a contratti' WHERE `zz_settings`.`nome` = 'Permetti fatturazione delle attività collegate a contratti, ordini e preventivi'; + +INSERT INTO `zz_settings` (`id`, `nome`, `valore`, `tipo`, `editable`, `sezione`, `order`, `help`) VALUES (NULL, 'Permetti fatturazione delle attività collegate a ordini', (SELECT `valore` FROM `zz_settings` AS `a` WHERE `nome` = 'Permetti fatturazione delle attività collegate a contratti'), 'boolean', '1', 'Fatturazione', NULL, NULL); + +INSERT INTO `zz_settings` (`id`, `nome`, `valore`, `tipo`, `editable`, `sezione`, `order`, `help`) VALUES (NULL, 'Permetti fatturazione delle attività collegate a preventivi', (SELECT `valore` FROM `zz_settings` AS `a` WHERE `nome` = 'Permetti fatturazione delle attività collegate a contratti'), 'boolean', '1', 'Fatturazione', NULL, NULL);