Set data fine sessione in base al tipo intervento tempo standard

This commit is contained in:
MatteoPistorello 2022-02-15 16:56:20 +01:00
parent 6efe1e80d0
commit 499b5b01f0
4 changed files with 19 additions and 18 deletions

View File

@ -685,7 +685,7 @@ switch (post('op')) {
$ore = 1; $ore = 1;
$inizio = post('orario_inizio') ?: date('Y-m-d H:\0\0'); $inizio = post('orario_inizio') ?: date('Y-m-d H:\0\0');
$fine = post('orario_fine') ?: date_modify(date_create(date('Y-m-d H:\0\0')), '+'.$ore.' hours')->format('Y-m-d H:\0\0'); $fine = null;
add_tecnico($id_record, $id_tecnico, $inizio, $fine, $idcontratto); add_tecnico($id_record, $id_tecnico, $inizio, $fine, $idcontratto);
break; break;

View File

@ -36,7 +36,7 @@ $orario_inizio = filter('orario_inizio');
$orario_fine = filter('orario_fine'); $orario_fine = filter('orario_fine');
if (null == $orario_inizio || '00:00:00' == $orario_inizio) { if (null == $orario_inizio || '00:00:00' == $orario_inizio) {
$orario_inizio = date('H').':00:00'; $orario_inizio = date('H').':00:00';
$orario_fine = date('H', time() + 60 * 60).':00:00'; $orario_fine = date('H').':00:00';
} }
// Un utente del gruppo Tecnici può aprire attività solo a proprio nome // Un utente del gruppo Tecnici può aprire attività solo a proprio nome
@ -197,7 +197,7 @@ echo '
</div> </div>
<div class="col-md-4"> <div class="col-md-4">
{[ "type": "select", "label": "'.tr('Tipo').'", "name": "idtipointervento", "required": 1, "values": "query=SELECT idtipointervento AS id, descrizione FROM in_tipiintervento ORDER BY descrizione ASC", "value": "'.$id_tipo.'", "ajax-source": "tipiintervento" ]} {[ "type": "select", "label": "'.tr('Tipo').'", "name": "idtipointervento", "required": 1, "value": "'.$id_tipo.'", "ajax-source": "tipiintervento" ]}
</div> </div>
<div class="col-md-4"> <div class="col-md-4">
@ -571,24 +571,18 @@ echo '
input("componenti").setDisabled(!$(this).val()) input("componenti").setDisabled(!$(this).val())
.getElement().selectReset(); .getElement().selectReset();
});'; });
if (filter('orario_fine') !== null) { // Automatismo del tempo standard
echo '
// Automatismo del tempo standard
input("idtipointervento").change(function() { input("idtipointervento").change(function() {
let data = $(this).selectData(); let data = $("#idtipointervento").selectData();
if (data && data.tempo_standard > 0) { if (data && data.tempo_standard > 0) {
let orario_inizio = input("orario_inizio").get(); let orario_inizio = input("orario_inizio").get();
let tempo_standard = data.tempo_standard * 60;
if (moment(orario_inizio, globals.timestamp_format, globals.locale).isValid()) { let nuovo_orario_fine = moment(orario_inizio, "DD/MM/YYYY HH:mm").add(tempo_standard, "m").format("DD/MM/YYYY HH:mm");
let tempo_standard = data.tempo_standard * 60; input("orario_fine").set(nuovo_orario_fine);
let nuovo_orario_fine = moment(orario_inizio).add(tempo_standard, "m"); }
input("orario_fine").set(moment(nuovo_orario_fine).format(globals.timestamp_format)); });';
}
}
});';
}
if (!$origine_dashboard) { if (!$origine_dashboard) {
echo ' echo '

View File

@ -65,6 +65,10 @@ class Sessione extends Model
$tipo_sessione = TipoSessione::find($id_tipo); $tipo_sessione = TipoSessione::find($id_tipo);
$model->tipo()->associate($tipo_sessione); $model->tipo()->associate($tipo_sessione);
if (empty($fine)) {
$fine = date_modify(date_create($inizio), '+'.($tipo_sessione->tempo_standard*60).' minutes')->format('Y-m-d H:i');
}
$model->orario_inizio = $inizio; $model->orario_inizio = $inizio;
$model->orario_fine = $fine; $model->orario_fine = $fine;

View File

@ -10,3 +10,6 @@ UPDATE `zz_modules` SET `options` = 'SELECT |select| FROM `co_scadenziario`\nLEF
INSERT INTO `zz_views` (`id_module`, `name`, `query`, `order`, `search`, `slow`, `format`, `search_inside`, `order_by`, `visible`, `summable`, `default`) VALUES INSERT INTO `zz_views` (`id_module`, `name`, `query`, `order`, `search`, `slow`, `format`, `search_inside`, `order_by`, `visible`, `summable`, `default`) VALUES
((SELECT `id` FROM `zz_modules` WHERE `name` = 'Scadenzario'), 'icon_Inviato', 'IF(`email`.`id_email` IS NOT NULL, ''fa fa-envelope text-success'', '''')', 16, 1, 0, 0, '', '', 1, 0, 1), ((SELECT `id` FROM `zz_modules` WHERE `name` = 'Scadenzario'), 'icon_Inviato', 'IF(`email`.`id_email` IS NOT NULL, ''fa fa-envelope text-success'', '''')', 16, 1, 0, 0, '', '', 1, 0, 1),
((SELECT `id` FROM `zz_modules` WHERE `name` = 'Scadenzario'), 'icon_title_Inviato', 'IF(`email`.`id_email` IS NOT NULL, ''Inviato'', '''')', 17, 1, 0, 0, '', '', 0, 0, 1); ((SELECT `id` FROM `zz_modules` WHERE `name` = 'Scadenzario'), 'icon_title_Inviato', 'IF(`email`.`id_email` IS NOT NULL, ''Inviato'', '''')', 17, 1, 0, 0, '', '', 0, 0, 1);
-- Set tipo intervento tempo_standard = 1
UPDATE `in_tipiintervento` SET `tempo_standard` = '1' WHERE `in_tipiintervento`.`tempo_standard` = 0 OR `in_tipiintervento`.`tempo_standard` IS NULL;