diff --git a/modules/adattatori_archiviazione/edit.php b/modules/adattatori_archiviazione/edit.php index 244f5f638..f8882fe99 100644 --- a/modules/adattatori_archiviazione/edit.php +++ b/modules/adattatori_archiviazione/edit.php @@ -26,7 +26,7 @@ include_once __DIR__.'/../../core.php';
- {[ "type": "text", "label": "", "name": "name", "value": "$name$", "required": 1 ]} + {[ "type": "text", "label": "", "name": "name", "value": "$title$", "required": 1 ]}
diff --git a/modules/anagrafiche/src/Provenienza.php b/modules/anagrafiche/src/Provenienza.php new file mode 100644 index 000000000..f34c0d456 --- /dev/null +++ b/modules/anagrafiche/src/Provenienza.php @@ -0,0 +1,51 @@ +. + */ + +namespace Modules\Anagrafiche; + +use Common\SimpleModelTrait; +use Illuminate\Database\Eloquent\Model; +use Traits\RecordTrait; + +class Provenienza extends Model +{ + use SimpleModelTrait; + use RecordTrait; + + protected $table = 'an_provenienze'; + + protected static $translated_fields = [ + 'title', + ]; + + public function anagrafiche() + { + return $this->hasMany(Anagrafica::class, 'id_provenienza'); + } + + public function getModuleAttribute() + { + return 'Provenienze clienti'; + } + + public static function getTranslatedFields() + { + return self::$translated_fields; + } +} diff --git a/modules/anagrafiche/src/Relazione.php b/modules/anagrafiche/src/Relazione.php new file mode 100644 index 000000000..af1ea8a7b --- /dev/null +++ b/modules/anagrafiche/src/Relazione.php @@ -0,0 +1,51 @@ +. + */ + +namespace Modules\Anagrafiche; + +use Common\SimpleModelTrait; +use Illuminate\Database\Eloquent\Model; +use Traits\RecordTrait; + +class Relazione extends Model +{ + use SimpleModelTrait; + use RecordTrait; + + protected $table = 'an_relazioni'; + + protected static $translated_fields = [ + 'title', + ]; + + public function anagrafiche() + { + return $this->hasMany(Anagrafica::class, 'idrelazione'); + } + + public function getModuleAttribute() + { + return 'Relazioni'; + } + + public static function getTranslatedFields() + { + return self::$translated_fields; + } +} diff --git a/modules/anagrafiche/src/Settore.php b/modules/anagrafiche/src/Settore.php new file mode 100644 index 000000000..503bdbf61 --- /dev/null +++ b/modules/anagrafiche/src/Settore.php @@ -0,0 +1,51 @@ +. + */ + +namespace Modules\Anagrafiche; + +use Common\SimpleModelTrait; +use Illuminate\Database\Eloquent\Model; +use Traits\RecordTrait; + +class Settore extends Model +{ + use SimpleModelTrait; + use RecordTrait; + + protected $table = 'an_settori'; + + protected static $translated_fields = [ + 'title', + ]; + + public function anagrafiche() + { + return $this->hasMany(Anagrafica::class, 'id_settore'); + } + + public function getModuleAttribute() + { + return 'Settori merceologici'; + } + + public static function getTranslatedFields() + { + return self::$translated_fields; + } +} diff --git a/modules/articoli/actions.php b/modules/articoli/actions.php index 6fc9a03e3..27495a794 100755 --- a/modules/articoli/actions.php +++ b/modules/articoli/actions.php @@ -57,6 +57,9 @@ switch (post('op')) { $sottocategoria = Categoria::find(post('subcategoria')); $articolo = Articolo::build($codice, $categoria, $sottocategoria); + if (Models\Locale::getDefault()->id == Models\Locale::getPredefined()->id) { + $articolo->name = $descrizione; + } $articolo->barcode = post('barcode'); $articolo->threshold_qta = post('threshold_qta'); $articolo->coefficiente = post('coefficiente'); @@ -121,6 +124,10 @@ switch (post('op')) { ])); } + if (Models\Locale::getDefault()->id == Models\Locale::getPredefined()->id) { + $articolo->name = $descrizione; + } + $articolo->codice = post('codice', true); $articolo->barcode = post('barcode'); $articolo->um = post('um'); diff --git a/modules/articoli/src/CausaleMovimento.php b/modules/articoli/src/CausaleMovimento.php new file mode 100644 index 000000000..0c0fa79de --- /dev/null +++ b/modules/articoli/src/CausaleMovimento.php @@ -0,0 +1,47 @@ +. + */ + +namespace Modules\Articoli; + +use Common\SimpleModelTrait; +use Illuminate\Database\Eloquent\Model; +use Traits\RecordTrait; + +class CausaleMovimento extends Model +{ + use SimpleModelTrait; + use RecordTrait; + + protected $table = 'mg_causali_movimenti'; + + protected static $translated_fields = [ + 'title', + ]; + + + public function getModuleAttribute() + { + return 'Causali movimenti'; + } + + public static function getTranslatedFields() + { + return self::$translated_fields; + } +} diff --git a/modules/attributi_combinazioni/actions.php b/modules/attributi_combinazioni/actions.php index 9ce1e450d..cef98440f 100644 --- a/modules/attributi_combinazioni/actions.php +++ b/modules/attributi_combinazioni/actions.php @@ -32,6 +32,9 @@ switch (filter('op')) { flash()->error(tr('Questo nome è già stato utilizzato per un altro attributo.')); } else { $attributo = Attributo::build(); + if (Models\Locale::getDefault()->id == Models\Locale::getPredefined()->id) { + $attributo->name = $descrizione; + } $id_record = $dbo->lastInsertedID(); $attributo->setTranslation('title', $descrizione); $attributo->setTranslation('title', $title); @@ -49,6 +52,9 @@ switch (filter('op')) { flash()->error(tr('Questo nome è già stato utilizzato per un altro attributo.')); } else { $attributo->setTranslation('title', $title); + if (Models\Locale::getDefault()->id == Models\Locale::getPredefined()->id) { + $attributo->name = $descrizione; + } $attributo->save(); flash()->info(tr('Attributo aggiornato correttamente!')); diff --git a/modules/beni/actions.php b/modules/beni/actions.php index 4f282c0ee..5423ae8bf 100755 --- a/modules/beni/actions.php +++ b/modules/beni/actions.php @@ -18,35 +18,55 @@ */ include_once __DIR__.'/../../core.php'; +use Modules\DDT\AspettoBeni; switch (post('op')) { case 'update': $descrizione = post('descrizione'); - if (empty($dbo->fetchArray('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(Models\Locale::getDefault()->id).') WHERE `title`='.prepare($descrizione).' AND `dt_aspettobeni`.`id`!='.prepare($id_record)))) { - $dbo->query('UPDATE `dt_aspettobeni_lang` SET `title`='.prepare($descrizione).' WHERE `id_record`='.prepare($id_record)).' AND `id_lang`='.prepare(Models\Locale::getDefault()->id); - flash()->info(tr('Salvataggio completato.')); + if (isset($descrizione)) { + $aspetto_new = AspettoBeni::where('id', '=', (new AspettoBeni())->getByField('title', $descrizione))->where('id', '!=', $id_record)->first(); + if (empty($aspetto_new)) { + $aspetto->setTranslation('title', $descrizione); + if (Models\Locale::getDefault()->id == Models\Locale::getPredefined()->id) { + $aspetto->name = $descrizione; + } + $aspetto->save(); + flash()->info(tr('Salvataggio completato.')); + } else { + flash()->error(tr("E' già presente un aspetto beni con questa descrizione.")); + } } else { - flash()->error(tr("E' già presente un aspetto beni con questa descrizione.")); + flash()->error(tr('Ci sono stati alcuni errori durante il salvataggio')); } + break; case 'add': $descrizione = post('descrizione'); - if (empty($dbo->fetchArray('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(Models\Locale::getDefault()->id).') WHERE `title`='.prepare($descrizione)))) { - $dbo->query('INSERT INTO `dt_aspettobeni` (`created_at`) VALUES (NOW())'); - $id_record = $dbo->lastInsertedID(); + if (isset($descrizione)) { + if (empty(AspettoBeni::where('id', '=', (new AspettoBeni())->getByField('title', $descrizione))->where('id', '!=', $id_record)->first())) { + $aspetto = AspettoBeni::build(); + if (Models\Locale::getDefault()->id == Models\Locale::getPredefined()->id) { + $aspetto->name = $descrizione; + } + $aspetto->save(); + + $id_record = $dbo->lastInsertedID(); + $aspetto->setTranslation('title', $descrizione); + $aspetto->save(); - $dbo->query('INSERT INTO `dt_aspettobeni_lang` (`title`, `id_record`, `id_lang`) VALUES ('.prepare($descrizione).', '.prepare($id_record).', '.prepare(Models\Locale::getDefault()->id).')'); + if (isAjaxRequest()) { + echo json_encode(['id' => $id_record, 'text' => $descrizione]); + } - if (isAjaxRequest()) { - echo json_encode(['id' => $id_record, 'text' => $descrizione]); + flash()->info(tr('Aggiunto nuovo Aspetto beni.')); + } else { + flash()->error(tr("E' già presente un aspetto beni con questa descrizione.")); } - - flash()->info(tr('Aggiunto nuovo Aspetto beni.')); } else { - flash()->error(tr("E' già presente un aspetto beni con questa descrizione.")); + flash()->error(tr('Ci sono stati alcuni errori durante il salvataggio')); } break; diff --git a/modules/beni/edit.php b/modules/beni/edit.php index 7a1405aee..eea8ad49c 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": "$name$" ]} + {[ "type": "text", "label": "", "name": "descrizione", "required": 1, "value": "$title$" ]}
diff --git a/modules/beni/init.php b/modules/beni/init.php index 034ad0f35..ccc33b403 100755 --- a/modules/beni/init.php +++ b/modules/beni/init.php @@ -16,9 +16,12 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ +use Modules\DDT\AspettoBeni; include_once __DIR__.'/../../core.php'; if (!empty($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(Models\Locale::getDefault()->id).') WHERE `dt_aspettobeni`.`id`='.prepare($id_record)); + + $aspetto = AspettoBeni::find($id_record); } diff --git a/modules/categorie_articoli/actions.php b/modules/categorie_articoli/actions.php index 6d09acca2..eb61f291e 100755 --- a/modules/categorie_articoli/actions.php +++ b/modules/categorie_articoli/actions.php @@ -32,6 +32,9 @@ switch (filter('op')) { $categoria->colore = $colore; $categoria->parent = $id_original ?: null; $categoria->setTranslation('title', $nome); + if (Models\Locale::getDefault()->id == Models\Locale::getPredefined()->id) { + $categoria->name = $descrizione; + } $categoria->save(); flash()->info(tr('Salvataggio completato!')); @@ -66,6 +69,9 @@ switch (filter('op')) { flash()->error(tr('Questo nome è già stato utilizzato per un altra categoria.')); } else { $categoria = Categoria::build($nota, $colore); + if (Models\Locale::getDefault()->id == Models\Locale::getPredefined()->id) { + $categoria->name = $descrizione; + } $id_record = $dbo->lastInsertedID(); $categoria->parent = $id_original; $categoria->setTranslation('title', $nome); diff --git a/modules/categorie_articoli/add.php b/modules/categorie_articoli/add.php index 4b7952351..3b6cb8457 100755 --- a/modules/categorie_articoli/add.php +++ b/modules/categorie_articoli/add.php @@ -40,7 +40,7 @@ if (isset($id_original)) {
- {[ "type": "text", "label": "", "name": "nome", "required": 1, "value": "$name$" ]} + {[ "type": "text", "label": "", "name": "nome", "required": 1, "value": "$title$" ]}
diff --git a/modules/categorie_articoli/edit.php b/modules/categorie_articoli/edit.php index ceae08b81..aad84861b 100755 --- a/modules/categorie_articoli/edit.php +++ b/modules/categorie_articoli/edit.php @@ -33,7 +33,7 @@ use Models\Module;
- {[ "type": "text", "label": "", "name": "nome", "required": 1, "value": "$name$" ]} + {[ "type": "text", "label": "", "name": "nome", "required": 1, "value": "$title$" ]}
diff --git a/modules/categorie_documenti/actions.php b/modules/categorie_documenti/actions.php index 8358cb4e2..a8821258d 100755 --- a/modules/categorie_documenti/actions.php +++ b/modules/categorie_documenti/actions.php @@ -32,6 +32,9 @@ switch (post('op')) { ])); } else { $categoria->setTranslation('title', $descrizione); + if (Models\Locale::getDefault()->id == Models\Locale::getPredefined()->id) { + $categoria->name = $descrizione; + } $categoria->save(); $categoria->syncPermessi(post('permessi') ?: []); @@ -51,6 +54,9 @@ switch (post('op')) { ])); } else { $categoria = Categoria::build(); + if (Models\Locale::getDefault()->id == Models\Locale::getPredefined()->id) { + $categoria->name = $descrizione; + } $id_record = $dbo->lastInsertedID(); $categoria->setTranslation('title', $descrizione); $categoria->save(); diff --git a/modules/categorie_documenti/edit.php b/modules/categorie_documenti/edit.php index 24152294a..5aeef19d5 100755 --- a/modules/categorie_documenti/edit.php +++ b/modules/categorie_documenti/edit.php @@ -33,7 +33,7 @@ if ($record['doc_associati'] > 0) {
- {[ "type": "text", "label": "", "name": "descrizione", "required": 1, "value": "$name$" ]} + {[ "type": "text", "label": "", "name": "descrizione", "required": 1, "value": "$title$" ]}
diff --git a/modules/categorie_impianti/edit.php b/modules/categorie_impianti/edit.php index feedf52e7..2ccc73b06 100755 --- a/modules/categorie_impianti/edit.php +++ b/modules/categorie_impianti/edit.php @@ -34,7 +34,7 @@ use Models\Module;
- {[ "type": "text", "label": "", "name": "nome", "required": 1, "value": "$name$" ]} + {[ "type": "text", "label": "", "name": "nome", "required": 1, "value": "$title$" ]}
diff --git a/modules/causali/actions.php b/modules/causali/actions.php index dacf5c00a..0afdd3d19 100755 --- a/modules/causali/actions.php +++ b/modules/causali/actions.php @@ -18,29 +18,24 @@ */ include_once __DIR__.'/../../core.php'; +use Modules\DDT\Causale; switch (filter('op')) { case 'update': $descrizione = filter('descrizione'); - $predefined = post('predefined'); if (isset($descrizione)) { - if (empty($dbo->fetchArray('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(Models\Locale::getDefault()->id).') WHERE `deleted_at` IS NULL AND `title`='.prepare($descrizione).' AND `dt_causalet`.`id`!='.prepare($id_record)))) { - if (!empty($predefined)) { - $dbo->query('UPDATE dt_causalet SET predefined = 0'); - } - - $dbo->update('dt_causalet', [ - 'is_importabile' => filter('is_importabile'), - 'reversed' => filter('reversed'), - 'predefined' => $predefined, - 'is_rientrabile' => filter('is_rientrabile'), - ], ['id' => $id_record]); - - $dbo->update('dt_causalet_lang', [ - 'name' => $descrizione, - ], ['id_record' => $id_record, 'id_lang' => Models\Locale::getDefault()->id]); - + $causale_new = Causale::where('id', '=', (new Causale())->getByField('title', $descrizione))->where('id', '!=', $id_record)->first(); + if (empty($causale_new)) { + $causale->setTranslation('title', $descrizione); + if (Models\Locale::getDefault()->id == Models\Locale::getPredefined()->id) { + $causale->name = $descrizione; + } + $causale->predefined = post('predefined'); + $causale->is_importabile = filter('is_importabile'); + $causale->reversed = filter('reversed'); + $causale->is_rientrabile = filter('is_rientrabile'); + $causale->save(); flash()->info(tr('Salvataggio completato!')); } else { flash()->error(tr("E' già presente una causale di trasporto con la stessa descrizione")); @@ -55,16 +50,16 @@ switch (filter('op')) { $descrizione = filter('descrizione'); if (isset($descrizione)) { - if (empty($dbo->fetchArray('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(Models\Locale::getDefault()->id).') WHERE `deleted_at` IS NULL AND `title`='.prepare($descrizione)))) { - $dbo->insert('dt_causalet', [ - 'is_importabile' => 1, - ]); + if (empty(Causale::where('id', '=', (new Causale())->getByField('title', $descrizione))->where('id', '!=', $id_record)->first())) { + $causale = Causale::build(); + if (Models\Locale::getDefault()->id == Models\Locale::getPredefined()->id) { + $causale->name = $descrizione; + } + $causale->save(); + $id_record = $dbo->lastInsertedID(); - $dbo->insert('dt_causalet_lang', [ - 'name' => $descrizione, - 'id_record' => $id_record, - 'id_lang' => Models\Locale::getDefault()->id, - ]); + $causale->setTranslation('title', $descrizione); + $causale->save(); if (isAjaxRequest()) { echo json_encode(['id' => $id_record, 'text' => $descrizione]); diff --git a/modules/causali/edit.php b/modules/causali/edit.php index 94c599bdd..4b91001a3 100755 --- a/modules/causali/edit.php +++ b/modules/causali/edit.php @@ -28,7 +28,7 @@ include_once __DIR__.'/../../core.php';
- {[ "type": "text", "label": "", "name": "descrizione", "required": 1, "value": "$name$", "charcounter": 1, "maxlength": "100" ]} + {[ "type": "text", "label": "", "name": "descrizione", "required": 1, "value": "$title$", "charcounter": 1, "maxlength": "100" ]}
diff --git a/modules/causali/init.php b/modules/causali/init.php index 50978af0b..a934b1cbe 100755 --- a/modules/causali/init.php +++ b/modules/causali/init.php @@ -17,8 +17,12 @@ * along with this program. If not, see . */ +use Modules\DDT\Causale; + include_once __DIR__.'/../../core.php'; if (!empty($id_record)) { $record = $dbo->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(Models\Locale::getDefault()->id).') WHERE `dt_causalet`.`id`='.prepare($id_record)); + + $causale = Causale::find($id_record); } diff --git a/modules/causali_movimenti/actions.php b/modules/causali_movimenti/actions.php index 942ff1afb..ab2314a24 100755 --- a/modules/causali_movimenti/actions.php +++ b/modules/causali_movimenti/actions.php @@ -19,16 +19,25 @@ include_once __DIR__.'/../../core.php'; +use Modules\Articoli\CausaleMovimento as Causale; + switch (filter('op')) { case 'update': - if (!empty($id_record)) { - $database->update('mg_causali_movimenti', [ - 'tipo_movimento' => post('tipo_movimento'), - ], ['id' => $id_record]); - $database->update('mg_causali_movimenti_lang', [ - 'name' => post('nome'), - 'description' => post('descrizione'), - ], ['id_record' => $id_record, 'id_lang' => Models\Locale::getDefault()->id]); + $nome = post('nome'); + $descrizione = post('descrizione'); + if (isset($descrizione)) { + $causale_new = Causale::where('id', '=', (new Causale())->getByField('title', $nome))->where('id', '!=', $id_record)->first(); + if (empty($causale_new)) { + $causale->tipo_movimento = post('tipo_movimento'); + $causale->setTranslation('title', $nome); + $causale->setTranslation('description', $descrizione); + $causale->save(); + flash()->info(tr('Salvataggio completato.')); + } else { + flash()->error(tr("E' già presente una causale con nome _NAME_.", [ + '_NAME_' => $descrizione, + ])); + } } else { flash()->error(tr('Ci sono stati alcuni errori durante il salvataggio')); } @@ -36,16 +45,28 @@ switch (filter('op')) { break; case 'add': - $database->insert('mg_causali_movimenti', [ - 'tipo_movimento' => post('tipo_movimento'), - ]); - $id_record = $database->lastInsertedID(); - $database->insert('mg_causali_movimenti_lang', [ - 'name' => post('nome'), - 'description' => post('descrizione'), - 'id_record' => $id_record, - 'id_lang' => Models\Locale::getDefault()->id, - ]); + $descrizione = post('descrizione'); + if (empty(Causale::where('id', '=', (new Causale())->getByField('title', $descrizione))->where('id', '!=', $id_record)->first())) { + $causale = Causale::build(); + $causale->tipo_movimento = post('tipo_movimento'); + $causale->save(); + $id_record = $dbo->lastInsertedID(); + $causale->setTranslation('title', post('nome')); + $causale->setTranslation('description', $descrizione); + $causale->save(); + + if (isAjaxRequest()) { + echo json_encode(['id' => $id_record, 'text' => $descrizione]); + } + + flash()->info(tr('Aggiunta nuova causale con nome _NAME_', [ + '_NAME_' => $descrizione, + ])); + } else { + flash()->error(tr("E' già presente una causale con nome _NAME_.", [ + '_NAME_' => $descrizione, + ])); + } break; case 'delete': diff --git a/modules/causali_movimenti/edit.php b/modules/causali_movimenti/edit.php index 330d1478a..73bda1e3f 100755 --- a/modules/causali_movimenti/edit.php +++ b/modules/causali_movimenti/edit.php @@ -32,7 +32,7 @@ include_once __DIR__.'/../../core.php';
- {[ "type": "text", "label": "", "name": "nome", "required": 1, "value": "$name$" ]} + {[ "type": "text", "label": "", "name": "nome", "required": 1, "value": "$title$" ]}
diff --git a/modules/causali_movimenti/init.php b/modules/causali_movimenti/init.php index c0fd29588..61fe5e807 100755 --- a/modules/causali_movimenti/init.php +++ b/modules/causali_movimenti/init.php @@ -19,6 +19,10 @@ include_once __DIR__.'/../../core.php'; +use Modules\Articoli\CausaleMovimento; + if (!empty($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(Models\Locale::getDefault()->id).') WHERE `mg_causali_movimenti`.`id`='.prepare($id_record)); + + $causale = CausaleMovimento::find($id_record); } diff --git a/modules/checklists/add.php b/modules/checklists/add.php index 6f23c7c86..5896e4a6d 100755 --- a/modules/checklists/add.php +++ b/modules/checklists/add.php @@ -26,7 +26,7 @@ echo '
- {[ "type": "text", "label": "'.tr('Nome').'", "name": "name", "value": "$name$", "required": 1 ]} + {[ "type": "text", "label": "'.tr('Nome').'", "name": "name", "value": "$title$", "required": 1 ]}
diff --git a/modules/checklists/edit.php b/modules/checklists/edit.php index 7b36198b4..c25ccc881 100755 --- a/modules/checklists/edit.php +++ b/modules/checklists/edit.php @@ -33,7 +33,7 @@ echo '
- {[ "type": "text", "label": "'.tr('Nome').'", "name": "name", "value": "$name$", "required": 1 ]} + {[ "type": "text", "label": "'.tr('Nome').'", "name": "name", "value": "$title$", "required": 1 ]}
diff --git a/modules/combinazioni_articoli/actions.php b/modules/combinazioni_articoli/actions.php index 3519bddfa..44ea8a745 100644 --- a/modules/combinazioni_articoli/actions.php +++ b/modules/combinazioni_articoli/actions.php @@ -17,6 +17,9 @@ switch (filter('op')) { } else { if (empty($combinazione)) { $combinazione = Combinazione::build(); + if (Models\Locale::getDefault()->id == Models\Locale::getPredefined()->id) { + $combinazione->name = $nome; + } $id_record = $dbo->lastInsertedID(); } $combinazione->setTranslation('title', $nome); diff --git a/modules/custom_fields/edit.php b/modules/custom_fields/edit.php index a82b4f7d0..dd2cb316c 100755 --- a/modules/custom_fields/edit.php +++ b/modules/custom_fields/edit.php @@ -37,7 +37,7 @@ include_once __DIR__.'/../../core.php';
- {[ "type": "text", "label": "", "name": "name", "required": 1, "value": "$name$" ]} + {[ "type": "text", "label": "", "name": "name", "required": 1, "value": "$title$" ]}
diff --git a/modules/ddt/src/AspettoBeni.php b/modules/ddt/src/AspettoBeni.php new file mode 100644 index 000000000..ddcdd0336 --- /dev/null +++ b/modules/ddt/src/AspettoBeni.php @@ -0,0 +1,50 @@ +. + */ + +namespace Modules\DDT; + +use Common\SimpleModelTrait; +use Illuminate\Database\Eloquent\Model; +use Traits\RecordTrait; + +class AspettoBeni extends Model +{ + use SimpleModelTrait; + use RecordTrait; + protected $table = 'dt_aspettobeni'; + + protected static $translated_fields = [ + 'title', + ]; + + public function ddt() + { + return $this->hasMany(DDT::class, 'idaspettobeni'); + } + + public function getModuleAttribute() + { + return 'Aspetto beni'; + } + + public static function getTranslatedFields() + { + return self::$translated_fields; + } +} diff --git a/modules/ddt/src/Causale.php b/modules/ddt/src/Causale.php new file mode 100644 index 000000000..64b9d583d --- /dev/null +++ b/modules/ddt/src/Causale.php @@ -0,0 +1,50 @@ +. + */ + +namespace Modules\DDT; + +use Common\SimpleModelTrait; +use Illuminate\Database\Eloquent\Model; +use Traits\RecordTrait; + +class Causale extends Model +{ + use SimpleModelTrait; + use RecordTrait; + protected $table = 'dt_causalet'; + + protected static $translated_fields = [ + 'title', + ]; + + public function ddt() + { + return $this->hasMany(DDT::class, 'idcausalet'); + } + + public function getModuleAttribute() + { + return 'Causali trasporto'; + } + + public static function getTranslatedFields() + { + return self::$translated_fields; + } +} diff --git a/modules/ddt/src/Porto.php b/modules/ddt/src/Porto.php new file mode 100644 index 000000000..92c43416b --- /dev/null +++ b/modules/ddt/src/Porto.php @@ -0,0 +1,50 @@ +. + */ + +namespace Modules\DDT; + +use Common\SimpleModelTrait; +use Illuminate\Database\Eloquent\Model; +use Traits\RecordTrait; + +class Porto extends Model +{ + use SimpleModelTrait; + use RecordTrait; + protected $table = 'dt_porto'; + + protected static $translated_fields = [ + 'title', + ]; + + public function ddt() + { + return $this->hasMany(DDT::class, 'idporto'); + } + + public function getModuleAttribute() + { + return 'Porto'; + } + + public static function getTranslatedFields() + { + return self::$translated_fields; + } +} diff --git a/modules/ddt/src/Spedizione.php b/modules/ddt/src/Spedizione.php new file mode 100644 index 000000000..ea230c0a0 --- /dev/null +++ b/modules/ddt/src/Spedizione.php @@ -0,0 +1,50 @@ +. + */ + +namespace Modules\DDT; + +use Common\SimpleModelTrait; +use Illuminate\Database\Eloquent\Model; +use Traits\RecordTrait; + +class Spedizione extends Model +{ + use SimpleModelTrait; + use RecordTrait; + protected $table = 'dt_spedizione'; + + protected static $translated_fields = [ + 'title', + ]; + + public function ddt() + { + return $this->hasMany(DDT::class, 'idspedizione'); + } + + public function getModuleAttribute() + { + return 'Tipi di spedizione'; + } + + public static function getTranslatedFields() + { + return self::$translated_fields; + } +} diff --git a/modules/emails/actions.php b/modules/emails/actions.php index 9de129038..697d29173 100755 --- a/modules/emails/actions.php +++ b/modules/emails/actions.php @@ -29,6 +29,9 @@ switch (post('op')) { $subject = post('subject'); $template = Template::build($module, $id_account); + if (Models\Locale::getDefault()->id == Models\Locale::getPredefined()->id) { + $template->name = $descrizione; + } $id_record = $dbo->lastInsertedID(); $template->setTranslation('title', $name); $template->setTranslation('subject', $subject); @@ -40,6 +43,9 @@ switch (post('op')) { case 'update': $template->setTranslation('title', post('name')); + if (Models\Locale::getDefault()->id == Models\Locale::getPredefined()->id) { + $template->name = $descrizione; + } $template->id_account = post('smtp'); $template->icon = post('icon'); $template->tipo_reply_to = post('tipo_reply_to'); diff --git a/modules/emails/edit.php b/modules/emails/edit.php index 102fc5ad1..e0d2914f4 100755 --- a/modules/emails/edit.php +++ b/modules/emails/edit.php @@ -41,7 +41,7 @@ if (!$record['predefined']) {
- {[ "type": "text", "label": "", "name": "name", "value": "$name$", "required": 1, "extra": "" ]} + {[ "type": "text", "label": "", "name": "name", "value": "$title$", "required": 1, "extra": "" ]}
diff --git a/modules/fasce_orarie/actions.php b/modules/fasce_orarie/actions.php index 84f9774f3..dfa8c4d5a 100644 --- a/modules/fasce_orarie/actions.php +++ b/modules/fasce_orarie/actions.php @@ -18,73 +18,74 @@ */ include_once __DIR__.'/../../core.php'; +use Modules\TipiIntervento\FasciaOraria; switch (post('op')) { case 'update': - $nome = post('nome'); + $descrizione = post('nome'); $giorni = (array) post('giorni'); $ora_inizio = post('ora_inizio'); $ora_fine = post('ora_fine'); $include_bank_holidays = post('include_bank_holidays'); $is_predefined = post('is_predefined'); - 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 `title`='.prepare($nome).' AND `in_fasceorarie`.`id`!='.prepare($id_record)))) { - if (!empty($is_predefined)) { - $dbo->query('UPDATE `in_fasceorarie` SET `is_predefined` = 0'); + if (isset($descrizione)) { + $fascia_oraria_new = FasciaOraria::where('id', '=', (new FasciaOraria())->getByField('title', $descrizione))->where('id', '!=', $id_record)->first(); + if (empty($fascia_oraria_new)) { + if (!empty($is_predefined)) { + $dbo->query('UPDATE `in_fasceorarie` SET `predefined` = 0'); + } + $fascia_oraria->setTranslation('title', $descrizione); + $fascia_oraria->giorni = $giorni; + $fascia_oraria->ora_inizio = $ora_inizio; + $fascia_oraria->ora_fine = $ora_fine; + $fascia_oraria->include_bank_holidays = $include_bank_holidays; + $fascia_oraria->is_predefined = $is_predefined; + $fascia_oraria->save(); + flash()->info(tr('Salvataggio completato.')); + } else { + flash()->error(tr("E' già presente una fascia_oraria _NAME_.", [ + '_NAME_' => $descrizione, + ])); } - - $dbo->update('in_fasceorarie', [ - 'giorni' => $giorni ? implode(',', $giorni) : null, - 'ora_inizio' => $ora_inizio, - 'ora_fine' => $ora_fine, - 'include_bank_holidays' => $include_bank_holidays, - 'is_predefined' => $is_predefined, - ], ['id' => $id_record]); - - $dbo->update('in_fasceorarie_lang', [ - 'name' => $nome, - ], ['id_record' => $id_record, 'id_lang' => Models\Locale::getDefault()->id]); - - flash()->info(tr('Salvataggio completato.')); } else { - flash()->error(tr("E' già presente una _TYPE_ con lo stesso nome", [ - '_TYPE_' => 'fascia oraria', - ])); + flash()->error(tr('Ci sono stati alcuni errori durante il salvataggio')); } break; case 'add': - $nome = post('nome'); + $descrizione = post('nome'); $ora_inizio = post('ora_inizio'); $ora_fine = post('ora_fine'); - 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 `title`='.prepare($nome)))) { - $dbo->insert('in_fasceorarie', [ - 'ora_inizio' => $ora_inizio, - 'ora_fine' => $ora_fine, - ]); - $id_record = $dbo->lastInsertedID(); - $dbo->insert('in_fasceorarie_lang', [ - 'name' => $nome, - 'id_record' => $id_record, - 'id_lang' => Models\Locale::getDefault()->id, - ]); + if (isset($descrizione)) { + if (empty(FasciaOraria::where('id', '=', (new FasciaOraria())->getByField('title', $descrizione))->where('id', '!=', $id_record)->first())) { + $fascia_oraria = FasciaOraria::build(); - $tipi_intervento = $dbo->select('in_tipiintervento', '*'); - foreach ($tipi_intervento as $tipo_intervento) { - $dbo->insert('in_fasceorarie_tipiintervento', [ - 'idfasciaoraria' => $id_record, - 'idtipointervento' => $tipo_intervento['id'], - 'costo_orario' => $tipo_intervento['costo_orario'], - 'costo_km' => $tipo_intervento['costo_km'], - 'costo_diritto_chiamata' => $tipo_intervento['costo_diritto_chiamata'], - 'costo_orario_tecnico' => $tipo_intervento['costo_orario_tecnico'], - 'costo_km_tecnico' => $tipo_intervento['costo_km_tecnico'], - 'costo_diritto_chiamata_tecnico' => $tipo_intervento['costo_km_tecnico'], - ]); + $fascia_oraria->ora_inizio = $ora_inizio; + $fascia_oraria->ora_fine = $ora_fine; + $fascia_oraria->save(); + + $id_record = $dbo->lastInsertedID(); + $fascia_oraria->setTranslation('title', $descrizione); + $fascia_oraria->save(); + + $tipi_intervento = $dbo->select('in_tipiintervento', '*'); + foreach ($tipi_intervento as $tipo_intervento) { + $dbo->insert('in_fasceorarie_tipiintervento', [ + 'idfasciaoraria' => $id_record, + 'idtipointervento' => $tipo_intervento['id'], + 'costo_orario' => $tipo_intervento['costo_orario'], + 'costo_km' => $tipo_intervento['costo_km'], + 'costo_diritto_chiamata' => $tipo_intervento['costo_diritto_chiamata'], + 'costo_orario_tecnico' => $tipo_intervento['costo_orario_tecnico'], + 'costo_km_tecnico' => $tipo_intervento['costo_km_tecnico'], + 'costo_diritto_chiamata_tecnico' => $tipo_intervento['costo_km_tecnico'], + ]); + } } - + if (isAjaxRequest()) { echo json_encode(['id' => $id_record, 'text' => $nome]); } diff --git a/modules/fasce_orarie/edit.php b/modules/fasce_orarie/edit.php index 1ebb493ac..0c46241fd 100644 --- a/modules/fasce_orarie/edit.php +++ b/modules/fasce_orarie/edit.php @@ -38,7 +38,7 @@ use Modules\Pagamenti\Pagamento;
- {[ "type": "text", "label": "", "name": "nome", "required": 1, "value": "$name$" ]} + {[ "type": "text", "label": "", "name": "nome", "required": 1, "value": "$title$" ]}
diff --git a/modules/fasce_orarie/init.php b/modules/fasce_orarie/init.php index 1c38e4a16..c3ca2b6ae 100644 --- a/modules/fasce_orarie/init.php +++ b/modules/fasce_orarie/init.php @@ -19,6 +19,10 @@ include_once __DIR__.'/../../core.php'; +use Modules\TipiIntervento\FasciaOraria; + if (!empty($id_record)) { $record = $dbo->fetchOne('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 `in_fasceorarie`.`id`='.prepare($id_record)); + + $fascia_oraria = FasciaOraria::find($id_record); } diff --git a/modules/gestione_task/edit.php b/modules/gestione_task/edit.php index 2806487c4..f923771b7 100644 --- a/modules/gestione_task/edit.php +++ b/modules/gestione_task/edit.php @@ -27,7 +27,7 @@ echo '
- {[ "type": "text", "label": "'.tr('Nome').'", "name": "name", "required": 1, "value": "$name$" ]} + {[ "type": "text", "label": "'.tr('Nome').'", "name": "name", "required": 1, "value": "$title$" ]}
{[ "type": "text", "label": "'.tr('Classe').'", "name": "class", "required": 1, "value": "$class$" ]} diff --git a/modules/impianti/actions.php b/modules/impianti/actions.php index cf8f8644f..9557f3700 100644 --- a/modules/impianti/actions.php +++ b/modules/impianti/actions.php @@ -37,8 +37,6 @@ switch ($op) { 'idanagrafica' => post('idanagrafica'), 'nome' => post('nome'), 'matricola' => $matricola, - 'id_marca' => post('id_marca'), - 'modello' => post('modello'), 'id_categoria' => post('id_categoria') ?: null, 'id_sottocategoria' => post('id_sottocategoria') ?: null, 'descrizione' => post('descrizione'), diff --git a/modules/impianti/edit.php b/modules/impianti/edit.php index 908a27cb3..2267eed01 100644 --- a/modules/impianti/edit.php +++ b/modules/impianti/edit.php @@ -79,10 +79,10 @@ if (!empty($record['immagine'])) {
- {[ "type": "select", "label": "", "name": "id_marca", "value": "$id_marca$", "ajax-source": "marca", "icon-after": "add|" ]} +
- {[ "type": "text", "label": "", "name": "modello", "value": "$modello$" ]} +
{[ "type": "text", "label": "", "name": "proprietario", "value": "$proprietario$" ]} diff --git a/modules/impianti_marche/edit.php b/modules/impianti_marche/edit.php index 3288c1bb3..56f028f3e 100644 --- a/modules/impianti_marche/edit.php +++ b/modules/impianti_marche/edit.php @@ -27,7 +27,7 @@ include_once __DIR__.'/../../core.php';
- {[ "type": "text", "label": "", "name": "name", "required": 1, "value": "$name$" ]} + {[ "type": "text", "label": "", "name": "name", "required": 1, "value": "$title$" ]}
diff --git a/modules/iva/actions.php b/modules/iva/actions.php index 487764da1..88da4473d 100755 --- a/modules/iva/actions.php +++ b/modules/iva/actions.php @@ -41,6 +41,9 @@ switch (filter('op')) { $iva->codice_natura_fe = $codice_natura_fe; $iva->esigibilita = $esigibilita; $iva->setTranslation('title', $descrizione); + if (Models\Locale::getDefault()->id == Models\Locale::getPredefined()->id) { + $iva->name = $descrizione; + } $iva->save(); // Messaggio di avvertenza @@ -72,6 +75,9 @@ switch (filter('op')) { $iva = Aliquota::build($esente, $percentuale, $indetraibile, $dicitura, $codice, $codice_natura_fe, $esigibilita); $id_record = $dbo->lastInsertedID(); $iva->setTranslation('title', $descrizione); + if (Models\Locale::getDefault()->id == Models\Locale::getPredefined()->id) { + $iva->name = $descrizione; + } $iva->save(); flash()->info(tr('Aggiunta nuova tipologia di _TYPE_', [ diff --git a/modules/iva/edit.php b/modules/iva/edit.php index a04dfe16d..b5cdc790c 100755 --- a/modules/iva/edit.php +++ b/modules/iva/edit.php @@ -64,7 +64,7 @@ if ($res) {
- {[ "type": "text", "label": "", "name": "descrizione", "required": 1, "value": "$name$" ]} + {[ "type": "text", "label": "", "name": "descrizione", "required": 1, "value": "$title$" ]}
diff --git a/modules/liste_newsletter/actions.php b/modules/liste_newsletter/actions.php index 8e3e4df44..629ecb3a9 100755 --- a/modules/liste_newsletter/actions.php +++ b/modules/liste_newsletter/actions.php @@ -33,6 +33,9 @@ switch (filter('op')) { flash()->error(tr('Esiste già una lista con questo nome.')); } else { $lista = Lista::build($name); + if (Models\Locale::getDefault()->id == Models\Locale::getPredefined()->id) { + $lista->name = $descrizione; + } $id_record = $lista->id; $lista->setTranslation('title', $name); $lista->save(); @@ -56,6 +59,9 @@ switch (filter('op')) { if (!empty($lista_new) && $lista_new->id != $id_record) { flash()->error(tr('Esiste già una lista con questo nome.')); } else { + if (Models\Locale::getDefault()->id == Models\Locale::getPredefined()->id) { + $lista->name = $descrizione; + } $lista->setTranslation('title', $name); $lista->setTranslation('description', $description); $lista->query = $query; diff --git a/modules/liste_newsletter/edit.php b/modules/liste_newsletter/edit.php index 2379430e7..9be421150 100755 --- a/modules/liste_newsletter/edit.php +++ b/modules/liste_newsletter/edit.php @@ -37,7 +37,7 @@ echo '
- {[ "type": "text", "label": "'.tr('Nome').'", "name": "name", "required": 1, "value": "$name$" ]} + {[ "type": "text", "label": "'.tr('Nome').'", "name": "name", "required": 1, "value": "$title$" ]}
diff --git a/modules/newsletter/edit.php b/modules/newsletter/edit.php index 7f669b309..055073b35 100755 --- a/modules/newsletter/edit.php +++ b/modules/newsletter/edit.php @@ -63,7 +63,7 @@ echo '
- {[ "type": "text", "label": "'.tr('Nome').'", "name": "name", "required": 1, "value": "$name$" ]} + {[ "type": "text", "label": "'.tr('Nome').'", "name": "name", "required": 1, "value": "$title$" ]}
diff --git a/modules/pagamenti/actions.php b/modules/pagamenti/actions.php index 10cc5682c..baae3ad01 100755 --- a/modules/pagamenti/actions.php +++ b/modules/pagamenti/actions.php @@ -46,25 +46,20 @@ switch (filter('op')) { $giorno = -post('giorno')[$key] - 1; } - if (!empty($id)) { - $pagamento->setTranslation('title', $descrizione); - $pagamento->num_giorni = post('distanza')[$key]; - $pagamento->giorno = $giorno; - $pagamento->prc = post('percentuale')[$key]; - $pagamento->idconto_vendite = post('idconto_vendite') ?: null; - $pagamento->idconto_acquisti = post('idconto_acquisti') ?: null; - $pagamento->codice_modalita_pagamento_fe = post('codice_modalita_pagamento_fe'); - $pagamento->save(); - } else { + if (empty($id)) { $pagamento = Pagamento::build(post('codice_modalita_pagamento_fe')); - $pagamento->num_giorni = post('distanza')[$key]; - $pagamento->giorno = $giorno; - $pagamento->prc = post('percentuale')[$key]; - $pagamento->idconto_vendite = post('idconto_vendite') ?: null; - $pagamento->idconto_acquisti = post('idconto_acquisti') ?: null; - $pagamento->setTranslation('title', $descrizione); - $pagamento->save(); } + + if (Models\Locale::getDefault()->id == Models\Locale::getPredefined()->id) { + $pagamento->name = $descrizione; + } + $pagamento->num_giorni = post('distanza')[$key]; + $pagamento->giorno = $giorno; + $pagamento->prc = post('percentuale')[$key]; + $pagamento->idconto_vendite = post('idconto_vendite') ?: null; + $pagamento->idconto_acquisti = post('idconto_acquisti') ?: null; + $pagamento->setTranslation('title', $descrizione); + $pagamento->save(); } flash()->info(tr('Salvataggio completato!')); @@ -85,6 +80,9 @@ switch (filter('op')) { flash()->error(tr('Esiste già un metodo di pagamento con questo nome!')); } else { $pagamento = Pagamento::build($codice_modalita_pagamento_fe); + if (Models\Locale::getDefault()->id == Models\Locale::getPredefined()->id) { + $pagamento->name = $descrizione; + } $id_record = $dbo->lastInsertedID(); $pagamento->setTranslation('title', $descrizione); $pagamento->save(); diff --git a/modules/pagamenti/edit.php b/modules/pagamenti/edit.php index 0ae129246..6fdb6f5f3 100755 --- a/modules/pagamenti/edit.php +++ b/modules/pagamenti/edit.php @@ -32,7 +32,7 @@ include_once __DIR__.'/../../core.php';
- {[ "type": "text", "label": "", "name": "descrizione", "value": "$name$", "required": 1 ]} + {[ "type": "text", "label": "", "name": "descrizione", "value": "$title$", "required": 1 ]}
diff --git a/modules/pagamenti/src/Pagamento.php b/modules/pagamenti/src/Pagamento.php index f0c452551..e1d58cc49 100755 --- a/modules/pagamenti/src/Pagamento.php +++ b/modules/pagamenti/src/Pagamento.php @@ -56,7 +56,7 @@ class Pagamento extends Model public function calcola($importo, $data, $id_anagrafica) { - $rate = PagamentoLang::where('name', '=', $this->getTranslation('title'))->get()->sortBy('num_giorni')->pluck('id')->toArray(); + $rate = PagamentoLang::where('title', '=', $this->getTranslation('title'))->get()->sortBy('num_giorni')->pluck('id')->toArray(); $number = count($rate); $totale = 0.0; diff --git a/modules/porti/actions.php b/modules/porti/actions.php index bce409a7a..2f3edbcb7 100755 --- a/modules/porti/actions.php +++ b/modules/porti/actions.php @@ -18,53 +18,62 @@ */ include_once __DIR__.'/../../core.php'; +use Modules\DDT\Porto; switch (filter('op')) { case 'update': $descrizione = filter('descrizione'); $predefined = post('predefined'); - if (empty($dbo->fetchArray('SELECT * FROM `dt_porto` LEFT JOIN `dt_porto_lang` ON (`dt_porto_lang`.`id_record` = `dt_porto`.`id` AND `dt_porto_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `title`='.prepare($descrizione).' AND `dt_porto`.`id`!='.prepare($id_record)) == 0)) { - if (!empty($predefined)) { - $dbo->query('UPDATE `dt_porto` SET `predefined` = 0'); + if (isset($descrizione)) { + $porto_new = Porto::where('id', '=', (new Porto())->getByField('title', $descrizione))->where('id', '!=', $id_record)->first(); + if (empty($porto_new)) { + $porto->setTranslation('title', $descrizione); + if (!empty($predefined)) { + $dbo->query('UPDATE `dt_porto` SET `predefined` = 0'); + } + if (Models\Locale::getDefault()->id == Models\Locale::getPredefined()->id) { + $porto->name = $descrizione; + } + $porto->predefined = $predefined; + $porto->save(); + flash()->info(tr('Salvataggio completato.')); + } else { + flash()->error(tr("E' già presente un porto con questo nome.")); } - - $dbo->update('dt_porto', [ - 'predefined' => $predefined, - ], ['id' => $id_record]); - - $dbo->update('dt_porto_lang', [ - 'name' => $descrizione, - ], ['id_record' => $id_record, 'id_lang' => Models\Locale::getDefault()->id]); - - flash()->info(tr('Salvataggio completato!')); } else { - flash()->error(tr("E' già presente un Porto con questa descrizione")); + flash()->error(tr('Ci sono stati alcuni errori durante il salvataggio')); } + break; case 'add': $descrizione = filter('descrizione'); - if (empty($dbo->fetchArray('SELECT `dt_porto`.`id` FROM `dt_porto` LEFT JOIN `dt_porto_lang` ON (`dt_porto_lang`.`id_record` = `dt_porto`.`id` AND `dt_porto_lang`.`id_lang` = '.Models\Locale::getDefault()->id.') WHERE `title`='.prepare($descrizione)))) { - $dbo->insert('dt_porto', [ - 'created_at' => 'NOW()', - ]); - $id_record = $dbo->lastInsertedID(); + if (isset($descrizione)) { + if (empty(Porto::where('id', '=', (new Porto())->getByField('title', $descrizione))->where('id', '!=', $id_record)->first())) { + $porto = Porto::build(); + if (Models\Locale::getDefault()->id == Models\Locale::getPredefined()->id) { + $porto->name = $descrizione; + } + $porto->save(); + + $id_record = $dbo->lastInsertedID(); + $porto->setTranslation('title', $descrizione); + $porto->save(); - $dbo->insert('dt_porto_lang', [ - 'name' => $descrizione, - 'id_record' => $id_record, - 'id_lang' => Models\Locale::getDefault()->id, - ]); + if (isAjaxRequest()) { + echo json_encode(['id' => $id_record, 'text' => $descrizione]); + } - flash()->info(tr('Aggiunta nuova tipologia di _TYPE_', [ - '_TYPE_' => 'porto', - ])); + flash()->info(tr('Aggiunta nuova porto _NAME_', [ + '_NAME_' => $descrizione, + ])); + } else { + flash()->error(tr("E' già presente un porto con questo nome.")); + } } else { - flash()->error(tr("E' già presente una tipologia di _TYPE_ con la stessa descrizione", [ - '_TYPE_' => 'porto', - ])); + flash()->error(tr('Ci sono stati alcuni errori durante il salvataggio')); } break; diff --git a/modules/porti/edit.php b/modules/porti/edit.php index 8252d1315..967835015 100755 --- a/modules/porti/edit.php +++ b/modules/porti/edit.php @@ -32,7 +32,7 @@ include_once __DIR__.'/../../core.php';
- {[ "type": "text", "label": "", "name": "descrizione", "required": 1, "value": "$name$" ]} + {[ "type": "text", "label": "", "name": "descrizione", "required": 1, "value": "$title$" ]}
diff --git a/modules/porti/init.php b/modules/porti/init.php index 49ab51635..4d59f66fc 100755 --- a/modules/porti/init.php +++ b/modules/porti/init.php @@ -17,8 +17,12 @@ * along with this program. If not, see . */ + use Modules\DDT\Porto; + include_once __DIR__.'/../../core.php'; if (!empty($id_record)) { $record = $dbo->fetchOne('SELECT * FROM `dt_porto` LEFT JOIN `dt_porto_lang` ON (`dt_porto_lang`.`id_record` = `dt_porto`.`id` AND `dt_porto_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `dt_porto`.`id`='.prepare($id_record)); + + $porto = Porto::find($id_record); } diff --git a/modules/provenienze/actions.php b/modules/provenienze/actions.php index 16cc48163..f49f7209a 100644 --- a/modules/provenienze/actions.php +++ b/modules/provenienze/actions.php @@ -19,15 +19,22 @@ include_once __DIR__.'/../../core.php'; +use Modules\Anagrafiche\Provenienza; + switch (filter('op')) { case 'update': $descrizione = filter('descrizione'); $colore = filter('colore'); if (isset($descrizione)) { - 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 `title`='.prepare($descrizione).' AND `an_provenienze`.`id`!='.prepare($id_record)))) { - $dbo->query('UPDATE `an_provenienze_lang` SET `title`='.prepare($descrizione).' WHERE `id_record` = '.prepare($id_record)); - $dbo->query('UPDATE `an_provenienze` SET `colore`='.prepare($colore).' WHERE `id`='.prepare($id_record)); + $provenienza_new = Provenienza::where('id', '=', (new Provenienza())->getByField('title', $descrizione))->where('id', '!=', $id_record)->first(); + if (empty($provenienza_new)) { + $provenienza->setTranslation('title', $descrizione); + if (Models\Locale::getDefault()->id == Models\Locale::getPredefined()->id) { + $provenienza->name = $descrizione; + } + $provenienza->colore = $colore; + $provenienza->save(); flash()->info(tr('Salvataggio completato.')); } else { flash()->error(tr("E' già presente una provenienza _NAME_.", [ @@ -45,10 +52,17 @@ switch (filter('op')) { $colore = filter('colore'); if (isset($descrizione)) { - 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 `title`='.prepare($descrizione)))) { - $dbo->query('INSERT INTO `an_provenienze` (`colore`) VALUES ('.prepare($colore).')'); + if (empty(Provenienza::where('id', '=', (new Provenienza())->getByField('title', $descrizione))->where('id', '!=', $id_record)->first())) { + $provenienza = Provenienza::build(); + if (Models\Locale::getDefault()->id == Models\Locale::getPredefined()->id) { + $provenienza->name = $descrizione; + } + $provenienza->colore = $colore; + $provenienza->save(); + $id_record = $dbo->lastInsertedID(); - $dbo->query('INSERT INTO `an_provenienze_lang` (`title`, `id_record`, `id_lang`) VALUES ('.prepare($descrizione).', '.prepare($id_record).', '.prepare(Models\Locale::getDefault()->id).')'); + $provenienza->setTranslation('title', $descrizione); + $provenienza->save(); if (isAjaxRequest()) { echo json_encode(['id' => $id_record, 'text' => $descrizione]); diff --git a/modules/provenienze/edit.php b/modules/provenienze/edit.php index ad6398918..d7b65de2c 100644 --- a/modules/provenienze/edit.php +++ b/modules/provenienze/edit.php @@ -32,7 +32,7 @@ include_once __DIR__.'/../../core.php';
- {[ "type": "text", "label": "", "name": "descrizione", "required": 1, "value": "$name$" ]} + {[ "type": "text", "label": "", "name": "descrizione", "required": 1, "value": "$title$" ]}
diff --git a/modules/provenienze/init.php b/modules/provenienze/init.php index 47712180b..281531b8b 100644 --- a/modules/provenienze/init.php +++ b/modules/provenienze/init.php @@ -17,8 +17,12 @@ * along with this program. If not, see . */ +use Modules\Anagrafiche\Provenienza; + include_once __DIR__.'/../../core.php'; if (!empty($id_record)) { $record = $dbo->fetchOne('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 `an_provenienze`.`id`='.prepare($id_record)); + + $provenienza = Provenienza::find($id_record); } diff --git a/modules/relazioni_anagrafiche/actions.php b/modules/relazioni_anagrafiche/actions.php index 50db42632..5c63baad7 100755 --- a/modules/relazioni_anagrafiche/actions.php +++ b/modules/relazioni_anagrafiche/actions.php @@ -17,6 +17,8 @@ * along with this program. If not, see . */ +use Modules\Anagrafiche\Relazione; + include_once __DIR__.'/../../core.php'; switch (filter('op')) { @@ -26,20 +28,24 @@ switch (filter('op')) { $is_bloccata = filter('is_bloccata'); if (isset($descrizione)) { - $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`.`title`='.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 `title`='.prepare($descrizione).' WHERE `id_record`='.prepare($id_record)); + $relazione_new = Relazione::where('id', '=', (new Relazione())->getByField('title', $descrizione))->where('id', '!=', $id_record)->first(); + if (empty($relazione_new)) { + $relazione->setTranslation('title', $descrizione); + if (Models\Locale::getDefault()->id == Models\Locale::getPredefined()->id) { + $relazione->name = $descrizione; + } + $relazione->colore = $colore; + $relazione->is_bloccata = $is_bloccata; + $relazione->save(); flash()->info(tr('Salvataggio completato.')); } else { - flash()->error(tr("E' già presente una relazione '_NAME_'.", [ + flash()->error(tr("E' già presente una relazione _NAME_.", [ '_NAME_' => $descrizione, ])); } } else { flash()->error(tr('Ci sono stati alcuni errori durante il salvataggio')); } - break; case 'add': @@ -48,11 +54,17 @@ switch (filter('op')) { $is_bloccata = filter('is_bloccata'); if (isset($descrizione)) { - $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`.`title`='.prepare($descrizione)); - if (empty($esistente)) { - $dbo->query('INSERT INTO `an_relazioni` (`colore`, `is_bloccata`) VALUES ('.prepare($colore).', '.prepare($is_bloccata).' )'); + if (empty(Relazione::where('id', '=', (new Relazione())->getByField('title', $descrizione))->where('id', '!=', $id_record)->first())) { + $relazione = Relazione::build(); + if (Models\Locale::getDefault()->id == Models\Locale::getPredefined()->id) { + $relazione->name = $descrizione; + } + $relazione->colore = $colore; + $relazione->is_bloccata = $is_bloccata; + $relazione->save(); $id_record = $dbo->lastInsertedID(); - $dbo->query('INSERT INTO `an_relazioni_lang` (`title`, `id_record`, `id_lang`) VALUES ('.prepare($descrizione).', '.prepare($id_record).', '.prepare(Models\Locale::getDefault()->id).')'); + $relazione->setTranslation('title', $descrizione); + $relazione->save(); if (isAjaxRequest()) { echo json_encode(['id' => $id_record, 'text' => $descrizione]); diff --git a/modules/relazioni_anagrafiche/edit.php b/modules/relazioni_anagrafiche/edit.php index 53394bc53..0fea85d91 100755 --- a/modules/relazioni_anagrafiche/edit.php +++ b/modules/relazioni_anagrafiche/edit.php @@ -32,7 +32,7 @@ include_once __DIR__.'/../../core.php';
- {[ "type": "text", "label": "", "name": "descrizione", "required": 1, "value": "$name$" ]} + {[ "type": "text", "label": "", "name": "descrizione", "required": 1, "value": "$title$" ]}
diff --git a/modules/relazioni_anagrafiche/init.php b/modules/relazioni_anagrafiche/init.php index cee48e9f6..7db8997d2 100755 --- a/modules/relazioni_anagrafiche/init.php +++ b/modules/relazioni_anagrafiche/init.php @@ -16,9 +16,12 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ +use Modules\Anagrafiche\Relazione; include_once __DIR__.'/../../core.php'; if (!empty($id_record)) { $record = $dbo->fetchOne('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`.`id`='.prepare($id_record)); + + $relazione = Relazione::find($id_record); } diff --git a/modules/scadenzario/src/Tipo.php b/modules/scadenzario/src/Tipo.php new file mode 100644 index 000000000..b50f0cda8 --- /dev/null +++ b/modules/scadenzario/src/Tipo.php @@ -0,0 +1,51 @@ +. + */ + +namespace Modules\Scadenzario; + +use Common\SimpleModelTrait; +use Illuminate\Database\Eloquent\Model; +use Traits\RecordTrait; + +class Tipo extends Model +{ + use SimpleModelTrait; + use RecordTrait; + + protected $table = 'co_tipi_scadenze'; + + protected static $translated_fields = [ + 'title', + ]; + + public function anagrafiche() + { + return $this->hasMany(Scadenza::class, 'tipo'); + } + + public function getModuleAttribute() + { + return 'Tipi scadenze'; + } + + public static function getTranslatedFields() + { + return self::$translated_fields; + } +} diff --git a/modules/segmenti/add.php b/modules/segmenti/add.php index 181176f89..b00027707 100755 --- a/modules/segmenti/add.php +++ b/modules/segmenti/add.php @@ -25,7 +25,7 @@ include_once __DIR__.'/../../core.php';
- {[ "type": "text", "label": "", "name": "name", "required": 1, "value": "$name$" ]} + {[ "type": "text", "label": "", "name": "name", "required": 1, "value": "$title$" ]}
diff --git a/modules/segmenti/edit.php b/modules/segmenti/edit.php index 29a9712a9..e750898bc 100755 --- a/modules/segmenti/edit.php +++ b/modules/segmenti/edit.php @@ -35,7 +35,7 @@ use Models\Module;
- {[ "type": "text", "label": "", "name": "name", "required": 1, "value": "$name$" ]} + {[ "type": "text", "label": "", "name": "name", "required": 1, "value": "$title$" ]}
diff --git a/modules/settori_merceologici/actions.php b/modules/settori_merceologici/actions.php index 48cb7c5fa..2afe67b37 100644 --- a/modules/settori_merceologici/actions.php +++ b/modules/settori_merceologici/actions.php @@ -17,19 +17,25 @@ * along with this program. If not, see . */ +use Modules\Anagrafiche\Settore; + include_once __DIR__.'/../../core.php'; switch (filter('op')) { case 'update': $descrizione = filter('descrizione'); - $colore = filter('colore'); if (isset($descrizione)) { - 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 `title`='.prepare($descrizione).' AND `an_settori`.`id`!='.prepare($id_record)))) { - $dbo->query('UPDATE `an_settori_lang` SET `title`='.prepare($descrizione).' WHERE `id_record`='.prepare($id_record)); + $settore_new = Settore::where('id', '=', (new Settore())->getByField('title', $descrizione))->where('id', '!=', $id_record)->first(); + if (empty($settore_new)) { + $settore->setTranslation('title', $descrizione); + if (Models\Locale::getDefault()->id == Models\Locale::getPredefined()->id) { + $settore->name = $descrizione; + } + $settore->save(); flash()->info(tr('Salvataggio completato.')); } else { - flash()->error(tr("E' già presente il settore merceologico _NAME_.", [ + flash()->error(tr("E' già presente una settore _NAME_.", [ '_NAME_' => $descrizione, ])); } @@ -38,17 +44,21 @@ switch (filter('op')) { } break; - case 'add': $descrizione = filter('descrizione'); - $colore = filter('colore'); if (isset($descrizione)) { - 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 `title`='.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` (`title`, `id_record`, `id_lang`) VALUES ('.prepare($descrizione).', '.prepare($id_record).', '.prepare(Models\Locale::getDefault()->id).')'); + if (empty(Settore::where('id', '=', (new Settore())->getByField('title', $descrizione))->where('id', '!=', $id_record)->first())) { + $settore = Settore::build(); + if (Models\Locale::getDefault()->id == Models\Locale::getPredefined()->id) { + $settore->name = $descrizione; + } + $settore->save(); + $id_record = $dbo->lastInsertedID(); + $settore->setTranslation('title', $descrizione); + $settore->save(); + if (isAjaxRequest()) { echo json_encode(['id' => $id_record, 'text' => $descrizione]); } diff --git a/modules/settori_merceologici/edit.php b/modules/settori_merceologici/edit.php index 5d639cdfd..7f326e8b3 100644 --- a/modules/settori_merceologici/edit.php +++ b/modules/settori_merceologici/edit.php @@ -32,7 +32,7 @@ include_once __DIR__.'/../../core.php';
- {[ "type": "text", "label": "", "name": "descrizione", "required": 1, "value": "$name$" ]} + {[ "type": "text", "label": "", "name": "descrizione", "required": 1, "value": "$title$" ]}
diff --git a/modules/settori_merceologici/init.php b/modules/settori_merceologici/init.php index 201100bc3..b38c8d436 100644 --- a/modules/settori_merceologici/init.php +++ b/modules/settori_merceologici/init.php @@ -16,9 +16,12 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ +use Modules\Anagrafiche\Settore; include_once __DIR__.'/../../core.php'; if (!empty($id_record)) { $record = $dbo->fetchOne('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 `an_settori`.`id`='.prepare($id_record)); + + $settore = Settore::find($id_record); } diff --git a/modules/smtp/edit.php b/modules/smtp/edit.php index 05aba4886..c33474f72 100755 --- a/modules/smtp/edit.php +++ b/modules/smtp/edit.php @@ -35,7 +35,7 @@ echo '
- {[ "type": "text", "label": "'.tr('Nome account').'", "name": "name", "value": "$name$", "required": 1 ]} + {[ "type": "text", "label": "'.tr('Nome account').'", "name": "name", "value": "$title$", "required": 1 ]}
diff --git a/modules/spedizioni/actions.php b/modules/spedizioni/actions.php index 7cd1cef7f..89a03d199 100755 --- a/modules/spedizioni/actions.php +++ b/modules/spedizioni/actions.php @@ -19,55 +19,63 @@ include_once __DIR__.'/../../core.php'; +use Modules\DDT\Spedizione; + switch (filter('op')) { case 'update': $descrizione = filter('descrizione'); $vettore = post('esterno'); $predefined = post('predefined'); - if (empty($dbo->fetchArray('SELECT * FROM `dt_spedizione` LEFT JOIN `dt_spedizione_lang` ON (`dt_spedizione`.`id`=`dt_spedizione_lang`.`id_record` AND `dt_spedizione_lang`.`id_lang`='.prepare(Models\Locale::getDefault()->id).') WHERE `title`='.prepare($descrizione).' AND `dt_spedizione`.`id`!='.prepare($id_record)))) { - if (!empty($predefined)) { - $dbo->query('UPDATE `dt_spedizione` SET `predefined` = 0'); + if (isset($descrizione)) { + $spedizione_new = Spedizione::where('id', '=', (new Spedizione())->getByField('title', $descrizione))->where('id', '!=', $id_record)->first(); + if (empty($spedizione_new)) { + $spedizione->setTranslation('title', $descrizione); + if (!empty($predefined)) { + $dbo->query('UPDATE `dt_spedizione` SET `predefined` = 0'); + } + if (Models\Locale::getDefault()->id == Models\Locale::getPredefined()->id) { + $spedizione->name = $descrizione; + } + $spedizione->predefined = $predefined; + $spedizione->esterno = $vettore; + $spedizione->save(); + flash()->info(tr('Salvataggio completato.')); + } else { + flash()->error(tr("E' già presente una spedizione con questo nome.")); } - $dbo->update('dt_spedizione', [ - 'predefined' => $predefined, - 'esterno' => $vettore, - ], ['id' => $id_record]); - - $dbo->update('dt_spedizione_lang', [ - 'name' => $descrizione, - ], ['id_record' => $id_record, 'id_lang' => Models\Locale::getDefault()->id]); - - flash()->info(tr('Salvataggio completato!')); } else { - flash()->error(tr("E' già presente una tipologia di _TYPE_ con la stessa descrizione", [ - '_TYPE_' => 'spedizione', - ])); + flash()->error(tr('Ci sono stati alcuni errori durante il salvataggio')); } break; case 'add': $descrizione = filter('descrizione'); - if ($dbo->fetchNum('SELECT * FROM `dt_spedizione_lang` WHERE `title`='.prepare($descrizione)) == 0) { - $dbo->insert('dt_spedizione', [ - 'predefined' => 0, - ]); - $id_record = $dbo->lastInsertedID(); + if (isset($descrizione)) { + if (empty(Spedizione::where('id', '=', (new Spedizione())->getByField('title', $descrizione))->where('id', '!=', $id_record)->first())) { + $spedizione = Spedizione::build(); + if (Models\Locale::getDefault()->id == Models\Locale::getPredefined()->id) { + $spedizione->name = $descrizione; + } + $spedizione->save(); + + $id_record = $dbo->lastInsertedID(); + $spedizione->setTranslation('title', $descrizione); + $spedizione->save(); - $dbo->insert('dt_spedizione_lang', [ - 'id_record' => $id_record, - 'id_lang' => Models\Locale::getDefault()->id, - 'name' => $descrizione, - ]); + if (isAjaxRequest()) { + echo json_encode(['id' => $id_record, 'text' => $descrizione]); + } - flash()->info(tr('Aggiunta nuova tipologia di _TYPE_', [ - '_TYPE_' => 'spedizione', - ])); + flash()->info(tr('Aggiunta nuova spedizione _NAME_', [ + '_NAME_' => $descrizione, + ])); + } else { + flash()->error(tr("E' già presente un spedizione con questo nome.")); + } } else { - flash()->error(tr("E' già presente una tipologia di _TYPE_ con la stessa descrizione", [ - '_TYPE_' => 'spedizione', - ])); + flash()->error(tr('Ci sono stati alcuni errori durante il salvataggio')); } break; @@ -83,7 +91,7 @@ switch (filter('op')) { '_TYPE_' => 'spedizione', ])); } else { - flash()->error(tr('Sono presenti dei documenti collegati a questo porto.')); + flash()->error(tr('Sono presenti dei documenti collegati a questo spedizione.')); } break; diff --git a/modules/spedizioni/edit.php b/modules/spedizioni/edit.php index 6eb1ac52c..c5172919b 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": "$name$" ]} + {[ "type": "text", "label": "", "name": "descrizione", "required": 1, "value": "$title$" ]}
diff --git a/modules/spedizioni/init.php b/modules/spedizioni/init.php index 6bf2cea8f..5317635e2 100755 --- a/modules/spedizioni/init.php +++ b/modules/spedizioni/init.php @@ -17,8 +17,12 @@ * along with this program. If not, see . */ + use Modules\DDT\Spedizione; + include_once __DIR__.'/../../core.php'; if (!empty($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(Models\Locale::getDefault()->id).') WHERE `dt_spedizione`.`id`='.prepare($id_record)); + + $spedizione = Spedizione::find($id_record); } diff --git a/modules/stati_contratto/actions.php b/modules/stati_contratto/actions.php index 11543d9de..8bba32c7d 100755 --- a/modules/stati_contratto/actions.php +++ b/modules/stati_contratto/actions.php @@ -29,6 +29,9 @@ switch (post('op')) { if ($stato_new) { flash()->error(tr('Questo nome è già stato utilizzato per un altro stato dei contratti.')); } else { + if (Models\Locale::getDefault()->id == Models\Locale::getPredefined()->id) { + $stato->name = $descrizione; + } $stato->icona = post('icona'); $stato->colore = post('colore'); $stato->is_completato = post('is_completato'); @@ -56,6 +59,9 @@ switch (post('op')) { flash()->error(tr('Questo nome è già stato utilizzato per un altro stato dei contratti.')); } else { $stato = Stato::build($icona, $colore, $is_completato, $is_fatturabile, $is_pianificabile); + if (Models\Locale::getDefault()->id == Models\Locale::getPredefined()->id) { + $stato->name = $descrizione; + } $id_record = $dbo->lastInsertedID(); $stato->setTranslation('title', $descrizione); $stato->save(); diff --git a/modules/stati_contratto/edit.php b/modules/stati_contratto/edit.php index 6e20dde78..b837d842b 100755 --- a/modules/stati_contratto/edit.php +++ b/modules/stati_contratto/edit.php @@ -34,7 +34,7 @@ if ($record['can_delete']) {
- {[ "type": "text", "label": "", "name": "descrizione", "required": 1, "value": "$name$", "extra": "" ]} + {[ "type": "text", "label": "", "name": "descrizione", "required": 1, "value": "$title$", "extra": "" ]}
diff --git a/modules/stati_fattura/actions.php b/modules/stati_fattura/actions.php index 316d8f43b..3e7f122b5 100644 --- a/modules/stati_fattura/actions.php +++ b/modules/stati_fattura/actions.php @@ -28,6 +28,9 @@ switch (post('op')) { if (!empty($stato_new) && $stato_new != $id_record) { flash()->error(tr('Questo nome è già stato utilizzato per un altro stato.')); } else { + if (Models\Locale::getDefault()->id == Models\Locale::getPredefined()->id) { + $stato->name = $descrizione; + } $stato->icona = post('icona'); $stato->colore = post('colore'); $stato->setTranslation('title', $descrizione); diff --git a/modules/stati_fattura/edit.php b/modules/stati_fattura/edit.php index cf8491197..15538d482 100644 --- a/modules/stati_fattura/edit.php +++ b/modules/stati_fattura/edit.php @@ -27,7 +27,7 @@ include_once __DIR__.'/../../core.php';
- {[ "type": "text", "label": "", "name": "descrizione", "required": 1, "value": "$name$", "extra": "readonly" ]} + {[ "type": "text", "label": "", "name": "descrizione", "required": 1, "value": "$title$", "extra": "readonly" ]}
diff --git a/modules/stati_intervento/actions.php b/modules/stati_intervento/actions.php index e455036ba..da45aa46d 100755 --- a/modules/stati_intervento/actions.php +++ b/modules/stati_intervento/actions.php @@ -28,6 +28,9 @@ switch (post('op')) { if (!empty($stato_new) && $stato_new != $id_record) { flash()->error(tr('Questo nome è già stato utilizzato per un altro stato attività.')); } else { + if (Models\Locale::getDefault()->id == Models\Locale::getPredefined()->id) { + $stato->name = $descrizione; + } $stato->codice = post('codice'); $stato->colore = post('colore'); $stato->is_completato = post('is_completato'); @@ -58,6 +61,9 @@ switch (post('op')) { flash()->error(tr('Questo nome è già stato utilizzato per un altro stato attività.')); } else { $stato = Stato::build($codice, $colore); + if (Models\Locale::getDefault()->id == Models\Locale::getPredefined()->id) { + $stato->name = $descrizione; + } $id_record = $dbo->lastInsertedID(); $stato->setTranslation('title', $descrizione); $stato->save(); diff --git a/modules/stati_intervento/edit.php b/modules/stati_intervento/edit.php index a07973c92..7d8bd1440 100755 --- a/modules/stati_intervento/edit.php +++ b/modules/stati_intervento/edit.php @@ -43,7 +43,7 @@ if ($record['can_delete']) {
- {[ "type": "text", "label": "", "name": "descrizione", "required": 1, "value": "$name$" ]} + {[ "type": "text", "label": "", "name": "descrizione", "required": 1, "value": "$title$" ]}
@@ -62,7 +62,7 @@ if ($record['can_delete']) {
- {[ "type": "select", "label": "", "name": "email", "value": "$id_email$", "values": "query=SELECT `em_templates`.`id`, `em_templates_lang`.`title` AS descrizione FROM `em_templates` LEFT JOIN `em_templates_lang` ON (`em_templates`.`id` = `em_templates_lang`.`id_record` AND `em_templates_lang`.`id_lang` = id); ?>) WHERE `id_module` = getByField('title', 'Interventi', Models\Locale::getPredefined()->id); ?> AND `deleted_at` IS NULL", "disabled": , "required":1 ]} + {[ "type": "select", "label": "", "name": "email", "value": "$id_email$", "values": "query=SELECT `em_templates`.`id`, `em_templates_lang`.`title` AS descrizione FROM `em_templates` LEFT JOIN `em_templates_lang` ON (`em_templates`.`id` = `em_templates_lang`.`id_record` AND `em_templates_lang`.`id_lang` = id); ?>) WHERE `id_module` = getByField('title', 'Attività', Models\Locale::getPredefined()->id); ?> AND `deleted_at` IS NULL", "disabled": , "required":1 ]}
diff --git a/modules/stati_ordine/actions.php b/modules/stati_ordine/actions.php index dc86f0644..388bbd1d6 100644 --- a/modules/stati_ordine/actions.php +++ b/modules/stati_ordine/actions.php @@ -29,6 +29,9 @@ switch (post('op')) { if (!empty($stato_new) && $stato_new != $id_record) { flash()->error(tr('Questo nome è già stato utilizzato per un altro stato attività.')); } else { + if (Models\Locale::getDefault()->id == Models\Locale::getPredefined()->id) { + $stato->name = $descrizione; + } $stato->icona = post('icona'); $stato->colore = post('colore'); $stato->completato = post('completato'); @@ -56,6 +59,9 @@ switch (post('op')) { flash()->error(tr('Questo nome è già stato utilizzato per un altro stato ordine.')); } else { $stato = Stato::build($icona, $colore, $completato, $is_fatturabile, $impegnato); + if (Models\Locale::getDefault()->id == Models\Locale::getPredefined()->id) { + $stato->name = $descrizione; + } $id_record = $dbo->lastInsertedID(); $stato->setTranslation('title', $descrizione); $stato->save(); diff --git a/modules/stati_ordine/edit.php b/modules/stati_ordine/edit.php index 880831a22..c09d178b8 100644 --- a/modules/stati_ordine/edit.php +++ b/modules/stati_ordine/edit.php @@ -34,7 +34,7 @@ if ($record['can_delete']) {
- {[ "type": "text", "label": "", "name": "descrizione", "required": 1, "value": "$name$", "extra": "" ]} + {[ "type": "text", "label": "", "name": "descrizione", "required": 1, "value": "$title$", "extra": "" ]}
diff --git a/modules/stati_preventivo/actions.php b/modules/stati_preventivo/actions.php index 135ac9785..9aa85cadb 100755 --- a/modules/stati_preventivo/actions.php +++ b/modules/stati_preventivo/actions.php @@ -28,6 +28,9 @@ switch (post('op')) { if (!empty($stato_new) && $stato_new != $id_record) { flash()->error(tr('Questo nome è già stato utilizzato per un altro stato dei preventivi.')); } else { + if (Models\Locale::getDefault()->id == Models\Locale::getPredefined()->id) { + $stato->name = $descrizione; + } $stato->icona = post('icona'); $stato->colore = post('colore'); $stato->is_completato = post('is_completato'); @@ -53,6 +56,9 @@ switch (post('op')) { flash()->error(tr('Questo nome è già stato utilizzato per un altro stato dei preventivi.')); } else { $stato = Stato::build($icona, $colore, $is_completato, $is_fatturabile, $is_pianificabile); + if (Models\Locale::getDefault()->id == Models\Locale::getPredefined()->id) { + $stato->name = $descrizione; + } $id_record = $dbo->lastInsertedID(); $stato->setTranslation('title', $descrizione); $stato->save(); diff --git a/modules/stati_preventivo/edit.php b/modules/stati_preventivo/edit.php index 047ea468d..6bb78b3ee 100755 --- a/modules/stati_preventivo/edit.php +++ b/modules/stati_preventivo/edit.php @@ -34,7 +34,7 @@ if ($record['can_delete']) {
- {[ "type": "text", "label": "", "name": "descrizione", "required": 1, "value": "$name$", "extra": "" ]} + {[ "type": "text", "label": "", "name": "descrizione", "required": 1, "value": "$title$", "extra": "" ]}
diff --git a/modules/tipi_anagrafiche/actions.php b/modules/tipi_anagrafiche/actions.php index 5be2ada16..b42514e7d 100755 --- a/modules/tipi_anagrafiche/actions.php +++ b/modules/tipi_anagrafiche/actions.php @@ -30,6 +30,9 @@ switch (post('op')) { if (!in_array($descrizione, $block)) { $tipo->setTranslation('title', $descrizione); + if (Models\Locale::getDefault()->id == Models\Locale::getPredefined()->id) { + $tipo->name = $descrizione; + } $tipo->save(); flash()->info(tr('Informazioni salvate correttamente!')); } else { @@ -50,6 +53,9 @@ switch (post('op')) { flash()->error(tr('Nome già esistente!')); } else { $tipo = Tipo::build($descrizione); + if (Models\Locale::getDefault()->id == Models\Locale::getPredefined()->id) { + $tipo->name = $descrizione; + } $id_record = $dbo->lastInsertedID(); $tipo->setTranslation('title', $descrizione); $tipo->save(); diff --git a/modules/tipi_anagrafiche/edit.php b/modules/tipi_anagrafiche/edit.php index f530f804d..7a735f0f5 100755 --- a/modules/tipi_anagrafiche/edit.php +++ b/modules/tipi_anagrafiche/edit.php @@ -51,7 +51,7 @@ if (!empty($record['default'])) {
- {[ "type": "text", "label": "", "name": "descrizione", "required": 1, "value": "$name$", "extra": "" ]} + {[ "type": "text", "label": "", "name": "descrizione", "required": 1, "value": "$title$", "extra": "" ]}
diff --git a/modules/tipi_documento/actions.php b/modules/tipi_documento/actions.php index ada4780c3..2927fd44d 100644 --- a/modules/tipi_documento/actions.php +++ b/modules/tipi_documento/actions.php @@ -35,6 +35,9 @@ switch (filter('op')) { if (!empty($predefined)) { $dbo->query('UPDATE `co_tipidocumento` SET `predefined` = 0 WHERE `dir` = '.prepare($dir)); } + if (Models\Locale::getDefault()->id == Models\Locale::getPredefined()->id) { + $tipo->name = $descrizione; + } $tipo->dir = $dir; $tipo->codice_tipo_documento_fe = $codice_tipo_documento_fe; $tipo->help = filter('help'); @@ -61,6 +64,9 @@ switch (filter('op')) { flash()->error(tr('Questa combinazione di nome, codice e direzione è già stata utilizzata per un altro tipo di documento.')); } else { $tipo = Tipo::build($dir, $codice_tipo_documento_fe); + if (Models\Locale::getDefault()->id == Models\Locale::getPredefined()->id) { + $tipo->name = $descrizione; + } $id_record = $dbo->lastInsertedID(); $tipo->setTranslation('title', $descrizione); $tipo->save(); diff --git a/modules/tipi_documento/edit.php b/modules/tipi_documento/edit.php index af9bd5a12..965b82b68 100644 --- a/modules/tipi_documento/edit.php +++ b/modules/tipi_documento/edit.php @@ -27,7 +27,7 @@ use Models\Module;
- {[ "type": "text", "label": "", "name": "descrizione", "required": 1, "value": "$name$" ]} + {[ "type": "text", "label": "", "name": "descrizione", "required": 1, "value": "$title$" ]}
diff --git a/modules/tipi_intervento/actions.php b/modules/tipi_intervento/actions.php index 5bcc96c63..7a986d5d6 100755 --- a/modules/tipi_intervento/actions.php +++ b/modules/tipi_intervento/actions.php @@ -23,6 +23,9 @@ include_once __DIR__.'/../../core.php'; switch (post('op')) { case 'update': + if (Models\Locale::getDefault()->id == Models\Locale::getPredefined()->id) { + $tipo->name = $descrizione; + } $tipo->calcola_km = post('calcola_km'); $tipo->tempo_standard = post('tempo_standard'); $tipo->costo_orario = post('costo_orario'); @@ -70,6 +73,9 @@ switch (post('op')) { $costo_diritto_chiamata_tecnico = post('costo_diritto_chiamata_tecnico'); $tipo = Tipo::build($codice, $calcola_km, $tempo_standard, $costo_orario, $costo_km, $costo_diritto_chiamata, $costo_orario_tecnico, $costo_km_tecnico, $costo_diritto_chiamata_tecnico); + if (Models\Locale::getDefault()->id == Models\Locale::getPredefined()->id) { + $tipo->name = $descrizione; + } $id_record = $dbo->lastInsertedID(); $tipo->setTranslation('title', post('descrizione')); $tipo->save(); diff --git a/modules/tipi_intervento/edit.php b/modules/tipi_intervento/edit.php index 2e80e7517..8571f7655 100755 --- a/modules/tipi_intervento/edit.php +++ b/modules/tipi_intervento/edit.php @@ -30,7 +30,7 @@ include_once __DIR__.'/../../core.php';
- {[ "type": "text", "label": "", "name": "descrizione", "required": 1, "value": "$name$" ]} + {[ "type": "text", "label": "", "name": "descrizione", "required": 1, "value": "$title$" ]}
diff --git a/modules/tipi_intervento/src/FasciaOraria.php b/modules/tipi_intervento/src/FasciaOraria.php new file mode 100644 index 000000000..b40f093d1 --- /dev/null +++ b/modules/tipi_intervento/src/FasciaOraria.php @@ -0,0 +1,45 @@ +. + */ + +namespace Modules\TipiIntervento; + +use Common\SimpleModelTrait; +use Illuminate\Database\Eloquent\Model; +use Traits\RecordTrait; + +class FasciaOraria extends Model +{ + use SimpleModelTrait; + use RecordTrait; + protected $table = 'in_fasceorarie'; + + protected static $translated_fields = [ + 'title', + ]; + + public function getModuleAttribute() + { + return 'Fasce orarie'; + } + + public static function getTranslatedFields() + { + return self::$translated_fields; + } +} diff --git a/modules/tipi_scadenze/actions.php b/modules/tipi_scadenze/actions.php index 8db25b195..52454c255 100755 --- a/modules/tipi_scadenze/actions.php +++ b/modules/tipi_scadenze/actions.php @@ -19,6 +19,7 @@ include_once __DIR__.'/../../core.php'; use Models\Module; +use Modules\Scadenzario\Tipo; switch (filter('op')) { case 'update': @@ -27,15 +28,16 @@ switch (filter('op')) { if (isset($nome)) { // Se non esiste già una tipo di scadenza con lo stesso nome - $nome_new = $dbo->fetchOne('SELECT * 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(Models\Locale::getDefault()->id).') WHERE `title` = '.prepare($nome).' AND `co_tipi_scadenze_lang`.`id_record` != '.prepare($id_record)); + $nome_new = Tipo::where('id', '=', (new Tipo())->getByField('title', $descrizione))->where('id', '!=', $id_record)->first(); + $nome_prev = $tipo->getTranslation('title'); if (empty($nome_new)) { // nome_prev - $nome_prev = $dbo->fetchOne('SELECT `title` AS nome_prev 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(Models\Locale::getDefault()->id).') WHERE `co_tipi_scadenze`.`id`='.prepare($id_record))['nome_prev']; - - $dbo->update('co_tipi_scadenze_lang', [ - 'name' => $nome, - 'description' => $descrizione, - ], ['id_record' => $id_record, 'id_lang' => Models\Locale::getDefault()->id]); + $tipo->setTranslation('title', $descrizione); + if (Models\Locale::getDefault()->id == Models\Locale::getPredefined()->id) { + $tipo->name = $nome; + } + $tipo->save(); + flash()->info(tr('Salvataggio completato.')); $segmento = $dbo->fetchOne('SELECT `zz_segments`.`id` FROM `zz_segments` LEFT JOIN `zz_segments_lang` ON (`zz_segments_lang`.`id_record` = `zz_segments`.`id` AND `zz_segments_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `id_module` = '.prepare((new Module())->getByField('title', 'Scadenzario', Models\Locale::getPredefined()->id)).' AND `clause` = "co_scadenziario.tipo=\''.$nome_prev.'\'" AND `zz_segments_lang`.`title` = "Scadenzario '.$nome_prev.'"')['id']; @@ -47,7 +49,7 @@ switch (filter('op')) { ]); $dbo->update('zz_segments_lang', [ - 'name' => 'Scadenzario '.$nome, + 'title' => 'Scadenzario '.$nome, ], [ 'id_record' => $segmento, 'id_lang' => Models\Locale::getDefault()->id, @@ -72,17 +74,16 @@ switch (filter('op')) { if (isset($nome)) { // Se non esiste già un tipo di scadenza con lo stesso nome - if (empty($dbo->fetchArray('SELECT * 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(Models\Locale::getDefault()->id).') WHERE `title`='.prepare($nome)))) { - $dbo->insert('co_tipi_scadenze', [ - 'created_at' => 'NOW()', - ]); + if (empty(Tipo::where('id', '=', (new Tipo())->getByField('title', $descrizione))->where('id', '!=', $id_record)->first())) { + $tipo = tipo::build(); + if (Models\Locale::getDefault()->id == Models\Locale::getPredefined()->id) { + $tipo->name = $nome; + } + $tipo->save(); + $id_record = $dbo->lastInsertedID(); - $dbo->insert('co_tipi_scadenze_lang', [ - 'name' => $nome, - 'description' => $descrizione, - 'id_record' => $id_record, - 'id_lang' => Models\Locale::getDefault()->id, - ]); + $tipo->setTranslation('title', $descrizione); + $tipo->save(); // Aggiungo anche il segmento $dbo->insert('zz_segments', [ @@ -92,7 +93,7 @@ switch (filter('op')) { ]); $id_segment = $dbo->lastInsertedID(); $dbo->insert('zz_segments_lang', [ - 'name' => 'Scadenzario '.$nome, + 'title' => 'Scadenzario '.$nome, 'id_record' => $id_segment, 'id_lang' => Models\Locale::getDefault()->id, ]); diff --git a/modules/tipi_scadenze/edit.php b/modules/tipi_scadenze/edit.php index f569ce135..ff98a3d58 100755 --- a/modules/tipi_scadenze/edit.php +++ b/modules/tipi_scadenze/edit.php @@ -47,7 +47,7 @@ if ($record['can_delete'] and empty($scadenze)) {
- {[ "type": "text", "label": "", "name": "descrizione", "required": 1, "value": "$description$" ]} + {[ "type": "text", "label": "", "name": "descrizione", "required": 1, "value": "$title$" ]}
diff --git a/modules/tipi_scadenze/init.php b/modules/tipi_scadenze/init.php index 8aa8f183e..a87c22af8 100755 --- a/modules/tipi_scadenze/init.php +++ b/modules/tipi_scadenze/init.php @@ -17,8 +17,12 @@ * along with this program. If not, see . */ +use Modules\Scadenzario\Tipo; + include_once __DIR__.'/../../core.php'; if (!empty($id_record)) { $record = $dbo->fetchOne('SELECT *, `co_tipi_scadenze`.`id` as id 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(Models\Locale::getDefault()->id).') WHERE `co_tipi_scadenze`.`id`='.prepare($id_record)); + + $tipo = Tipo::find($id_record); } diff --git a/src/HTMLBuilder/Manager/ButtonManager.php b/src/HTMLBuilder/Manager/ButtonManager.php index 08b5ec9db..2e8e5c134 100755 --- a/src/HTMLBuilder/Manager/ButtonManager.php +++ b/src/HTMLBuilder/Manager/ButtonManager.php @@ -126,10 +126,10 @@ class ButtonManager implements ManagerInterface $results = \Prints::getModulePrints($options['id_module']); } elseif ($options['type'] == 'email') { $results = TemplateEmail::where('id_module', $options['id_module'])->with(['translations' => function ($query) { - $query->orderBy('name'); + $query->orderBy('title'); }])->get()->toArray(); } elseif ($options['type'] == 'sms') { - $results = TemplateSMS::where('id_module', $options['id_module'])->orderBy('name')->get()->toArray(); + $results = TemplateSMS::where('id_module', $options['id_module'])->orderBy('title')->get()->toArray(); } return $results; diff --git a/update/2_5.sql b/update/2_5.sql index 323a46b22..7601b82cf 100644 --- a/update/2_5.sql +++ b/update/2_5.sql @@ -224,8 +224,6 @@ HAVING 2=2" WHERE `name` = 'Tipi di anagrafiche'; UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = '`an_tipianagrafiche`.`id`' WHERE `zz_modules`.`name` = 'Tipi di anagrafiche' AND `zz_views`.`name` = 'id'; -UPDATE `zz_settings` SET `tipo` = 'query=SELECT `an_anagrafiche`.`idanagrafica` AS id, `ragione_sociale` AS descrizione FROM `an_anagrafiche` INNER JOIN `an_tipianagrafiche_anagrafiche` ON `an_anagrafiche`.`idanagrafica` = `an_tipianagrafiche_anagrafiche`.`idanagrafica` WHERE `idtipoanagrafica` = (SELECT `an_tipianagrafiche`.`id` FROM `an_tipianagrafiche` LEFT JOIN `an_tipianagrafiche_lang` ON(`an_tipianagrafiche`.`id` = `an_tipianagrafiche_lang`.`id_record`) WHERE `name` = \'Azienda\') AND `deleted_at` IS NULL' WHERE `zz_settings`.`nome` = 'Azienda predefinita'; - -- Aggiunta tabella co_iva_lang CREATE TABLE IF NOT EXISTS `co_iva_lang` ( `id` int NOT NULL, @@ -1639,7 +1637,6 @@ WHERE 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`.`description`' WHERE `zz_modules_lang`.`name` = 'Tipi scadenze' AND `zz_views`.`name` = 'Descrizione'; -- Aggiunta tabella zz_segments_lang CREATE TABLE IF NOT EXISTS `zz_segments_lang` ( diff --git a/update/2_5_1.php b/update/2_5_1.php index cea873434..f4578d43f 100644 --- a/update/2_5_1.php +++ b/update/2_5_1.php @@ -138,6 +138,9 @@ if (!$has_name) { if (database()->columnExists('co_tipi_scadenze_lang', 'name')) { $database->query('ALTER TABLE `co_tipi_scadenze_lang` DROP `name`'); } +if (database()->columnExists('co_tipi_scadenze_lang', 'description')) { + $database->query('ALTER TABLE `co_tipi_scadenze_lang` CHANGE `description` `title` VARCHAR(255) NOT NULL'); +} // Controllo se è presente il campo name in do_categorie $has_name = database()->columnExists('do_categorie', 'name'); diff --git a/update/2_5_1.sql b/update/2_5_1.sql index 0aaf54161..ac970c0c0 100644 --- a/update/2_5_1.sql +++ b/update/2_5_1.sql @@ -378,9 +378,6 @@ ALTER TABLE `zz_settings_lang` CHANGE `help` `help` VARCHAR(500) NULL; INSERT INTO `zz_settings` (`id`, `nome`, `valore`, `tipo`, `editable`, `sezione`, `order`) VALUES (NULL, 'Visualizza numero ordine cliente', '1', 'boolean', '1', 'Ordini', NULL); INSERT INTO `zz_settings_lang` (`id_record`, `id_lang`, `title`, `help`) VALUES ((SELECT `id` FROM `zz_settings` WHERE `nome` = 'Visualizza numero ordine cliente'), (SELECT `valore` FROM `zz_settings` WHERE `nome` = "Lingua"), 'Visualizza numero ordine cliente', 'Se abilitata, utilizza nei documenti il numero d\'ordine del cliente al posto del numero interno dell\'ordine'); --- Allineamento impostazioni -UPDATE `zz_settings` SET `tipo` = 'query=SELECT `zz_prints`.`id`, `zz_prints_lang`.`name` AS descrizione FROM `zz_prints` LEFT JOIN `zz_prints_lang` ON (`zz_prints_lang`.`id_record` = `zz_prints`.`id` AND `zz_prints_lang`.`id_lang` = (SELECT `valore` FROM `zz_settings` WHERE `nome` = "Lingua")) WHERE `id_module` = (SELECT `zz_modules`.`id` FROM `zz_modules` 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")) WHERE `name` = "Interventi") AND `is_record` = 1' WHERE `zz_settings`.`nome` = 'Stampa per anteprima e firma'; - -- Allineamento vista Gestione documentale UPDATE `zz_modules` SET `options` = " SELECT @@ -922,7 +919,7 @@ 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` = '`zz_segments_lang`.`title`' WHERE `zz_modules`.`name` = 'Tipi documento' AND `zz_views`.`name` = 'Sezionale'; -- Allineamento vista Tipi scadenze -UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = '`co_tipi_scadenze_lang`.`title`' WHERE `zz_modules`.`name` = 'Tipi scadenze' AND `zz_views`.`name` = 'Nome'; +UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = '`co_tipi_scadenze`.`name`' WHERE `zz_modules`.`name` = 'Tipi scadenze' AND `zz_views`.`name` = 'Nome'; UPDATE `zz_widgets` SET `query` = "SELECT\n CONCAT_WS(\' \', REPLACE(REPLACE(REPLACE(FORMAT((\n SELECT SUM(\n (`co_righe_documenti`.`subtotale` - `co_righe_documenti`.`sconto`) * IF(`co_tipidocumento`.`reversed`, -1, 1)\n )\n ), 2), \',\', \'#\'), \'.\', \',\'), \'#\', \'.\'), \'€\') AS dato\nFROM \n `co_righe_documenti`\n INNER JOIN `co_documenti` ON `co_righe_documenti`.`iddocumento` = `co_documenti`.`id`\n INNER JOIN `co_tipidocumento` ON `co_documenti`.`idtipodocumento` = `co_tipidocumento`.`id`\n INNER JOIN `co_statidocumento` ON `co_documenti`.`idstatodocumento` = `co_statidocumento`.`id`\n LEFT JOIN `co_statidocumento_lang` ON (`co_statidocumento`.`id` = `co_statidocumento_lang`.`id_record` AND `co_statidocumento_lang`.|lang|)\nWHERE \n `co_statidocumento_lang`.`title`!=\'Bozza\' AND `co_tipidocumento`.`dir`=\'entrata\' |segment(`co_documenti`.`id_segment`)| AND `data` >= \'|period_start|\' AND `data` <= \'|period_end|\' AND 1=1" WHERE `zz_widgets`.`name` = 'Fatturato'; @@ -944,4 +941,13 @@ UPDATE `zz_widgets` SET `query` = 'SELECT COUNT(`dati`.`id`) AS dato FROM (SELEC UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = '`zz_plugins_lang`.`title`' WHERE `zz_modules`.`name` = 'Campi personalizzati' AND `zz_views`.`name` = 'Plugin'; UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = '`zz_plugins_lang`.`title`' WHERE `zz_modules`.`name` = 'Checklists' AND `zz_views`.`name` = 'Plugin'; UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = '`categoria_lang`.`title`' WHERE `zz_modules`.`name` = 'Giacenze sedi' AND `zz_views`.`name` = 'Categoria'; -UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = '`sottocategoria_lang`.`title`' WHERE `zz_modules`.`name` = 'Giacenze sedi' 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` = '`sottocategoria_lang`.`title`' WHERE `zz_modules`.`name` = 'Giacenze sedi' AND `zz_views`.`name` = 'Sottocategoria'; + + +-- Allineamento impostazioni +UPDATE `zz_settings` SET `tipo` = 'query=SELECT `zz_prints`.`id`, `zz_prints_lang`.`title` AS descrizione FROM `zz_prints` LEFT JOIN `zz_prints_lang` ON (`zz_prints_lang`.`id_record` = `zz_prints`.`id` AND `zz_prints_lang`.`id_lang` = (SELECT `valore` FROM `zz_settings` WHERE `nome` = "Lingua")) WHERE `id_module` = (SELECT `id` FROM `zz_modules` WHERE `name` = "Interventi") AND `is_record` = 1' WHERE `zz_settings`.`nome` = 'Stampa per anteprima e firma'; + +UPDATE `zz_settings` SET `tipo` = 'query=SELECT `an_anagrafiche`.`idanagrafica` AS id, `ragione_sociale` AS descrizione FROM `an_anagrafiche` INNER JOIN `an_tipianagrafiche_anagrafiche` ON `an_anagrafiche`.`idanagrafica` = `an_tipianagrafiche_anagrafiche`.`idanagrafica` WHERE `idtipoanagrafica` = (SELECT `an_tipianagrafiche`.`id` FROM `an_tipianagrafiche` LEFT JOIN `an_tipianagrafiche_lang` ON(`an_tipianagrafiche`.`id` = `an_tipianagrafiche_lang`.`id_record`) WHERE `title` = \'Azienda\') AND `deleted_at` IS NULL' WHERE `zz_settings`.`nome` = 'Azienda predefinita'; + +UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = '`co_tipi_scadenze_lang`.`title`' WHERE `zz_modules`.`name` = 'Tipi scadenze' 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_causalet_lang`.`title`' WHERE `zz_modules`.`name` = 'Causali' AND `zz_views`.`name` = 'Descrizione'; \ No newline at end of file