This commit is contained in:
Beppe 2020-02-03 15:21:41 +01:00
commit b808d4578d
23 changed files with 241 additions and 76 deletions

View File

@ -121,7 +121,16 @@ function updateHook(hook) {
// Rimozione eventuale della rotella di caricamento
var counter = $("#hooks-counter").text();
var number = $("#hooks > li").length;
if (number == 0) {
$("#hooks-notified").html('<i class="fa fa-check" aria-hidden="true"></i>');
$("#hooks-label").removeClass('label-warning');
$("#hooks-label").addClass('label-success');
}else{
$("#hooks-notified").text(number);
$("#hooks-label").removeClass('label-success');
$("#hooks-label").addClass('label-warning');
}
if (counter == $("#hooks-number").text()) {
$("#hooks-loading").hide();

View File

@ -3,6 +3,6 @@
echo '
<div class="row">
<div class="col-md-12">
{[ "type": "textarea", "label": "'.tr('Descrizione').'", "name": "descrizione", "id": "descrizione_riga", "value": '.json_encode($result['descrizione']).', "required": 1 ]}
{[ "type": "textarea", "label": "'.tr('Descrizione').'", "name": "descrizione", "id": "descrizione_riga", "value": '.json_encode($result['descrizione']).', "required": 1, "extra": "rows=\"4\"" ]}
</div>
</div>';

View File

@ -312,7 +312,7 @@ if (Auth::check()) {
<li class="dropdown notifications-menu" >
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
<i class="fa fa-bell-o"></i>
<span class="label label-warning">
<span id="hooks-label" class="label label-warning">
<span id="hooks-loading"><i class="fa fa-spinner fa-spin"></i></span>
<span id="hooks-notified"></span>
<span id="hooks-counter" class="hide">0</span>

View File

@ -47,13 +47,25 @@ $_SESSION['superselect']['id_categoria'] = $record['id_categoria'];
{[ "type": "textarea", "label": "<?php echo tr('Descrizione'); ?>", "name": "descrizione", "required": 1, "value": "$descrizione$" ]}
</div>
</div>
<div class="row">
<div class="col-md-2">
<div class="col-md-4">
{[ "type": "checkbox", "label": "<?php echo tr('Abilita serial number'); ?>", "name": "abilita_serial", "value": "$abilita_serial$", "help": "<?php echo tr('Abilita serial number in fase di aggiunta articolo in fattura o ddt'); ?>", "placeholder": "<?php echo tr('Serial number'); ?>", "extra": "<?php echo ($record['serial'] > 0) ? 'readonly' : ''; ?>" ]}
</div>
<div class="col-md-4">
{[ "type": "checkbox", "label": "<?php echo tr('Attivo'); ?>", "name": "attivo", "help": "<?php echo tr('Seleziona per rendere attivo l\'articolo'); ?>", "value": "$attivo$", "placeholder": "<?php echo tr('Articolo attivo'); ?>" ]}
</div>
<div class="col-md-4">
{[ "type": "text", "label": "<?php echo tr('Ubicazione'); ?>", "name": "ubicazione", "value": "$ubicazione$" ]}
</div>
</div>
<div class="row">
<div class="col-md-4">
{[ "type": "number", "label": "<?php echo tr('Quantità'); ?>", "name": "qta", "required": 1, "value": "$qta$", "readonly": 1, "decimals": "qta", "min-value": "undefined" ]}
<input type="hidden" id="old_qta" value="<?php echo $record['qta']; ?>">
</div>
<div class="col-md-2">
<div class="col-md-4">
{[ "type": "checkbox", "label": "<?php echo tr('Modifica quantità'); ?>", "name": "qta_manuale", "value": 0, "help": "<?php echo tr('Seleziona per modificare manualmente la quantità'); ?>", "placeholder": "<?php echo tr('Quantità manuale'); ?>", "extra": "<?php echo ($record['servizio']) ? 'disabled' : ''; ?>" ]}
<script type="text/javascript">
@ -85,28 +97,15 @@ $_SESSION['superselect']['id_categoria'] = $record['id_categoria'];
</div>
<div class="col-md-2">
<div class="col-md-4">
{[ "type": "select", "label": "<?php echo tr('Unità di misura'); ?>", "name": "um", "value": "$um$", "ajax-source": "misure", "icon-after": "add|<?php echo Modules::get('Unità di misura')['id']; ?>" ]}
</div>
<div class="col-md-2">
{[ "type": "checkbox", "label": "<?php echo tr('Abilita serial number'); ?>", "name": "abilita_serial", "value": "$abilita_serial$", "help": "<?php echo tr('Abilita serial number in fase di aggiunta articolo in fattura o ddt'); ?>", "placeholder": "<?php echo tr('Serial number'); ?>", "extra": "<?php echo ($record['serial'] > 0) ? 'readonly' : ''; ?>" ]}
</div>
<div class="col-md-2">
{[ "type": "checkbox", "label": "<?php echo tr('Attivo'); ?>", "name": "attivo", "help": "<?php echo tr('Seleziona per rendere attivo l\'articolo'); ?>", "value": "$attivo$", "placeholder": "<?php echo tr('Articolo attivo'); ?>" ]}
</div>
<div class="col-md-2">
{[ "type": "text", "label": "<?php echo tr('Ubicazione'); ?>", "name": "ubicazione", "value": "$ubicazione$" ]}
</div>
</div>
<div class='row' id="div_modifica_manuale" style="display:none;">
<div class='col-md-3'>
<div class='col-md-8'>
{[ "type": "text", "label": "<?php echo tr('Descrizione movimento'); ?>", "name": "descrizione_movimento" ]}
</div>
<div class='col-md-3'>
<div class='col-md-4'>
{[ "type": "date", "label": "<?php echo tr('Data movimento'); ?>", "name": "data_movimento", "value": "-now-" ]}
</div>
</div>

View File

@ -570,6 +570,7 @@ if ($vista == 'mese') {
var calendar = $('#calendar').fullCalendar({
locale: globals.locale,
height: "auto",
<?php
$domenica = setting('Visualizzare la domenica sul calendario');
if (empty($domenica)) {

View File

@ -31,6 +31,9 @@ switch (post('op')) {
$ddt = DDT::build($anagrafica, $tipo, $data);
$id_record = $ddt->id;
$ddt->idcausalet = post('idcausalet');
$ddt->save();
flash()->info(tr('Aggiunto ddt in _TYPE_ numero _NUM_!', [
'_TYPE_' => $dir,
'_NUM_' => $ddt->numero,

View File

@ -179,7 +179,7 @@ if (empty($record['is_fiscale'])) {
</div>
<div class="row">
<div class="col-md-3">
<div class="col-md-6">
<?php
echo Modules::link('Anagrafiche', $record['idanagrafica'], null, null, 'class="pull-right"');
@ -191,44 +191,62 @@ if (empty($record['is_fiscale'])) {
} else {
?>
{[ "type": "select", "label": "<?php echo tr('Fornitore'); ?>", "name": "idanagrafica", "required": 1, "ajax-source": "fornitori", "value": "$idanagrafica$" ]}
<?php
}
?>
<?php } ?>
</div>
<?php if ($dir == 'entrata') { ?>
<div class="col-md-6">
{[ "type": "select", "label": "<?php echo tr('Agente di riferimento'); ?>", "name": "idagente", "ajax-source": "agenti", "value": "$idagente_fattura$" ]}
</div>
<?php } ?>
<?php
// Conteggio numero articoli fatture
$articolo = $dbo->fetchArray('SELECT mg_articoli.id FROM ((mg_articoli INNER JOIN co_righe_documenti ON mg_articoli.id=co_righe_documenti.idarticolo) INNER JOIN co_documenti ON co_documenti.id=co_righe_documenti.iddocumento) WHERE co_documenti.id='.prepare($id_record));
if ($dir == 'uscita') {
?>
<div class="col-md-3">
<div class="col-md-6">
<?php
echo Plugins::link('Sedi', $record['idsede_partenza'], null, null, 'class="pull-right"');
?>
{[ "type": "select", "label": "<?php echo tr('Partenza merce'); ?>", "name": "idsede_partenza", "ajax-source": "sedi", "placeholder": "Sede legale", "value": "$idsede_partenza$", "icon-after": "add|<?php echo Modules::get('Anagrafiche')['id']; ?>|id_plugin=<?php echo Plugins::get('Sedi')['id']; ?>&id_parent=<?php echo $record['idanagrafica']; ?>||<?php echo (intval($block_edit)) ? 'disabled' : ''; ?>" ]}
</div>
<div class="col-md-3">
<div class="col-md-6">
<?php
echo Plugins::link('Sedi', $record['idsede_destinazione'], null, null, 'class="pull-right"');
?>
{[ "type": "select", "label": "<?php echo tr('Destinazione merce'); ?>", "name": "idsede_destinazione", "ajax-source": "sedi_azienda", "value": "$idsede_destinazione$", "readonly": "<?php echo (sizeof($articolo)) ? 1 : 0; ?>" ]}
</div>
<?php
} else {
?>
<div class="col-md-3">
<div class="col-md-6">
<?php
echo Plugins::link('Sedi', $record['idsede_partenza'], null, null, 'class="pull-right"');
?>
{[ "type": "select", "label": "<?php echo tr('Partenza merce'); ?>", "name": "idsede_partenza", "ajax-source": "sedi_azienda", "placeholder": "Sede legale", "value": "$idsede_partenza$", "readonly": "<?php echo (sizeof($articolo)) ? 1 : 0; ?>" ]}
</div>
<div class="col-md-3">
<div class="col-md-6">
<?php
echo Plugins::link('Sedi', $record['idsede_destinazione'], null, null, 'class="pull-right"');
?>
{[ "type": "select", "label": "<?php echo tr('Destinazione merce'); ?>", "name": "idsede_destinazione", "ajax-source": "sedi", "value": "$idsede_destinazione$", "readonly": "", "icon-after": "add|<?php echo Modules::get('Anagrafiche')['id']; ?>|id_plugin=<?php echo Plugins::get('Sedi')['id']; ?>&id_parent=<?php echo $record['idanagrafica']; ?>||<?php echo (intval($block_edit)) ? 'disabled' : ''; ?>" ]}
</div>
<?php
}
?>
<?php if ($dir == 'entrata') {
?>
<div class="col-md-3">
{[ "type": "select", "label": "<?php echo tr('Agente di riferimento'); ?>", "name": "idagente", "ajax-source": "agenti", "value": "$idagente_fattura$" ]}
</div>
<?php
} ?>
</div>
<hr>

View File

@ -6,11 +6,19 @@ switch (filter('op')) {
case 'update':
$is_all_valid = true;
foreach (post('setting') as $id => $value) {
$result = Settings::get($id);
if (preg_match("/multiple\[(.+?)\]/", $result['tipo'], $m)) {
$value = implode(",", $value);
}
$is_valid = Settings::setValue($id, $value);
if (!$is_valid) {
$result = Settings::get($id);
// integer
if ($result['tipo'] == 'integer') {
@ -26,6 +34,8 @@ switch (filter('op')) {
'_NAME_' => '"'.$result['nome'].'"',
]));
}
}
$is_all_valid &= $is_valid;

View File

@ -165,16 +165,16 @@ class Intervento extends Document
*/
public static function getNextCodice($data)
{
$maschera = setting('Formato codice intervento');
$maschera = setting('Formato codice attività');
//$ultimo = Generator::getPreviousFrom($maschera, 'in_interventi', 'codice');
if (setting('Continua la numerazione')){
if (setting('Ingnora il periodo temporale per il calcolo del codice attività')){
$ultimo = Generator::getPreviousFrom($maschera, 'in_interventi', 'codice', []);
}else{
$ultimo = Generator::getPreviousFrom($maschera, 'in_interventi', 'codice', [
'YEAR(data_richiesta) = '.prepare(date('Y', strtotime($data))),
]);
}else{
$ultimo = Generator::getPreviousFrom($maschera, 'in_interventi', 'codice', []);
}
$numero = Generator::generate($maschera, $ultimo);

View File

@ -68,7 +68,7 @@ switch (post('op')) {
case 'copy':
// Copia del preventivo
$new = $preventivo->replicate();
$new->numero = Preventivo::getNextNumero();
$new->numero = Preventivo::getNextNumero($new->data_bozza);
$new->idstato = 1;
$new->save();

View File

@ -49,7 +49,7 @@ class Preventivo extends Document
$model->stato()->associate($stato_documento);
$model->tipoSessione()->associate($tipo_sessione);
$model->numero = static::getNextNumero();
$model->numero = static::getNextNumero($data_bozza);
// Salvataggio delle informazioni
$model->nome = $nome;
@ -233,11 +233,20 @@ class Preventivo extends Document
*
* @return string
*/
public static function getNextNumero()
public static function getNextNumero($data)
{
$maschera = setting('Formato codice preventivi');
if ((strpos($maschera, 'YYYY') !== false) or (strpos($maschera, 'yy') !== false)) {
$ultimo = Generator::getPreviousFrom($maschera, 'co_preventivi', 'numero', [
'YEAR(data_bozza) = '.prepare(date('Y', strtotime($data))),
]);
}else{
$ultimo = Generator::getPreviousFrom($maschera, 'co_preventivi', 'numero');
}
$numero = Generator::generate($maschera, $ultimo);
return $numero;

View File

@ -19,7 +19,7 @@ class InvoiceHook extends Manager
}
$remaining = Fattura::where('hook_send', 1)
->where('codice_stato_fe', 'ERR')
->where('codice_stato_fe', 'QUEUE')
->count();
return !empty($remaining);
@ -28,7 +28,7 @@ class InvoiceHook extends Manager
public function execute()
{
$fattura = Fattura::where('hook_send', 1)
->where('codice_stato_fe', 'ERR')
->where('codice_stato_fe', 'QUEUE')
->first();
$result = Interaction::sendInvoice($fattura->id);

View File

@ -442,7 +442,7 @@ class Prints
// Instanziamento dell'oggetto mPDF
$mpdf = new \Mpdf\Mpdf([
'mode' => 'utf-8',
'mode' => 'c',
'format' => $settings['format'],
'orientation' => strtoupper($settings['orientation']) == 'L' ? 'L' : 'P',
'font-size' => $settings['font-size'],
@ -450,6 +450,7 @@ class Prints
'margin_right' => $settings['margins']['right'],
'setAutoBottomMargin' => 'stretch',
'setAutoTopMargin' => 'stretch',
'default_font' => 'helvetica',
// Abilitazione per lo standard PDF/A
//'PDFA' => true,

View File

@ -48,7 +48,7 @@ class Settings
}
/**
* Restituisce le informazioni relative a una singolo impostazione specificata.
* Restituisce le informazioni relative ad una singola impostazione specificata.
*
* @param string|int $setting
*
@ -87,8 +87,10 @@ class Settings
*/
public static function setValue($setting, $value)
{
$setting = self::get($setting);
// Trasformazioni
// Boolean (checkbox)
if ($setting->tipo == 'boolean') {
@ -105,6 +107,15 @@ class Settings
// verifico che il valore scelto sia nella lista enumerata nel db
elseif (preg_match("/list\[(.+?)\]/", $setting->tipo, $m)) {
$validator = v::in(explode(',', $m[1]));
}
// multiple
// verifico che il valore scelto sia nella lista enumerata nel db
elseif (preg_match("/multiple\[(.+?)\]/", $setting->tipo, $m[0][0])) {
//$validator = v::in(explode(',', $m[0][0][1]));
}
// Boolean (checkbox)
@ -150,6 +161,22 @@ class Settings
{[ "type": "select", "label": "'.$setting->nome.'", "name": "setting['.$setting->id.']", "values": '.json_encode($list).', "value": "'.$setting->valore.'", "required": "'.intval($required).'", "help": "'.$setting->help.'" ]}';
}
// Lista multipla
if (preg_match("/multiple\[(.+?)\]/", $setting->tipo, $m)) {
$values = explode(',', $m[1]);
$list = [];
foreach ($values as $value) {
$list[] = [
'id' => $value,
'text' => $value,
];
}
$result = '
{[ "type": "select", "multiple": 1, "label": "'.$setting->nome.'", "name": "setting['.$setting->id.'][]", "values": '.json_encode($list).', "value": "'.$setting->valore.'", "required": "'.intval($required).'", "help": "'.$setting->help.'" ]}';
}
// Lista da query
elseif (preg_match('/^query=(.+?)$/', $setting->tipo, $m)) {
$result = '

View File

@ -107,11 +107,12 @@ echo '
</tr>';
// Descrizione
// Rimosso nl2br, non necessario con ckeditor
echo '
<tr>
<td colspan="4" style="height:20mm;">
<b>'.tr('Descrizione').':</b>
<p>'.nl2br($documento['descrizione']).'</p>
<p>'.($documento['descrizione']).'</p>
</td>
</tr>';

View File

@ -39,18 +39,18 @@ if (!empty($search['descrizione'])) {
}
if (!empty($search['categoria'])) {
$where[] = 'id_categoria IN (SELECT id FROM mg_categorie WHERE descrizione LIKE '.prepare('%'.$search['categoria'].'%').')';
$where[] = 'id_categoria IN (SELECT id FROM mg_categorie WHERE nome LIKE '.prepare('%'.$search['categoria'].'%').' AND parent IS NULL)';
}
if (!empty($search['subcategoria'])) {
$where[] = 'id_sottocategoria IN (SELECT id FROM mg_categorie WHERE descrizione LIKE '.prepare('%'.$search['subcategoria'].'%').')';
$where[] = 'id_sottocategoria IN (SELECT id FROM mg_categorie WHERE nome LIKE '.prepare('%'.$search['subcategoria'].'%').' AND parent NOT NULL)';
}
$period_end = $_SESSION['period_end'];
$query = 'SELECT *,
(SELECT SUM(qta) FROM mg_movimenti WHERE mg_movimenti.idarticolo=mg_articoli.id AND (mg_movimenti.idintervento IS NULL) AND data <= '.prepare($period_end).') AS qta
FROM mg_articoli WHERE 1=1
FROM mg_articoli LEFT OUTER JOIN (SELECT id, nome FROM mg_categorie) AS categoria ON mg_articoli.id_categoria = categoria.id WHERE 1=1
ORDER BY codice ASC';
$query = str_replace('1=1', '1=1'.(!empty($where) ? ' AND '.implode(' AND ', $where) : ''), $query);
@ -65,6 +65,7 @@ echo '
<thead>
<tr>
<th class="text-center" width="150">'.tr('Codice', [], ['upper' => true]).'</th>
<th class="text-center">'.tr('Categoria', [], ['upper' => true]).'</th>
<th class="text-center">'.tr('Descrizione', [], ['upper' => true]).'</th>
<th class="text-center" width="70">'.tr('Prezzo di vendita', [], ['upper' => true]).'</th>
<th class="text-center" width="70">'.tr('Q.', [], ['upper' => true]).'</th>
@ -82,6 +83,7 @@ foreach ($rs as $r) {
echo '
<tr>
<td>'.$r['codice'].'</td>
<td>'.$r['nome'].'</td>
<td>'.$r['descrizione'].'</td>
<td class="text-right">'.moneyFormat($r['prezzo_vendita']).'</td>
<td class="text-right">'.Translator::numberToLocale($r['qta']).' '.$r['um'].'</td>

View File

@ -1,6 +1,6 @@
<?php
return [
//'orientation' => 'L',
'orientation' => 'L',
'font-size' => '11pt',
];

View File

@ -19,13 +19,25 @@ $pricing = isset($pricing) ? $pricing : true;
// Informazioni intervento
echo '
<tr>
<td colspan="2">
<td colspan="2">';
if (dateFormat($intervento->inizio)){
echo '
<p>'.tr('Intervento _NUM_ del _DATE_', [
'_NUM_' => $intervento->codice,
'_DATE_' => dateFormat($intervento->inizio),
]).'</p>
]).'</p>';
}else{
echo '
<p>'.tr('Promemoria _NUM_', [
'_NUM_' => $intervento->codice,
]).'</p>';
}
echo '
<p><small><b>'.tr('Cliente').':</b> '.$intervento->anagrafica->ragione_sociale.'</small></p>
<p><small><b>'.tr('Stato').':</b> '.$intervento->stato->descrizione.'</small></p>
<p><small><b>'.tr('Data richiesta').':</b> '.dateFormat($intervento->data_richiesta).'</small></p>
<p><small><b>'.tr('Richiesta').':</b> '.$intervento->richiesta.'</small></p>
</td>
<td class="text-center">'.($pricing ? moneyFormat($imponibile, 2) : '-').'</td>
<td class="text-center">'.($pricing && empty($options['dir']) ? moneyFormat($sconto, 2) : '-').'</td>
@ -34,7 +46,7 @@ echo '
// Sessioni
$sessioni = $intervento->sessioni;
if (!empty($sessioni)) {
if (count($sessioni)>0) {
echo '
<tr>
<td style="border-top: 0; border-bottom: 0;"></td>

View File

@ -25,7 +25,7 @@ UPDATE `zz_hooks` SET `id_module` = (SELECT `id` FROM `zz_modules` WHERE `name`
ALTER TABLE `zz_hooks` ADD FOREIGN KEY (`id_module`) REFERENCES `zz_modules`(`id`) ON DELETE CASCADE;
INSERT INTO `zz_hooks` (`id`, `name`, `class`, `frequency`, `id_module`) VALUES
(NULL, 'Ricevute', 'Modules\\Aggiornamenti\\UpdateHook', '7 day', (SELECT `id` FROM `zz_modules` WHERE `name` = 'Aggiornamenti'));
(NULL, 'Aggiornamenti', 'Modules\\Aggiornamenti\\UpdateHook', '7 day', (SELECT `id` FROM `zz_modules` WHERE `name` = 'Aggiornamenti'));
--
-- Aggiunta nuovi campi per tracciamento sedi

59
update/2_4_13.php Normal file
View File

@ -0,0 +1,59 @@
<?php
// File e cartelle deprecate
$files = [
'lib\init.js',
'lib\functions.js',
'include\src\HookManager.php',
'plugins\xml\AT_v1.0.xml',
'plugins\xml\DT_v1.0.xml',
'plugins\xml\EC_v1.0.xml',
'plugins\xml\MC_v1.0.xml',
'plugins\xml\MT_v1.0.xml',
'plugins\xml\NE_v1.0.xml',
'plugins\xml\NS_v1.0.xml',
'plugins\xml\RC_v1.0.xml',
'plugins\xml\SE_v1.0.xml',
'plugins\importFE\rows.php',
'plugins\exportFE\view.php',
'plugins\exportFE\src\stylesheet-1.2.1.xsl',
'plugins\exportFE\src\Connection.php',
'templates\riepilogo_interventi\pdfgen.riepilogo_interventi.php',
'templates\riepilogo_interventi\intervento_body.html',
'templates\riepilogo_interventi\intervento.html',
'templates\scadenzario\pdfgen.scadenzario.php',
'templates\scadenzario\scadenzario_body.html',
'templates\scadenzario\scadenzario.html',
'templates\registro_iva\pdfgen.registro_iva.php',
'templates\registro_iva\registroiva_body.html',
'templates\registro_iva\header.php',
'templates\registro_iva\body.php',
'templates\preventivi_cons\body.php',
'templates\contratti_cons\body.php',
'templates\magazzino_inventario\pdfgen.magazzino_inventario.php',
'templates\magazzino_inventario\magazzino_inventario_body.html',
'templates\magazzino_inventario\magazzino_inventario.html',
'modules\contratti\modutil.php',
'modules\contratti\plugins\contratti.ordiniservizio.interventi.php',
'modules\contratti\plugins\contratti.ordiniservizio.php',
'modules\interventi\src\TipoSessione.php',
'modules\anagrafiche\plugins\statistiche.php',
'modules\partitario\dettagli_movimento.php',
'modules\interventi\api\*',
'modules\anagrafiche\api\*',
'modules\articoli\api\*',
'modules\aggiornamenti\api\*',
'modules\stati_contratto\api\*',
'modules\stati_intervento\api\*',
'modules\stati_preventivo\api\*',
'modules\tipi_intervento\api\*',
'modules\utenti\api\*',
'templates\interventi_ordiniservizio\*',
'modules\automezzi\*',
];
foreach ($files as $key => $value) {
$files[$key] = realpath(DOCROOT.'/'.$value);
}
delete($files);

View File

@ -146,10 +146,25 @@ ALTER TABLE `co_scadenziario` ADD `note` VARCHAR(255) DEFAULT NULL AFTER `data_p
-- Aggiunta note in vista scadenzario --
INSERT INTO `zz_views` (`id`, `id_module`, `name`, `query`, `order`, `search`, `slow`, `format`, `search_inside`, `order_by`, `visible`, `summable`, `default`) VALUES (NULL, (SELECT `zz_modules`.`id` FROM `zz_modules` WHERE `zz_modules`.`name`='Scadenzario' ), 'Note', 'co_scadenziario.note', '5', '1', '0', '0', '', '', '0', '0', '0');
UPDATE `zz_settings` SET `nome` = 'Ora inizio sul calendario' WHERE `zz_settings`.`nome` = 'Inizio orario lavorativo';
UPDATE `zz_settings` SET `nome` = 'Ora fine sul calendario' WHERE `zz_settings`.`nome` = 'Fine orario lavorativo';
UPDATE `zz_settings` SET `nome` = 'Formato codice attività' WHERE `zz_settings`.`nome` = 'Formato codice intervento';
-- Flag per decisere se continuare attraverso gli anni la numerazione delle attività sulla base dello stesso contatore
INSERT INTO `zz_settings` (`id`, `nome`, `valore`, `tipo`, `editable`, `sezione`, `help`) VALUES (NULL, 'Continua la numerazione', '0', 'boolean', '1', 'Interventi', 'Continua attraverso gli anni la numerazione delle attività sulla base dello stesso contatore.');
INSERT INTO `zz_settings` (`id`, `nome`, `valore`, `tipo`, `editable`, `sezione`, `help`) VALUES (NULL, 'Ingnora il periodo temporale per il calcolo del codice attività', '0', 'boolean', '1', 'Interventi', 'Continua attraverso gli anni la numerazione delle attività sulla base dello stesso contatore.');
-- Inizio orario lavorativo
INSERT INTO `zz_settings` (`id`, `nome`, `valore`, `tipo`, `editable`, `sezione`, `help`) VALUES (NULL, 'Inizio orario lavorativo', '08:00:00', 'time', '1', 'Interventi', 'Inizio dell''orario lavorativo standard.');
-- Fine orario lavorativo
INSERT INTO `zz_settings` (`id`, `nome`, `valore`, `tipo`, `editable`, `sezione`, `help`) VALUES (NULL, 'Fine orario lavorativo', '18:00:00', 'time', '1', 'Interventi', 'Fine dell''orario lavorativo standard.');
-- Giorni lavorativi
INSERT INTO `zz_settings` (`id`, `nome`, `valore`, `tipo`, `editable`, `sezione`,`help`) VALUES (NULL, 'Giorni lavorativi', 'Lunedì,Martedì,Mercoledì,Giovedì,Venerdì', 'multiple[Lunedì,Martedì,Mercoledì,Giovedì,Venerdì,Sabato,Domenica]', '1', 'Interventi', '');
ALTER TABLE `zz_settings` CHANGE `help` `help` TEXT;
UPDATE `zz_settings` SET `help` = '<p>Impostare la maschera senza indicare l''anno per evitare il reset del contatore.</p><ul><li><b>####</b>: Numero progressivo del documento, con zeri non significativi per raggiungere il numero desiderato di caratteri</li><li><b>YYYY</b>: Anno corrente a 4 cifre</li><li><b>yy</b>: Anno corrente a 2 cifre</li></ul>' WHERE `zz_settings`.`nome` = 'Formato codice preventivi';
UPDATE `zz_hooks` SET `name` = 'Aggiornamenti' WHERE `class` = 'Modules\Aggiornamenti\UpdateHook';

View File

@ -200,17 +200,17 @@ $dbo->query('ALTER TABLE `in_interventi` DROP `sconto_globale`, DROP `tipo_scont
// File e cartelle deprecate
$files = [
'plugins/xml/AT_v1.0.xml',
'plugins/xml/DT_v1.0.xml',
'plugins/xml/EC_v1.0.xml',
'plugins/xml/MC_v1.0.xml',
'plugins/xml/MT_v1.0.xml',
'plugins/xml/NE_v1.0.xml',
'plugins/xml/NS_v1.0.xml',
'plugins/xml/RC_v1.0.xml',
'plugins/xml/SE_v1.0.xml',
'plugins/exportFE/view.php',
'plugins/exportFE/src/stylesheet-1.2.1.xsl',
'plugins\xml\AT_v1.0.xml',
'plugins\xml\DT_v1.0.xml',
'plugins\xml\EC_v1.0.xml',
'plugins\xml\MC_v1.0.xml',
'plugins\xml\MT_v1.0.xml',
'plugins\xml\NE_v1.0.xml',
'plugins\xml\NS_v1.0.xml',
'plugins\xml\RC_v1.0.xml',
'plugins\xml\SE_v1.0.xml',
'plugins\exportFE\view.php',
'plugins\exportFE\src\stylesheet-1.2.1.xsl',
];
foreach ($files as $key => $value) {

View File

@ -4,7 +4,6 @@ namespace Update\v2_4_10;
use Common\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
use Modules\Fatture\Fattura;
use Modules\TipiIntervento\Tipo as TipoSessione;
use Settings;
use Traits\RecordTrait;