Aggiunta retro-compatibilità per il campo Validità
This commit is contained in:
parent
3d9a82a1ce
commit
ad69d26e59
|
@ -36,7 +36,7 @@ $_SESSION['superselect']['permetti_movimento_a_zero'] = true;
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-md-2">
|
<div class="col-md-2">
|
||||||
{[ "type": "date", "label": "<?php echo tr('Data conclusione'); ?>", "name": "data_conclusione", "value": "$data_conclusione$", "disabled": "<?php echo !empty($record['validita']) ? '1", "help": "'.tr('La data di conclusione è calcolata in automatico in base al valore del campo Validità') : 0; ?>" ]}
|
{[ "type": "date", "label": "<?php echo tr('Data conclusione'); ?>", "name": "data_conclusione", "value": "$data_conclusione$", "disabled": "<?php echo $contratto->isDataConclusioneAutomatica() ? '1", "help": "'.tr('La Data di conclusione è calcolata in automatico in base al valore del campo Validità') : '0'; ?>" ]}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-md-2">
|
<div class="col-md-2">
|
||||||
|
@ -93,7 +93,7 @@ $_SESSION['superselect']['permetti_movimento_a_zero'] = true;
|
||||||
<div class="row">
|
<div class="row">
|
||||||
|
|
||||||
<div class="col-md-3">
|
<div class="col-md-3">
|
||||||
{[ "type": "number", "label": "<?php echo tr('Validità offerta'); ?>", "name": "validita", "decimals": "0", "value": "$validita$", "icon-after": "choice|period|<?php echo $record['tipo_validita']; ?>", "help": "<?php echo tr('Il campo validità viene utilizzato solo nelle stampe, non è incluso nel calcolo della fine del contratto. Si può inserire questo valore nel campo Data conclusione'); ?>" ]}
|
{[ "type": "number", "label": "<?php echo tr('Validità offerta'); ?>", "name": "validita", "decimals": "0", "value": "$validita$", "icon-after": "choice|period|<?php echo $record['tipo_validita']; ?>", "help": "<?php echo tr('Il campo Validità viene utilizzato in modo esclusivamente indicativo se impostato secondo l\'opzione manuale, mentre viene utilizzato per il calcolo della Data di conclusione del documento in caso alternativo'); ?>" ]}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-md-3">
|
<div class="col-md-3">
|
||||||
|
|
|
@ -98,6 +98,21 @@ class Contratto extends Document
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function setTipoValiditaAttribute($value)
|
||||||
|
{
|
||||||
|
$this->attributes['tipo_validita'] = $value == 'manual' ? null : $value;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Controlla se la data di conclusione del documento deve essere calcolata in modo automatico.
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function isDataConclusioneAutomatica()
|
||||||
|
{
|
||||||
|
return !empty($this->validita) && !empty($this->tipo_validita) && !empty($this->data_accettazione);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Restituisce il nome del modulo a cui l'oggetto è collegato.
|
* Restituisce il nome del modulo a cui l'oggetto è collegato.
|
||||||
*
|
*
|
||||||
|
@ -166,7 +181,7 @@ class Contratto extends Document
|
||||||
public function fixDataConclusione()
|
public function fixDataConclusione()
|
||||||
{
|
{
|
||||||
// Calcolo della data di conclusione in base alla validità
|
// Calcolo della data di conclusione in base alla validità
|
||||||
if (!empty($this->validita) && !empty($this->data_accettazione)) {
|
if ($this->isDataConclusioneAutomatica()) {
|
||||||
$intervallo = CarbonInterval::make($this->validita.' '.$this->tipo_validita);
|
$intervallo = CarbonInterval::make($this->validita.' '.$this->tipo_validita);
|
||||||
$this->data_conclusione = Carbon::make($this->data_accettazione)->add($intervallo);
|
$this->data_conclusione = Carbon::make($this->data_accettazione)->add($intervallo);
|
||||||
}
|
}
|
||||||
|
|
|
@ -48,7 +48,7 @@ if (count($preventivo->revisioni) > 1) {
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-md-2">
|
<div class="col-md-2">
|
||||||
{[ "type": "date", "label": "<?php echo tr('Data conclusione'); ?>", "name": "data_conclusione", "value": "$data_conclusione$", "disabled": "<?php echo !empty($record['validita']) ? '1", "help": "'.tr('La data di conclusione è calcolata in automatico in base al valore del campo Validità') : 0; ?>" ]}
|
{[ "type": "date", "label": "<?php echo tr('Data conclusione'); ?>", "name": "data_conclusione", "value": "$data_conclusione$", "disabled": "<?php echo $preventivo->isDataConclusioneAutomatica() ? '1", "help": "'.tr('La Data di conclusione è calcolata in automatico in base al valore del campo Validità') : 0; ?>" ]}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-md-2">
|
<div class="col-md-2">
|
||||||
|
@ -105,7 +105,7 @@ if (count($preventivo->revisioni) > 1) {
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-3">
|
<div class="col-md-3">
|
||||||
{[ "type": "number", "label": "<?php echo tr('Validità offerta'); ?>", "name": "validita", "decimals": "0", "value": "$validita$", "icon-after": "choice|period|<?php echo $record['tipo_validita']; ?>", "help": "<?php echo tr('Il campo validità viene utilizzato solo nelle stampe, non è incluso nel calcolo della fine del preventivo. Si può inserire questo valore nel campo Data conclusione'); ?>" ]}
|
{[ "type": "number", "label": "<?php echo tr('Validità offerta'); ?>", "name": "validita", "decimals": "0", "value": "$validita$", "icon-after": "choice|period|<?php echo $record['tipo_validita']; ?>", "help": "<?php echo tr('Il campo Validità viene utilizzato in modo esclusivamente indicativo se impostato secondo l\'opzione manuale, mentre viene utilizzato per il calcolo della Data di conclusione del documento in caso alternativo'); ?>" ]}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-md-3">
|
<div class="col-md-3">
|
||||||
|
|
|
@ -105,6 +105,21 @@ class Preventivo extends Document
|
||||||
return $this->info['ore_interventi'];
|
return $this->info['ore_interventi'];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function setTipoValiditaAttribute($value)
|
||||||
|
{
|
||||||
|
$this->attributes['tipo_validita'] = $value == 'manual' ? null : $value;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Controlla se la data di conclusione del documento deve essere calcolata in modo automatico.
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function isDataConclusioneAutomatica()
|
||||||
|
{
|
||||||
|
return !empty($this->validita) && !empty($this->tipo_validita) && !empty($this->data_accettazione);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Restituisce il nome del modulo a cui l'oggetto è collegato.
|
* Restituisce il nome del modulo a cui l'oggetto è collegato.
|
||||||
*
|
*
|
||||||
|
@ -168,7 +183,7 @@ class Preventivo extends Document
|
||||||
public function fixDataConclusione()
|
public function fixDataConclusione()
|
||||||
{
|
{
|
||||||
// Calcolo della data di conclusione in base alla validità
|
// Calcolo della data di conclusione in base alla validità
|
||||||
if (!empty($this->validita) && !empty($this->data_accettazione)) {
|
if ($this->isDataConclusioneAutomatica()) {
|
||||||
$intervallo = CarbonInterval::make($this->validita.' '.$this->tipo_validita);
|
$intervallo = CarbonInterval::make($this->validita.' '.$this->tipo_validita);
|
||||||
$this->data_conclusione = Carbon::make($this->data_accettazione)->add($intervallo);
|
$this->data_conclusione = Carbon::make($this->data_accettazione)->add($intervallo);
|
||||||
}
|
}
|
||||||
|
|
|
@ -235,6 +235,10 @@ class HTMLWrapper implements WrapperInterface
|
||||||
];
|
];
|
||||||
} elseif ($type == 'period') {
|
} elseif ($type == 'period') {
|
||||||
$choices = [
|
$choices = [
|
||||||
|
[
|
||||||
|
'id' => 'manual',
|
||||||
|
'descrizione' => tr('giorno/i (manuale)'),
|
||||||
|
],
|
||||||
[
|
[
|
||||||
'id' => 'days',
|
'id' => 'days',
|
||||||
'descrizione' => tr('giorno/i'),
|
'descrizione' => tr('giorno/i'),
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
use Carbon\Carbon;
|
use Carbon\Carbon;
|
||||||
|
use Carbon\CarbonInterval;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Classe per gestire le traduzioni del progetto.
|
* Classe per gestire le traduzioni del progetto.
|
||||||
|
@ -90,8 +91,10 @@ class Translator extends Util\Singleton
|
||||||
Carbon::setUtf8(true);
|
Carbon::setUtf8(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$reduced = explode('_', $locale)[0];
|
||||||
|
CarbonInterval::setLocale($reduced);
|
||||||
|
|
||||||
if (empty($result)) {
|
if (empty($result)) {
|
||||||
$reduced = explode('_', $locale)[0];
|
|
||||||
$result = setlocale(LC_TIME, $reduced);
|
$result = setlocale(LC_TIME, $reduced);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
use Carbon\CarbonInterval;
|
||||||
|
|
||||||
include_once __DIR__.'/../../core.php';
|
include_once __DIR__.'/../../core.php';
|
||||||
|
|
||||||
// Creazione righe fantasma
|
// Creazione righe fantasma
|
||||||
|
@ -271,26 +273,14 @@ echo '
|
||||||
|
|
||||||
<td>';
|
<td>';
|
||||||
|
|
||||||
if (!empty($documento['validita'])) {
|
if (!empty($documento->validita) && !empty($documento->tipo_validita)) {
|
||||||
$periodi = [
|
$intervallo = CarbonInterval::make($documento->validita.' '.$documento->tipo_validita);
|
||||||
'd' => [
|
|
||||||
'singular' => tr('giorno'),
|
echo $intervallo->forHumans();
|
||||||
'plural' => tr('giorni'),
|
} elseif (!empty($documento->validita)) {
|
||||||
],
|
echo tr('_TOT_ giorni', [
|
||||||
'm' => [
|
'_TOT_' => $documento->validita,
|
||||||
'singular' => tr('mese'),
|
]);
|
||||||
'plural' => tr('mesi'),
|
|
||||||
],
|
|
||||||
'y' => [
|
|
||||||
'singular' => tr('anno'),
|
|
||||||
'plural' => tr('anni'),
|
|
||||||
],
|
|
||||||
];
|
|
||||||
echo'
|
|
||||||
'.tr('_TOT_ _PERIOD_', [
|
|
||||||
'_TOT_' => $documento['validita'],
|
|
||||||
'_PERIOD_' => $periodi[$documento['tipo_validita']][$documento['validita'] == 1 ? 'singular' : 'plural'],
|
|
||||||
]);
|
|
||||||
} else {
|
} else {
|
||||||
echo '-';
|
echo '-';
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
use Carbon\CarbonInterval;
|
||||||
|
|
||||||
include_once __DIR__.'/../../core.php';
|
include_once __DIR__.'/../../core.php';
|
||||||
|
|
||||||
$has_images = null;
|
$has_images = null;
|
||||||
|
@ -325,25 +327,13 @@ echo '
|
||||||
|
|
||||||
<td>';
|
<td>';
|
||||||
|
|
||||||
if (!empty($documento['validita'])) {
|
if (!empty($documento->validita) && !empty($documento->tipo_validita)) {
|
||||||
$periodi = [
|
$intervallo = CarbonInterval::make($documento->validita.' '.$documento->tipo_validita);
|
||||||
'd' => [
|
|
||||||
'singular' => tr('giorno'),
|
echo $intervallo->forHumans();
|
||||||
'plural' => tr('giorni'),
|
} elseif (!empty($documento->validita)) {
|
||||||
],
|
echo tr('_TOT_ giorni', [
|
||||||
'm' => [
|
'_TOT_' => $documento->validita,
|
||||||
'singular' => tr('mese'),
|
|
||||||
'plural' => tr('mesi'),
|
|
||||||
],
|
|
||||||
'y' => [
|
|
||||||
'singular' => tr('anno'),
|
|
||||||
'plural' => tr('anni'),
|
|
||||||
],
|
|
||||||
];
|
|
||||||
echo'
|
|
||||||
'.tr('_TOT_ _PERIOD_', [
|
|
||||||
'_TOT_' => $documento['validita'],
|
|
||||||
'_PERIOD_' => $periodi[$documento['tipo_validita']][$documento['validita'] == 1 ? 'singular' : 'plural'],
|
|
||||||
]);
|
]);
|
||||||
} else {
|
} else {
|
||||||
echo '-';
|
echo '-';
|
||||||
|
|
|
@ -109,5 +109,5 @@ UPDATE mg_prodotti SET mg_prodotti.id_riga_intervento = (SELECT id FROM in_righe
|
||||||
ALTER TABLE `mg_prodotti` ADD FOREIGN KEY (`id_riga_intervento`) REFERENCES `in_righe_interventi`(`id`) ON DELETE CASCADE;
|
ALTER TABLE `mg_prodotti` ADD FOREIGN KEY (`id_riga_intervento`) REFERENCES `in_righe_interventi`(`id`) ON DELETE CASCADE;
|
||||||
|
|
||||||
-- Periodi di validità (Contratti e Preventivi)
|
-- Periodi di validità (Contratti e Preventivi)
|
||||||
ALTER TABLE `co_contratti` ADD COLUMN `tipo_validita` ENUM('days', 'months', 'years') NOT NULL DEFAULT 'days' AFTER `validita`;
|
ALTER TABLE `co_contratti` ADD COLUMN `tipo_validita` ENUM('days', 'months', 'years') NULL DEFAULT NULL AFTER `validita`;
|
||||||
ALTER TABLE `co_preventivi` ADD COLUMN `tipo_validita` ENUM('days', 'months', 'years') NOT NULL DEFAULT 'days' AFTER `validita`;
|
ALTER TABLE `co_preventivi` ADD COLUMN `tipo_validita` ENUM('days', 'months', 'years') NULL DEFAULT NULL AFTER `validita`;
|
||||||
|
|
Loading…
Reference in New Issue