diff --git a/include/common/riga.php b/include/common/riga.php index 50893accb..e0b9f60b1 100644 --- a/include/common/riga.php +++ b/include/common/riga.php @@ -65,10 +65,10 @@ if ($options['dir'] == 'entrata') { aggiorna_guadagno(); - $("#prezzo").change(aggiorna_guadagno(); - $("#prezzo_acquisto").change(aggiorna_guadagno(); - $("#sconto").change(aggiorna_guadagno()); - $("#tipo_sconto").change(aggiorna_guadagno()); + $("#prezzo").keyup(aggiorna_guadagno); + $("#prezzo_acquisto").keyup(aggiorna_guadagno); + $("#sconto").keyup(aggiorna_guadagno); + $("#tipo_sconto").change(aggiorna_guadagno); '; } diff --git a/include/src/Article.php b/include/src/Components/Article.php similarity index 96% rename from include/src/Article.php rename to include/src/Components/Article.php index 3af893658..abd6f0acb 100644 --- a/include/src/Article.php +++ b/include/src/Components/Article.php @@ -1,10 +1,11 @@ articolo()->associate($articolo); diff --git a/include/src/Description.php b/include/src/Components/Description.php similarity index 59% rename from include/src/Description.php rename to include/src/Components/Description.php index dc275b6ab..c4256bba8 100644 --- a/include/src/Description.php +++ b/include/src/Components/Description.php @@ -1,8 +1,10 @@ is_descrizione = 1; } + $model->setParent($document); + return $model; } + + public function setParent(Document $document) + { + $this->parent()->associate($document); + + // Ordine delle righe + if (empty($this->disableOrder)) { + $this->order = orderValue($this->table, $this->getParentID(), $document->id); + } + + $this->save(); + } + + abstract public function parent(); + abstract public function getParentID(); } diff --git a/include/src/Discount.php b/include/src/Components/Discount.php similarity index 95% rename from include/src/Discount.php rename to include/src/Components/Discount.php index 610347727..cf795e0d9 100644 --- a/include/src/Discount.php +++ b/include/src/Components/Discount.php @@ -1,8 +1,10 @@ fattura()->associate($fattura); - - $model->save(); + $model = parent::make($fattura, $articolo); return $model; } @@ -61,9 +60,4 @@ class Articolo extends Article { return $this->fattura->tipo->dir; } - - public function fattura() - { - return $this->belongsTo(Fattura::class, 'iddocumento'); - } } diff --git a/modules/fatture/src/Descrizione.php b/modules/fatture/src/Components/Descrizione.php similarity index 57% rename from modules/fatture/src/Descrizione.php rename to modules/fatture/src/Components/Descrizione.php index 9544edf38..75621d89d 100644 --- a/modules/fatture/src/Descrizione.php +++ b/modules/fatture/src/Components/Descrizione.php @@ -1,11 +1,14 @@ fattura()->associate($fattura); + $model = parent::make($fattura); return $model; } - - public function fattura() - { - return $this->belongsTo(Fattura::class, 'iddocumento'); - } } diff --git a/modules/fatture/src/Components/RelationTrait.php b/modules/fatture/src/Components/RelationTrait.php new file mode 100644 index 000000000..9090c7f36 --- /dev/null +++ b/modules/fatture/src/Components/RelationTrait.php @@ -0,0 +1,23 @@ +belongsTo(Fattura::class, $this->getParentID()); + } + + public function fattura() + { + return $this->parent(); + } +} diff --git a/modules/fatture/src/Riga.php b/modules/fatture/src/Components/Riga.php similarity index 56% rename from modules/fatture/src/Riga.php rename to modules/fatture/src/Components/Riga.php index f9872577d..953b9cebb 100644 --- a/modules/fatture/src/Riga.php +++ b/modules/fatture/src/Components/Riga.php @@ -1,11 +1,14 @@ fattura()->associate($fattura); + $model = parent::make($fattura); return $model; } - - public function fattura() - { - return $this->belongsTo(Fattura::class, 'iddocumento'); - } } diff --git a/modules/fatture/src/Components/Sconto.php b/modules/fatture/src/Components/Sconto.php new file mode 100644 index 000000000..522b12429 --- /dev/null +++ b/modules/fatture/src/Components/Sconto.php @@ -0,0 +1,33 @@ +scontoGlobale; + + if ($model == null) { + $model = parent::make(); + + $model->setFattura($fattura); + } + + return $model; + } +} diff --git a/modules/fatture/src/Fattura.php b/modules/fatture/src/Fattura.php index 881b6d545..360f7d9e8 100644 --- a/modules/fatture/src/Fattura.php +++ b/modules/fatture/src/Fattura.php @@ -253,21 +253,21 @@ class Fattura extends Document public function articoli() { - return $this->hasMany(Articolo::class, 'iddocumento'); + return $this->hasMany(Components\Articolo::class, 'iddocumento'); } public function righe() { - return $this->hasMany(Riga::class, 'iddocumento'); + return $this->hasMany(Components\Riga::class, 'iddocumento'); } public function descrizioni() { - return $this->hasMany(Descrizione::class, 'iddocumento'); + return $this->hasMany(Components\Descrizione::class, 'iddocumento'); } public function scontoGlobale() { - return $this->hasOne(Sconto::class, 'iddocumento'); + return $this->hasOne(Components\Sconto::class, 'iddocumento'); } } diff --git a/modules/fatture/src/Sconto.php b/modules/fatture/src/Sconto.php deleted file mode 100644 index c7b3044c0..000000000 --- a/modules/fatture/src/Sconto.php +++ /dev/null @@ -1,31 +0,0 @@ -fattura()->associate($fattura); - - return $model; - } - - public function fattura() - { - return $this->belongsTo(Fattura::class, 'iddocumento'); - } -} diff --git a/modules/interventi/actions.php b/modules/interventi/actions.php index fe19aceeb..47604b63c 100644 --- a/modules/interventi/actions.php +++ b/modules/interventi/actions.php @@ -2,9 +2,9 @@ include_once __DIR__.'/../../core.php'; -use Modules\Interventi\Articolo; use Modules\Interventi\Intervento; use Modules\Articoli\Articolo as ArticoloOriginale; +use Modules\Interventi\Components\Articolo; include_once Modules::filepath('Interventi', 'modutil.php'); include_once Modules::filepath('Articoli', 'modutil.php'); diff --git a/modules/interventi/src/Articolo.php b/modules/interventi/src/Components/Articolo.php similarity index 92% rename from modules/interventi/src/Articolo.php rename to modules/interventi/src/Components/Articolo.php index 3f6abe2ab..c2b9fcd73 100644 --- a/modules/interventi/src/Articolo.php +++ b/modules/interventi/src/Components/Articolo.php @@ -1,14 +1,18 @@ intervento()->associate($intervento); + $model = parent::make($intervento, $articolo); $model->prezzo_acquisto = $articolo->prezzo_acquisto; $model->prezzo_vendita = $articolo->prezzo_vendita; @@ -108,9 +110,4 @@ class Articolo extends Article { return $this->prezzo_vendita * $this->qta; } - - public function intervento() - { - return $this->belongsTo(Intervento::class, 'idintervento'); - } } diff --git a/modules/interventi/src/Components/RelationTrait.php b/modules/interventi/src/Components/RelationTrait.php new file mode 100644 index 000000000..b8784725c --- /dev/null +++ b/modules/interventi/src/Components/RelationTrait.php @@ -0,0 +1,23 @@ +belongsTo(Intervento::class, $this->getParentID()); + } + + public function intervento() + { + return $this->parent(); + } +} diff --git a/modules/interventi/src/Riga.php b/modules/interventi/src/Components/Riga.php similarity index 56% rename from modules/interventi/src/Riga.php rename to modules/interventi/src/Components/Riga.php index 73f3e3085..1ea176cc2 100644 --- a/modules/interventi/src/Riga.php +++ b/modules/interventi/src/Components/Riga.php @@ -1,11 +1,14 @@ intervento()->associate($intervento); + $model = parent::make($intervento); return $model; } - - public function intervento() - { - return $this->belongsTo(Intervento::class, 'idintervento'); - } } diff --git a/modules/interventi/src/Intervento.php b/modules/interventi/src/Intervento.php index c3b687f1e..db9c64aeb 100644 --- a/modules/interventi/src/Intervento.php +++ b/modules/interventi/src/Intervento.php @@ -4,6 +4,8 @@ namespace Modules\Interventi; use Common\Document; use Modules\Anagrafiche\Anagrafica; +use Modules\Interventi\Components\Riga; +use Modules\Interventi\Components\Articolo; class Intervento extends Document { @@ -28,4 +30,14 @@ class Intervento extends Document { return $this->hasMany(Riga::class, 'idintervento'); } + + public function descrizioni(){ + return null; + } + + public function scontoGlobale(){ + return null; + + } + } diff --git a/modules/iva/src/Aliquota.php b/modules/iva/src/Aliquota.php new file mode 100644 index 000000000..ed94e6bf7 --- /dev/null +++ b/modules/iva/src/Aliquota.php @@ -0,0 +1,10 @@ +