diff --git a/modules/contratti/actions.php b/modules/contratti/actions.php index 6daf990ad..4dcb00804 100644 --- a/modules/contratti/actions.php +++ b/modules/contratti/actions.php @@ -38,17 +38,6 @@ switch (post('op')) { $budget = $rs[0]['budget']; } - // Calcolo della data di conclusione in base alla validità - $validita = post('validita'); - $validita_periodo = post('tipo_validita'); - $data_accettazione = post('data_accettazione'); - $data_conclusione = post('data_conclusione'); - if (!empty($validita) and !empty($data_accettazione)) { - $nuova_data = new DateTime($data_accettazione); - $nuova_data->add(new DateInterval(sprintf("P%d%s", $validita, strtoupper($validita_periodo)))); - $data_conclusione = $nuova_data->format('Y-m-d'); - } - $contratto->idanagrafica = post('idanagrafica'); $contratto->idsede = post('idsede'); $contratto->idstato = post('idstato'); @@ -58,12 +47,17 @@ switch (post('op')) { $contratto->numero = post('numero'); $contratto->budget = $budget; $contratto->idreferente = post('idreferente'); - $contratto->validita = $validita; - $contratto->validita_periodo = $validita_periodo; + + // Informazioni sulle date del documento $contratto->data_bozza = post('data_bozza'); - $contratto->data_accettazione = $data_accettazione; $contratto->data_rifiuto = post('data_rifiuto'); - $contratto->data_conclusione = $data_conclusione; + + // Dati relativi alla validità del documento + $contratto->validita = post('validita'); + $contratto->tipo_validita = post('tipo_validita'); + $contratto->data_accettazione = post('data_accettazione'); + $contratto->data_conclusione = post('data_conclusione'); + $contratto->rinnovabile = post('rinnovabile'); $contratto->giorni_preavviso_rinnovo = post('giorni_preavviso_rinnovo'); $contratto->ore_preavviso_rinnovo = post('ore_preavviso_rinnovo'); diff --git a/modules/contratti/edit.php b/modules/contratti/edit.php index 31618be2b..f3624f187 100755 --- a/modules/contratti/edit.php +++ b/modules/contratti/edit.php @@ -36,7 +36,7 @@ $_SESSION['superselect']['permetti_movimento_a_zero'] = true;
- {[ "type": "date", "label": "", "name": "data_conclusione", "value": "$data_conclusione$", "disabled": "" ]} + {[ "type": "date", "label": "", "name": "data_conclusione", "value": "$data_conclusione$", "disabled": "" ]}
@@ -93,7 +93,7 @@ $_SESSION['superselect']['permetti_movimento_a_zero'] = true;
- {[ "type": "number", "label": "", "name": "validita", "decimals": "0", "value": "$validita$", "icon-after": "choice|period|", "help": "" ]} + {[ "type": "number", "label": "", "name": "validita", "decimals": "0", "value": "$validita$", "icon-after": "choice|period|", "help": "" ]}
diff --git a/modules/contratti/src/Contratto.php b/modules/contratti/src/Contratto.php index 68ef5da2f..629305d34 100755 --- a/modules/contratti/src/Contratto.php +++ b/modules/contratti/src/Contratto.php @@ -3,6 +3,7 @@ namespace Modules\Contratti; use Carbon\Carbon; +use Carbon\CarbonInterval; use Common\Components\Description; use Common\Document; use Modules\Anagrafiche\Anagrafica; @@ -162,9 +163,19 @@ class Contratto extends Document $this->budget = $this->totale_imponibile ?: 0; } + public function fixDataConclusione() + { + // Calcolo della data di conclusione in base alla validità + if (!empty($this->validita) && !empty($this->data_accettazione)) { + $intervallo = CarbonInterval::make($this->validita.' '.$this->tipo_validita); + $this->data_conclusione = Carbon::make($this->data_accettazione)->add($intervallo); + } + } + public function save(array $options = []) { $this->fixBudget(); + $this->fixDataConclusione(); $result = parent::save($options); diff --git a/modules/preventivi/actions.php b/modules/preventivi/actions.php index e57c9de3e..020a9eded 100755 --- a/modules/preventivi/actions.php +++ b/modules/preventivi/actions.php @@ -34,17 +34,6 @@ switch (post('op')) { case 'update': if (isset($id_record)) { - // Calcolo della data di conclusione in base alla validità - $validita = post('validita'); - $validita_periodo = post('tipo_validita'); - $data_accettazione = post('data_accettazione'); - $data_conclusione = post('data_conclusione'); - if (!empty($validita) and !empty($data_accettazione)) { - $nuova_data = new DateTime($data_accettazione); - $nuova_data->add(new DateInterval(sprintf("P%d%s", $validita, strtoupper($validita_periodo)))); - $data_conclusione = $nuova_data->format('Y-m-d'); - } - $preventivo->idstato = post('idstato'); $preventivo->nome = post('nome'); $preventivo->idanagrafica = post('idanagrafica'); @@ -55,18 +44,23 @@ switch (post('op')) { $preventivo->idporto = post('idporto'); $preventivo->tempi_consegna = post('tempi_consegna'); $preventivo->numero = post('numero'); + + // Informazioni sulle date del documento $preventivo->data_bozza = post('data_bozza'); - $preventivo->data_accettazione = $data_accettazione; $preventivo->data_rifiuto = post('data_rifiuto'); - $preventivo->data_conclusione = $data_conclusione; + + // Dati relativi alla validità del documento + $preventivo->validita = post('validita'); + $preventivo->tipo_validita = post('tipo_validita'); + $preventivo->data_accettazione = post('data_accettazione'); + $preventivo->data_conclusione = post('data_conclusione'); + $preventivo->esclusioni = post('esclusioni'); $preventivo->descrizione = post('descrizione'); $preventivo->id_documento_fe = post('id_documento_fe'); $preventivo->num_item = post('num_item'); $preventivo->codice_cig = post('codice_cig'); $preventivo->codice_cup = post('codice_cup'); - $preventivo->validita = $validita; - $preventivo->validita_periodo = $validita_periodo; $preventivo->idtipointervento = post('idtipointervento'); $preventivo->idiva = post('idiva'); diff --git a/modules/preventivi/edit.php b/modules/preventivi/edit.php index 431778ef4..7a098f361 100755 --- a/modules/preventivi/edit.php +++ b/modules/preventivi/edit.php @@ -13,7 +13,7 @@ $_SESSION['superselect']['permetti_movimento_a_zero'] = true; if (count($preventivo->revisioni) > 1) { echo '
- + '.tr('Questo preventivo presenta _N_ revisioni', [ '_N_' => count($preventivo->revisioni), @@ -48,7 +48,7 @@ if (count($preventivo->revisioni) > 1) {
- {[ "type": "date", "label": "", "name": "data_conclusione", "value": "$data_conclusione$", "disabled": "" ]} + {[ "type": "date", "label": "", "name": "data_conclusione", "value": "$data_conclusione$", "disabled": "" ]}
@@ -105,7 +105,7 @@ if (count($preventivo->revisioni) > 1) {
- {[ "type": "number", "label": "", "name": "validita", "decimals": "0", "value": "$validita$", "icon-after": "choice|period|", "help": "" ]} + {[ "type": "number", "label": "", "name": "validita", "decimals": "0", "value": "$validita$", "icon-after": "choice|period|", "help": "" ]}
diff --git a/modules/preventivi/src/Preventivo.php b/modules/preventivi/src/Preventivo.php index f3d81fb09..03259ceab 100755 --- a/modules/preventivi/src/Preventivo.php +++ b/modules/preventivi/src/Preventivo.php @@ -3,6 +3,7 @@ namespace Modules\Preventivi; use Carbon\Carbon; +use Carbon\CarbonInterval; use Common\Components\Description; use Common\Document; use Modules\Anagrafiche\Anagrafica; @@ -164,9 +165,19 @@ class Preventivo extends Document $this->budget = $this->totale_imponibile ?: 0; } + public function fixDataConclusione() + { + // Calcolo della data di conclusione in base alla validità + if (!empty($this->validita) && !empty($this->data_accettazione)) { + $intervallo = CarbonInterval::make($this->validita.' '.$this->tipo_validita); + $this->data_conclusione = Carbon::make($this->data_accettazione)->add($intervallo); + } + } + public function save(array $options = []) { $this->fixBudget(); + $this->fixDataConclusione(); return parent::save($options); } diff --git a/src/HTMLBuilder/Wrapper/HTMLWrapper.php b/src/HTMLBuilder/Wrapper/HTMLWrapper.php index 8d09a9f1e..91533c57d 100755 --- a/src/HTMLBuilder/Wrapper/HTMLWrapper.php +++ b/src/HTMLBuilder/Wrapper/HTMLWrapper.php @@ -95,18 +95,18 @@ class HTMLWrapper implements WrapperInterface $result .= '