diff --git a/modules/categorie_documenti/edit.php b/modules/categorie_documenti/edit.php index 315493df2..41dd858be 100755 --- a/modules/categorie_documenti/edit.php +++ b/modules/categorie_documenti/edit.php @@ -37,7 +37,7 @@ if ($record['doc_associati'] > 0) {
- {[ "type": "select", "label": "", "name": "permessi[]", "value": "$permessi$", "values": "query=SELECT `zz_groups`.`id`, `zz_groups_lang`.`name` AS text FROM `zz_groups`", "multiple": 1 ]} + {[ "type": "select", "label": "", "name": "permessi[]", "value": "$permessi$", "values": "query=SELECT `zz_groups`.`id`, `zz_groups_lang`.`name` AS text FROM `zz_groups` LEFT JOIN `zz_groups_lang` ON (`zz_groups`.`id` = `zz_groups_lang`.`id_record` AND `zz_groups_lang`.`id_lang` = id); ?>)", "multiple": 1 ]}
diff --git a/modules/fasce_orarie/actions.php b/modules/fasce_orarie/actions.php index f1a1a39df..0d8ebc792 100644 --- a/modules/fasce_orarie/actions.php +++ b/modules/fasce_orarie/actions.php @@ -28,7 +28,7 @@ switch (post('op')) { $include_bank_holidays = post('include_bank_holidays'); $is_predefined = post('is_predefined'); - if ($dbo->fetchNum('SELECT * FROM `in_fasceorarie` LEFT JOIN `in_fasceorarie_lang` ON (`in_fasceorarie_lang`.`id_record` = `in_fasceorarie`.`id` AND `in_fasceorarie_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `name`='.prepare($nome).' AND `in_fasceorarie`.`id`!='.prepare($id_record)) == 0) { + if (empty($dbo->fetchArray('SELECT `in_fasceorarie`.`id` FROM `in_fasceorarie` LEFT JOIN `in_fasceorarie_lang` ON (`in_fasceorarie_lang`.`id_record` = `in_fasceorarie`.`id` AND `in_fasceorarie_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `name`='.prepare($nome).' AND `in_fasceorarie`.`id`!='.prepare($id_record)))) { if (!empty($is_predefined)) { $dbo->query('UPDATE `in_fasceorarie` SET `is_predefined` = 0'); } @@ -59,7 +59,7 @@ switch (post('op')) { $ora_inizio = post('ora_inizio'); $ora_fine = post('ora_fine'); - if ($dbo->fetchNum('SELECT * FROM `in_fasceorarie` LEFT JOIN `in_fasceorarie_lang` ON (`in_fasceorarie_lang`.`id_record` = `in_fasceorarie`.`id` AND `in_fasceorarie_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `name`='.prepare($nome)) == 0) { + if (empty($dbo->fetchArray('SELECT `in_fasceorarie`.`id` FROM `in_fasceorarie` LEFT JOIN `in_fasceorarie_lang` ON (`in_fasceorarie_lang`.`id_record` = `in_fasceorarie`.`id` AND `in_fasceorarie_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `name`='.prepare($nome)))) { $dbo->insert('in_fasceorarie', [ 'ora_inizio' => $ora_inizio, 'ora_fine' => $ora_fine, diff --git a/modules/fasce_orarie/edit.php b/modules/fasce_orarie/edit.php index b2412c641..c73bfbbca 100644 --- a/modules/fasce_orarie/edit.php +++ b/modules/fasce_orarie/edit.php @@ -140,7 +140,7 @@ function aggiungiData() { fetchArray('SELECT `in_tipiintervento`.`codice`, `in_tipiintervento`.`descrizione`, `in_tipiintervento`.`id` FROM `in_tipiintervento` LEFT JOIN `in_fasceorarie_tipiintervento` ON `in_tipiintervento`.`id`=`in_fasceorarie_tipiintervento`.`idtipointervento` WHERE `in_fasceorarie_tipiintervento`.`idfasciaoraria`='.prepare($id_record)); +$elementi = $dbo->fetchArray('SELECT `in_tipiintervento`.`codice`, `in_tipiintervento_lang`.`name`, `in_tipiintervento`.`id` FROM `in_tipiintervento` LEFT JOIN `in_tipiintervento_lang` ON (`in_tipiintervento`.`id` = `in_tipiintervento_lang`.`id_record` AND `in_tipiintervento_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') LEFT JOIN `in_fasceorarie_tipiintervento` ON `in_tipiintervento`.`id`=`in_fasceorarie_tipiintervento`.`idtipointervento` WHERE `in_fasceorarie_tipiintervento`.`idfasciaoraria`='.prepare($id_record)); if (!empty($elementi)) { echo ' diff --git a/modules/ordini/modutil.php b/modules/ordini/modutil.php index f961955f4..2411848de 100755 --- a/modules/ordini/modutil.php +++ b/modules/ordini/modutil.php @@ -201,8 +201,7 @@ if (!function_exists('ricalcola_costiagg_ordine')) { // Leggo l'iva predefinita per calcolare l'iva aggiuntiva sulla rivalsa inps $qi = Aliquota::find(setting('Iva predefinita'))->percentuale; - $rsi = $dbo->fetchArray($qi); - $iva_rivalsainps = $rivalsainps / 100 * $rsi[0]['percentuale']; + $iva_rivalsainps = $rivalsainps / 100 * $qi; $dbo->query('UPDATE or_ordini SET ritenutaacconto='.prepare($ritenutaacconto).', bollo='.prepare($marca_da_bollo).', iva_rivalsainps='.prepare($iva_rivalsainps).' WHERE id='.prepare($idordine)); } else { diff --git a/modules/provenienze/actions.php b/modules/provenienze/actions.php index 0118edf37..38b58cfca 100644 --- a/modules/provenienze/actions.php +++ b/modules/provenienze/actions.php @@ -25,7 +25,7 @@ switch (filter('op')) { $colore = filter('colore'); if (isset($descrizione)) { - if ($dbo->fetchNum('SELECT * FROM `an_provenienze` LEFT JOIN `an_provenienze_lang` ON (`an_provenienze`.`id` = `an_provenienze_lang`.`id_record` AND `an_provenienze_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `name`='.prepare($descrizione).' AND `an_provenienze`.`id`!='.prepare($id_record)) == 0) { + if (empty($dbo->fetchArray('SELECT `an_provenienze`.`id` FROM `an_provenienze` LEFT JOIN `an_provenienze_lang` ON (`an_provenienze`.`id` = `an_provenienze_lang`.`id_record` AND `an_provenienze_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `name`='.prepare($descrizione).' AND `an_provenienze`.`id`!='.prepare($id_record)))) { $dbo->query('UPDATE `an_provenienze_lang` SET `name`='.prepare($descrizione).' WHERE `id_record` = '.prepare($id_record)); $dbo->query('UPDATE `an_provenienze` SET `colore`='.prepare($colore).' WHERE `id`='.prepare($id_record)); flash()->info(tr('Salvataggio completato.')); @@ -45,7 +45,7 @@ switch (filter('op')) { $colore = filter('colore'); if (isset($descrizione)) { - if ($dbo->fetchNum('SELECT * FROM `an_provenienze` LEFT JOIN `an_provenienze_lang` ON (`an_provenienze`.`id` = `an_provenienze_lang`.`id_record` AND `an_provenienze_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `name`='.prepare($descrizione)) == 0) { + if (empty($dbo->fetchArray('SELECT `an_provenienze`.`id` FROM `an_provenienze` LEFT JOIN `an_provenienze_lang` ON (`an_provenienze`.`id` = `an_provenienze_lang`.`id_record` AND `an_provenienze_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `name`='.prepare($descrizione)))) { $dbo->query('INSERT INTO `an_provenienze` (`colore`) VALUES ('.prepare($colore).')'); $id_record = $dbo->lastInsertedID(); $dbo->query('INSERT INTO `an_provenienze_lang` (`name`, `id_record`, `id_lang`) VALUES ('.prepare($descrizione).', '.prepare($id_record).', '.prepare(Models\Locale::getDefault()->id).')'); diff --git a/modules/relazioni_anagrafiche/actions.php b/modules/relazioni_anagrafiche/actions.php index b1768dbfc..1e7eb20cd 100755 --- a/modules/relazioni_anagrafiche/actions.php +++ b/modules/relazioni_anagrafiche/actions.php @@ -26,7 +26,8 @@ switch (filter('op')) { $is_bloccata = filter('is_bloccata'); if (isset($descrizione)) { - if ($dbo->fetchNum('SELECT * FROM `an_relazioni` LEFT JOIN (`an_relazioni_lang` ON `an_relazioni`.`id`=`an_relazioni_lang`.`id_record` AND `an_relazioni_lang`.`id_lang`='.prepare(Models\Locale::getDefault()->id).') WHERE `an_relazioni_lang`.`name`='.prepare($descrizione).' AND `an_relazioni`.`id`!='.prepare($id_record)) == 0) { + $esistente = $dbo->fetchArray('SELECT `an_relazioni`.`id` FROM `an_relazioni` LEFT JOIN `an_relazioni_lang` ON (`an_relazioni`.`id`=`an_relazioni_lang`.`id_record` AND `an_relazioni_lang`.`id_lang`='.prepare(Models\Locale::getDefault()->id).') WHERE `an_relazioni_lang`.`name`='.prepare($descrizione).' AND `an_relazioni`.`id` != '.prepare($id_record)); + if (empty($esistente)) { $dbo->query('UPDATE `an_relazioni` SET `colore`='.prepare($colore).', `is_bloccata`='.prepare($is_bloccata).' WHERE `id`='.prepare($id_record)); $dbo->query('UPDATE `an_relazioni_lang` SET `name`='.prepare($descrizione).' WHERE `id_record`='.prepare($id_record)); flash()->info(tr('Salvataggio completato.')); @@ -47,7 +48,8 @@ switch (filter('op')) { $is_bloccata = filter('is_bloccata'); if (isset($descrizione)) { - if ($dbo->fetchNum('SELECT * FROM `an_relazioni` LEFT JOIN (`an_relazioni_lang` ON `an_relazioni`.`id`=`an_relazioni_lang`.`id_record` AND `an_relazioni_lang`.`id_lang`='.prepare(Models\Locale::getDefault()->id).') WHERE `an_relazioni_lang`.`name`='.prepare($descrizione)) == 0) { + $esistente = $dbo->fetchArray('SELECT `an_relazioni`.`id` FROM `an_relazioni` LEFT JOIN `an_relazioni_lang` ON (`an_relazioni`.`id`=`an_relazioni_lang`.`id_record` AND `an_relazioni_lang`.`id_lang`='.prepare(Models\Locale::getDefault()->id).') WHERE `an_relazioni_lang`.`name`='.prepare($descrizione)); + if (empty($esistente)) { $dbo->query('INSERT INTO `an_relazioni` (`colore`, `is_bloccata`) VALUES ('.prepare($colore).', '.prepare($is_bloccata).' )'); $id_record = $dbo->lastInsertedID(); $dbo->query('INSERT INTO `an_relazioni_lang` (`name`, `id_record`, `id_lang`) VALUES ('.prepare($descrizione).', '.prepare($id_record).', '.prepare(Models\Locale::getDefault()->id).')'); diff --git a/modules/settori_merceologici/actions.php b/modules/settori_merceologici/actions.php index c59258439..1ea3d48f2 100644 --- a/modules/settori_merceologici/actions.php +++ b/modules/settori_merceologici/actions.php @@ -25,7 +25,7 @@ switch (filter('op')) { $colore = filter('colore'); if (isset($descrizione)) { - if ($dbo->fetchNum('SELECT * FROM `an_settori` LEFT JOIN `an_settori_lang` ON (`an_settori`.`id` = `an_settori_lang`.`id_record` AND `an_settori_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `name`='.prepare($descrizione).' AND `an_settori`.`id`!='.prepare($id_record)) == 0) { + if (empty($dbo->fetchArray('SELECT `an_settori`.`id` FROM `an_settori` LEFT JOIN `an_settori_lang` ON (`an_settori`.`id` = `an_settori_lang`.`id_record` AND `an_settori_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `name`='.prepare($descrizione).' AND `an_settori`.`id`!='.prepare($id_record)))) { $dbo->query('UPDATE `an_settori_lang` SET `name`='.prepare($descrizione).' WHERE `id_record`='.prepare($id_record)); flash()->info(tr('Salvataggio completato.')); } else { @@ -44,7 +44,7 @@ switch (filter('op')) { $colore = filter('colore'); if (isset($descrizione)) { - if ($dbo->fetchNum('SELECT * FROM `an_settori` LEFT JOIN `an_settori_lang` ON (`an_settori`.`id` = `an_settori_lang`.`id_record` AND `an_settori_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `name`='.prepare($descrizione)) == 0) { + if (empty($dbo->fetchNum('SELECT `an_settori`.`id` FROM `an_settori` LEFT JOIN `an_settori_lang` ON (`an_settori`.`id` = `an_settori_lang`.`id_record` AND `an_settori_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `name`='.prepare($descrizione)))) { $dbo->query('INSERT INTO `an_settori` (`id`, `created_at`, `updated_at`) VALUES (NULL, NOW(), NOW())'); $id_record = $dbo->lastInsertedID(); $dbo->query('INSERT INTO `an_settori_lang` (`name`, `id_record`, `id_lang`) VALUES ('.prepare($descrizione).', '.prepare($id_record).', '.prepare(Models\Locale::getDefault()->id).')'); diff --git a/update/2_5_1.sql b/update/2_5_1.sql index 3a539251e..618e3f3fb 100644 --- a/update/2_5_1.sql +++ b/update/2_5_1.sql @@ -32,4 +32,84 @@ UPDATE `zz_views` LEFT JOIN `zz_views_lang` ON (`zz_views_lang`.`id_record` = `z UPDATE `zz_plugins` SET `options` = ' { "main_query": [ { "type": "table", "fields": "Matricola, Nome, Data, Descrizione", "query": "SELECT id, (SELECT `zz_modules`.`id` FROM `zz_modules` LEFT JOIN `zz_modules_lang` ON (`zz_modules`.`id` = `zz_modules_lang`.`id_record` AND `zz_modules_lang`.`id_lang` = (SELECT `valore` FROM `zz_settings` WHERE `nome` = "Lingua") WHERE `name` = "Impianti") AS _link_module_, id AS _link_record_, matricola AS Matricola, nome AS Nome, DATE_FORMAT(data, "%d/%m/%Y") AS Data, descrizione AS Descrizione FROM my_impianti WHERE idanagrafica=|id_parent| HAVING 2=2 ORDER BY id DESC"} ]}' WHERE `zz_plugins`.`id` = (SELECT `id_record` FROM `zz_plugins_lang` WHERE `name` = 'Impianti del cliente' LIMIT 1); -- Fix plugin Contratti del cliente -UPDATE `zz_plugins` SET `options` = ' { "main_query": [ { "type": "table", "fields": "Numero, Nome, Totale, Stato, Predefinito", "query": "SELECT `co_contratti`.`id`, `numero` AS Numero, `co_contratti`.`nome` AS Nome, `an_anagrafiche`.`ragione_sociale` AS Cliente, FORMAT(`righe`.`totale_imponibile`,2) AS Totale, `co_staticontratti_lang`.`name` AS Stato, IF(`co_contratti`.`predefined`=1, "SÌ", "NO") AS Predefinito FROM `co_contratti` LEFT JOIN `an_anagrafiche` ON `co_contratti`.`idanagrafica` = `an_anagrafiche`.`idanagrafica` LEFT JOIN `co_staticontratti` ON `co_contratti`.`idstato` = `co_staticontratti`.`id` LEFT JOIN `co_staticonrtatti_lang` ON (co_staticontratti.`id` = `co_staticonrtatti_lang`.`id_record` AND `co_staticonrtatti_lang`.`id_lang` = (SELECT `valore` FROM `zz_settings` WHERE `nome` = "Lingua")) LEFT JOIN (SELECT `idcontratto`, SUM(`subtotale` - `sconto`) AS `totale_imponibile`, SUM(`subtotale` - `sconto` + `iva`) AS `totale` FROM `co_righe_contratti` GROUP BY `idcontratto` ) AS righe ON `co_contratti`.`id` =`righe`.`idcontratto` WHERE 1=1 AND `co_contratti`.`idanagrafica`=|id_parent| GROUP BY `co_contratti`.`id` HAVING 2=2 ORDER BY `co_contratti`.`id` ASC"} ]}' WHERE `zz_plugins`.`id` = (SELECT `id_record` FROM `zz_plugins_lang` WHERE `name` = 'Contratti del cliente' LIMIT 1); \ No newline at end of file +UPDATE `zz_plugins` SET `options` = ' { "main_query": [ { "type": "table", "fields": "Numero, Nome, Totale, Stato, Predefinito", "query": "SELECT `co_contratti`.`id`, `numero` AS Numero, `co_contratti`.`nome` AS Nome, `an_anagrafiche`.`ragione_sociale` AS Cliente, FORMAT(`righe`.`totale_imponibile`,2) AS Totale, `co_staticontratti_lang`.`name` AS Stato, IF(`co_contratti`.`predefined`=1, "SÌ", "NO") AS Predefinito FROM `co_contratti` LEFT JOIN `an_anagrafiche` ON `co_contratti`.`idanagrafica` = `an_anagrafiche`.`idanagrafica` LEFT JOIN `co_staticontratti` ON `co_contratti`.`idstato` = `co_staticontratti`.`id` LEFT JOIN `co_staticonrtatti_lang` ON (co_staticontratti.`id` = `co_staticonrtatti_lang`.`id_record` AND `co_staticonrtatti_lang`.`id_lang` = (SELECT `valore` FROM `zz_settings` WHERE `nome` = "Lingua")) LEFT JOIN (SELECT `idcontratto`, SUM(`subtotale` - `sconto`) AS `totale_imponibile`, SUM(`subtotale` - `sconto` + `iva`) AS `totale` FROM `co_righe_contratti` GROUP BY `idcontratto` ) AS righe ON `co_contratti`.`id` =`righe`.`idcontratto` WHERE 1=1 AND `co_contratti`.`idanagrafica`=|id_parent| GROUP BY `co_contratti`.`id` HAVING 2=2 ORDER BY `co_contratti`.`id` ASC"} ]}' WHERE `zz_plugins`.`id` = (SELECT `id_record` FROM `zz_plugins_lang` WHERE `name` = 'Contratti del cliente' LIMIT 1); + +-- Allineamento vista Listini +UPDATE `zz_modules` SET `options` = " +SELECT + |select| +FROM + `mg_prezzi_articoli` + INNER JOIN `an_anagrafiche` ON `an_anagrafiche`.`idanagrafica` = `mg_prezzi_articoli`.`id_anagrafica` + INNER JOIN `mg_articoli` ON `mg_articoli`.`id` = `mg_prezzi_articoli`.`id_articolo` + LEFT JOIN `mg_articoli_lang` ON (`mg_articoli_lang`.`id_record` = `mg_articoli`.`id` AND `mg_articoli_lang`.|lang|) + LEFT JOIN `mg_categorie` AS `categoria` ON `mg_articoli`.`id_categoria` = `categoria`.`id` + LEFT JOIN `mg_categorie_lang` AS `categorialang` ON (`categorialang`.`id_record` = `categoria`.`id` AND `categorialang`.|lang|) + LEFT JOIN `mg_categorie` AS `sottocategoria` ON `mg_articoli`.`id_sottocategoria` = `sottocategoria`.`id` + LEFT JOIN `mg_categorie_lang` AS `sottocategorialang` ON (`sottocategorialang`.`id_record` = `sottocategoria`.`id` AND `sottocategorialang`.|lang|) + LEFT JOIN `zz_modules_lang` ON `zz_modules_lang`.`name`= 'Articoli' + LEFT JOIN `zz_modules` ON `zz_modules`.`id` = `zz_modules_lang`.`id_record` + LEFT JOIN (SELECT `codice_fornitore` AS codice, `id_articolo`, `id_fornitore`, `barcode_fornitore` AS barcode, `deleted_at` FROM `mg_fornitore_articolo`) AS fornitore ON `mg_prezzi_articoli`.`id_articolo`= `fornitore`.`id_articolo` AND `mg_prezzi_articoli`.`id_anagrafica`=`fornitore`.`id_fornitore` AND `fornitore`.`deleted_at` IS NULL +WHERE + 1=1 AND `mg_articoli`.`deleted_at` IS NULL AND `an_anagrafiche`.`deleted_at` IS NULL +HAVING + 2=2 +ORDER BY + `an_anagrafiche`.`ragione_sociale`" WHERE `zz_modules`.`id` = (SELECT `id_record` FROM `zz_modules_lang` WHERE `name` = 'Listini' LIMIT 1); + +UPDATE `zz_views` +SET `query` = 'CONCAT(`mg_articoli`.`codice`, " - ", `mg_articoli_lang`.`name`)' +WHERE `zz_views`.`id` IN ( + SELECT * + FROM ( + SELECT `id_record` + FROM `zz_views_lang` + INNER JOIN `zz_views` ON `zz_views`.`id` = `zz_views_lang`.`id_record` + WHERE `name` = 'Articolo' + AND `id_module` = ( + SELECT `zz_modules`.`id` + FROM `zz_modules` + LEFT JOIN `zz_modules_lang` ON `zz_modules`.`id` = `zz_modules_lang`.`id_record` + WHERE `name` = 'Listini' + LIMIT 1 + ) + ) AS tmp +); + +UPDATE `zz_views` +SET `query` = '`categorialang`.`name`' +WHERE `zz_views`.`id` IN ( + SELECT * + FROM ( + SELECT `id_record` + FROM `zz_views_lang` + INNER JOIN `zz_views` ON `zz_views`.`id` = `zz_views_lang`.`id_record` + WHERE `name` = 'Categoria' + AND `id_module` = ( + SELECT `zz_modules`.`id` + FROM `zz_modules` + LEFT JOIN `zz_modules_lang` ON `zz_modules`.`id` = `zz_modules_lang`.`id_record` + WHERE `name` = 'Listini' + LIMIT 1 + ) + ) AS tmp +); + +UPDATE `zz_views` +SET `query` = '`sottocategorialang`.`name`' +WHERE `zz_views`.`id` IN ( + SELECT * + FROM ( + SELECT `id_record` + FROM `zz_views_lang` + INNER JOIN `zz_views` ON `zz_views`.`id` = `zz_views_lang`.`id_record` + WHERE `name` = 'Sottocategoria' + AND `id_module` = ( + SELECT `zz_modules`.`id` + FROM `zz_modules` + LEFT JOIN `zz_modules_lang` ON `zz_modules`.`id` = `zz_modules_lang`.`id_record` + WHERE `name` = 'Listini' + LIMIT 1 + ) + ) AS tmp +); \ No newline at end of file