From d451464911b7c7ab883d670baf09917e5cc464aa Mon Sep 17 00:00:00 2001 From: Pek5892 Date: Tue, 26 Mar 2024 15:43:52 +0100 Subject: [PATCH] Fix per traduzione in oggetti vuoti --- modules/ddt/actions.php | 12 ++++++------ src/Common/Components/Discount.php | 2 +- src/Traits/RecordTrait.php | 23 ++++++++++++++++------- 3 files changed, 23 insertions(+), 14 deletions(-) diff --git a/modules/ddt/actions.php b/modules/ddt/actions.php index f038e0e02..857f2a6f4 100755 --- a/modules/ddt/actions.php +++ b/modules/ddt/actions.php @@ -81,9 +81,6 @@ switch (filter('op')) { $bollo = 0; } - // Leggo la descrizione del pagamento - $pagamento = ($idpagamento ? Pagamento::find($idpagamento)->getTranslation('name') : null); - $ddt->data = post('data'); $ddt->numero_esterno = $numero_esterno; $ddt->note = post('note'); @@ -323,10 +320,13 @@ switch (filter('op')) { $ddt->save(); $evadi_qta_parent = true; - if ($documento->tipo->getTranslation('name') == 'Ddt in uscita' || $documento->tipo->getTranslation('name') == 'Ddt in entrata') { + $tipo = $documento->tipo ? $documento->tipo->getTranslation('name') : null; + if ($tipo == 'Ddt in uscita' || $tipo == 'Ddt in entrata') { $evadi_qta_parent = false; } + + $righe = $documento->getRighe(); foreach ($righe as $riga) { if (post('evadere')[$riga->id] == 'on' and !empty(post('qta_da_evadere')[$riga->id])) { @@ -336,11 +336,11 @@ switch (filter('op')) { // Aggiornamento seriali dalla riga dell'ordine if ($copia->isArticolo()) { - if ($documento->tipo->getTranslation('name') == 'Ddt in uscita' || $documento->tipo->getTranslation('name') == 'Ddt in entrata') { + if ($tipo == 'Ddt in uscita' || $tipo == 'Ddt in entrata') { // TODO: estrarre il listino corrispondente se presente $originale = ArticoloOriginale::find($riga->idarticolo); - $prezzo = $documento->tipo->getTranslation('name') == 'Ddt in entrata' ? $originale->prezzo_vendita : $originale->prezzo_acquisto; + $prezzo = ($tipo == 'Ddt in entrata' ? $originale->prezzo_vendita : $originale->prezzo_acquisto); if ($dir == 'entrata') { $id_iva = ($ddt->anagrafica->idiva_vendite ?: setting('Iva predefinita')); } else { diff --git a/src/Common/Components/Discount.php b/src/Common/Components/Discount.php index 8df89d611..d483269b1 100755 --- a/src/Common/Components/Discount.php +++ b/src/Common/Components/Discount.php @@ -103,7 +103,7 @@ abstract class Discount extends Accounting { $this->attributes['iva'] = parent::getIvaAttribute(); - $descrizione = $this->aliquota->getTranslation('name'); + $descrizione = ($this->aliquota ? $this->aliquota->getTranslation('name') : ''); if (!empty($descrizione)) { $this->attributes['desc_iva'] = $descrizione; } diff --git a/src/Traits/RecordTrait.php b/src/Traits/RecordTrait.php index 26998ac69..93f8c2d2e 100755 --- a/src/Traits/RecordTrait.php +++ b/src/Traits/RecordTrait.php @@ -144,23 +144,32 @@ trait RecordTrait { $id_lang ??= Locale::getDefault()->id; - return database()->table($this->table.'_lang') + if (!empty($this)) { + return database()->table($this->table.'_lang') ->select($field) ->where('id_record', '=', $this->id) ->where('id_lang', '=', $id_lang) ->first() ->$field; + } else { + return ''; + } + } public function getByField($field, $value, $id_lang = null) { $id_lang ??= Locale::getDefault()->id; - return database()->table($this->table.'_lang') - ->select('id_record') - ->where($field, '=', $value) - ->where('id_lang', '=', $id_lang) - ->first() - ->id_record; + if (!empty($this)) { + return database()->table($this->table.'_lang') + ->select('id_record') + ->where($field, '=', $value) + ->where('id_lang', '=', $id_lang) + ->first() + ->id_record; + } else { + return ''; + } } }