diff --git a/modules/combinazioni_articoli/actions.php b/modules/combinazioni_articoli/actions.php index c94f00dff..69245710b 100644 --- a/modules/combinazioni_articoli/actions.php +++ b/modules/combinazioni_articoli/actions.php @@ -15,7 +15,10 @@ switch (filter('op')) { if (!empty($combinazione_new) && !empty($id_record) && $combinazione_new != $id_record){ flash()->error(tr('Questo nome è già stato utilizzato per un altra combinazione.')); } else { - $combinazione = $combinazione ?: Combinazione::build(); + if (empty($combinazione)) { + $combinazione = Combinazione::build(); + $id_record = $dbo->lastInsertedID(); + } $combinazione->name = $nome; $combinazione->codice = post('codice'); $combinazione->id_categoria = post('id_categoria'); diff --git a/modules/combinazioni_articoli/init.php b/modules/combinazioni_articoli/init.php index e37110ace..07de8b0cb 100644 --- a/modules/combinazioni_articoli/init.php +++ b/modules/combinazioni_articoli/init.php @@ -5,7 +5,7 @@ use Modules\CombinazioniArticoli\Combinazione; include_once __DIR__.'/../../core.php'; if (!empty($id_record)) { - $combinazione = Combinazione::withTrashed()->find($id_record); + $combinazione = Combinazione::find($id_record); $record = $combinazione->toArray(); } diff --git a/modules/combinazioni_articoli/src/Combinazione.php b/modules/combinazioni_articoli/src/Combinazione.php index 1a37e448d..23fd054b5 100644 --- a/modules/combinazioni_articoli/src/Combinazione.php +++ b/modules/combinazioni_articoli/src/Combinazione.php @@ -18,6 +18,13 @@ class Combinazione extends Model protected $table = 'mg_combinazioni'; + public static function build() + { + $model = new static(); + $model->save(); + + return $model; + } /** * Elenco dei campi della combinazione da sincronizzare da e verso gli Articoli della combinazione. * diff --git a/modules/ddt/src/DDT.php b/modules/ddt/src/DDT.php index 18c5c7f8d..072ae57a0 100755 --- a/modules/ddt/src/DDT.php +++ b/modules/ddt/src/DDT.php @@ -127,9 +127,10 @@ class DDT extends Document public function isImportabile() { $database = database(); - $stati = $database->fetchArray('SELECT `name` FROM `dt_statiddt` LEFT JOIN `dt_statiddt_lang` ON (`dt_statiddt`.`id` = `dt_statiddt_lang`.`id_record` AND `dt_statiddt_lang`.`id_lang` = '.prepare(setting('Lingua')).') WHERE `is_fatturabile` = 1'); + $stati = Stato::where('is_fatturabile', 1)->get(); + foreach ($stati as $stato) { - $stati_importabili[] = $stato['descrizione']; + $stati_importabili[] = $stato->name; } $causale = $database->fetchOne('SELECT * FROM `dt_causalet` LEFT JOIN `dt_causalet_lang` ON (`dt_causalet`.`id` = `dt_causalet_lang`.`id_record` AND `dt_causalet_lang`.`id_lang` ='.prepare(setting('Lingua')).') WHERE `dt_causalet`.`id` = '.prepare($this->idcausalet)); diff --git a/modules/emails/actions.php b/modules/emails/actions.php index 6587eda8d..88212098b 100755 --- a/modules/emails/actions.php +++ b/modules/emails/actions.php @@ -23,13 +23,13 @@ include_once __DIR__.'/../../core.php'; switch (post('op')) { case 'add': - $id_module = post('module'); + $module = post('module'); $id_account = post('smtp'); $name = post('name'); $subject = post('subject'); - $template = Template::build($id_module, $id_account); - $id_record = $template->id; + $template = Template::build($module, $id_account); + $id_record = $dbo->lastInsertedID(); $template->name = $name; $template->subject = $subject; $template->save(); diff --git a/modules/spedizioni/edit.php b/modules/spedizioni/edit.php index c099ab684..6eb1ac52c 100755 --- a/modules/spedizioni/edit.php +++ b/modules/spedizioni/edit.php @@ -32,7 +32,7 @@ include_once __DIR__.'/../../core.php';
- {[ "type": "text", "label": "", "name": "descrizione", "required": 1, "value": "$descrizione$" ]} + {[ "type": "text", "label": "", "name": "descrizione", "required": 1, "value": "$name$" ]}
diff --git a/modules/spedizioni/init.php b/modules/spedizioni/init.php index bbe0e811d..b65337563 100755 --- a/modules/spedizioni/init.php +++ b/modules/spedizioni/init.php @@ -20,5 +20,5 @@ include_once __DIR__.'/../../core.php'; if (isset($id_record)) { - $record = $dbo->fetchOne('SELECT * FROM `dt_spedizione` LEFT JOIN `dt_spedizione_lang` ON (`dt_spedizione`.`id`=`dt_spedizione_lang`.`idrecord` AND `dt_spedizione_lang`.`id_lang`='.prepare(setting('Lingua')).') WHERE `dt_spedizione`.`id`='.prepare($id_record)); + $record = $dbo->fetchOne('SELECT *, `dt_spedizione`.`id` FROM `dt_spedizione` LEFT JOIN `dt_spedizione_lang` ON (`dt_spedizione`.`id`=`dt_spedizione_lang`.`id_record` AND `dt_spedizione_lang`.`id_lang`='.prepare(setting('Lingua')).') WHERE `dt_spedizione`.`id`='.prepare($id_record)); } diff --git a/modules/tecnici_tariffe/edit.php b/modules/tecnici_tariffe/edit.php index fc68a0f5d..038cd3c5b 100755 --- a/modules/tecnici_tariffe/edit.php +++ b/modules/tecnici_tariffe/edit.php @@ -18,6 +18,7 @@ */ include_once __DIR__.'/../../core.php'; +use Modules\TipiIntervento\Tipo; echo '
@@ -71,37 +72,39 @@ echo ' // Tipi di interventi foreach ($tipi_interventi as $tipo_intervento) { + + $tipo = Tipo::find($tipo_intervento['id']); echo ' - '.$tipo_intervento['descrizione'].' + '.$tipo->name.' - {[ "type": "number", "name": "costo_ore['.$tipo_intervento['id'].']", "required": 1, "value": "'.$tipo_intervento['costo_ore'].'", "icon-after": "" ]} + {[ "type": "number", "name": "costo_ore['.$tipo->id.']", "required": 1, "value": "'.$tipo->costo_ore.'", "icon-after": "" ]} - {[ "type": "number", "name": "costo_km['.$tipo_intervento['id'].']", "required": 1, "value": "'.$tipo_intervento['costo_km'].'", "icon-after": "" ]} + {[ "type": "number", "name": "costo_km['.$tipo->id.']", "required": 1, "value": "'.$tipo->costo_km.'", "icon-after": "" ]} - {[ "type": "number", "name": "costo_dirittochiamata['.$tipo_intervento['id'].']", "required": 1, "value": "'.$tipo_intervento['costo_dirittochiamata'].'", "icon-after": "" ]} + {[ "type": "number", "name": "costo_dirittochiamata['.$tipo->id.']", "required": 1, "value": "'.$tipo->costo_dirittochiamata.'", "icon-after": "" ]} - {[ "type": "number", "name": "costo_ore_tecnico['.$tipo_intervento['id'].']", "required": 1, "value": "'.$tipo_intervento['costo_ore_tecnico'].'", "icon-after": "" ]} + {[ "type": "number", "name": "costo_ore_tecnico['.$tipo->id.']", "required": 1, "value": "'.$tipo->costo_ore_tecnico.'", "icon-after": "" ]} - {[ "type": "number", "name": "costo_km_tecnico['.$tipo_intervento['id'].']", "required": 1, "value": "'.$tipo_intervento['costo_km_tecnico'].'", "icon-after": "" ]} + {[ "type": "number", "name": "costo_km_tecnico['.$tipo->id.']", "required": 1, "value": "'.$tipo->costo_km_tecnico.'", "icon-after": "" ]} - {[ "type": "number", "name": "costo_dirittochiamata_tecnico['.$tipo_intervento['id'].']", "required": 1, "value": "'.$tipo_intervento['costo_dirittochiamata_tecnico'].'", "icon-after": "" ]} + {[ "type": "number", "name": "costo_dirittochiamata_tecnico['.$tipo->id.']", "required": 1, "value": "'.$tipo->costo_dirittochiamata_tecnico.'", "icon-after": "" ]} - + diff --git a/modules/tipi_scadenze/ajax/select.php b/modules/tipi_scadenze/ajax/select.php index 7afef4679..4a570bf73 100755 --- a/modules/tipi_scadenze/ajax/select.php +++ b/modules/tipi_scadenze/ajax/select.php @@ -21,7 +21,7 @@ include_once __DIR__.'/../../../core.php'; switch ($resource) { case 'tipi_scadenze': - $query = 'SELECT `name` AS `id`, `description` as `descrizione` FROM `co_tipi_scadenze` LEFT JOIN `co_tipi_scadenze_lang` ON (`co_tipi_scadenze_lang`.`id_record` = `co_tipi_scadenze`.`id` AND `co_tipi_scadenze_lang`.`id_lang` = "'.prepare(setting('Lingua')).'") |where| ORDER BY `name` ASC'; + $query = 'SELECT `name` AS `id`, `description` as `descrizione` FROM `co_tipi_scadenze` LEFT JOIN `co_tipi_scadenze_lang` ON (`co_tipi_scadenze_lang`.`id_record` = `co_tipi_scadenze`.`id` AND `co_tipi_scadenze_lang`.`id_lang` = '.prepare(setting('Lingua')).') |where| ORDER BY `name` ASC'; foreach ($elements as $element) { $filter[] = '`co_tipi_scadenze`.`id`='.prepare($element); diff --git a/templates/scadenzario/init.php b/templates/scadenzario/init.php index 2f4f7669e..5cbc3b320 100755 --- a/templates/scadenzario/init.php +++ b/templates/scadenzario/init.php @@ -20,6 +20,7 @@ include_once __DIR__.'/../../core.php'; use Modules\Fatture\Fattura; +use Models\Module; $module = Module::find((new Module())->getByName('Scadenzario')->id_record); diff --git a/update/2_4_55.sql b/update/2_4_55.sql index 8daa340fe..bcf9b1f92 100644 --- a/update/2_4_55.sql +++ b/update/2_4_55.sql @@ -1400,27 +1400,6 @@ UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_module 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'; -- Aggiunta tabella mg_combinazioni_lang @@ -1983,4 +1962,54 @@ HAVING 2=2" WHERE `zz_modules`.`id` = (SELECT `id_record` FROM `zz_modules_lang` WHERE `name` = 'Tipi scadenze'); UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` LEFT JOIN `zz_modules_lang` ON (`zz_modules_lang`.`id_record` = `zz_modules`.`id` AND `zz_modules_lang`.`id_lang` = (SELECT `valore` FROM `zz_settings` WHERE `nome` = "Lingua")) SET `zz_views`.`query` = '`co_tipi_scadenze`.`id`' WHERE `zz_modules_lang`.`name` = 'Tipi scadenze' AND `zz_views`.`name` = 'id'; UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` LEFT JOIN `zz_modules_lang` ON (`zz_modules_lang`.`id_record` = `zz_modules`.`id` AND `zz_modules_lang`.`id_lang` = (SELECT `valore` FROM `zz_settings` WHERE `nome` = "Lingua")) SET `zz_views`.`query` = '`co_tipi_scadenze_lang`.`name`' WHERE `zz_modules_lang`.`name` = 'Tipi scadenze' AND `zz_views`.`name` = 'Nome'; -UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` LEFT JOIN `zz_modules_lang` ON (`zz_modules_lang`.`id_record` = `zz_modules`.`id` AND `zz_modules_lang`.`id_lang` = (SELECT `valore` FROM `zz_settings` WHERE `nome` = "Lingua")) SET `zz_views`.`query` = '`co_tipi_scadenze_lang`.`description`' WHERE `zz_modules_lang`.`name` = 'Tipi scadenze' AND `zz_views`.`name` = 'Descrizione'; \ No newline at end of file +UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` LEFT JOIN `zz_modules_lang` ON (`zz_modules_lang`.`id_record` = `zz_modules`.`id` AND `zz_modules_lang`.`id_lang` = (SELECT `valore` FROM `zz_settings` WHERE `nome` = "Lingua")) SET `zz_views`.`query` = '`co_tipi_scadenze_lang`.`description`' WHERE `zz_modules_lang`.`name` = 'Tipi scadenze' AND `zz_views`.`name` = 'Descrizione'; + +-- 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_lang` ON `zz_modules_lang`.`name` = 'Articoli' + LEFT JOIN `zz_modules` ON `zz_modules`.`id` = `zz_modules_lang`.`id_record` + 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` LEFT JOIN `zz_plugins_lang` ON (`zz_plugins_lang`.`id_record` = `zz_plugins`.`id` AND `zz_plugins_lang`.|lang|) INNER JOIN `zz_modules` ON `zz_plugins`.`idmodule_to` = `zz_modules`.`id` LEFT JOIN `zz_modules_lang` ON (`zz_modules_lang`.`id_record` = `zz_modules`.`id` AND `zz_modules_lang`.|lang|) WHERE `zz_modules_lang`.`name` = 'Articoli' AND `zz_plugins_lang`.`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 `zz_modules`.`id` = (SELECT `id_record` FROM `zz_modules_lang` WHERE `name` = 'Movimenti'); + +-- Allineamento vista Giacenze sedi +UPDATE `zz_modules` SET `options` = " +SELECT + |select| +FROM + `mg_articoli` + LEFT JOIN `mg_articoli_lang` ON (`mg_articoli`.`id` = `mg_articoli_lang`.`id_record` AND `mg_articoli_lang`.|lang|) + LEFT JOIN `an_anagrafiche` ON `mg_articoli`.`id_fornitore` = `an_anagrafiche`.`idanagrafica` + LEFT JOIN `co_iva` ON `mg_articoli`.`idiva_vendita` = `co_iva`.`id` + LEFT JOIN `co_iva_lang` ON (`co_iva`.`id` = `co_iva_lang`.`id_record` AND `co_iva_lang`.|lang|) + LEFT JOIN (SELECT SUM(`qta` - `qta_evasa`) AS qta_impegnata, `idarticolo` FROM `or_righe_ordini` INNER JOIN `or_ordini` ON `or_righe_ordini`.`idordine` = `or_ordini`.`id` WHERE `idstatoordine` IN(SELECT `id` FROM `or_statiordine` WHERE `completato` = 0) GROUP BY `idarticolo`) ordini ON `ordini`.`idarticolo` = `mg_articoli`.`id` + LEFT JOIN (SELECT `idarticolo`, `idsede`, SUM(`qta`) AS `qta` FROM `mg_movimenti` WHERE `idsede` = |giacenze_sedi_idsede| GROUP BY `idarticolo`, `idsede`) movimenti ON `mg_articoli`.`id` = `movimenti`.`idarticolo` + LEFT JOIN `mg_categorie` AS categoria ON `categoria`.`id`= `mg_articoli`.`id_categoria` + LEFT JOIN `mg_categorie_lang` AS categoria_lang ON (`categoria_lang`.`id_record` = `categoria`.`id` AND `categoria_lang`.|lang|) + LEFT JOIN `mg_categorie` AS sottocategoria ON `sottocategoria`.`id`=`mg_articoli`.`id_sottocategoria` + LEFT JOIN `mg_categorie_lang` AS sottocategoria_lang ON (`sottocategoria_lang`.`id_record` = `sottocategoria`.`id` AND `sottocategoria_lang`.|lang|) + LEFT JOIN (SELECT `co_iva`.`percentuale` AS perc, `co_iva`.`id`, `zz_settings`.`nome` FROM `co_iva` INNER JOIN `zz_settings` ON `co_iva`.`id`=`zz_settings`.`valore`)AS iva ON `iva`.`nome`= 'Iva predefinita' +WHERE + 1=1 AND `mg_articoli`.`deleted_at` IS NULL +HAVING + 2=2 AND `qta` > 0 +ORDER BY + `mg_articoli_lang`.`name`" WHERE `zz_modules`.`id` = (SELECT `id_record` FROM `zz_modules_lang` WHERE `name` = 'Giacenze sedi'); +UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` LEFT JOIN `zz_modules_lang` ON (`zz_modules_lang`.`id_record` = `zz_modules`.`id` AND `zz_modules_lang`.`id_lang` = (SELECT `valore` FROM `zz_settings` WHERE `nome` = "Lingua")) SET `zz_views`.`query` = '`mg_articoli_lang`.`name`' WHERE `zz_modules_lang`.`name` = 'Giacenze sedi' AND `zz_views`.`name` = 'Descrizione'; +UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` LEFT JOIN `zz_modules_lang` ON (`zz_modules_lang`.`id_record` = `zz_modules`.`id` AND `zz_modules_lang`.`id_lang` = (SELECT `valore` FROM `zz_settings` WHERE `nome` = "Lingua")) SET `zz_views`.`query` = '`categoria_lang`.`name`' WHERE `zz_modules_lang`.`name` = 'Giacenze sedi' AND `zz_views`.`name` = 'Categoria'; +UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` LEFT JOIN `zz_modules_lang` ON (`zz_modules_lang`.`id_record` = `zz_modules`.`id` AND `zz_modules_lang`.`id_lang` = (SELECT `valore` FROM `zz_settings` WHERE `nome` = "Lingua")) SET `zz_views`.`query` = '`sottocategoria_lang`.`name`' WHERE `zz_modules_lang`.`name` = 'Giacenze sedi' AND `zz_views`.`name` = 'Sottocategoria'; \ No newline at end of file