From bc394c766b5248b10aa3aeb7b4cf4f9a591986ff Mon Sep 17 00:00:00 2001 From: loviuz Date: Wed, 29 Mar 2023 10:00:13 +0200 Subject: [PATCH 1/7] Fix per inserimento sottocategorie con stesso nome di categorie --- modules/categorie_articoli/actions.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/modules/categorie_articoli/actions.php b/modules/categorie_articoli/actions.php index f7d0b54e3..6ac73b548 100755 --- a/modules/categorie_articoli/actions.php +++ b/modules/categorie_articoli/actions.php @@ -62,6 +62,8 @@ switch (filter('op')) { ->where('nome', '=', $nome); if (!empty($id_original)) { $corrispondenze = $corrispondenze->where('parent', '=', $id_original); + } else { + $corrispondenze = $corrispondenze->whereNull('parent'); } $corrispondenze = $corrispondenze->get(); From 74382685d33d22e0d30028caa9715c6218d5cbc4 Mon Sep 17 00:00:00 2001 From: Luca Date: Wed, 29 Mar 2023 10:34:46 +0200 Subject: [PATCH 2/7] Fix eventi ricorsivi su calendario --- modules/dashboard/ajax.php | 45 +++++++++++++++++++++++--------------- 1 file changed, 27 insertions(+), 18 deletions(-) diff --git a/modules/dashboard/ajax.php b/modules/dashboard/ajax.php index e4a841067..1a5dc21a2 100644 --- a/modules/dashboard/ajax.php +++ b/modules/dashboard/ajax.php @@ -141,23 +141,24 @@ switch (filter('op')) { AND co_statipreventivi.is_pianificabile=1'; - $alldays = $dbo->fetchArray($query); + $preventivi = $dbo->fetchArray($query); - foreach ($alldays as $preventivo) { + 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']) ? '' : '').'
'.'Accettazione prev. '.$preventivo['numero'].' '.$preventivo['nome'].'
'.tr('Cliente').': '.$preventivo['cliente'], + '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'], + //'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, ]; } @@ -166,36 +167,43 @@ switch (filter('op')) { 'id' => 'B_'.$modulo_preventivi->id.'_'.$preventivo['id'], 'idintervento' => $preventivo['id'], 'idtecnico' => '', - 'title' => '
'.(($preventivo['is_completato']) ? '' : '').' '.(($preventivo['have_attachments']) ? '' : '').'
'.'Conclusione prev. '.$preventivo['numero'].' '.$preventivo['nome'].'
'.tr('Cliente').': '.$preventivo['cliente'], + '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'], + //'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, ]; } } - //# Box allDay eventi + //# Box allDay eventi (escluse festività) $query = 'SELECT * FROM - zz_events + `zz_events` WHERE - data >= '.prepare($start).' AND data <= '.prepare($end); + `zz_events`.`is_bank_holiday` = 0 + AND (`zz_events`.`is_recurring` = 1 AND + DAYOFYEAR(`zz_events`.`data`) BETWEEN DAYOFYEAR('.prepare($start).') AND IF(YEAR('.prepare($start).') = YEAR('.prepare($end).'), DAYOFYEAR('.prepare($end).'), DAYOFYEAR('.prepare(date('Y-m-d', strtotime($end. '-1 day'))).')) + ) + OR + (`zz_events`.`is_recurring` = 0 AND `zz_events`.`data` >= '.prepare($start).' AND `zz_events`.`data` <= '.prepare($end).')'; + + //echo $query; - $alldays = $dbo->fetchArray($query); + $eventi = $dbo->fetchArray($query); - foreach ($alldays as $evento) { + foreach ($eventi as $evento) { $results[] = [ 'id' => $modulo_eventi->id.'_'.$evento['id'], - 'title' => ''.tr('Evento').': '.$evento['nome'].'
- '.tr('Festività').': '.($evento['is_bank_holiday'] ? '' : ''), - 'start' => $evento['data'], - 'end' => $evento['data'], + 'title' => ''.tr('Evento').': '.$evento['nome'].'', + 'start' => ($evento['is_recurring'] ? date('Y-', strtotime($start)).date('m-d', strtotime($evento['data'])): $evento['data']), + //'end' => $evento['data'], 'extendedProps' => [ 'link' => base_path().'/editor.php?id_module='.$modulo_eventi->id.'&id_record='.$evento['id'], 'idintervento' => $evento['id'], @@ -206,6 +214,7 @@ switch (filter('op')) { 'borderColor' => '#ffebcd', 'allDay' => true, 'eventStartEditable' => false, + 'editable' => false, ]; } } @@ -417,9 +426,9 @@ switch (filter('op')) { INNER JOIN in_statiintervento ON in_interventi.idstatointervento = in_statiintervento.idstatointervento LEFT JOIN an_anagrafiche AS tecnico ON in_interventi_tecnici_assegnati.id_tecnico = tecnico.idanagrafica WHERE in_statiintervento.is_completato = 0 - GROUP BY in_interventi.id, in_interventi_tecnici_assegnati.id_tecnico - HAVING COUNT(in_interventi_tecnici.id) = 0 - ORDER BY data_richiesta ASC'; + GROUP BY in_interventi.id, in_interventi_tecnici_assegnati.id_tecnico + HAVING COUNT(in_interventi_tecnici.id) = 0 + ORDER BY data_richiesta ASC'; $promemoria_interventi = $dbo->fetchArray($query_interventi); $promemoria = array_merge($promemoria_contratti, $promemoria_interventi); From 28470a4729fe82dc146998b236c4c0b62fa6e446 Mon Sep 17 00:00:00 2001 From: Pek5892 Date: Wed, 29 Mar 2023 11:52:53 +0200 Subject: [PATCH 3/7] Fix minore --- plugins/presentazioni_bancarie/generate.php | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/plugins/presentazioni_bancarie/generate.php b/plugins/presentazioni_bancarie/generate.php index a01f47b35..63ac9f333 100644 --- a/plugins/presentazioni_bancarie/generate.php +++ b/plugins/presentazioni_bancarie/generate.php @@ -125,7 +125,8 @@ foreach ($raggruppamento as $id_anagrafica => $scadenze_anagrafica) { $is_rid = in_array($scadenza->documento->pagamento['codice_modalita_pagamento_fe'],["MP09", "MP10", "MP11"]); $is_riba = in_array($scadenza->documento->pagamento['codice_modalita_pagamento_fe'],["MP12"]); - $is_sepa = in_array($scadenza->documento->pagamento['codice_modalita_pagamento_fe'],["MP19", "MP20", "MP21"]); + $is_sepa = in_array($scadenza->documento->pagamento['codice_modalita_pagamento_fe'],["MP19", "MP20", "MP21"]); + $is_bonifico = in_array($scadenza->documento->pagamento['codice_modalita_pagamento_fe'],["MP05"]); $documento = $scadenza->documento; $pagamento = $documento->pagamento; @@ -140,12 +141,12 @@ foreach ($raggruppamento as $id_anagrafica => $scadenze_anagrafica) { echo ' '.tr('Id creditore mancante').''; } - } else if($is_riba && empty($banca_azienda->codice_sia)){ + } else if($is_riba && empty($banca_azienda->codice_sia) || $is_bonifico && empty($banca_azienda->codice_sia)){ echo ' '.tr('Codice SIA banca emittente mancante').''; - } + } - if ($is_sepa) { + if ($is_sepa) { //Prima, successiva, singola From be92dfc1f347be4a3f191deb782ec0f51c9799b1 Mon Sep 17 00:00:00 2001 From: Luca Date: Wed, 29 Mar 2023 12:04:43 +0200 Subject: [PATCH 4/7] Fix minore --- plugins/presentazioni_bancarie/generate.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/presentazioni_bancarie/generate.php b/plugins/presentazioni_bancarie/generate.php index 63ac9f333..fdf407a48 100644 --- a/plugins/presentazioni_bancarie/generate.php +++ b/plugins/presentazioni_bancarie/generate.php @@ -141,7 +141,7 @@ foreach ($raggruppamento as $id_anagrafica => $scadenze_anagrafica) { echo ' '.tr('Id creditore mancante').''; } - } else if($is_riba && empty($banca_azienda->codice_sia) || $is_bonifico && empty($banca_azienda->codice_sia)){ + } else if(($is_riba && empty($banca_azienda->codice_sia)) || ($is_bonifico && empty($banca_azienda->codice_sia))){ echo ' '.tr('Codice SIA banca emittente mancante').''; } From 30aa54683eb4f72736cc54d948899a57d29b9106 Mon Sep 17 00:00:00 2001 From: Pek5892 Date: Wed, 29 Mar 2023 15:50:44 +0200 Subject: [PATCH 5/7] Miglioria vista colonna Ragione sociale --- update/2_4_43.sql | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/update/2_4_43.sql b/update/2_4_43.sql index bbf9c2645..21c7758e3 100644 --- a/update/2_4_43.sql +++ b/update/2_4_43.sql @@ -28,4 +28,15 @@ INSERT INTO `zz_views` (`id_module`, `name`, `query`, `order`, `search`, `slow`, -- Set NULL campi vuoti search_inside e order_by UPDATE `zz_views` SET `search_inside` = NULL WHERE `search_inside` = ''; -UPDATE `zz_views` SET `order_by` = NULL WHERE `order_by` = ''; \ No newline at end of file +UPDATE `zz_views` SET `order_by` = NULL WHERE `order_by` = ''; + +-- Miglioria vista colonna Ragione sociale +UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = 'IF(`an_anagrafiche`.`ragione_sociale` != "", `an_anagrafiche`.`ragione_sociale`, CONCAT(`an_anagrafiche`.`cognome`, " ", `an_anagrafiche`.`nome`))' WHERE `zz_modules`.`name` = 'Anagrafiche' AND `zz_views`.`name` = 'Ragione sociale'; +UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = 'IF(`an_anagrafiche`.`ragione_sociale` != "", `an_anagrafiche`.`ragione_sociale`, CONCAT(`an_anagrafiche`.`cognome`, " ", `an_anagrafiche`.`nome`))' WHERE `zz_modules`.`name` = 'Interventi' AND `zz_views`.`name` = 'Ragione sociale'; +UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = 'IF(`an_anagrafiche`.`ragione_sociale` != "", `an_anagrafiche`.`ragione_sociale`, CONCAT(`an_anagrafiche`.`cognome`, " ", `an_anagrafiche`.`nome`))' WHERE `zz_modules`.`name` = 'Fatture di vendita' AND `zz_views`.`name` = 'Ragione sociale'; +UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = 'IF(`an_anagrafiche`.`ragione_sociale` != "", `an_anagrafiche`.`ragione_sociale`, CONCAT(`an_anagrafiche`.`cognome`, " ", `an_anagrafiche`.`nome`))' WHERE `zz_modules`.`name` = 'Fatture di acquisto' AND `zz_views`.`name` = 'Ragione sociale'; +UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = 'IF(`an_anagrafiche`.`ragione_sociale` != "", `an_anagrafiche`.`ragione_sociale`, CONCAT(`an_anagrafiche`.`cognome`, " ", `an_anagrafiche`.`nome`))' WHERE `zz_modules`.`name` = 'Ordini cliente' AND `zz_views`.`name` = 'Ragione sociale'; +UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = 'IF(`an_anagrafiche`.`ragione_sociale` != "", `an_anagrafiche`.`ragione_sociale`, CONCAT(`an_anagrafiche`.`cognome`, " ", `an_anagrafiche`.`nome`))' WHERE `zz_modules`.`name` = 'Ordini fornitore' AND `zz_views`.`name` = 'Ragione sociale'; +UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = 'IF(`an_anagrafiche`.`ragione_sociale` != "", `an_anagrafiche`.`ragione_sociale`, CONCAT(`an_anagrafiche`.`cognome`, " ", `an_anagrafiche`.`nome`))' WHERE `zz_modules`.`name` = 'Ddt di vendita' AND `zz_views`.`name` = 'Ragione sociale'; +UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = 'IF(`an_anagrafiche`.`ragione_sociale` != "", `an_anagrafiche`.`ragione_sociale`, CONCAT(`an_anagrafiche`.`cognome`, " ", `an_anagrafiche`.`nome`))' WHERE `zz_modules`.`name` = 'Ddt di acquisto' AND `zz_views`.`name` = 'Ragione sociale'; +UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = 'IF(`an_anagrafiche`.`ragione_sociale` != "", `an_anagrafiche`.`ragione_sociale`, CONCAT(`an_anagrafiche`.`cognome`, " ", `an_anagrafiche`.`nome`))' WHERE `zz_modules`.`name` = 'Listini' AND `zz_views`.`name` = 'Ragione sociale'; \ No newline at end of file From 5adb5e11d7a51e713fa641866a09f7ef277c7c05 Mon Sep 17 00:00:00 2001 From: Pek5892 Date: Wed, 29 Mar 2023 16:41:24 +0200 Subject: [PATCH 6/7] Revert "Miglioria vista colonna Ragione sociale" This reverts commit 30aa54683eb4f72736cc54d948899a57d29b9106. --- update/2_4_43.sql | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/update/2_4_43.sql b/update/2_4_43.sql index 21c7758e3..bbf9c2645 100644 --- a/update/2_4_43.sql +++ b/update/2_4_43.sql @@ -28,15 +28,4 @@ INSERT INTO `zz_views` (`id_module`, `name`, `query`, `order`, `search`, `slow`, -- Set NULL campi vuoti search_inside e order_by UPDATE `zz_views` SET `search_inside` = NULL WHERE `search_inside` = ''; -UPDATE `zz_views` SET `order_by` = NULL WHERE `order_by` = ''; - --- Miglioria vista colonna Ragione sociale -UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = 'IF(`an_anagrafiche`.`ragione_sociale` != "", `an_anagrafiche`.`ragione_sociale`, CONCAT(`an_anagrafiche`.`cognome`, " ", `an_anagrafiche`.`nome`))' WHERE `zz_modules`.`name` = 'Anagrafiche' AND `zz_views`.`name` = 'Ragione sociale'; -UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = 'IF(`an_anagrafiche`.`ragione_sociale` != "", `an_anagrafiche`.`ragione_sociale`, CONCAT(`an_anagrafiche`.`cognome`, " ", `an_anagrafiche`.`nome`))' WHERE `zz_modules`.`name` = 'Interventi' AND `zz_views`.`name` = 'Ragione sociale'; -UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = 'IF(`an_anagrafiche`.`ragione_sociale` != "", `an_anagrafiche`.`ragione_sociale`, CONCAT(`an_anagrafiche`.`cognome`, " ", `an_anagrafiche`.`nome`))' WHERE `zz_modules`.`name` = 'Fatture di vendita' AND `zz_views`.`name` = 'Ragione sociale'; -UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = 'IF(`an_anagrafiche`.`ragione_sociale` != "", `an_anagrafiche`.`ragione_sociale`, CONCAT(`an_anagrafiche`.`cognome`, " ", `an_anagrafiche`.`nome`))' WHERE `zz_modules`.`name` = 'Fatture di acquisto' AND `zz_views`.`name` = 'Ragione sociale'; -UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = 'IF(`an_anagrafiche`.`ragione_sociale` != "", `an_anagrafiche`.`ragione_sociale`, CONCAT(`an_anagrafiche`.`cognome`, " ", `an_anagrafiche`.`nome`))' WHERE `zz_modules`.`name` = 'Ordini cliente' AND `zz_views`.`name` = 'Ragione sociale'; -UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = 'IF(`an_anagrafiche`.`ragione_sociale` != "", `an_anagrafiche`.`ragione_sociale`, CONCAT(`an_anagrafiche`.`cognome`, " ", `an_anagrafiche`.`nome`))' WHERE `zz_modules`.`name` = 'Ordini fornitore' AND `zz_views`.`name` = 'Ragione sociale'; -UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = 'IF(`an_anagrafiche`.`ragione_sociale` != "", `an_anagrafiche`.`ragione_sociale`, CONCAT(`an_anagrafiche`.`cognome`, " ", `an_anagrafiche`.`nome`))' WHERE `zz_modules`.`name` = 'Ddt di vendita' AND `zz_views`.`name` = 'Ragione sociale'; -UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = 'IF(`an_anagrafiche`.`ragione_sociale` != "", `an_anagrafiche`.`ragione_sociale`, CONCAT(`an_anagrafiche`.`cognome`, " ", `an_anagrafiche`.`nome`))' WHERE `zz_modules`.`name` = 'Ddt di acquisto' AND `zz_views`.`name` = 'Ragione sociale'; -UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = 'IF(`an_anagrafiche`.`ragione_sociale` != "", `an_anagrafiche`.`ragione_sociale`, CONCAT(`an_anagrafiche`.`cognome`, " ", `an_anagrafiche`.`nome`))' WHERE `zz_modules`.`name` = 'Listini' AND `zz_views`.`name` = 'Ragione sociale'; \ No newline at end of file +UPDATE `zz_views` SET `order_by` = NULL WHERE `order_by` = ''; \ No newline at end of file From ffb1e23523c64c458f2f68e4e134288ab82c17f1 Mon Sep 17 00:00:00 2001 From: Pek5892 Date: Wed, 29 Mar 2023 16:51:43 +0200 Subject: [PATCH 7/7] Fix anagrafiche senza ragione sociale --- update/2_4_43.sql | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/update/2_4_43.sql b/update/2_4_43.sql index bbf9c2645..732d17106 100644 --- a/update/2_4_43.sql +++ b/update/2_4_43.sql @@ -28,4 +28,7 @@ INSERT INTO `zz_views` (`id_module`, `name`, `query`, `order`, `search`, `slow`, -- Set NULL campi vuoti search_inside e order_by UPDATE `zz_views` SET `search_inside` = NULL WHERE `search_inside` = ''; -UPDATE `zz_views` SET `order_by` = NULL WHERE `order_by` = ''; \ No newline at end of file +UPDATE `zz_views` SET `order_by` = NULL WHERE `order_by` = ''; + +-- Fix per anagrafiche senza ragione sociale +UPDATE `an_anagrafiche` SET `ragione_sociale` = CONCAT(cognome, " ", nome) WHERE `an_anagrafiche`.`ragione_sociale` = ""; \ No newline at end of file