diff --git a/modules/beni/actions.php b/modules/beni/actions.php
index 488550ed8..dbbc231ed 100755
--- a/modules/beni/actions.php
+++ b/modules/beni/actions.php
@@ -23,49 +23,40 @@ switch (post('op')) {
case 'update':
$descrizione = post('descrizione');
- if ($dbo->fetchNum('SELECT * FROM `dt_aspettobeni` WHERE `descrizione`='.prepare($descrizione).' AND `id`!='.prepare($id_record)) == 0) {
- $dbo->query('UPDATE `dt_aspettobeni` SET `descrizione`='.prepare($descrizione).' WHERE `id`='.prepare($id_record));
+ if ($dbo->fetchNum('SELECT * FROM `dt_aspettobeni` LEFT JOIN `dt_aspettobeni_lang` ON (`dt_aspettobeni`.`id`=`dt_aspettobeni_lang`.`id_record` AND `dt_aspettobeni_lang`.`lang`='.prepare(setting('Lingua')).') WHERE `name`='.prepare($descrizione).' AND `dt_aspettobeni`.`id`!='.prepare($id_record)) == 0) {
+ $dbo->query('UPDATE `dt_aspettobeni_lang` SET `name`='.prepare($descrizione).' WHERE `id_record`='.prepare($id_record)).' AND `lang`='.prepare(setting('Lingua'));
flash()->info(tr('Salvataggio completato.'));
} else {
- flash()->error(tr("E' già presente una tipologia di _TYPE_ con la stessa descrizione", [
- '_TYPE_' => 'bene',
- ]));
+ flash()->error(tr("E' già presente un aspetto beni con questa descrizione."));
}
-
break;
case 'add':
$descrizione = post('descrizione');
- if ($dbo->fetchNum('SELECT * FROM `dt_aspettobeni` WHERE `descrizione`='.prepare($descrizione)) == 0) {
- $dbo->query('INSERT INTO `dt_aspettobeni` (`descrizione`) VALUES ('.prepare($descrizione).')');
-
+ if ($dbo->fetchNum('SELECT * FROM `dt_aspettobeni_lang` WHERE `name`='.prepare($descrizione)) == 0) {
+ $dbo->query('INSERT INTO `dt_aspettobeni` (`created_at`) VALUES (NOW())');
$id_record = $dbo->lastInsertedID();
+ $dbo->query('INSERT INTO `dt_aspettobeni_lang` (`name`, `id_record`, `id_lang`) VALUES ('.prepare($descrizione).', '.prepare($id_record).', '.prepare(setting('Lingua')).')');
+
if (isAjaxRequest()) {
echo json_encode(['id' => $id_record, 'text' => $descrizione]);
}
- flash()->info(tr('Aggiunta nuova tipologia di _TYPE_', [
- '_TYPE_' => 'bene',
- ]));
+ flash()->info(tr('Aggiunto nuovo Aspetto beni.'));
} else {
- flash()->error(tr("E' già presente una tipologia di _TYPE_ con la stessa descrizione", [
- '_TYPE_' => 'bene',
- ]));
+ flash()->error(tr("E' già presente un aspetto beni con questa descrizione."));
}
break;
case 'delete':
- $documenti = $dbo->fetchNum('SELECT id FROM dt_ddt WHERE idaspettobeni='.prepare($id_record).'
- UNION SELECT id FROM co_documenti WHERE idaspettobeni='.prepare($id_record));
+ $documenti = $dbo->fetchNum('SELECT `id` FROM `dt_ddt` WHERE `idaspettobeni`='.prepare($id_record).' UNION SELECT `id` FROM `co_documenti` WHERE `idaspettobeni`='.prepare($id_record));
if (isset($id_record) && empty($documenti)) {
$dbo->query('DELETE FROM `dt_aspettobeni` WHERE `id`='.prepare($id_record));
- flash()->info(tr('Tipologia di _TYPE_ eliminata con successo.', [
- '_TYPE_' => 'bene',
- ]));
+ flash()->info(tr('Aspetto beni eliminato con successo.'));
} else {
flash()->error(tr('Sono presenti dei documenti collegati a questo aspetto beni.'));
}
diff --git a/modules/beni/ajax/select.php b/modules/beni/ajax/select.php
index e13b81f43..f428b0845 100755
--- a/modules/beni/ajax/select.php
+++ b/modules/beni/ajax/select.php
@@ -21,14 +21,14 @@ include_once __DIR__.'/../../../core.php';
switch ($resource) {
case 'aspetto-beni':
- $query = 'SELECT id, descrizione FROM dt_aspettobeni |where| ORDER BY descrizione ASC';
+ $query = 'SELECT `dt_aspettobeni`.`id`, `dt_aspettobeni_lang`.`name` as descrizione FROM `dt_aspettobeni` LEFT JOIN `dt_aspettobeni_lang` ON (`dt_aspettobeni`.`id`=`dt_aspettobeni_lang`.`id_record` AND `dt_aspettobeni_lang`.`id_lang`='.prepare(setting('Lingua')).') |where| ORDER BY `name` ASC';
foreach ($elements as $element) {
- $filter[] = 'id='.prepare($element);
+ $filter[] = '`dt_aspettobeni`.`id`='.prepare($element);
}
if (!empty($search)) {
- $search_fields[] = 'descrizione LIKE '.prepare('%'.$search.'%');
+ $search_fields[] = '`name` LIKE '.prepare('%'.$search.'%');
}
break;
diff --git a/modules/beni/edit.php b/modules/beni/edit.php
index 4c755b70e..7a1405aee 100755
--- a/modules/beni/edit.php
+++ b/modules/beni/edit.php
@@ -34,7 +34,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/beni/init.php b/modules/beni/init.php
index f9d9eb060..9c1383f6c 100755
--- a/modules/beni/init.php
+++ b/modules/beni/init.php
@@ -20,5 +20,5 @@
include_once __DIR__.'/../../core.php';
if (isset($id_record)) {
- $record = $dbo->fetchOne('SELECT * FROM `dt_aspettobeni` WHERE id='.prepare($id_record));
+ $record = $dbo->fetchOne('SELECT * FROM `dt_aspettobeni` LEFT JOIN `dt_aspettobeni_lang` ON (`dt_aspettobeni`.`id`=`dt_aspettobeni_lang`.`id_record` AND `dt_aspettobeni_lang`.`id_lang`='.prepare(setting('Lingua')).') WHERE `dt_aspettobeni`.`id`='.prepare($id_record));
}
diff --git a/plugins/exportFE/src/FatturaElettronica.php b/plugins/exportFE/src/FatturaElettronica.php
index 8e745ab0a..d1364ab13 100755
--- a/plugins/exportFE/src/FatturaElettronica.php
+++ b/plugins/exportFE/src/FatturaElettronica.php
@@ -1075,7 +1075,7 @@ class FatturaElettronica
$database = database();
$causale = $database->fetchOne('SELECT descrizione FROM dt_causalet WHERE id = '.prepare($documento['idcausalet']))['descrizione'];
- $aspetto = $database->fetchOne('SELECT descrizione FROM dt_aspettobeni WHERE id = '.prepare($documento['idaspettobeni']))['descrizione'];
+ $aspetto = $database->fetchOne('SELECT `name` FROM `dt_aspettobeni` LEFT JOIN `dt_aspettobeni_lang` ON (`dt_aspettobeni`.`id`=`dt_aspettobeni_lang`.`id_record` AND `dt_aspettobeni_lang`.`id_lang`='.prepare(setting('Lingua')).') WHERE `dt_aspettobeni`.`id` = '.prepare($documento['idaspettobeni']))['name'];
$result = [];
diff --git a/templates/ddt/init.php b/templates/ddt/init.php
index 83b50ca61..b6831a2fb 100755
--- a/templates/ddt/init.php
+++ b/templates/ddt/init.php
@@ -35,7 +35,7 @@ $id_azienda = setting('Azienda predefinita');
$pagamento = Pagamento::find($documento['idpagamento']);
$causale = $dbo->fetchOne('SELECT * FROM dt_causalet WHERE id = '.prepare($documento['idcausalet']));
$porto = $dbo->fetchOne('SELECT * FROM dt_porto WHERE id = '.prepare($documento['idporto']));
-$aspetto_beni = $dbo->fetchOne('SELECT * FROM dt_aspettobeni WHERE id = '.prepare($documento['idaspettobeni']));
+$aspetto_beni = $dbo->fetchOne('SELECT * FROM `dt_aspettobeni` LEFT JOIN `dt_aspettobeni_lang` ON (`dt_aspettobeni`.`id`=`dt_aspettobeni_lang`.`id_record` AND `dt_aspettobeni_lang`.`id_lang`='.prepare(setting('Lingua')).') WHERE `dt_aspettobeni`.`id` = '.prepare($documento['idaspettobeni']));
$spedizione = $dbo->fetchOne('SELECT * FROM dt_spedizione WHERE id = '.prepare($documento['idspedizione']));
$vettore = $dbo->fetchOne('SELECT ragione_sociale FROM an_anagrafiche WHERE idanagrafica = '.prepare($documento['idvettore']));
diff --git a/templates/fatture/init.php b/templates/fatture/init.php
index 36ebc62d9..dd03e500d 100755
--- a/templates/fatture/init.php
+++ b/templates/fatture/init.php
@@ -36,7 +36,7 @@ $record = $dbo->fetchOne('SELECT *,
`co_pagamenti_lang`.`name` AS pagamento,
`dt_causalet`.`descrizione` AS causalet,
`dt_porto`.`descrizione` AS porto,
- `dt_aspettobeni`.`descrizione` AS aspettobeni,
+ `dt_aspettobeni_lang`.`name` AS aspettobeni,
`dt_spedizione`.`descrizione` AS spedizione,
`vettore`.`ragione_sociale` AS vettore,
`co_banche`.`id` AS id_banca,
@@ -57,6 +57,7 @@ FROM
LEFT JOIN `dt_causalet` ON `dt_causalet`.`id` = `co_documenti`.`idcausalet`
LEFT JOIN `dt_porto` ON `dt_porto`.`id` = `co_documenti`.`idporto`
LEFT JOIN `dt_aspettobeni` ON `dt_aspettobeni`.`id` = `co_documenti`.`idaspettobeni`
+ LEFT JOIN `dt_aspettobeni_lang` ON (`dt_aspettobeni_lang`.`id_record` = `dt_aspettobeni`.`id` AND `dt_aspettobeni_lang`.`id_lang` = '.prepare(setting('Lingua')).')
LEFT JOIN `dt_spedizione` ON `dt_spedizione`.`id` = `co_documenti`.`idspedizione`
WHERE
`co_documenti`.`id`='.prepare($id_record));
diff --git a/update/2_4_55.sql b/update/2_4_55.sql
index a62fb4ff6..c10fd2f24 100644
--- a/update/2_4_55.sql
+++ b/update/2_4_55.sql
@@ -799,4 +799,40 @@ WHERE
HAVING
2=2" WHERE `name` = 'Categorie documenti';
UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = '`do_categorie_lang`.`name`' WHERE `zz_modules`.`name` = 'Categorie documenti' AND `zz_views`.`name` = 'Descrizione';
-UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = '`do_categorie`.`id`' WHERE `zz_modules`.`name` = 'Categorie documenti' AND `zz_views`.`name` = 'id';
\ 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` = '`do_categorie`.`id`' WHERE `zz_modules`.`name` = 'Categorie documenti' AND `zz_views`.`name` = 'id';
+
+-- Aggiunta tabella dt_aspettobeni_lang
+CREATE TABLE IF NOT EXISTS `dt_aspettobeni_lang` (
+ `id` int NOT NULL,
+ `id_lang` int NOT NULL,
+ `id_record` int NOT NULL,
+ `name` VARCHAR(255) NOT NULL
+);
+ALTER TABLE `dt_aspettobeni_lang`
+ ADD PRIMARY KEY (`id`);
+
+ALTER TABLE `dt_aspettobeni_lang`
+ MODIFY `id` int NOT NULL AUTO_INCREMENT;
+
+INSERT INTO `dt_aspettobeni_lang` (`id`, `id_lang`, `id_record`, `name`) SELECT NULL, (SELECT `id` FROM `zz_langs` WHERE `iso_code` = 'it'), `id`, `descrizione` FROM `dt_aspettobeni`;
+
+ALTER TABLE `dt_aspettobeni`
+ DROP `descrizione`;
+
+ALTER TABLE `dt_aspettobeni` CHANGE `id` `id` INT NOT NULL AUTO_INCREMENT;
+
+ALTER TABLE `dt_aspettobeni_lang` ADD CONSTRAINT `dt_aspettobeni_lang_ibfk_1` FOREIGN KEY (`id_record`) REFERENCES `dt_aspettobeni`(`id`) ON DELETE CASCADE ON UPDATE RESTRICT;
+
+-- Allineamento vista Aspetto beni
+UPDATE `zz_modules` SET `options` = "
+SELECT
+ |select|
+FROM
+ `dt_aspettobeni`
+ LEFT JOIN `dt_aspettobeni_lang` ON (`dt_aspettobeni_lang`.`id_record` = `dt_aspettobeni`.`id` AND `dt_aspettobeni_lang`.`id_lang` = |lang|)
+WHERE
+ 1=1
+HAVING
+ 2=2" WHERE `name` = 'Aspetto beni';
+UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = '`dt_aspettobeni_lang`.`name`' WHERE `zz_modules`.`name` = 'Aspetto beni' AND `zz_views`.`name` = 'Descrizione';
+UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = '`dt_aspettobeni`.`id`' WHERE `zz_modules`.`name` = 'Aspetto beni' AND `zz_views`.`name` = 'id';
\ No newline at end of file
diff --git a/update/tables.php b/update/tables.php
index 50a00ebf1..a52185845 100755
--- a/update/tables.php
+++ b/update/tables.php
@@ -63,6 +63,7 @@ return [
'do_documenti',
'do_permessi',
'dt_aspettobeni',
+ 'dt_aspettobeni_lang',
'dt_causalet',
'dt_ddt',
'dt_porto',