diff --git a/modules/articoli/modals/add_movimento.php b/modules/articoli/modals/add_movimento.php index fccd7ee41..e857574ec 100755 --- a/modules/articoli/modals/add_movimento.php +++ b/modules/articoli/modals/add_movimento.php @@ -41,7 +41,7 @@ include_once __DIR__.'/../../../core.php';
- {["type": "select", "label": "", "name": "causale", "values": "query=SELECT id, nome as text, descrizione, tipo_movimento FROM mg_causali_movimenti", "value": 1, "required": 1 ]} + {["type": "select", "label": "", "name": "causale", "values": "query=SELECT `mg_causali_movimenti`.`id`, `name` as text, `description` as descrizione, `tipo_movimento` FROM `mg_causali_movimenti` LEFT JOIN `mg_causali_movimenti_lang` ON (`mg_causali_movimenti`.`id` = `mg_causali_movimenti_lang`.`id_record` AND `mg_causali_movimenti_lang`.`id_lang` = )", "value": 1, "required": 1 ]}
diff --git a/modules/causali_movimenti/actions.php b/modules/causali_movimenti/actions.php index a0e39bf40..6d0aba829 100755 --- a/modules/causali_movimenti/actions.php +++ b/modules/causali_movimenti/actions.php @@ -23,12 +23,12 @@ switch (filter('op')) { case 'update': if (isset($id_record)) { $database->update('mg_causali_movimenti', [ - 'nome' => post('nome'), 'tipo_movimento' => post('tipo_movimento'), - 'descrizione' => post('descrizione'), - ], [ - 'id' => $id_record, - ]); + ], ['id' => $id_record,]); + $database->update('mg_causali_movimenti_lang', [ + 'name' => post('nome'), + 'description' => post('descrizione'), + ], ['id_record' => $id_record, 'id_lang' => setting('Lingua'),]); } else { flash()->error(tr('Ci sono stati alcuni errori durante il salvataggio')); } @@ -37,12 +37,15 @@ switch (filter('op')) { case 'add': $database->insert('mg_causali_movimenti', [ - 'nome' => post('nome'), 'tipo_movimento' => post('tipo_movimento'), - 'descrizione' => post('descrizione'), ]); $id_record = $database->lastInsertedID(); - + $database->insert('mg_causali_movimenti_lang', [ + 'nome' => post('nome'), + 'descrizione' => post('descrizione'), + 'id_record' => $id_record, + 'id_lang' => setting('Lingua'), + ]); break; case 'delete': diff --git a/modules/causali_movimenti/init.php b/modules/causali_movimenti/init.php index 1b2262959..80398a7a1 100755 --- a/modules/causali_movimenti/init.php +++ b/modules/causali_movimenti/init.php @@ -20,5 +20,5 @@ include_once __DIR__.'/../../core.php'; if (isset($id_record)) { - $record = $dbo->fetchOne('SELECT * FROM `mg_causali_movimenti` WHERE id='.prepare($id_record)); + $record = $dbo->fetchOne('SELECT * FROM `mg_causali_movimenti` LEFT JOIN `mg_causali_movimenti_lang` ON (`mg_causali_movimenti`.`id` = `mg_causali_movimenti_lang`.`id_record` AND `mg_causali_movimenti_lang`.`id_lang` = '.prepare(setting('Lingua')).') WHERE `mg_causali_movimenti`.`id`='.prepare($id_record)); } diff --git a/modules/movimenti/add.php b/modules/movimenti/add.php index 961dfb5c1..1b992b5ae 100755 --- a/modules/movimenti/add.php +++ b/modules/movimenti/add.php @@ -57,7 +57,7 @@ if (setting('Attiva scorciatoie da tastiera')) {
- {["type": "select", "label": "", "name": "causale", "values": "query=SELECT id, nome as text, descrizione, tipo_movimento FROM mg_causali_movimenti", "value": 1, "required": 1 ]} + {["type": "select", "label": "", "name": "causale", "values": "query=SELECT `mg_causali_movimenti`.`id`, `name` as text, `description` as descrizione, `tipo_movimento` FROM `mg_causali_movimenti` LEFT JOIN `mg_causali_movimenti_lang` ON (`mg_causali_movimenti`.`id` = `mg_causali_movimenti_lang`.`id_record` AND `mg_causali_movimenti_lang`.`id_lang` = ) ORDER BY `name` ASC", "value": 1, "required": 1 ]}
diff --git a/update/2_4_55.sql b/update/2_4_55.sql index cd14d4ada..e24a864f6 100644 --- a/update/2_4_55.sql +++ b/update/2_4_55.sql @@ -1535,4 +1535,64 @@ HAVING ORDER BY `mg_articoli_lang`.`name`" WHERE `name` = 'Articoli'; UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = '`mg_categorie_lang`.`name`' WHERE `zz_modules`.`name` = 'Articoli' AND `zz_views`.`name` = 'Categoria'; -UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = '`mg_categorie_lang`.`name`' WHERE `zz_modules`.`name` = 'Articoli' AND `zz_views`.`name` = 'Sottocategoria'; \ No newline at end of file +UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = '`mg_categorie_lang`.`name`' WHERE `zz_modules`.`name` = 'Articoli' AND `zz_views`.`name` = 'Sottocategoria'; + +-- Aggiunta tabella mg_causali_movimenti_lang +CREATE TABLE IF NOT EXISTS `mg_causali_movimenti_lang` ( + `id` int NOT NULL, + `id_lang` int NOT NULL, + `id_record` int NOT NULL, + `name` VARCHAR(255) NOT NULL, + `description` VARCHAR(255) NOT NULL +); +ALTER TABLE `mg_causali_movimenti_lang` + ADD PRIMARY KEY (`id`); + +ALTER TABLE `mg_causali_movimenti_lang` + MODIFY `id` int NOT NULL AUTO_INCREMENT; + +INSERT INTO `mg_causali_movimenti_lang` (`id`, `id_lang`, `id_record`, `name`, `description`) SELECT NULL, (SELECT `id` FROM `zz_langs` WHERE `iso_code` = 'it'), `id`, `nome`, `descrizione` FROM `mg_causali_movimenti`; + +ALTER TABLE `mg_causali_movimenti` + DROP `nome`, + DROP `descrizione`; + +ALTER TABLE `mg_causali_movimenti_lang` ADD CONSTRAINT `mg_causali_movimenti_lang_ibfk_1` FOREIGN KEY (`id_record`) REFERENCES `mg_causali_movimenti`(`id`) ON DELETE CASCADE ON UPDATE RESTRICT; + +-- Allineamento vista Causali movimenti +UPDATE `zz_modules` SET `options` = " +SELECT + |select| +FROM + `mg_causali_movimenti` + LEFT JOIN `mg_causali_movimenti_lang` ON (`mg_causali_movimenti`.`id` = `mg_causali_movimenti_lang`.`id_record` AND `mg_causali_movimenti_lang`.|lang|) +WHERE + 1=1 +HAVING + 2=2" WHERE `name` = 'Causali movimenti'; +UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = '`mg_causali_movimenti_lang`.`name`' WHERE `zz_modules`.`name` = 'Causali movimenti' AND `zz_views`.`name` = 'Nome'; +UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = '`mg_causali_movimenti_lang`.`description`' WHERE `zz_modules`.`name` = 'Causali movimenti' AND `zz_views`.`name` = 'Descrizione'; +UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = '`mg_causali_movimenti`.`id`' WHERE `zz_modules`.`name` = 'Causali movimenti' AND `zz_views`.`name` = 'id'; + +-- Allineamento vista Movimenti +UPDATE `zz_modules` SET `options` = " +SELECT + |select| +FROM + `mg_movimenti` + INNER JOIN `mg_articoli` ON `mg_articoli`.id = `mg_movimenti`.`idarticolo` + LEFT JOIN `mg_articoli_lang` ON (`mg_articoli`.`id` = `mg_articoli_lang`.`id_record` AND `mg_articoli_lang`.|lang|) + LEFT JOIN `an_sedi` ON `mg_movimenti`.`idsede` = `an_sedi`.`id` + LEFT JOIN `zz_modules` ON `zz_modules`.`name` = 'Articoli' + LEFT JOIN (SELECT `an_anagrafiche`.`idanagrafica`, `co_documenti`.`id`, `ragione_sociale` AS nomi FROM `co_documenti` LEFT JOIN `an_anagrafiche` ON `co_documenti`.`idanagrafica` = `an_anagrafiche`.`idanagrafica` GROUP BY `idanagrafica`, `co_documenti`.`id`) AS fattura ON `fattura`.`id`= `mg_movimenti`.`reference_id` + LEFT JOIN (SELECT `an_anagrafiche`.`idanagrafica`, `dt_ddt`.`id`, `ragione_sociale` AS nomi FROM `dt_ddt` LEFT JOIN `an_anagrafiche` ON `dt_ddt`.`idanagrafica` = `an_anagrafiche`.`idanagrafica` GROUP BY `idanagrafica`, `dt_ddt`.`id`) AS ddt ON `ddt`.`id`= `mg_movimenti`.`reference_id` + LEFT JOIN (SELECT `an_anagrafiche`.`idanagrafica`, `in_interventi`.`id`, `ragione_sociale` AS nomi FROM `in_interventi` LEFT JOIN `an_anagrafiche` ON `in_interventi`.`idanagrafica` = `an_anagrafiche`.`idanagrafica` GROUP BY `idanagrafica`, `in_interventi`.`id`) AS intervento ON `intervento`.`id`= `mg_movimenti`.`reference_id` + LEFT JOIN (SELECT CONCAT('tab_', `zz_plugins`.`id`) AS link FROM `zz_plugins` INNER JOIN `zz_modules` ON `zz_plugins`.`idmodule_to` = `zz_modules`.`id` WHERE `zz_modules`.`name` = 'Articoli' AND `zz_plugins`.`name` = 'Movimenti') AS page ON `mg_movimenti`.`id` != '' +WHERE + 1=1 AND `mg_articoli`.`deleted_at` IS NULL +HAVING + 2=2 +ORDER BY + `mg_movimenti`.`data` DESC, + `mg_movimenti`.`created_at` DESC" WHERE `name` = 'Movimenti'; +UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = 'IF(`mg_articoli_lang`.`name` != "", CONCAT(`mg_articoli`.`codice`, " - ", `mg_articoli_lang`.`name`), `mg_articoli`.`codice`)' WHERE `zz_modules`.`name` = 'Movimenti' AND `zz_views`.`name` = 'Articolo'; diff --git a/update/tables.php b/update/tables.php index d05a77074..a142679e4 100755 --- a/update/tables.php +++ b/update/tables.php @@ -123,6 +123,7 @@ return [ 'mg_categorie', 'mg_categorie_lang', 'mg_causali_movimenti', + 'mg_causali_movimenti_lang', 'mg_listini', 'mg_listini_articoli', 'mg_piani_sconto',