3333 </button>
3434</div>
3535
36+ <script src=" ' .base_path ().'/modules/aggiornamenti/src/utils.js"></script>
37+
3638<div id="progress" style="display:none;">
3739 <div class="progress" data-percentage="0%">
3840 <div class="progress-bar" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="width:0%">
@@ -246,24 +248,17 @@ function avviaControllo(controllo) {
246248 avviaBtn.hide();
247249
248250 // Aggiorna il colore della card header in base ai risultati
249- // Rimuovi le classi precedenti
250- headerElement.removeClass("requirements-card-header-success requirements-card-header-info requirements-card-header-warning requirements-card-header-danger");
251- titleElement.removeClass("requirements-card-title-success requirements-card-title-info requirements-card-title-warning requirements-card-title-danger");
252- cardElement.removeClass("card-success card-info card-warning card-danger");
251+ removeColorClasses(headerElement);
252+ removeTitleColorClasses(titleElement);
253+ removeCardColorClasses(cardElement);
253254
254255 if (success) {
255256 // Se il test è positivo (nessun avviso), colore success
256- headerElement.addClass("requirements-card-header-success");
257- titleElement.addClass("requirements-card-title-success");
258- cardElement.addClass("card-success");
259-
260- // Aggiorna icona a check-circle
261- let iconElement = titleElement.find(".requirements-icon");
262- iconElement.removeClass("fa-info-circle fa-exclamation-circle fa-times-circle");
263- iconElement.addClass("fa-check-circle");
257+ let colorClasses = determineCardClasses(0, 0, 0);
258+ applyCardColorClasses(headerElement, titleElement, cardElement, colorClasses);
264259
265260 // Pulisci il body e mostra il messaggio di successo
266- bodyElement.html(`<p class="text-muted"> ' .tr ('Nessun problema rilevato ' ).'</p>`);
261+ bodyElement.css( \' padding \' , \' 10px 12px \' ). html(`<p class="text-muted"> ' .tr ('Nessun problema rilevato ' ).'</p>`);
267262
268263 // Rimuovi la badge se presente
269264 titleElement.find(".badge").remove();
@@ -276,29 +271,8 @@ function avviaControllo(controllo) {
276271 let orphanFiles = records.filter(r => r.tipo === "file_orfano");
277272 let orphanRecords = records.filter(r => r.tipo === "file_mancante");
278273
279- let headerColorCls = "requirements-card-header-info";
280- let titleColorCls = "requirements-card-title-info";
281- let cardColorCls = "card-info";
282-
283- if (orphanRecords.length > 0) {
284- headerColorCls = "requirements-card-header-warning";
285- titleColorCls = "requirements-card-title-warning";
286- cardColorCls = "card-warning";
287- }
288-
289- // Aggiungi le nuove classi in base al tipo di badge
290- headerElement.addClass(headerColorCls);
291- titleElement.addClass(titleColorCls);
292- cardElement.addClass(cardColorCls);
293-
294- // Aggiorna icona in base al colore
295- let iconElement = titleElement.find(".requirements-icon");
296- iconElement.removeClass("fa-info-circle fa-exclamation-circle fa-warning fa-times-circle");
297- if (orphanRecords.length > 0) {
298- iconElement.addClass("fa-exclamation-circle");
299- } else {
300- iconElement.addClass("fa-info-circle");
301- }
274+ let colorClasses = determineCardClasses(0, orphanRecords.length > 0 ? 1 : 0, orphanFiles.length > 0 ? 1 : 0);
275+ applyCardColorClasses(headerElement, titleElement, cardElement, colorClasses);
302276
303277 // Ordina per gravita: warning prima di info
304278 if (orphanRecords.length > 0) {
@@ -342,22 +316,8 @@ function avviaControllo(controllo) {
342316 });
343317
344318 // Aggiungi le nuove classi in base al tipo di badge piu grave
345- let iconElement = titleElement.find(".requirements-icon");
346- iconElement.removeClass("fa-info-circle fa-exclamation-circle fa-warning fa-times-circle");
347-
348- if (hasDanger) {
349- headerElement.addClass("requirements-card-header-danger");
350- titleElement.addClass("requirements-card-title-danger");
351- cardElement.addClass("card-danger");
352- iconElement.addClass("fa-times-circle");
353- } else if (hasWarning) {
354- headerElement.addClass("requirements-card-header-warning");
355- titleElement.addClass("requirements-card-title-warning");
356- cardElement.addClass("card-warning");
357- iconElement.addClass("fa-exclamation-circle");
358- } else {
359- iconElement.addClass("fa-info-circle");
360- }
319+ let colorClasses = determineCardClasses(hasDanger ? 1 : 0, hasWarning ? 1 : 0, 0);
320+ applyCardColorClasses(headerElement, titleElement, cardElement, colorClasses);
361321
362322 // Mostra le badge per tipo di avviso
363323 if (dangerCount > 0) {
@@ -369,34 +329,26 @@ function avviaControllo(controllo) {
369329 if (infoCount > 0) {
370330 titleElement.append(` <span class="badge badge-info ml-2">${infoCount}</span>`);
371331 }
372-
373- // Aggiungi le date di filtro in testo grigio
374- if (controllo["period_start"] && controllo["period_end"]) {
375- let dataInizio = new Date(controllo["period_start"]);
376- let dataFine = new Date(controllo["period_end"]);
377- let dataInizioFormattata = dataInizio.toLocaleDateString("it-IT");
378- let dataFineFormattata = dataFine.toLocaleDateString("it-IT");
379- titleElement.append(` <span style="color: #999; font-size: 0.9rem; margin-left: 10px;">${dataInizioFormattata} - ${dataFineFormattata}</span>`);
380- }
381332 } else {
382333 // Se ci sono avvisi, determina il tipo di badge piu grave
383334 let hasDanger = records.some(r => r.type === "danger");
384335 let hasWarning = records.some(r => r.type === "warning");
385336
386337 // Aggiungi le nuove classi in base al tipo di badge
387338 let iconElement = titleElement.find(".requirements-icon");
388- iconElement.removeClass("fa-info-circle fa-exclamation-circle fa-warning fa-times-circle");
339+ iconElement.removeClass("fa-info-circle fa-exclamation-circle fa-warning fa-times-circle fa-exclamation-triangle ");
389340
390341 if (hasDanger) {
391342 headerElement.addClass("requirements-card-header-danger");
392343 titleElement.addClass("requirements-card-title-danger");
393344 cardElement.addClass("card-danger");
394- iconElement.addClass("fa-times-circle");
345+ iconElement.addClass("fa-exclamation-triangle");
346+ iconElement.css("color", "#dc3545");
395347 } else if (hasWarning) {
396348 headerElement.addClass("requirements-card-header-warning");
397349 titleElement.addClass("requirements-card-title-warning");
398350 cardElement.addClass("card-warning");
399- iconElement.addClass("fa-exclamation-circle ");
351+ iconElement.addClass("fa-exclamation-triangle ");
400352 } else {
401353 iconElement.addClass("fa-info-circle");
402354 }
@@ -425,7 +377,7 @@ function avviaControllo(controllo) {
425377 </table>
426378 </div>`;
427379
428- bodyElement.html(bodyHTML);
380+ bodyElement.css( \' padding \' , \' 10px 12px \' ). html(bodyHTML);
429381
430382 // Pulisci la tabella e aggiungi i nuovi record
431383 let tbody = bodyElement.find("tbody");
@@ -674,7 +626,7 @@ function avviaControlloSingolo(id) {
674626 </table>
675627 </div>`;
676628
677- bodyElement.html(bodyHTML);
629+ bodyElement.css( \' padding \' , \' 10px 12px \' ). html(bodyHTML);
678630
679631 // Pulisci la tabella e aggiungi i nuovi record
680632 let tbody = bodyElement.find("tbody");
@@ -867,7 +819,7 @@ function initcard(controllo, success, records) {
867819 // Usa i colori determinati sopra
868820 let finalHeaderClass = headerClass;
869821 let finalTitleClass = titleClass;
870- let finalCssClass = cssClass + " requirements-card mb-3 collapsable collapsed-card";
822+ let finalCssClass = cssClass + " requirements-card mb-2 collapsable collapsed-card";
871823
872824 // Determina il colore della card in base al tipo di controllo
873825 let cardColorClass = "card-info";
@@ -917,7 +869,7 @@ function initcard(controllo, success, records) {
917869 if (records.length > 0) {
918870 finalHeaderClass = "requirements-card-header " + headerColorClass;
919871 finalTitleClass = "requirements-card-title " + titleColorClass;
920- finalCssClass = cardColorClass + " requirements-card mb-3 collapsable collapsed-card";
872+ finalCssClass = cardColorClass + " requirements-card mb-2 collapsable collapsed-card";
921873 }
922874
923875 let card = `<div class="card ` + finalCssClass + `" id="controllo-` + controllo["id"] + `" data-controllo-name="` + controllo["name"] + `" data-controllo-class="` + controllo["class"] + `">
@@ -952,7 +904,14 @@ function initcard(controllo, success, records) {
952904 card += ` <span class="badge badge-danger ml-2">${records.length}</span>`;
953905 }
954906
955- // Le date di filtro per il controllo DatiFattureElettroniche verranno aggiunte dopo esecuzione
907+ // Aggiungi le date di filtro per il controllo DatiFattureElettroniche
908+ if (controllo["period_start"] && controllo["period_end"]) {
909+ let dataInizio = new Date(controllo["period_start"]);
910+ let dataFine = new Date(controllo["period_end"]);
911+ let dataInizioFormattata = dataInizio.toLocaleDateString("it-IT");
912+ let dataFineFormattata = dataFine.toLocaleDateString("it-IT");
913+ card += ` <span style="color: #999; font-size: 0.9rem; margin-left: 10px;">${dataInizioFormattata} - ${dataFineFormattata}</span>`;
914+ }
956915
957916 card += `</h3>
958917 <div class="card-tools pull-right" style="display: flex; align-items: center; gap: 10px;">`;
@@ -1000,7 +959,7 @@ function initcard(controllo, success, records) {
1000959 let hasRowOptions = records.length > 0 && records[0].options && records[0].options.length > 0;
1001960
1002961 card += `
1003- <div class="card-body">
962+ <div class="card-body" style="padding: 10px 12px;" >
1004963 <div class="table-responsive">
1005964 <table class="table table-sm">
1006965 <thead>
@@ -1022,7 +981,7 @@ function initcard(controllo, success, records) {
1022981 } else {
1023982 // Aggiungi un body vuoto per le card di tipo info (collassate)
1024983 card += `
1025- <div class="card-body">
984+ <div class="card-body" style="padding: 10px 12px;" >
1026985 <p class="text-muted"> ' .tr ('Nessun problema rilevato ' ).'</p>
1027986 </div>`
1028987 }
@@ -1297,7 +1256,7 @@ function eseguiAzioneGlobale(buttonElement) {
12971256
12981257 let isInfo = controlliInfo.includes(controlloClass);
12991258 let alertClass = isInfo ? "alert-info" : "alert-warning";
1300- let iconClass = isInfo ? "fa-info-circle text-info" : "fa-exclamation-circle text-warning";
1259+ let iconClass = isInfo ? "fa-info-circle text-info" : "fa-exclamation-triangle text-warning";
13011260
13021261 // Genera la lista delle operazioni
13031262 let operazioniHtml = "";
@@ -1440,7 +1399,7 @@ function eseguiRisoluzioneGlobale(button, controlloId, controlloClass, successCa
14401399
14411400 let errorHtml = `
14421401 <div class="alert alert-danger">
1443- <h4><i class="fa fa-times-circle "></i> ' .tr ('Errore durante la risoluzione ' ).'</h4>
1402+ <h4><i class="fa fa-exclamation-triangle" style="color: #dc3545; "></i> ' .tr ('Errore durante la risoluzione ' ).'</h4>
14441403 <p> ' .tr ('Si è verificato un errore ' ).': ${errorMessage}</p>
14451404 </div>
14461405 `;
0 commit comments