From cc34b665f7128315b6f7670ebd10e97a0ed06842 Mon Sep 17 00:00:00 2001 From: Pek5892 Date: Tue, 19 Mar 2024 18:18:11 +0100 Subject: [PATCH] Modifica gestione lingue --- include/common/importa.php | 2 +- modules/anagrafiche/src/Anagrafica.php | 2 +- modules/anagrafiche/src/Referente.php | 2 +- modules/anagrafiche/src/Sede.php | 2 +- modules/anagrafiche/src/Tipo.php | 2 +- modules/articoli/actions.php | 4 +- modules/articoli/bulk.php | 2 +- modules/articoli/edit.php | 2 +- .../articoli/plugins/articoli.giacenze.php | 2 +- .../articoli/plugins/articoli.movimenti.php | 4 +- modules/articoli/src/API/v1/Articoli.php | 5 +- modules/articoli/src/Articolo.php | 39 +-------------- modules/articoli/src/Categoria.php | 2 +- modules/articoli/src/Import/CSV.php | 3 +- modules/articoli/src/Movimento.php | 2 +- .../src/ValoreAttributo.php | 2 +- modules/banche/src/Banca.php | 2 +- modules/checklists/src/Check.php | 2 +- modules/checklists/src/Checklist.php | 2 +- modules/checklists/src/ChecklistItem.php | 2 +- modules/combinazioni_articoli/edit.php | 2 +- modules/contratti/actions.php | 2 +- .../plugins/contratti.consuntivo.php | 2 +- modules/contratti/src/Stato.php | 2 +- modules/ddt/actions.php | 2 +- modules/emails/src/Mail.php | 2 +- modules/emails/src/Receiver.php | 2 +- modules/emails/src/Template.php | 2 +- modules/fatture/src/Tipo.php | 2 +- modules/impianti/src/Categoria.php | 2 +- modules/impianti/src/Impianto.php | 2 +- modules/interventi/actions.php | 2 +- .../interventi/src/Components/Sessione.php | 2 +- modules/interventi/src/Stato.php | 2 +- modules/iva/src/Aliquota.php | 2 +- modules/liste_newsletter/src/Destinatario.php | 2 +- modules/liste_newsletter/src/Lista.php | 2 +- modules/listini_cliente/src/Articolo.php | 2 +- modules/listini_cliente/src/Listino.php | 2 +- modules/newsletter/src/Destinatario.php | 2 +- modules/newsletter/src/Newsletter.php | 2 +- modules/ordini/actions.php | 2 +- modules/ordini/plugins/ordini.consuntivo.php | 2 +- modules/ordini/quantita_impegnate.php | 2 +- modules/ordini/src/Stato.php | 2 +- modules/pagamenti/src/Pagamento.php | 2 +- modules/piano_sconto/src/PianoSconto.php | 2 +- modules/preventivi/actions.php | 2 +- .../plugins/preventivi.consuntivo.php | 2 +- modules/preventivi/src/Import/CSV.php | 2 +- modules/preventivi/src/Stato.php | 2 +- modules/primanota/src/Mastrino.php | 2 +- modules/primanota/src/Movimento.php | 2 +- modules/scadenzario/src/Scadenza.php | 2 +- modules/tipi_intervento/src/Tipo.php | 2 +- plugins/componenti/edit.php | 2 +- plugins/componenti/src/Componente.php | 2 +- .../src/Dichiarazione.php | 2 +- plugins/importFE/src/FatturaOrdinaria.php | 3 +- .../listino_clienti/src/DettaglioPrezzo.php | 2 +- .../dettaglio_prezzi_fornitore.php | 2 +- .../src/DettaglioFornitore.php | 2 +- plugins/pianificazione_interventi/actions.php | 2 +- plugins/varianti_articolo/edit.php | 2 +- src/Common/Components/Article.php | 4 +- src/Common/Components/Description.php | 2 +- src/Common/Components/Discount.php | 2 +- src/Common/Components/Row.php | 2 +- src/Models/Cache.php | 2 +- src/Models/Group.php | 2 +- src/Models/Note.php | 2 +- src/Models/OperationLog.php | 2 +- src/Models/Upload.php | 4 +- src/Models/User.php | 2 +- src/Traits/RecordTrait.php | 48 ++++++++++++++++--- templates/barcode/body.php | 2 +- templates/barcode_bulk/body.php | 2 +- templates/magazzino_inventario/body.php | 2 +- 78 files changed, 127 insertions(+), 125 deletions(-) diff --git a/include/common/importa.php b/include/common/importa.php index 9973696a2..3208c4682 100755 --- a/include/common/importa.php +++ b/include/common/importa.php @@ -486,7 +486,7 @@ foreach ($articoli as $elenco) { $qta = $elenco->sum('qta'); $articolo = $elenco->first()->articolo; - $descrizione_riga = $articolo->codice.' - '.$articolo->name; + $descrizione_riga = $articolo->codice.' - '.$articolo->getTranslation('name'); $text = $articolo ? Modules::link('Articoli', $articolo->id, $descrizione_riga) : $descrizione_riga; $scorte[$articolo->id] = [ diff --git a/modules/anagrafiche/src/Anagrafica.php b/modules/anagrafiche/src/Anagrafica.php index 6a4dff556..6eac40ed0 100755 --- a/modules/anagrafiche/src/Anagrafica.php +++ b/modules/anagrafiche/src/Anagrafica.php @@ -63,7 +63,7 @@ class Anagrafica extends Model * * @return self */ - public static function build($ragione_sociale, $nome = '', $cognome = '', array $tipologie = []) + public static function build($ragione_sociale = null, $nome = '', $cognome = '', array $tipologie = []) { $model = new static(); diff --git a/modules/anagrafiche/src/Referente.php b/modules/anagrafiche/src/Referente.php index 8cc3661d3..f840a64b4 100644 --- a/modules/anagrafiche/src/Referente.php +++ b/modules/anagrafiche/src/Referente.php @@ -42,7 +42,7 @@ class Referente extends Model * * @return self */ - public static function build($idanagrafica, $nome, $idmansione, $idsede) + public static function build($idanagrafica = null, $nome = null, $idmansione = null, $idsede = null) { $model = new static(); diff --git a/modules/anagrafiche/src/Sede.php b/modules/anagrafiche/src/Sede.php index fa0219d6c..797307811 100644 --- a/modules/anagrafiche/src/Sede.php +++ b/modules/anagrafiche/src/Sede.php @@ -40,7 +40,7 @@ class Sede extends Model * * @return self */ - public static function build(Anagrafica $anagrafica, $is_sede_legale = false) + public static function build(Anagrafica $anagrafica = null, $is_sede_legale = false) { $model = parent::make(); diff --git a/modules/anagrafiche/src/Tipo.php b/modules/anagrafiche/src/Tipo.php index ea8d73969..cbd9da906 100755 --- a/modules/anagrafiche/src/Tipo.php +++ b/modules/anagrafiche/src/Tipo.php @@ -28,7 +28,7 @@ class Tipo extends Model protected $table = 'an_tipianagrafiche'; - public static function build($descrizione) + public static function build($descrizione = null) { $model = new static(); $model->save(); diff --git a/modules/articoli/actions.php b/modules/articoli/actions.php index b2ccde8d3..81e0e128b 100755 --- a/modules/articoli/actions.php +++ b/modules/articoli/actions.php @@ -72,7 +72,7 @@ switch (post('op')) { $articolo->um = post('um'); $articolo->um_secondaria = post('um_secondaria'); $articolo->fattore_um_secondaria = post('fattore_um_secondaria'); - $articolo->name = post('descrizione'); + $articolo->setTranslation('name', post('descrizione')); $articolo->save(); // Aggiornamento delle varianti per i campi comuni @@ -152,7 +152,7 @@ switch (post('op')) { $componente = post('componente_filename'); $articolo->componente_filename = $componente; $articolo->attivo = post('attivo'); - $articolo->name = post('descrizione'); + $articolo->setTranslation('name', post('descrizione')); $articolo->note = post('note'); $articolo->save(); diff --git a/modules/articoli/bulk.php b/modules/articoli/bulk.php index 6c1cf2766..42029b8eb 100755 --- a/modules/articoli/bulk.php +++ b/modules/articoli/bulk.php @@ -197,7 +197,7 @@ switch (post('op')) { $articolo = ArticoloPreventivo::build($preventivo, $originale); $id_iva = $originale->idiva_vendita ?: setting('Iva predefinita'); $articolo->qta = 1; - $articolo->name = $originale->name; + $articolo->setTranslation('name', $originale->getTranslation('name')); $articolo->um = $originale->um ?: null; $articolo->costo_unitario = $originale->prezzo_acquisto; $articolo->prezzo_unitario = $originale->prezzo_vendita; diff --git a/modules/articoli/edit.php b/modules/articoli/edit.php index c049b446e..f7ada4d4f 100755 --- a/modules/articoli/edit.php +++ b/modules/articoli/edit.php @@ -65,7 +65,7 @@ use Models\Module;
- {[ "type": "textarea", "label": "", "name": "descrizione", "required": 1, "value": "name; ?>", "charcounter": 1 ]} + {[ "type": "textarea", "label": "", "name": "descrizione", "required": 1, "value": "getTranslation('name'); ?>", "charcounter": 1 ]}
diff --git a/modules/articoli/plugins/articoli.giacenze.php b/modules/articoli/plugins/articoli.giacenze.php index d2ed7010b..25e422424 100755 --- a/modules/articoli/plugins/articoli.giacenze.php +++ b/modules/articoli/plugins/articoli.giacenze.php @@ -58,7 +58,7 @@ echo '
- '.tr('Descrizione: ').''.$articolo->name.' + '.tr('Descrizione: ').''.$articolo->getTranslation('name').'
diff --git a/modules/articoli/plugins/articoli.movimenti.php b/modules/articoli/plugins/articoli.movimenti.php index 448b1cc05..70116b559 100755 --- a/modules/articoli/plugins/articoli.movimenti.php +++ b/modules/articoli/plugins/articoli.movimenti.php @@ -35,7 +35,7 @@ echo '
- '.tr('Descrizione: ').''.$articolo->name.' + '.tr('Descrizione: ').''.$articolo->getTranslation('name').'
@@ -69,7 +69,7 @@ if (empty($_GET['movimentazione_completa'])) { } echo ' - + '.tr('Visualizza dettagli').' '; diff --git a/modules/articoli/src/API/v1/Articoli.php b/modules/articoli/src/API/v1/Articoli.php index ce49b6030..2d3d0f048 100755 --- a/modules/articoli/src/API/v1/Articoli.php +++ b/modules/articoli/src/API/v1/Articoli.php @@ -84,8 +84,9 @@ class Articoli extends Resource implements RetrieveInterface, UpdateInterface, C // Gestione categoria list($categoria, $sottocategoria) = $this->gestioneCategorie($data['categoria'], $data['sottocategoria']); - $articolo = Articolo::build($data['codice'], $data['descrizione'], $categoria, $sottocategoria); + $articolo = Articolo::build($data['codice'], $categoria, $sottocategoria); $articolo->setPrezzoVendita($data['prezzo_vendita'], $articolo->idiva_vendita); + $articolo->setTranslation('name', $data['descrizione']); $articolo->save(); return [ @@ -108,7 +109,7 @@ class Articoli extends Resource implements RetrieveInterface, UpdateInterface, C $articolo->sottocategoria()->associate($sottocategoria); } - $articolo->name = $data['descrizione']; + $articolo->setTranslation('name', $data['descrizione']); $articolo->setPrezzoVendita($data['prezzo_vendita'], $articolo->idiva_vendita); $articolo->save(); diff --git a/modules/articoli/src/Articolo.php b/modules/articoli/src/Articolo.php index 9e69b9344..2fc4e2a54 100755 --- a/modules/articoli/src/Articolo.php +++ b/modules/articoli/src/Articolo.php @@ -46,7 +46,7 @@ class Articolo extends Model 'name', ]; - public static function build($codice, ?Categoria $categoria = null, ?Categoria $sottocategoria = null) + public static function build($codice = null, ?Categoria $categoria = null, ?Categoria $sottocategoria = null) { $model = new static(); @@ -345,43 +345,6 @@ class Articolo extends Model ->first(); } - /** - * Ritorna l'attributo name dell'articolo. - * - * @return string - */ - public function getNameAttribute() - { - return database()->table($this->table.'_lang') - ->select('name') - ->where('id_record', '=', $this->id) - ->where('id_lang', '=', \App::getLang()) - ->first()->name; - } - - /** - * Imposta l'attributo name dell'articolo. - */ - public function setNameAttribute($value) - { - $table = database()->table($this->table.'_lang'); - - $translated = $table - ->where('id_record', '=', $this->id) - ->where('id_lang', '=', \App::getLang()); - - if ($translated->count() > 0) { - $translated->update([ - 'name' => $value - ]); - } else { - $table->insert([ - 'id_record' => $this->id, - 'id_lang' => \App::getLang(), - 'name' => $value - ]); - } - } public static function getTranslatedFields(){ return self::$translated_fields; diff --git a/modules/articoli/src/Categoria.php b/modules/articoli/src/Categoria.php index 779a98baa..55cff79b1 100755 --- a/modules/articoli/src/Categoria.php +++ b/modules/articoli/src/Categoria.php @@ -31,7 +31,7 @@ class Categoria extends Model protected $table = 'mg_categorie'; protected static $parent_identifier = 'parent'; - public static function build($nota, $colore) + public static function build($nota = null, $colore = null) { $model = new static(); $model->nota = $nota; diff --git a/modules/articoli/src/Import/CSV.php b/modules/articoli/src/Import/CSV.php index 5840531c8..bdf96f211 100644 --- a/modules/articoli/src/Import/CSV.php +++ b/modules/articoli/src/Import/CSV.php @@ -315,7 +315,8 @@ class CSV extends CSVImporter $articolo = Articolo::where($primary_key, $record[$primary_key])->withTrashed()->first(); } if (empty($articolo)) { - $articolo = Articolo::build($record['codice'], $record['descrizione'], $categoria, $sottocategoria); + $articolo = Articolo::build($record['codice'], $categoria, $sottocategoria); + $articolo->setTranslation('name', $record['descrizione']); } else { $articolo->restore(); } diff --git a/modules/articoli/src/Movimento.php b/modules/articoli/src/Movimento.php index 055402569..ff8e2d268 100755 --- a/modules/articoli/src/Movimento.php +++ b/modules/articoli/src/Movimento.php @@ -32,7 +32,7 @@ class Movimento extends Model protected $document; protected $table = 'mg_movimenti'; - public static function build(Articolo $articolo, $qta, $descrizione, $data, $document = null, $id_sede = null) + public static function build(Articolo $articolo = null, $qta = null, $descrizione = null, $data = null, $document = null, $id_sede = null) { $model = new static(); diff --git a/modules/attributi_combinazioni/src/ValoreAttributo.php b/modules/attributi_combinazioni/src/ValoreAttributo.php index 005680273..edece888a 100644 --- a/modules/attributi_combinazioni/src/ValoreAttributo.php +++ b/modules/attributi_combinazioni/src/ValoreAttributo.php @@ -13,7 +13,7 @@ class ValoreAttributo extends Model protected $table = 'mg_valori_attributi'; - public static function build(Attributo $attributo, $valore) + public static function build(Attributo $attributo = null, $valore = null) { $model = new self(); diff --git a/modules/banche/src/Banca.php b/modules/banche/src/Banca.php index 4fefc238e..b94402331 100644 --- a/modules/banche/src/Banca.php +++ b/modules/banche/src/Banca.php @@ -41,7 +41,7 @@ class Banca extends Model * * @return self */ - public static function build(Anagrafica $anagrafica, $nome, $iban, $bic) + public static function build(Anagrafica $anagrafica = null, $nome = null, $iban = null, $bic = null) { $model = new static(); diff --git a/modules/checklists/src/Check.php b/modules/checklists/src/Check.php index 48a57a362..12852f356 100755 --- a/modules/checklists/src/Check.php +++ b/modules/checklists/src/Check.php @@ -46,7 +46,7 @@ class Check extends Model * * @return self */ - public static function build(User $user, $structure, $id_record, $content, $parent_id = null, $is_titolo = 0, $order = 99, $id_module_from = 0, $id_record_from = 0) + public static function build(User $user = null, $structure = null, $id_record = null, $content = null, $parent_id = null, $is_titolo = 0, $order = 99, $id_module_from = 0, $id_record_from = 0) { $model = new static(); diff --git a/modules/checklists/src/Checklist.php b/modules/checklists/src/Checklist.php index dafc4301d..38966c711 100755 --- a/modules/checklists/src/Checklist.php +++ b/modules/checklists/src/Checklist.php @@ -38,7 +38,7 @@ class Checklist extends Model * * @return self */ - public static function build($nome) + public static function build($nome = null) { $model = new static(); diff --git a/modules/checklists/src/ChecklistItem.php b/modules/checklists/src/ChecklistItem.php index 1726c6409..8918e0725 100755 --- a/modules/checklists/src/ChecklistItem.php +++ b/modules/checklists/src/ChecklistItem.php @@ -39,7 +39,7 @@ class ChecklistItem extends Model * * @return self */ - public static function build(Checklist $checklist, $contenuto, $id_parent = null, $is_titolo = 0) + public static function build(Checklist $checklist = null, $contenuto = null, $id_parent = null, $is_titolo = 0) { $model = new static(); diff --git a/modules/combinazioni_articoli/edit.php b/modules/combinazioni_articoli/edit.php index efb778bd7..68a879a19 100644 --- a/modules/combinazioni_articoli/edit.php +++ b/modules/combinazioni_articoli/edit.php @@ -84,7 +84,7 @@ foreach ($articoli as $articolo) { '.$articolo->nome_variante.' - '.Modules::link('Articoli', $articolo->id, $articolo->codice.' - '.$articolo->name).' + '.Modules::link('Articoli', $articolo->id, $articolo->codice.' - '.$articolo->getTranslation('name')).'