mirror of
https://github.com/devcode-it/openstamanager.git
synced 2025-03-07 04:37:53 +01:00
Modifica gestione lingue
This commit is contained in:
parent
c459ebe812
commit
cc34b665f7
@ -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] = [
|
||||
|
@ -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();
|
||||
|
||||
|
@ -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();
|
||||
|
||||
|
@ -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();
|
||||
|
||||
|
@ -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();
|
||||
|
@ -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();
|
||||
|
@ -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;
|
||||
|
@ -65,7 +65,7 @@ use Models\Module;
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
{[ "type": "textarea", "label": "<?php echo tr('Descrizione'); ?>", "name": "descrizione", "required": 1, "value": "<?php echo $articolo->name; ?>", "charcounter": 1 ]}
|
||||
{[ "type": "textarea", "label": "<?php echo tr('Descrizione'); ?>", "name": "descrizione", "required": 1, "value": "<?php echo $articolo->getTranslation('name'); ?>", "charcounter": 1 ]}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
@ -58,7 +58,7 @@ echo '
|
||||
</div>
|
||||
|
||||
<div class="col-md-6">
|
||||
<span><b>'.tr('Descrizione: ').'</b>'.$articolo->name.'</span>
|
||||
<span><b>'.tr('Descrizione: ').'</b>'.$articolo->getTranslation('name').'</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -35,7 +35,7 @@ echo '
|
||||
</div>
|
||||
|
||||
<div class="col-md-6">
|
||||
<span><b>'.tr('Descrizione: ').'</b>'.$articolo->name.'</span>
|
||||
<span><b>'.tr('Descrizione: ').'</b>'.$articolo->getTranslation('name').'</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -69,7 +69,7 @@ if (empty($_GET['movimentazione_completa'])) {
|
||||
}
|
||||
|
||||
echo '
|
||||
<a class="btn btn-warning btn-xs" href="'.base_path().'/controller.php?id_module='.(new Module())->GetByName('Movimenti')->id_record.'&search_Articolo='.($articolo->codice.' - '.$articolo->name).'">
|
||||
<a class="btn btn-warning btn-xs" href="'.base_path().'/controller.php?id_module='.(new Module())->GetByName('Movimenti')->id_record.'&search_Articolo='.($articolo->codice.' - '.$articolo->getTranslation('name')).'">
|
||||
<i class="fa fa-external-link"></i>
|
||||
'.tr('Visualizza dettagli').'
|
||||
</a>';
|
||||
|
@ -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();
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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();
|
||||
}
|
||||
|
@ -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();
|
||||
|
||||
|
@ -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();
|
||||
|
||||
|
@ -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();
|
||||
|
||||
|
@ -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();
|
||||
|
||||
|
@ -38,7 +38,7 @@ class Checklist extends Model
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
public static function build($nome)
|
||||
public static function build($nome = null)
|
||||
{
|
||||
$model = new static();
|
||||
|
||||
|
@ -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();
|
||||
|
||||
|
@ -84,7 +84,7 @@ foreach ($articoli as $articolo) {
|
||||
<tr data-id="'.$articolo->id.'">
|
||||
<td><img class="img-thumbnail img-responsive" src="'.$articolo->image.'"></td>
|
||||
<td>'.$articolo->nome_variante.'</td>
|
||||
<td>'.Modules::link('Articoli', $articolo->id, $articolo->codice.' - '.$articolo->name).'</td>
|
||||
<td>'.Modules::link('Articoli', $articolo->id, $articolo->codice.' - '.$articolo->getTranslation('name')).'</td>
|
||||
<td class="text-center">
|
||||
<button type="button" class="btn btn-warning btn-xs" onclick="modificaVariante('.$articolo->id.')">
|
||||
<i class="fa fa-edit"></i> '.tr('Modifica').'
|
||||
|
@ -176,7 +176,7 @@ switch (post('op')) {
|
||||
|
||||
$qta = post('qta');
|
||||
|
||||
$articolo->name = post('descrizione');
|
||||
$articolo->setTranslation('name', post('descrizione'));
|
||||
$articolo->note = post('note');
|
||||
$articolo->um = post('um') ?: null;
|
||||
|
||||
|
@ -155,7 +155,7 @@ if (!empty($interventi)) {
|
||||
echo '
|
||||
<tr>
|
||||
<td>
|
||||
'.Modules::link('Articoli', $articolo->idarticolo, $articolo->name).'
|
||||
'.Modules::link('Articoli', $articolo->idarticolo, $articolo->getTranslation('name')).'
|
||||
</td>
|
||||
<td class="text-right">'.numberFormat($articolo->qta, 'qta').'</td>
|
||||
<td class="text-right danger">'.moneyFormat($articolo->spesa).'</td>
|
||||
|
@ -28,7 +28,7 @@ class Stato extends Model
|
||||
|
||||
protected $table = 'co_staticontratti';
|
||||
|
||||
public static function build($icona, $colore, $is_completato, $is_fatturabile, $is_pianificabile)
|
||||
public static function build($icona = null, $colore = null, $is_completato = null, $is_fatturabile = null, $is_pianificabile = null)
|
||||
{
|
||||
$model = new static();
|
||||
$model->icona = $icona;
|
||||
|
@ -169,7 +169,7 @@ switch (filter('op')) {
|
||||
$articolo->id_dettaglio_fornitore = post('id_dettaglio_fornitore') ?: null;
|
||||
}
|
||||
|
||||
$articolo->name = post('descrizione');
|
||||
$articolo->setTranslation('name', post('descrizione'));
|
||||
$articolo->note = post('note');
|
||||
$articolo->um = post('um') ?: null;
|
||||
|
||||
|
@ -34,7 +34,7 @@ class Mail extends Model
|
||||
|
||||
protected $options;
|
||||
|
||||
public static function build(User $user, $template = null, $id_record = null, $account = null)
|
||||
public static function build(User $user = null, $template = null, $id_record = null, $account = null)
|
||||
{
|
||||
$model = new static();
|
||||
|
||||
|
@ -30,7 +30,7 @@ class Receiver extends Model
|
||||
|
||||
/* Relazioni Eloquent */
|
||||
|
||||
public static function build(Mail $mail, $address, $type = null)
|
||||
public static function build(Mail $mail = null, $address = null, $type = null)
|
||||
{
|
||||
$model = new static();
|
||||
|
||||
|
@ -44,7 +44,7 @@ class Template extends Model
|
||||
return (array) $variables;
|
||||
}
|
||||
|
||||
public static function build($id_module, $id_account)
|
||||
public static function build($id_module = null, $id_account = null)
|
||||
{
|
||||
$model = new static();
|
||||
$model->id_module = $id_module;
|
||||
|
@ -29,7 +29,7 @@ class Tipo extends Model
|
||||
protected $table = 'co_tipidocumento';
|
||||
|
||||
|
||||
public static function build($dir, $codice_tipo_documento_fe)
|
||||
public static function build($dir = null, $codice_tipo_documento_fe = null)
|
||||
{
|
||||
$model = new static();
|
||||
$model->dir = $dir;
|
||||
|
@ -31,7 +31,7 @@ class Categoria extends Model
|
||||
protected $table = 'my_impianti_categorie';
|
||||
protected static $parent_identifier = 'parent';
|
||||
|
||||
public static function build($nome)
|
||||
public static function build($nome = null)
|
||||
{
|
||||
$model = new static();
|
||||
|
||||
|
@ -35,7 +35,7 @@ class Impianto extends Model
|
||||
return $this->belongsTo(Anagrafica::class, 'idanagrafica');
|
||||
}
|
||||
|
||||
public static function build($matricola, $nome, Categoria $categoria, $anagrafica)
|
||||
public static function build($matricola = null, $nome = null, Categoria $categoria = null, $anagrafica = null)
|
||||
{
|
||||
$model = new static();
|
||||
|
||||
|
@ -488,7 +488,7 @@ switch (post('op')) {
|
||||
$qta = post('qta');
|
||||
|
||||
$articolo->idsede_partenza = post('idsede_partenza');
|
||||
$articolo->name = post('descrizione');
|
||||
$articolo->setTranslation('name', post('descrizione'));
|
||||
$articolo->note = post('note');
|
||||
$articolo->um = post('um') ?: null;
|
||||
$articolo->idimpianto = post('id_impianto') ?: null;
|
||||
|
@ -48,7 +48,7 @@ class Sessione extends Model
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
public static function build(Intervento $intervento, Anagrafica $anagrafica, $inizio, $fine)
|
||||
public static function build(Intervento $intervento = null, Anagrafica $anagrafica = null, $inizio = null, $fine = null)
|
||||
{
|
||||
if (!$anagrafica->isTipo('Tecnico')) {
|
||||
throw new \InvalidArgumentException('Anagrafica di tipo diverso da Tecnico');
|
||||
|
@ -33,7 +33,7 @@ class Stato extends Model
|
||||
return $this->hasMany(Intervento::class, 'idstatointervento');
|
||||
}
|
||||
|
||||
public static function build($codice, $colore)
|
||||
public static function build($codice = null, $colore = null)
|
||||
{
|
||||
$model = new static();
|
||||
$model->codice = $codice;
|
||||
|
@ -29,7 +29,7 @@ class Aliquota extends Model
|
||||
protected $table = 'co_iva';
|
||||
|
||||
|
||||
public static function build($esente, $percentuale, $indetraibile, $dicitura, $codice, $codice_natura_fe, $esigibilita)
|
||||
public static function build($esente = null, $percentuale = null, $indetraibile = null, $dicitura = null, $codice = null, $codice_natura_fe = null, $esigibilita = null)
|
||||
{
|
||||
$model = new static();
|
||||
$model->esente = $esente;
|
||||
|
@ -29,7 +29,7 @@ class Destinatario extends Model
|
||||
protected $table = 'em_list_receiver';
|
||||
protected $origine;
|
||||
|
||||
public static function build(Lista $lista, $origine)
|
||||
public static function build(Lista $lista = null, $origine = null)
|
||||
{
|
||||
$model = new static();
|
||||
$model->id_list = $lista->id;
|
||||
|
@ -36,7 +36,7 @@ class Lista extends Model
|
||||
protected $table = 'em_lists';
|
||||
|
||||
|
||||
public static function build($name)
|
||||
public static function build($name = null)
|
||||
{
|
||||
$model = new static();
|
||||
$model->save();
|
||||
|
@ -40,7 +40,7 @@ class Articolo extends Model
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
public static function build(ArticoloOriginale $articolo, $id_listino, $direzione = 'entrata')
|
||||
public static function build(ArticoloOriginale $articolo = null, $id_listino = null, $direzione = 'entrata')
|
||||
{
|
||||
$model = new static();
|
||||
|
||||
|
@ -38,7 +38,7 @@ class Listino extends Model
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
public static function build($nome)
|
||||
public static function build($nome = null)
|
||||
{
|
||||
$model = new static();
|
||||
$model->nome = $nome;
|
||||
|
@ -29,7 +29,7 @@ class Destinatario extends Model
|
||||
protected $table = 'em_newsletter_receiver';
|
||||
protected $origine;
|
||||
|
||||
public static function build(Newsletter $newsletter, $origine)
|
||||
public static function build(Newsletter $newsletter = null, $origine = null)
|
||||
{
|
||||
$model = new static();
|
||||
$model->id_newsletter = $newsletter->id;
|
||||
|
@ -40,7 +40,7 @@ class Newsletter extends Model
|
||||
|
||||
protected $table = 'em_newsletters';
|
||||
|
||||
public static function build(User $user, Template $template, $name)
|
||||
public static function build(User $user = null, Template $template = null, $name = null)
|
||||
{
|
||||
$model = new static();
|
||||
|
||||
|
@ -170,7 +170,7 @@ switch (post('op')) {
|
||||
$articolo->id_dettaglio_fornitore = post('id_dettaglio_fornitore') ?: null;
|
||||
}
|
||||
|
||||
$articolo->name = post('descrizione');
|
||||
$articolo->setTranslation('name', post('descrizione'));
|
||||
$articolo->note = post('note');
|
||||
$articolo->um = post('um') ?: null;
|
||||
|
||||
|
@ -152,7 +152,7 @@ if (!empty($interventi)) {
|
||||
echo '
|
||||
<tr>
|
||||
<td>
|
||||
'.Modules::link('Articoli', $articolo->idarticolo, $articolo->name).'
|
||||
'.Modules::link('Articoli', $articolo->idarticolo, $articolo->getTranslation('name')).'
|
||||
</td>
|
||||
<td class="text-right">'.numberFormat($articolo->qta, 'qta').'</td>
|
||||
<td class="text-right danger">'.moneyFormat($articolo->spesa).'</td>
|
||||
|
@ -49,7 +49,7 @@ foreach ($articoli as $elenco) {
|
||||
$articolo = $elenco->first()->articolo;
|
||||
|
||||
$codice = $articolo ? $articolo->codice : tr('Articolo eliminato');
|
||||
$descrizione = $articolo ? $articolo->name : $elenco->first()->name;
|
||||
$descrizione = $articolo ? $articolo->getTranslation('name') : $elenco->first()->name;
|
||||
|
||||
$qta_impegnata = $database->fetchOne("SELECT
|
||||
SUM(`qta`) as qta
|
||||
|
@ -28,7 +28,7 @@ class Stato extends Model
|
||||
|
||||
protected $table = 'or_statiordine';
|
||||
|
||||
public static function build($icona, $colore, $completato, $is_fatturabile, $impegnato)
|
||||
public static function build($icona = null, $colore = null, $completato = null, $is_fatturabile = null, $impegnato = null)
|
||||
{
|
||||
$model = new static();
|
||||
$model->icona = $icona;
|
||||
|
@ -30,7 +30,7 @@ class Pagamento extends Model
|
||||
|
||||
protected $table = 'co_pagamenti';
|
||||
|
||||
public static function build($codice)
|
||||
public static function build($codice = null)
|
||||
{
|
||||
$model = new static();
|
||||
$model->codice_modalita_pagamento_fe = $codice;
|
||||
|
@ -28,7 +28,7 @@ class PianoSconto extends Model
|
||||
|
||||
protected $table = 'mg_piani_sconto';
|
||||
|
||||
public static function build($nome, $percentuale)
|
||||
public static function build($nome = null, $percentuale = null)
|
||||
{
|
||||
$model = new static();
|
||||
|
||||
|
@ -194,7 +194,7 @@ switch (post('op')) {
|
||||
|
||||
$qta = post('qta');
|
||||
|
||||
$articolo->name = post('descrizione');
|
||||
$articolo->setTranslation('name', post('descrizione'));
|
||||
$articolo->note = post('note');
|
||||
$articolo->um = post('um') ?: null;
|
||||
$articolo->data_evasione = post('data_evasione') ?: null;
|
||||
|
@ -152,7 +152,7 @@ if (!empty($interventi)) {
|
||||
echo '
|
||||
<tr>
|
||||
<td>
|
||||
'.Modules::link('Articoli', $articolo->idarticolo, $articolo->name).'
|
||||
'.Modules::link('Articoli', $articolo->idarticolo, $articolo->getTranslation('name')).'
|
||||
</td>
|
||||
<td class="text-right">'.numberFormat($articolo->qta, 'qta').'</td>
|
||||
<td class="text-right danger">'.moneyFormat($articolo->spesa).'</td>
|
||||
|
@ -115,7 +115,7 @@ class CSV extends CSVImporter
|
||||
if (!empty($articolo_orig)) {
|
||||
$articolo = Articolo::build($preventivo, $articolo_orig);
|
||||
|
||||
$articolo->name = $articolo_orig->name;
|
||||
$articolo->setTranslation('name', $articolo_orig->name);
|
||||
$articolo->um = $articolo_orig->um ?: null;
|
||||
$articolo->data_evasione = new Carbon($record['data_evasione']) ?: null;
|
||||
|
||||
|
@ -28,7 +28,7 @@ class Stato extends Model
|
||||
|
||||
protected $table = 'co_statipreventivi';
|
||||
|
||||
public static function build($icona, $colore, $is_completato, $is_fatturabile, $is_pianificabile)
|
||||
public static function build($icona = null, $colore = null, $is_completato = null, $is_fatturabile = null, $is_pianificabile = null)
|
||||
{
|
||||
$model = new static();
|
||||
$model->icona = $icona;
|
||||
|
@ -45,7 +45,7 @@ class Mastrino extends Model
|
||||
'id_anagrafica',
|
||||
];
|
||||
|
||||
public static function build($descrizione, $data, $is_insoluto = false, $contabile = false, $id_anagrafica = null)
|
||||
public static function build($descrizione = null, $data = null, $is_insoluto = false, $contabile = false, $id_anagrafica = null)
|
||||
{
|
||||
$model = new static();
|
||||
|
||||
|
@ -36,7 +36,7 @@ class Movimento extends Model
|
||||
'dare',
|
||||
];
|
||||
|
||||
public static function build(Mastrino $mastrino, $id_conto, ?Fattura $documento = null, ?Scadenza $scadenza = null)
|
||||
public static function build(Mastrino $mastrino = null, $id_conto = null, ?Fattura $documento = null, ?Scadenza $scadenza = null)
|
||||
{
|
||||
$model = new static();
|
||||
|
||||
|
@ -35,7 +35,7 @@ class Scadenza extends Model
|
||||
'data_pagamento',
|
||||
];
|
||||
|
||||
public static function build($idanagrafica, $descrizione, $importo, $data_scadenza, $id_pagamento, $id_banca_azienda, $id_banca_controparte, $type = 'fattura', $is_pagato = false)
|
||||
public static function build($idanagrafica = null, $descrizione = null, $importo = null, $data_scadenza = null, $id_pagamento = null, $id_banca_azienda = null, $id_banca_controparte = null, $type = 'fattura', $is_pagato = false)
|
||||
{
|
||||
$model = new static();
|
||||
|
||||
|
@ -37,7 +37,7 @@ class Tipo extends Model
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
public static function build($codice, $calcola_km, $tempo_standard, $costo_orario, $costo_km, $costo_diritto_chiamata, $costo_orario_tecnico, $costo_km_tecnico, $costo_diritto_chiamata_tecnico)
|
||||
public static function build($codice = null, $calcola_km = null, $tempo_standard = null, $costo_orario = null, $costo_km = null, $costo_diritto_chiamata = null, $costo_orario_tecnico = null, $costo_km_tecnico = null, $costo_diritto_chiamata_tecnico = null)
|
||||
{
|
||||
$model = new static();
|
||||
$model->codice = $codice;
|
||||
|
@ -116,7 +116,7 @@ foreach ($elenchi as $elenco) {
|
||||
echo '
|
||||
<tr class="riga-componente" data-id="'.$componente->id.'">
|
||||
<td class="text-center">#'.$componente->id.'</td>
|
||||
<td class="text-center">'.$articolo->codice.' - '.$articolo->name.'</td>
|
||||
<td class="text-center">'.$articolo->codice.' - '.$articolo->getTranslation('name').'</td>
|
||||
<td class="text-center">'.$data.'</td>
|
||||
<td class="text-center">'.dateFormat($componente->data_registrazione).'</td>
|
||||
<td class="text-center">
|
||||
|
@ -48,7 +48,7 @@ class Componente extends Model
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
public static function build(Impianto $impianto, Articolo $articolo, $data_registrazione)
|
||||
public static function build(Impianto $impianto = null, Articolo $articolo = null, $data_registrazione = null)
|
||||
{
|
||||
$model = new static();
|
||||
|
||||
|
@ -42,7 +42,7 @@ class Dichiarazione extends Model
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
public static function build(Anagrafica $anagrafica, $data, $numero_protocollo, $numero_progressivo, $data_inizio, $data_fine)
|
||||
public static function build(Anagrafica $anagrafica = null, $data = null, $numero_protocollo = null, $numero_progressivo = null, $data_inizio = null, $data_fine = null)
|
||||
{
|
||||
$model = new static();
|
||||
|
||||
|
@ -226,7 +226,8 @@ class FatturaOrdinaria extends FatturaElettronica
|
||||
$categoria = Categoria::build($nome_categoria);
|
||||
}
|
||||
|
||||
$articolo = ArticoloOriginale::build($codice, $riga['Descrizione'], $categoria);
|
||||
$articolo = ArticoloOriginale::build($codice, $categoria);
|
||||
$articolo->setTranslation('descrizione', $riga['Descrizione']);
|
||||
$articolo->um = $riga['UnitaMisura'];
|
||||
$articolo->idconto_acquisto = $conto[$key];
|
||||
$articolo->abilita_serial = setting('Serial number abilitato di default');
|
||||
|
@ -41,7 +41,7 @@ class DettaglioPrezzo extends Model
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
public static function build(Articolo $articolo, Anagrafica $anagrafica, $direzione = 'uscita')
|
||||
public static function build(Articolo $articolo = null, Anagrafica $anagrafica = null, $direzione = 'uscita')
|
||||
{
|
||||
$model = new static();
|
||||
|
||||
|
@ -69,7 +69,7 @@ if (!empty($id_riga)) {
|
||||
}
|
||||
|
||||
if ($fornitore['descrizione'] == '') {
|
||||
$descrizione = json_encode($articolo->name);
|
||||
$descrizione = json_encode($articolo->getTranslation('name'));
|
||||
} else {
|
||||
$descrizione = json_encode($fornitore['descrizione']);
|
||||
}
|
||||
|
@ -42,7 +42,7 @@ class DettaglioFornitore extends Model
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
public static function build(Anagrafica $fornitore, Articolo $articolo)
|
||||
public static function build(Anagrafica $fornitore = null, Articolo $articolo = null)
|
||||
{
|
||||
$model = new static();
|
||||
|
||||
|
@ -217,7 +217,7 @@ switch ($operazione) {
|
||||
|
||||
$qta = post('qta');
|
||||
|
||||
$articolo->name = post('descrizione');
|
||||
$articolo->setTranslation('name', post('descrizione'));
|
||||
$articolo->um = post('um') ?: null;
|
||||
|
||||
$articolo->costo_unitario = post('costo_unitario') ?: 0;
|
||||
|
@ -50,7 +50,7 @@ foreach ($articoli as $articolo) {
|
||||
<td><img class="img-thumbnail img-responsive" src="'.$articolo->image.'"></td>
|
||||
<td>'.$articolo->nome_variante.'</td>
|
||||
<td>
|
||||
'.Modules::link('Articoli', $articolo->id, $articolo->codice.' - '.$articolo->name).'
|
||||
'.Modules::link('Articoli', $articolo->id, $articolo->codice.' - '.$articolo->getTranslation('name')).'
|
||||
'.($articolo->id == $articolo_originale->id ? '<span class="badge pull-right">'.tr('Articolo corrente').'</span>' : '').'
|
||||
</td>
|
||||
</tr>';
|
||||
|
@ -37,14 +37,14 @@ abstract class Article extends Accounting
|
||||
|
||||
protected $qta_movimentazione = 0;
|
||||
|
||||
public static function build(Document $document, Original $articolo)
|
||||
public static function build(Document $document = null, Original $articolo = null)
|
||||
{
|
||||
$model = new static();
|
||||
$model->setDocument($document);
|
||||
|
||||
$model->articolo()->associate($articolo);
|
||||
|
||||
$model->descrizione = $articolo->name;
|
||||
$model->descrizione = $articolo->getTranslation('name');
|
||||
$model->abilita_serial = $articolo->abilita_serial;
|
||||
$model->um = $articolo->um;
|
||||
|
||||
|
@ -27,7 +27,7 @@ abstract class Description extends Component
|
||||
{
|
||||
use SimpleModelTrait;
|
||||
|
||||
public static function build(Document $document)
|
||||
public static function build(Document $document = null)
|
||||
{
|
||||
$model = new static();
|
||||
|
||||
|
@ -27,7 +27,7 @@ abstract class Discount extends Accounting
|
||||
{
|
||||
use SimpleModelTrait;
|
||||
|
||||
public static function build(Document $document)
|
||||
public static function build(Document $document = null)
|
||||
{
|
||||
$model = new static();
|
||||
$model->setDocument($document);
|
||||
|
@ -27,7 +27,7 @@ abstract class Row extends Accounting
|
||||
{
|
||||
use SimpleModelTrait;
|
||||
|
||||
public static function build(Document $document)
|
||||
public static function build(Document $document = null)
|
||||
{
|
||||
$model = new static();
|
||||
$model->setDocument($document);
|
||||
|
@ -45,7 +45,7 @@ class Cache extends Model
|
||||
'expire_at',
|
||||
];
|
||||
|
||||
public static function build($name, $valid_time, $expire_at = null)
|
||||
public static function build($name = null, $valid_time = null, $expire_at = null)
|
||||
{
|
||||
$model = new self();
|
||||
|
||||
|
@ -29,7 +29,7 @@ class Group extends Model
|
||||
|
||||
protected $table = 'zz_groups';
|
||||
|
||||
public static function build($nome, $theme, $id_module_start)
|
||||
public static function build($nome = null, $theme = null, $id_module_start = null)
|
||||
{
|
||||
$model = new static();
|
||||
$model->nome = $nome;
|
||||
|
@ -38,7 +38,7 @@ class Note extends Model
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
public static function build(User $user, $structure, $id_record, $contenuto, $data_notifica = null)
|
||||
public static function build(User $user = null, $structure = null, $id_record = null, $contenuto = null, $data_notifica = null)
|
||||
{
|
||||
$model = new static();
|
||||
|
||||
|
@ -49,7 +49,7 @@ class OperationLog extends Model
|
||||
*/
|
||||
|
||||
|
||||
public static function build($operation)
|
||||
public static function build($operation = null)
|
||||
{
|
||||
if (!\Auth::check()) {
|
||||
return null;
|
||||
|
@ -69,7 +69,7 @@ class Upload extends Model
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
public static function build($source, $data, $name = null, $category = null)
|
||||
public static function build($source = null, $data = null, $name = null, $category = null)
|
||||
{
|
||||
$model = new static();
|
||||
|
||||
@ -344,7 +344,7 @@ class Upload extends Model
|
||||
{
|
||||
if (!isset($this->file_info)) {
|
||||
$filepath = $this->local_filepath;
|
||||
$infos = self::getInfo($local_filepath);
|
||||
$infos = self::getInfo($filepath);
|
||||
|
||||
$this->file_info = $infos;
|
||||
}
|
||||
|
@ -67,7 +67,7 @@ class User extends Model
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
public static function build(Group $gruppo, $username, $email, $password)
|
||||
public static function build(Group $gruppo = null, $username = null, $email = null, $password = null)
|
||||
{
|
||||
$model = new static();
|
||||
|
||||
|
@ -71,7 +71,7 @@ trait RecordTrait
|
||||
/**
|
||||
* Estensione del salvataggio oggetto per popolare le lingue aggiuntive
|
||||
*/
|
||||
public function save()
|
||||
public function save(array $options = [])
|
||||
{
|
||||
if ($this->id) {
|
||||
// Lingue aggiuntive disponibili
|
||||
@ -80,6 +80,8 @@ trait RecordTrait
|
||||
|
||||
// Popolo inizialmente i campi traducibili o allineo quelli uguali
|
||||
foreach ($this->getTranslatedFields() as $field) {
|
||||
$value = $this->getTranslation($field);
|
||||
|
||||
foreach ($other_langs as $id_lang) {
|
||||
$translation = database()->table($this->table.'_lang')
|
||||
->select($field)
|
||||
@ -88,11 +90,7 @@ trait RecordTrait
|
||||
|
||||
// Se la traduzione non è presente la creo...
|
||||
if ($translation->count() == 0) {
|
||||
$translation->insert([
|
||||
'id_record' => $this->id,
|
||||
'id_lang' => $id_lang,
|
||||
$field => $this->{$field},
|
||||
]);
|
||||
$this->setTranslation($field, $value, $id_lang);
|
||||
}
|
||||
|
||||
// ...altrimenti la aggiorno se è uguale (quindi probabilmente non ancora tradotta)
|
||||
@ -111,4 +109,42 @@ trait RecordTrait
|
||||
|
||||
parent::save();
|
||||
}
|
||||
|
||||
/**
|
||||
* Imposta l'attributo all'oggetto
|
||||
*/
|
||||
public function setTranslation($field, $value, $id_lang = null)
|
||||
{
|
||||
$id_lang ??= \App::getLang();
|
||||
$table = database()->table($this->table.'_lang');
|
||||
|
||||
$translated = $table
|
||||
->select($field)
|
||||
->where('id_record', '=', $this->id)
|
||||
->where('id_lang', '=', $id_lang);
|
||||
|
||||
if ($translated->count() > 0) {
|
||||
$translated->update([
|
||||
$field => $value,
|
||||
]);
|
||||
} else {
|
||||
$table->insert([
|
||||
'id_record' => $this->id,
|
||||
'id_lang' => $id_lang,
|
||||
$field => $value,
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Legge l'attributo dell'oggetto
|
||||
*/
|
||||
public function getTranslation($field)
|
||||
{
|
||||
return database()->table($this->table.'_lang')
|
||||
->select($field)
|
||||
->where('id_record', '=', $this->id)
|
||||
->where('id_lang', '=', \App::getLang())
|
||||
->first()->$field;
|
||||
}
|
||||
}
|
||||
|
@ -48,7 +48,7 @@ foreach ($articoli as $articolo) {
|
||||
echo '
|
||||
<div class="barcode-cell">
|
||||
<p style="font-size:11pt;"><b>'.$articolo->codice.'</b></p>
|
||||
<p style="font-size:10pt;">'.$articolo->name.'</p><br>
|
||||
<p style="font-size:10pt;">'.$articolo->getTranslation('name').'</p><br>
|
||||
<p style="font-size:15pt;"><b>'.moneyFormat($prezzi_ivati ? $articolo->prezzo_vendita_ivato : $articolo->prezzo_vendita).'</b></p>
|
||||
<barcode code="'.$articolo->barcode.'" type="C39" height="2" size="0.65" class="barcode" />
|
||||
<p><b>'.$articolo->barcode.'</b></p>
|
||||
|
@ -50,7 +50,7 @@ foreach ($articoli as $articolo) {
|
||||
echo '
|
||||
<td class="barcode-cell">
|
||||
<p style="font-size:11pt;"><b>'.$articolo->codice.'</b></p>
|
||||
<p style="font-size:10pt;">'.$articolo->name.'</p><br>
|
||||
<p style="font-size:10pt;">'.$articolo->getTranslation('name').'</p><br>
|
||||
<p style="font-size:15pt;"><b>'.moneyFormat($prezzi_ivati ? $articolo->prezzo_vendita_ivato : $articolo->prezzo_vendita).'</b></p><br>
|
||||
<barcode code="'.$articolo->barcode.'" type="C39" height="2" size="0.65" class="barcode" />
|
||||
<p><b>'.$articolo->barcode.'</b></p>
|
||||
|
@ -102,7 +102,7 @@ foreach ($data['results'] as $r) {
|
||||
<tr>
|
||||
<td>'.$articolo->codice.'</td>
|
||||
<td>'.$r['Categoria'].'</td>
|
||||
<td>'.$articolo->name.'</td>
|
||||
<td>'.$articolo->getTranslation('name').'</td>
|
||||
<td class="text-right">'.moneyFormat($articolo->prezzo_vendita).'</td>
|
||||
<td class="text-right">'.Translator::numberToLocale($articolo->qta).' '.$articolo->um.'</td>
|
||||
<td class="text-right">'.moneyFormat($articolo->prezzo_acquisto).'</td>
|
||||
|
Loading…
x
Reference in New Issue
Block a user