Skip to content

Commit ac4ab17

Browse files
committed
refactor: spostamento rinnovi in edit contratti
1 parent 54bbf8b commit ac4ab17

3 files changed

Lines changed: 52 additions & 49 deletions

File tree

modules/contratti/actions.php

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,12 @@
111111
$contratto->codice_cig = post('codice_cig');
112112
$contratto->codice_cup = post('codice_cup');
113113

114+
// Salvataggio informazioni sul rinnovo
115+
$contratto->rinnovabile = post('rinnovabile');
116+
$contratto->rinnovo_automatico = post('rinnovo_automatico');
117+
$contratto->giorni_preavviso_rinnovo = post('giorni_preavviso_rinnovo');
118+
$contratto->ore_preavviso_rinnovo = post('ore_preavviso_rinnovo');
119+
114120
$contratto->setScontoFinale(post('sconto_finale'), post('tipo_sconto_finale'));
115121
$contratto->idtipointervento = post('idtipointervento');
116122

@@ -155,16 +161,6 @@
155161

156162
break;
157163

158-
case 'update_rinnovo':
159-
$contratto->rinnovabile = post('rinnovabile');
160-
$contratto->rinnovo_automatico = post('rinnovo_automatico');
161-
$contratto->giorni_preavviso_rinnovo = post('giorni_preavviso_rinnovo');
162-
$contratto->ore_preavviso_rinnovo = post('ore_preavviso_rinnovo');
163-
$contratto->save();
164-
flash()->info(tr('Contratto modificato correttamente!'));
165-
166-
break;
167-
168164
// Duplica contratto
169165
case 'copy':
170166
$new = $contratto->replicate(['idcontratto_prev']);

modules/contratti/edit.php

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -168,6 +168,24 @@
168168
</div>
169169
</div>
170170

171+
<div class="row">
172+
<div class="col-md-3">
173+
{[ "type": "checkbox", "label": "<?php echo tr('Rinnovabile'); ?>", "name": "rinnovabile", "help": "<?php echo tr('Il contratto è rinnovabile?'); ?>", "value": "$rinnovabile$", "class": "unblockable" ]}
174+
</div>
175+
176+
<div class="col-md-3 rinnovo-field" <?php echo $record['rinnovabile'] ? '' : 'style="display:none;"'; ?>>
177+
{[ "type": "checkbox", "label": "<?php echo tr('Tacito rinnovo'); ?>", "name": "rinnovo_automatico", "help": "<?php echo tr('Il contratto può essere rinnovato senza chiedere conferma al cliente alla scadenza, questa impostazione non implica nessun automatismo di rinnovo.'); ?>", "value": "$rinnovo_automatico$", "disabled": <?php echo $record['rinnovabile'] ? 0 : 1; ?>, "class": "unblockable" ]}
178+
</div>
179+
180+
<div class="col-md-3 rinnovo-field" <?php echo $record['rinnovabile'] ? '' : 'style="display:none;"'; ?>>
181+
{[ "type": "number", "label": "<?php echo tr('Preavviso per rinnovo'); ?>", "name": "giorni_preavviso_rinnovo", "decimals": "2", "value": "$giorni_preavviso_rinnovo$", "icon-after": "giorni", "disabled": <?php echo $record['rinnovabile'] ? 0 : 1; ?>, "class": "unblockable" ]}
182+
</div>
183+
184+
<div class="col-md-3 rinnovo-field" <?php echo $record['rinnovabile'] ? '' : 'style="display:none;"'; ?>>
185+
{[ "type": "number", "label": "<?php echo tr('Ore rimanenti rinnovo'); ?>", "name": "ore_preavviso_rinnovo", "decimals": "2", "value": "$ore_preavviso_rinnovo$", "icon-after": "ore", "disabled": <?php echo $record['rinnovabile'] ? 0 : 1; ?>, "help": "<?php echo tr('Ore residue nel contratto prima di visualizzare una avviso per un eventuale rinnovo anticipato.'); ?>", "class": "unblockable" ]}
186+
</div>
187+
</div>
188+
171189
<div class="row">
172190
<div class="col-md-4">
173191
{[ "type": "textarea", "label": "<?php echo tr('Esclusioni'); ?>", "name": "esclusioni", "class": "autosize", "value": "$esclusioni$", "extra": "rows='5'" ]}
@@ -682,4 +700,20 @@ function caricaRighe(id_riga) {
682700
683701
$("#id_sottocategoria").val(null).trigger("change");
684702
});
703+
704+
input("rinnovabile").on("change", function() {
705+
const disabled = parseInt($(this).val()) === 0;
706+
707+
// Disabilita i campi
708+
input("giorni_preavviso_rinnovo").setDisabled(disabled);
709+
input("ore_preavviso_rinnovo").setDisabled(disabled);
710+
input("rinnovo_automatico").setDisabled(disabled);
711+
712+
// Mostra/nascondi i campi
713+
if (disabled) {
714+
$(".rinnovo-field").hide();
715+
} else {
716+
$(".rinnovo-field").show();
717+
}
718+
});
685719
</script>';

plugins/rinnovi_contratti/edit.php

Lines changed: 12 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -25,45 +25,9 @@
2525
$id_contratto_precedente = $record['idcontratto_prev'];
2626
$module = Module::find($id_module);
2727

28-
echo '
29-
<form action="" method="post" id="rinnovo-form">
30-
<input type="hidden" name="backto" value="record-edit">
31-
<input type="hidden" name="op" value="update_rinnovo">
32-
<input type="hidden" name="id_record" value="'.$id_record.'">
33-
34-
<div class="card card-primary">
35-
<div class="card-header">
36-
<h3 class="card-title">'.tr('Informazioni per rinnovo').'</h3>
37-
</div>
38-
39-
<div class="card-body">
40-
<div class="row">
41-
<div class="col-md-3">
42-
{[ "type": "checkbox", "label": "'.tr('Rinnovabile').'", "name": "rinnovabile", "help": "'.tr('Il contratto è rinnovabile?').'", "value": "$rinnovabile$" ]}
43-
</div>
44-
45-
<div class="col-md-3">
46-
{[ "type": "checkbox", "label": "'.tr('Tacito rinnovo').'", "name": "rinnovo_automatico", "help": "'.tr('Il contratto è da rinnovare automaticamente alla scadenza').'", "value": "$rinnovo_automatico$", "disabled": '.($record['rinnovabile'] ? 0 : 1).' ]}
47-
</div>
48-
49-
<div class="col-md-3">
50-
{[ "type": "number", "label": "'.tr('Preavviso per rinnovo').'", "name": "giorni_preavviso_rinnovo", "decimals": "2", "value": "$giorni_preavviso_rinnovo$", "icon-after": "giorni", "disabled": '.($record['rinnovabile'] ? 0 : 1).' ]}
51-
</div>
52-
53-
<div class="col-md-3">
54-
{[ "type": "number", "label": "'.tr('Ore rimanenti rinnovo').'", "name": "ore_preavviso_rinnovo", "decimals": "2", "value": "$ore_preavviso_rinnovo$", "icon-after": "ore", "disabled": '.($record['rinnovabile'] ? 0 : 1).', "help": "'.tr('Ore residue nel contratto prima di visualizzare una avviso per un eventuale rinnovo anticipato.').'" ]}
55-
</div>
56-
</div>
57-
58-
<div class="col-md-12 text-right">
59-
<button type="submit" class="btn btn-success"><i class="fa fa-check"></i> '.tr('Salva').'</button>
60-
</div>
61-
</div>
62-
</div>
63-
</form>';
64-
6528
if (!empty($id_contratto_precedente)) {
6629
echo '
30+
<h4>'.tr('Storico rinnovi').'</h4>
6731
<table class="table table-hover table-sm table-bordered table-striped">
6832
<thead>
6933
<tr>
@@ -75,6 +39,11 @@
7539
</thead>
7640
7741
<tbody>';
42+
} else {
43+
echo '
44+
<div class="alert alert-info">
45+
<i class="fa fa-info-circle"></i> '.tr('Non sono presenti voci da visualizzare nello storico dei rinnovi.').'
46+
</div>';
7847
}
7948

8049
$counter = 0;
@@ -97,10 +66,14 @@
9766
$id_contratto_precedente = $rs[0]['idcontratto_prev'];
9867
}
9968

100-
echo '
69+
// Chiudo la tabella solo se ci sono record da visualizzare
70+
if (!empty($record['idcontratto_prev'])) {
71+
echo '
10172
</tbody>
102-
</table>
73+
</table>';
74+
}
10375

76+
echo '
10477
<script type="text/javascript">
10578
input("rinnovabile").on("change", function() {
10679
const disabled = parseInt($(this).val()) === 0;

0 commit comments

Comments
 (0)