- {[ "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 .= '