Skip to content

Commit b2670a1

Browse files
committed
refactor: miglioria grafica modulo Stato dei servizi
1 parent c97e90c commit b2670a1

6 files changed

Lines changed: 213 additions & 179 deletions

File tree

modules/stato_servizi/edit.php

Lines changed: 88 additions & 73 deletions
Original file line numberDiff line numberDiff line change
@@ -32,38 +32,40 @@
3232
echo '
3333
<!-- Informazioni sui Servizi attivi -->
3434
<div class="col-md-12 col-lg-6">
35-
<div class="card card-primary">
35+
<div class="card card-primary card-outline">
3636
<div class="card-header">
37-
<h3 class="card-title">
38-
'.tr('Servizi').'
39-
</h3>
37+
<div class="card-title">
38+
<i class="fa fa-cogs mr-2"></i>'.tr('Servizi').'
39+
</div>
4040
</div>
4141
42-
<div class="card-body">';
42+
<div class="card-body p-0">';
4343

4444
$servizi = Services::getServiziAttivi()->flatten(1);
4545
if (!$servizi->isEmpty()) {
4646
echo '
47-
<table class="card-body table table-striped table-hover table-sm">
47+
<table class="table table-hover table-striped table-sm mb-0">
4848
<thead>
4949
<tr>
50-
<th width="50%">'.tr('Nome').'</th>
51-
<th>'.tr('Tipo').'</th>
52-
<th width="30%">'.tr('Scadenza').'</th>
53-
<th width="10%" class="text-center" >'.tr('#').'</th>
50+
<th width="45%">'.tr('Nome').'</th>
51+
<th width="20%">'.tr('Tipo').'</th>
52+
<th width="25%">'.tr('Scadenza').'</th>
53+
<th width="10%" class="text-center">'.tr('#').'</th>
5454
</tr>
5555
</thead>
5656
5757
<tbody>';
5858
foreach ($servizi as $servizio) {
5959
$scadenza = Carbon::parse($servizio['data_conclusione']);
60+
$status_class = $scadenza->lessThan(Carbon::now()) ? 'table-danger' : ($scadenza->lessThan($limite_scadenze) ? 'table-warning' : '');
61+
$status_icon = $scadenza->lessThan(Carbon::now()) ? '<i class="fa fa-exclamation-circle text-danger mr-1"></i>' : ($scadenza->lessThan($limite_scadenze) ? '<i class="fa fa-clock-o text-warning mr-1"></i>' : '');
6062

6163
echo '
62-
<tr class="'.($scadenza->lessThan(Carbon::now()) ? 'danger' : ($scadenza->lessThan($limite_scadenze) ? 'warning' : '')).'">
63-
<td>'.$servizio['codice'].' - '.$servizio['nome'].'</td>
64+
<tr class="'.$status_class.'">
65+
<td><strong>'.$servizio['codice'].'</strong> - '.$servizio['nome'].'</td>
6466
<td>'.$servizio['sottocategoria'].'</td>
65-
<td>'.dateFormat($scadenza).' ('.$scadenza->diffForHumans().')</td>
66-
<td class="text-center" >
67+
<td>'.$status_icon.dateFormat($scadenza).' <small class="text-muted">('.$scadenza->diffForHumans().')</small></td>
68+
<td class="text-center">
6769
<input type="checkbox" class="check_rinnova '.($scadenza->lessThan($limite_scadenze) ? '' : 'hide').'" name="rinnova[]" value="'.$servizio['codice'].'">
6870
</td>
6971
</tr>';
@@ -75,8 +77,8 @@
7577
echo ' </tbody>
7678
<tfoot>
7779
<tr>
78-
<td colspan="4">
79-
<a type="button" href="https://marketplace.devcode.it/" target="_blank" id="btn_rinnova" class="btn btn-xs btn-primary pull-right disabled" ><i class="fa fa-shopping-cart"></i> '.tr('Rinnova').'</a>
80+
<td colspan="4" class="text-right">
81+
<a href="https://marketplace.devcode.it/" target="_blank" id="btn_rinnova" class="btn btn-sm btn-primary disabled"><i class="fa fa-shopping-cart mr-1"></i>'.tr('Rinnova').'</a>
8082
</td>
8183
</tr>
8284
</tfoot>';
@@ -86,8 +88,8 @@
8688
</table>';
8789
} else {
8890
echo '
89-
<div class="alert alert-info" role="alert">
90-
<i class="fa fa-info"></i> '.tr('Nessun servizio abilitato al momento').'.
91+
<div class="alert alert-info m-3">
92+
<i class="fa fa-info-circle mr-2"></i>'.tr('Nessun servizio abilitato al momento').'.
9193
</div>';
9294
}
9395

@@ -98,14 +100,14 @@
98100
99101
<!-- Informazioni sulle Risorse API -->
100102
<div class="col-md-12 col-lg-6">
101-
<div class="card card-primary">
103+
<div class="card card-primary card-outline">
102104
<div class="card-header">
103-
<h3 class="card-title">
104-
'.tr('Risorse').'
105-
</h3>
105+
<div class="card-title">
106+
<i class="fa fa-cubes mr-2"></i>'.tr('Risorse').'
107+
</div>
106108
</div>
107109
108-
<div class="card-body">';
110+
<div class="card-body p-0">';
109111

110112
// Elaborazione delle risorse API in scadenza
111113
$risorse_attive = Services::getRisorseAttive();
@@ -116,43 +118,53 @@
116118
if (!$risorse_in_scadenza->isEmpty() || !$risorse_scadute->isEmpty()) {
117119
if (!$risorse_scadute->isEmpty()) {
118120
echo '
119-
<div class="alert alert-danger" role="alert"> <i class="fa fa-exclamation-triangle"></i> '.tr('Attenzione, alcune risorse sono scadute o hanno esaurito i crediti:', [
121+
<div class="alert alert-danger m-3 mb-0">
122+
<i class="fa fa-exclamation-triangle mr-2"></i>'.tr('Attenzione, alcune risorse sono scadute o hanno esaurito i crediti:', [
120123
'_NUM_' => $risorse_scadute->count(),
121-
]).'</div>';
124+
]).'
125+
</div>';
122126
}
123127

124128
if (!$risorse_in_scadenza->isEmpty()) {
125129
echo '
126-
<div class="alert alert-warning" role="alert"> <i class="fa fa-clock-o"></i> '.tr('Attenzione, alcune risorse sono in scadenza o stanno per esaurire i crediti:', [
130+
<div class="alert alert-warning m-3 mb-0">
131+
<i class="fa fa-clock-o mr-2"></i>'.tr('Attenzione, alcune risorse sono in scadenza o stanno per esaurire i crediti:', [
127132
'_NUM_' => $risorse_in_scadenza->count(),
128-
]).'</div>';
133+
]).'
134+
</div>';
129135
}
130136
} else {
131137
/*echo '
132-
<div class="alert alert-success" role="alert"> <i class="fa fa-check-circle"></i> '.tr('Bene, tutte le risorse sono attive e non presentano avvisi:', [
138+
<div class="alert alert-success m-3 mb-0">
139+
<i class="fa fa-check-circle mr-2"></i>'.tr('Bene, tutte le risorse sono attive e non presentano avvisi:', [
133140
'_NUM_' => $risorse_attive->count(),
134-
]).'</div>';*/
141+
]).'
142+
</div>';*/
135143
}
136144

137145
echo '
138-
<table class="card-body table table-striped table-hover table-sm">
146+
<table class="table table-hover table-striped table-sm mb-0">
139147
<thead>
140148
<tr>
141-
<th width="50%">'.tr('Nome').'</th>
142-
<th>'.tr('Crediti').'</th>
143-
<th width="30%">'.tr('Scadenza').'</th>
149+
<th width="45%">'.tr('Nome').'</th>
150+
<th width="20%">'.tr('Crediti').'</th>
151+
<th width="35%">'.tr('Scadenza').'</th>
144152
</tr>
145153
</thead>
146-
154+
147155
<tbody>';
148156

149157
foreach ($risorse_attive as $servizio) {
150158
$scadenza = Carbon::parse($servizio['expiration_at']);
159+
$status_class = $scadenza->lessThan(Carbon::now()) ? 'table-danger' : ($scadenza->lessThan($limite_scadenze) ? 'table-warning' : '');
160+
$status_icon = $scadenza->lessThan(Carbon::now()) ? '<i class="fa fa-exclamation-circle text-danger mr-1"></i>' : ($scadenza->lessThan($limite_scadenze) ? '<i class="fa fa-clock-o text-warning mr-1"></i>' : '');
161+
$credits_warning = ($servizio['credits'] < 100 && $servizio['credits'] !== null);
162+
151163
echo '
152-
<tr class="'.($scadenza->lessThan(Carbon::now()) ? 'danger' : ($scadenza->lessThan($limite_scadenze) ? 'warning' : '')).'">
153-
<td>'.$servizio['name'].'</td>
154-
<td>'.(($servizio['credits'] < 100 && $servizio['credits'] !== null) ? '<b><i class="fa fa-warning text-warning" ></i> ' : '').($servizio['credits'] ?? '-').(($servizio['credits'] < 100 && $servizio['credits'] !== null) ? '</b>' : '').'</td>
155-
<td>'.((Carbon::now()->diffInDays($scadenza, false) < $days && $scadenza) ? '<b><i class="fa fa-warning text-warning" ></i> ' : '').dateFormat($scadenza).' ('.$scadenza->diffForHumans().')'.((Carbon::now()->diffInDays($scadenza, false) < $days && $scadenza) ? '</b>' : '').'</td>
164+
<tr class="'.$status_class.'">
165+
<td><strong>'.$servizio['name'].'</strong></td>
166+
<td>'.($credits_warning ? '<i class="fa fa-exclamation-triangle text-warning mr-1"></i>' : '').($servizio['credits'] ?? '-').'</td>
167+
<td>'.$status_icon.dateFormat($scadenza).' <small class="text-muted">('.$scadenza->diffForHumans().')</small></td>
156168
</tr>';
157169
}
158170

@@ -165,8 +177,11 @@
165177
if (Services::getRisorseAttive()->where('name', 'Fatturazione Elettronica')->count()) {
166178
echo '
167179
168-
<div class="card card-primary">
169-
<div class="card-header" > <i class="fa fa-bar-chart"></i> '.tr('Statistiche su Fatture Elettroniche').'
180+
<div class="card card-primary card-outline mt-3">
181+
<div class="card-header">
182+
<div class="card-title">
183+
<i class="fa fa-bar-chart mr-2"></i>'.tr('Statistiche su Fatture Elettroniche').'
184+
</div>
170185
</div>
171186
172187
<div class="card-body">
@@ -226,8 +241,8 @@
226241
}
227242
} else {
228243
echo '
229-
<div class="alert alert-info" role="alert">
230-
<i class="fa fa-info"></i> '.tr('Nessuna risorsa Services abilitata').'.
244+
<div class="alert alert-info m-3">
245+
<i class="fa fa-info-circle mr-2"></i>'.tr('Nessuna risorsa Services abilitata').'.
231246
</div>
232247
</div>';
233248
}
@@ -239,53 +254,53 @@
239254

240255
echo '
241256
</div>
242-
<div class="row">
257+
<div class="row mt-3">
243258
<div class="col-md-12 col-lg-6">
244-
<div class="card card-info">
259+
<div class="card card-info card-outline">
245260
<div class="card-header">
246-
<h3 class="card-title">
247-
'.tr('Moduli disponibili').'
248-
</h3>
261+
<div class="card-title">
262+
<i class="fa fa-puzzle-piece mr-2"></i>'.tr('Moduli disponibili').'
263+
</div>
249264
</div>
250265
251-
<div class="card-body" id="moduli">
266+
<div class="card-body p-0" id="moduli">
252267
</div>
253268
</div>
254269
</div>';
255270

256271
// Widgets + Hooks + Sessioni
257272
echo '
258273
<div class="col-md-12 col-lg-6">
259-
<div class="card card-info">
274+
<div class="card card-info card-outline">
260275
<div class="card-header">
261-
<h3 class="card-title">
262-
'.tr('Widget disponibili').'
263-
</h3>
276+
<div class="card-title">
277+
<i class="fa fa-th mr-2"></i>'.tr('Widget disponibili').'
278+
</div>
264279
</div>
265280
266-
<div class="card-body" id="widget">
281+
<div class="card-body p-0" id="widget">
267282
</div>
268283
</div>
269284
270-
<div class="card card-info">
285+
<div class="card card-info card-outline mt-3">
271286
<div class="card-header">
272-
<h3 class="card-title">
273-
'.tr('Hooks disponibili').'
274-
</h3>
287+
<div class="card-title">
288+
<i class="fa fa-link mr-2"></i>'.tr('Hooks disponibili').'
289+
</div>
275290
</div>
276291
277-
<div class="card-body" id="hook">
292+
<div class="card-body p-0" id="hook">
278293
</div>
279294
</div>
280295
281-
<div class="card card-info">
296+
<div class="card card-info card-outline mt-3">
282297
<div class="card-header">
283-
<h3 class="card-title">
284-
'.tr('Sessioni attive durante ultimi _MINUTI_ minuti', ['_MINUTI_' => setting('Timeout notifica di presenza (minuti)')]).'
285-
</h3>
298+
<div class="card-title">
299+
<i class="fa fa-users mr-2"></i>'.tr('Sessioni attive durante ultimi _MINUTI_ minuti', ['_MINUTI_' => setting('Timeout notifica di presenza (minuti)')]).'
300+
</div>
286301
</div>
287302
288-
<div class="card-body" id="sessioni">
303+
<div class="card-body p-0" id="sessioni">
289304
</div>
290305
</div>
291306
@@ -297,11 +312,11 @@
297312
<script>
298313
299314
$(".check_rinnova").each(function() {
300-
315+
301316
var len = 0;
302317
303318
input(this).change(function() {
304-
319+
305320
len = $("input[type=checkbox]:checked.check_rinnova").length;
306321
307322
if (len>0){
@@ -324,7 +339,7 @@ function aggiornaStatisticheFE(){
324339
},
325340
success: function (response) {
326341
$("#fe_numero").html(response.invoice_number);
327-
342+
328343
$("#fe_spazio").html(response.spazio_occupato);
329344
330345
// Informazioni sullo spazio occupato
@@ -341,7 +356,7 @@ function aggiornaStatisticheFE(){
341356
342357
if (response.spazio_totale){
343358
$("#fe_spazio").html($("#fe_spazio").html() + " / " + response.spazio_totale);
344-
359+
345360
if (response.spazio_occupato>response.spazio_totale && response.avviso_spazio){
346361
$("#fe_spazio").html("<span style=\"font-weight:bold;\" ><i class=\"fa fa-warning text-warning\" ></i> " + $("#fe_spazio").html() + "</span>");
347362
}
@@ -350,22 +365,22 @@ function aggiornaStatisticheFE(){
350365
if (response.spazio_occupato<response.spazio_totale){
351366
$("#spazio-fe-icon").addClass("fa fa-clock-o");
352367
$("#spazio-fe").addClass("alert-warning");
353-
$("#spazio-fe-text").html("'.tr('in esaurimento').'");
368+
$("#spazio-fe-text").html("'.tr('in esaurimento').'");
354369
}
355370
else if (response.spazio_occupato>=response.spazio_totale){
356371
$("#spazio-fe-icon").addClass("fa fa-warning");
357372
$("#spazio-fe").addClass("alert-danger");
358373
$("#spazio-fe-text").html("'.tr('terminato').'");
359374
}
360375
}
361-
376+
362377
if (response.history.length) {
363378
364379
for (let i = 0; i < response.history.length; i++) {
365-
380+
366381
const data = response.history[i];
367382
if (data["year"] == '.date('Y').'){
368-
383+
369384
var highlight = "<tr class=\"info\" >";
370385
var number = data["number"];
371386
@@ -386,7 +401,7 @@ function aggiornaStatisticheFE(){
386401
if (number<response.maxNumber){
387402
$("#numero-fe-icon").addClass("fa fa-clock-o");
388403
$("#numero-fe").addClass("alert-warning");
389-
$("#numero-fe-text").html("'.tr('in esaurimento').'");
404+
$("#numero-fe-text").html("'.tr('in esaurimento').'");
390405
}
391406
else if (number>=response.maxNumber){
392407
$("#numero-fe-icon").addClass("fa fa-warning");
@@ -405,7 +420,7 @@ function aggiornaStatisticheFE(){
405420
<td>` + data["number"] + `</td>
406421
<td>` + data["size"] + `</td>
407422
</tr>`);
408-
423+
409424
}
410425
}
411426
}

0 commit comments

Comments
 (0)