Correzione warning sulle classi per le righe Documenti
This commit is contained in:
parent
11f79330e5
commit
aacc381179
|
@ -78,7 +78,7 @@ if (!empty($query)) {
|
|||
|
||||
// Allineamento delle righe
|
||||
$align = [];
|
||||
$row = $rows[0] ?: [];
|
||||
$row = isset($rows[0]) ? $rows[0] : [];
|
||||
foreach ($row as $field => $value) {
|
||||
$value = trim($value);
|
||||
|
||||
|
|
|
@ -27,7 +27,7 @@ if (!isset($resource)) {
|
|||
|
||||
// Opzioni di selezione sugli elementi
|
||||
$options = filter('options') ?: [];
|
||||
$options_compatibility = $_SESSION['superselect'] ?: [];
|
||||
$options_compatibility = session_get('superselect', []);
|
||||
$options = array_merge($options_compatibility, $options);
|
||||
|
||||
// Preselezione su $elements dichiarato da file precedente
|
||||
|
|
|
@ -176,7 +176,7 @@ if (!empty($type) && $type != 'menu' && $type != 'custom') {
|
|||
foreach ($bulk as $key => $value) {
|
||||
$text = is_array($value) ? $value['text'] : $value;
|
||||
|
||||
$data = is_array($value) ? $value['data'] : [];
|
||||
$data = is_array($value['data']) ? $value['data'] : [];
|
||||
$extra = [];
|
||||
foreach ($data as $k => $v) {
|
||||
$extra[] = 'data-'.$k.'="'.prepareToField(\HTMLBuilder\HTMLBuilder::replace($v)).'"';
|
||||
|
|
|
@ -47,6 +47,7 @@ if (!$is_cliente) {
|
|||
}
|
||||
}
|
||||
|
||||
$nazione_anagrafica = $anagrafica->sedeLegale->nazione;
|
||||
?>
|
||||
|
||||
<form action="" method="post" id="edit-form" autocomplete="<?php echo setting('Autocompletamento form'); ?>" >
|
||||
|
@ -129,7 +130,7 @@ if (!$is_cliente) {
|
|||
$help_codice_destinatario .= ' <b>'.tr("Non è necessario comunicare il proprio codice destinatario ai fornitori in quanto è sufficiente che questo sia registrato nel portale del Sistema Di Interscambio dell'Agenzia Entrate (SDI)").'.</b>';
|
||||
}
|
||||
?>
|
||||
{[ "type": "text", "label": "<?php echo ($record['tipo'] == 'Ente pubblico') ? tr('Codice unico ufficio') : tr('Codice destinatario'); ?>", "name": "codice_destinatario", "required": 0, "class": "text-center text-uppercase alphanumeric-mask", "value": "$codice_destinatario$", "maxlength": <?php echo ($record['tipo'] == 'Ente pubblico') ? '6' : '7'; ?>, "help": "<?php echo tr($help_codice_destinatario); ?>", "readonly": "<?php echo intval($anagrafica->sedeLegale->nazione->iso2 != 'IT'); ?>" ]}
|
||||
{[ "type": "text", "label": "<?php echo ($record['tipo'] == 'Ente pubblico') ? tr('Codice unico ufficio') : tr('Codice destinatario'); ?>", "name": "codice_destinatario", "required": 0, "class": "text-center text-uppercase alphanumeric-mask", "value": "$codice_destinatario$", "maxlength": <?php echo ($record['tipo'] == 'Ente pubblico') ? '6' : '7'; ?>, "help": "<?php echo tr($help_codice_destinatario); ?>", "readonly": "<?php echo intval($nazione_anagrafica ? $nazione_anagrafica->iso2 != 'IT' : 0); ?>" ]}
|
||||
</div>
|
||||
|
||||
<div class="col-md-4">
|
||||
|
|
|
@ -20,8 +20,6 @@
|
|||
namespace Modules\Contratti\Components;
|
||||
|
||||
use Common\Components\Article;
|
||||
use Modules\Articoli\Articolo as Original;
|
||||
use Modules\Contratti\Contratto;
|
||||
|
||||
class Articolo extends Article
|
||||
{
|
||||
|
@ -30,16 +28,4 @@ class Articolo extends Article
|
|||
public $movimenta_magazzino = false;
|
||||
|
||||
protected $table = 'co_righe_contratti';
|
||||
|
||||
/**
|
||||
* Crea un nuovo articolo collegato ad un contratto.
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
public static function build(Contratto $contratto, Original $articolo)
|
||||
{
|
||||
$model = parent::build($contratto, $articolo);
|
||||
|
||||
return $model;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -20,23 +20,10 @@
|
|||
namespace Modules\Contratti\Components;
|
||||
|
||||
use Common\Components\Description;
|
||||
use Modules\Contratti\Contratto;
|
||||
|
||||
class Descrizione extends Description
|
||||
{
|
||||
use RelationTrait;
|
||||
|
||||
protected $table = 'co_righe_contratti';
|
||||
|
||||
/**
|
||||
* Crea una nuova riga collegata ad un contratto.
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
public static function build(Contratto $contratto)
|
||||
{
|
||||
$model = parent::build($contratto);
|
||||
|
||||
return $model;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -20,23 +20,10 @@
|
|||
namespace Modules\Contratti\Components;
|
||||
|
||||
use Common\Components\Row;
|
||||
use Modules\Contratti\Contratto;
|
||||
|
||||
class Riga extends Row
|
||||
{
|
||||
use RelationTrait;
|
||||
|
||||
protected $table = 'co_righe_contratti';
|
||||
|
||||
/**
|
||||
* Crea una nuova riga collegata ad un contratto.
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
public static function build(Contratto $contratto)
|
||||
{
|
||||
$model = parent::build($contratto);
|
||||
|
||||
return $model;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -20,23 +20,10 @@
|
|||
namespace Modules\Contratti\Components;
|
||||
|
||||
use Common\Components\Discount;
|
||||
use Modules\Contratti\Contratto;
|
||||
|
||||
class Sconto extends Discount
|
||||
{
|
||||
use RelationTrait;
|
||||
|
||||
protected $table = 'co_righe_contratti';
|
||||
|
||||
/**
|
||||
* Crea un nuovo sconto collegato ad un contratto.
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
public static function build(Contratto $contratto)
|
||||
{
|
||||
$model = parent::build($contratto);
|
||||
|
||||
return $model;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -29,16 +29,4 @@ class Articolo extends Article
|
|||
|
||||
protected $table = 'dt_righe_ddt';
|
||||
protected $serialRowID = 'ddt';
|
||||
|
||||
/**
|
||||
* Crea un nuovo articolo collegato ad una ddt.
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
public static function build(DDT $ddt, Original $articolo)
|
||||
{
|
||||
$model = parent::build($ddt, $articolo);
|
||||
|
||||
return $model;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -27,16 +27,4 @@ class Descrizione extends Description
|
|||
use RelationTrait;
|
||||
|
||||
protected $table = 'dt_righe_ddt';
|
||||
|
||||
/**
|
||||
* Crea una nuova riga collegata ad una ddt.
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
public static function build(DDT $ddt)
|
||||
{
|
||||
$model = parent::build($ddt);
|
||||
|
||||
return $model;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -27,16 +27,4 @@ class Riga extends Row
|
|||
use RelationTrait;
|
||||
|
||||
protected $table = 'dt_righe_ddt';
|
||||
|
||||
/**
|
||||
* Crea una nuova riga collegata ad una ddt.
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
public static function build(DDT $ddt)
|
||||
{
|
||||
$model = parent::build($ddt);
|
||||
|
||||
return $model;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -27,16 +27,4 @@ class Sconto extends Discount
|
|||
use RelationTrait;
|
||||
|
||||
protected $table = 'dt_righe_ddt';
|
||||
|
||||
/**
|
||||
* Crea un nuovo sconto collegato ad un ddt.
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
public static function build(DDT $ddt)
|
||||
{
|
||||
$model = parent::build($ddt);
|
||||
|
||||
return $model;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
namespace Modules\DDT;
|
||||
|
||||
use Auth;
|
||||
use Common\Components\Description;
|
||||
use Common\Components\Component;
|
||||
use Common\Document;
|
||||
use Modules\Anagrafiche\Anagrafica;
|
||||
use Traits\RecordTrait;
|
||||
|
@ -204,7 +204,7 @@ class DDT extends Document
|
|||
* Effettua un controllo sui campi del documento.
|
||||
* Viene richiamato dalle modifiche alle righe del documento.
|
||||
*/
|
||||
public function triggerEvasione(Description $trigger)
|
||||
public function triggerEvasione(Component $trigger)
|
||||
{
|
||||
parent::triggerEvasione($trigger);
|
||||
|
||||
|
|
|
@ -20,9 +20,10 @@
|
|||
namespace Modules\Fatture\Components;
|
||||
|
||||
use Common\Components\Article;
|
||||
use Modules\Articoli\Articolo as Original;
|
||||
use Modules\Fatture\Fattura;
|
||||
|
||||
/**
|
||||
* @extends Article<\Modules\Fatture\Fattura>
|
||||
*/
|
||||
class Articolo extends Article
|
||||
{
|
||||
use RelationTrait;
|
||||
|
@ -30,18 +31,6 @@ class Articolo extends Article
|
|||
protected $table = 'co_righe_documenti';
|
||||
protected $serialRowID = 'documento';
|
||||
|
||||
/**
|
||||
* Crea un nuovo articolo collegato ad una fattura.
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
public static function build(Fattura $fattura, Original $articolo)
|
||||
{
|
||||
$model = parent::build($fattura, $articolo);
|
||||
|
||||
return $model;
|
||||
}
|
||||
|
||||
public function movimenta($qta)
|
||||
{
|
||||
if (!$this->movimenta_magazzino) {
|
||||
|
|
|
@ -20,23 +20,13 @@
|
|||
namespace Modules\Fatture\Components;
|
||||
|
||||
use Common\Components\Description;
|
||||
use Modules\Fatture\Fattura;
|
||||
|
||||
/**
|
||||
* @extends Description<\Modules\Fatture\Fattura>
|
||||
*/
|
||||
class Descrizione extends Description
|
||||
{
|
||||
use RelationTrait;
|
||||
|
||||
protected $table = 'co_righe_documenti';
|
||||
|
||||
/**
|
||||
* Crea una nuova riga collegata ad una fattura.
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
public static function build(Fattura $fattura)
|
||||
{
|
||||
$model = parent::build($fattura);
|
||||
|
||||
return $model;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -20,23 +20,13 @@
|
|||
namespace Modules\Fatture\Components;
|
||||
|
||||
use Common\Components\Row;
|
||||
use Modules\Fatture\Fattura;
|
||||
|
||||
/**
|
||||
* @extends Row<\Modules\Fatture\Fattura>
|
||||
*/
|
||||
class Riga extends Row
|
||||
{
|
||||
use RelationTrait;
|
||||
|
||||
protected $table = 'co_righe_documenti';
|
||||
|
||||
/**
|
||||
* Crea una nuova riga collegata ad una fattura.
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
public static function build(Fattura $fattura)
|
||||
{
|
||||
$model = parent::build($fattura);
|
||||
|
||||
return $model;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -20,23 +20,13 @@
|
|||
namespace Modules\Fatture\Components;
|
||||
|
||||
use Common\Components\Discount;
|
||||
use Modules\Fatture\Fattura;
|
||||
|
||||
/**
|
||||
* @extends Discount<\Modules\Fatture\Fattura>
|
||||
*/
|
||||
class Sconto extends Discount
|
||||
{
|
||||
use RelationTrait;
|
||||
|
||||
protected $table = 'co_righe_documenti';
|
||||
|
||||
/**
|
||||
* Crea un nuovo sconto collegato ad una fattura.
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
public static function build(Fattura $fattura)
|
||||
{
|
||||
$model = parent::build($fattura);
|
||||
|
||||
return $model;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -29,14 +29,4 @@ class Articolo extends Article
|
|||
|
||||
protected $table = 'in_righe_interventi';
|
||||
protected $serialRowID = 'intervento';
|
||||
|
||||
/**
|
||||
* Crea una nuova riga collegata ad un intervento.
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
public static function build(Intervento $intervento, Original $articolo)
|
||||
{
|
||||
return parent::build($intervento, $articolo);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -27,16 +27,4 @@ class Riga extends Row
|
|||
use RelationTrait;
|
||||
|
||||
protected $table = 'in_righe_interventi';
|
||||
|
||||
/**
|
||||
* Crea una nuova riga collegata ad un intervento.
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
public static function build(Intervento $intervento)
|
||||
{
|
||||
$model = parent::build($intervento);
|
||||
|
||||
return $model;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -27,18 +27,4 @@ class Sconto extends Discount
|
|||
use RelationTrait;
|
||||
|
||||
protected $table = 'in_righe_interventi';
|
||||
|
||||
/**
|
||||
* Crea un nuovo sconto collegata ad un intervento.
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
public static function build(Intervento $intervento)
|
||||
{
|
||||
$model = parent::build($intervento);
|
||||
|
||||
$model->prezzo_unitario = 0;
|
||||
|
||||
return $model;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -399,7 +399,7 @@ class Sessione extends Model
|
|||
*/
|
||||
public function getMarginePercentualeAttribute()
|
||||
{
|
||||
return (1 - ($this->spesa / $this->imponibile)) * 100;
|
||||
return $this->imponibile ? (1 - ($this->spesa / $this->imponibile)) * 100 : 100;
|
||||
}
|
||||
|
||||
public function getIvaIndetraibileAttribute()
|
||||
|
|
|
@ -31,16 +31,4 @@ class Articolo extends Article
|
|||
|
||||
protected $table = 'or_righe_ordini';
|
||||
protected $serialRowID = 'ordine';
|
||||
|
||||
/**
|
||||
* Crea un nuovo articolo collegato ad una ordine.
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
public static function build(Ordine $ordine, Original $articolo)
|
||||
{
|
||||
$model = parent::build($ordine, $articolo);
|
||||
|
||||
return $model;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -27,16 +27,4 @@ class Descrizione extends Description
|
|||
use RelationTrait;
|
||||
|
||||
protected $table = 'or_righe_ordini';
|
||||
|
||||
/**
|
||||
* Crea una nuova riga collegata ad una ordine.
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
public static function build(Ordine $ordine)
|
||||
{
|
||||
$model = parent::build($ordine);
|
||||
|
||||
return $model;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -27,16 +27,4 @@ class Riga extends Row
|
|||
use RelationTrait;
|
||||
|
||||
protected $table = 'or_righe_ordini';
|
||||
|
||||
/**
|
||||
* Crea una nuova riga collegata ad una ordine.
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
public static function build(Ordine $ordine)
|
||||
{
|
||||
$model = parent::build($ordine);
|
||||
|
||||
return $model;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -27,16 +27,4 @@ class Sconto extends Discount
|
|||
use RelationTrait;
|
||||
|
||||
protected $table = 'or_righe_ordini';
|
||||
|
||||
/**
|
||||
* Crea un nuovo sconto collegato ad un ordine.
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
public static function build(Ordine $ordine)
|
||||
{
|
||||
$model = parent::build($ordine);
|
||||
|
||||
return $model;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -30,16 +30,4 @@ class Articolo extends Article
|
|||
public $movimenta_magazzino = false;
|
||||
|
||||
protected $table = 'co_righe_preventivi';
|
||||
|
||||
/**
|
||||
* Crea un nuovo articolo collegato ad una preventivo.
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
public static function build(Preventivo $preventivo, Original $articolo)
|
||||
{
|
||||
$model = parent::build($preventivo, $articolo);
|
||||
|
||||
return $model;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -27,16 +27,4 @@ class Descrizione extends Description
|
|||
use RelationTrait;
|
||||
|
||||
protected $table = 'co_righe_preventivi';
|
||||
|
||||
/**
|
||||
* Crea una nuova riga collegata ad una preventivo.
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
public static function build(Preventivo $preventivo)
|
||||
{
|
||||
$model = parent::build($preventivo);
|
||||
|
||||
return $model;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -27,16 +27,4 @@ class Riga extends Row
|
|||
use RelationTrait;
|
||||
|
||||
protected $table = 'co_righe_preventivi';
|
||||
|
||||
/**
|
||||
* Crea una nuova riga collegata ad una preventivo.
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
public static function build(Preventivo $preventivo)
|
||||
{
|
||||
$model = parent::build($preventivo);
|
||||
|
||||
return $model;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -27,16 +27,4 @@ class Sconto extends Discount
|
|||
use RelationTrait;
|
||||
|
||||
protected $table = 'co_righe_preventivi';
|
||||
|
||||
/**
|
||||
* Crea un nuovo sconto collegato ad un preventivo.
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
public static function build(Preventivo $preventivo)
|
||||
{
|
||||
$model = parent::build($preventivo);
|
||||
|
||||
return $model;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
include_once __DIR__.'/../../../core.php';
|
||||
include_once __DIR__.'/../../core.php';
|
||||
|
||||
use Modules\Contratti\Contratto;
|
||||
use Modules\Contratti\Stato;
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
include_once __DIR__.'/../../../core.php';
|
||||
include_once __DIR__.'/../../core.php';
|
||||
|
||||
$revisione_principale = $dbo->fetchOne('SELECT master_revision FROM co_preventivi WHERE id = '.prepare($id_record));
|
||||
|
||||
|
|
|
@ -290,7 +290,7 @@ abstract class Accounting extends Component
|
|||
*/
|
||||
public function getMarginePercentualeAttribute()
|
||||
{
|
||||
return (1 - ($this->spesa / $this->imponibile)) * 100;
|
||||
return $this->imponibile ? (1 - ($this->spesa / $this->imponibile)) * 100 : 100;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -35,6 +35,8 @@ use InvalidArgumentException;
|
|||
* @property string original_type
|
||||
* @property string original_id
|
||||
*
|
||||
* @template T
|
||||
*
|
||||
* @since 2.4.18
|
||||
*/
|
||||
abstract class Component extends Model
|
||||
|
@ -285,6 +287,8 @@ abstract class Component extends Model
|
|||
*
|
||||
* @param string $type
|
||||
* @param string $id
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function impostaOrigine($type, $id)
|
||||
{
|
||||
|
@ -314,6 +318,7 @@ abstract class Component extends Model
|
|||
* Imposta il proprietario dell'oggetto e l'ordine relativo all'interno delle righe.
|
||||
*
|
||||
* @param Document $document Documento di riferimento
|
||||
* @psalm-param T $document
|
||||
*/
|
||||
public function setDocument(Document $document)
|
||||
{
|
||||
|
@ -327,6 +332,7 @@ abstract class Component extends Model
|
|||
|
||||
/**
|
||||
* @return Document
|
||||
* @psalm-return T
|
||||
*/
|
||||
public function getDocument()
|
||||
{
|
||||
|
@ -335,6 +341,9 @@ abstract class Component extends Model
|
|||
|
||||
abstract public function document();
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
abstract public function getDocumentID();
|
||||
|
||||
public function save(array $options = [])
|
||||
|
|
|
@ -22,13 +22,8 @@ namespace Common;
|
|||
use Common\Components\Component;
|
||||
use Illuminate\Database\Eloquent\Model as Model;
|
||||
|
||||
abstract class Document extends Model implements ReferenceInterface
|
||||
abstract class Document extends Model implements ReferenceInterface, DocumentInterface
|
||||
{
|
||||
/**
|
||||
* Restituisce la collezione di righe e articoli con valori rilevanti per i conti.
|
||||
*
|
||||
* @return iterable
|
||||
*/
|
||||
public function getRighe()
|
||||
{
|
||||
$results = $this->mergeCollections($this->descrizioni, $this->righe, $this->articoli, $this->sconti);
|
||||
|
@ -38,14 +33,6 @@ abstract class Document extends Model implements ReferenceInterface
|
|||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Restituisce la riga identificata dall'ID indicato.
|
||||
*
|
||||
* @param $type
|
||||
* @param $id
|
||||
*
|
||||
* @return mixed
|
||||
*/
|
||||
public function getRiga($type, $id)
|
||||
{
|
||||
$righe = $this->getRighe();
|
||||
|
@ -55,12 +42,6 @@ abstract class Document extends Model implements ReferenceInterface
|
|||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Restituisce la collezione di righe e articoli con valori rilevanti per i conti, raggruppate sulla base dei documenti di provenienza.
|
||||
* La chiave è la serializzazione del documento di origine, oppure null in caso non esista.
|
||||
*
|
||||
* @return iterable
|
||||
*/
|
||||
public function getRigheRaggruppate()
|
||||
{
|
||||
$righe = $this->getRighe();
|
||||
|
@ -88,6 +69,16 @@ abstract class Document extends Model implements ReferenceInterface
|
|||
|
||||
abstract public function getDirezioneAttribute();
|
||||
|
||||
public function triggerEvasione(Component $trigger)
|
||||
{
|
||||
$this->setRelations([]);
|
||||
}
|
||||
|
||||
public function triggerComponent(Component $trigger)
|
||||
{
|
||||
$this->setRelations([]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Calcola l'imponibile del documento.
|
||||
*
|
||||
|
@ -165,7 +156,7 @@ abstract class Document extends Model implements ReferenceInterface
|
|||
*/
|
||||
public function getMarginePercentualeAttribute()
|
||||
{
|
||||
return (1 - ($this->spesa / ($this->totale_imponibile))) * 100;
|
||||
return $this->imponibile ? (1 - ($this->spesa / $this->totale_imponibile)) * 100 : 100;
|
||||
}
|
||||
|
||||
public function delete()
|
||||
|
@ -188,24 +179,6 @@ abstract class Document extends Model implements ReferenceInterface
|
|||
return parent::delete();
|
||||
}
|
||||
|
||||
/**
|
||||
* Metodo richiamato a seguito di modifiche sull'evasione generale delle righe del documento.
|
||||
* Utilizzabile per l'impostazione automatica degli stati.
|
||||
*/
|
||||
public function triggerEvasione(Component $trigger)
|
||||
{
|
||||
$this->setRelations([]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Metodo richiamato a seguito della modifica o creazione di una riga del documento.
|
||||
* Utilizzabile per limpostazione automatica di campi statici del documento.
|
||||
*/
|
||||
public function triggerComponent(Component $trigger)
|
||||
{
|
||||
$this->setRelations([]);
|
||||
}
|
||||
|
||||
public function toArray()
|
||||
{
|
||||
$array = parent::toArray();
|
||||
|
|
|
@ -0,0 +1,69 @@
|
|||
<?php
|
||||
/*
|
||||
* OpenSTAManager: il software gestionale open source per l'assistenza tecnica e la fatturazione
|
||||
* Copyright (C) DevCode s.n.c.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
namespace Common;
|
||||
|
||||
use Common\Components\Component;
|
||||
|
||||
interface DocumentInterface
|
||||
{
|
||||
/**
|
||||
* Restituisce la collezione di righe e articoli con valori rilevanti per i conti.
|
||||
*
|
||||
* @return iterable
|
||||
*/
|
||||
public function getRighe();
|
||||
|
||||
/**
|
||||
* Restituisce la riga identificata dall'ID indicato.
|
||||
*
|
||||
* @param $type
|
||||
* @param $id
|
||||
*
|
||||
* @return mixed
|
||||
*/
|
||||
public function getRiga($type, $id);
|
||||
|
||||
/**
|
||||
* Restituisce la collezione di righe e articoli con valori rilevanti per i conti, raggruppate sulla base dei documenti di provenienza.
|
||||
* La chiave è la serializzazione del documento di origine, oppure null in caso non esista.
|
||||
*
|
||||
* @return iterable
|
||||
*/
|
||||
public function getRigheRaggruppate();
|
||||
|
||||
/**
|
||||
* Restituisce la direzione in relazione al flusso di denaro impostata per il documento.
|
||||
*
|
||||
* @return string 'entrata'|'uscita'
|
||||
*/
|
||||
public function getDirezioneAttribute();
|
||||
|
||||
/**
|
||||
* Metodo richiamato a seguito di modifiche sull'evasione generale delle righe del documento.
|
||||
* Utilizzabile per l'impostazione automatica degli stati.
|
||||
*/
|
||||
public function triggerEvasione(Component $trigger);
|
||||
|
||||
/**
|
||||
* Metodo richiamato a seguito della modifica o creazione di una riga del documento.
|
||||
* Utilizzabile per l'impostazione automatica di campi statici del documento.
|
||||
*/
|
||||
public function triggerComponent(Component $trigger);
|
||||
}
|
|
@ -62,7 +62,7 @@ class SelectHandler implements HandlerInterface
|
|||
unset($values['select-source']);
|
||||
|
||||
// Informazioni aggiuntive per il select
|
||||
$infos = $values['select-options'] ?: [];
|
||||
$infos = isset($values['select-options']) ? $values['select-options'] : [];
|
||||
$values['data-select-options'] = json_encode($infos);
|
||||
unset($values['select-options']);
|
||||
|
||||
|
@ -170,7 +170,7 @@ class SelectHandler implements HandlerInterface
|
|||
}
|
||||
|
||||
$html .= '
|
||||
<option value="'.prepareToField($element['id']).'" '.implode(' ', $attributes).($element['disabled'] ? 'disabled' : '').'>'.$element['text'].'</option>';
|
||||
<option value="'.prepareToField($element['id']).'" '.implode(' ', $attributes).(!empty($element['disabled']) ? 'disabled' : '').'>'.$element['text'].'</option>';
|
||||
}
|
||||
|
||||
return $html;
|
||||
|
|
|
@ -229,11 +229,13 @@ class Generator
|
|||
$query = $field.' DESC';
|
||||
|
||||
// Estraggo blocchi di caratteri standard
|
||||
preg_match('/[#]+/', $maschera, $m1);
|
||||
preg_match('/[#]+/', $maschera, $matches);
|
||||
|
||||
$pos1 = strpos($maschera, (string) $m1[0]);
|
||||
if ($pos1 == 0) {
|
||||
$query = 'CAST('.$field.' AS UNSIGNED) DESC';
|
||||
if (!empty($matches)) {
|
||||
$pos1 = strpos($maschera, (string) $matches[0]);
|
||||
if ($pos1 == 0) {
|
||||
$query = 'CAST('.$field.' AS UNSIGNED) DESC';
|
||||
}
|
||||
}
|
||||
|
||||
return $query;
|
||||
|
|
Loading…
Reference in New Issue