Browse Source

Add refresh Json link & timeout toast

stany.ferer 3 months ago
parent
commit
cb6bc15136

+ 3 - 0
conf.inc.php

@@ -107,6 +107,9 @@ define("EMAIL_FROM_NAME", "CMS CSE Invent");
 // Sécurité
 define("NB_ALERT_AUTHENTICATOR", 3);
 
+// Taost d'alerte sur le site
+define("TIME_TOAST_ALERT", 5000); // En millisecondes
+
 // Liens directs ProWeb
 define("PROWEB_DOSSIERS", "https://www.cse-invent.com/gestion/prestations/dossiers?pagesize=20&__d_id=%7BDefault%7D&d_date_dossier%5Boptions%5D=periode&d_date_dossier%5Bperiode%5D=year&etats_d=%7BDefault%7D&d_annul=Tous&d_rglt=Tous&f_mod_cat_libel_p=%7BDefault%7D&p_etat=3&f_o_name_bis=%7BDefault%7D&o_name_bis=%7BDefault%7D&mod_cat_libel_p=%7BDefault%7D&search=avance");
 define("PROWEB_SALARIES", "https://www.cse-invent.com/gestion/beneficiaire/od?pagesize=20&f_o_name_bis=%7BDefault%7D&soc_situation=Tous&soc_status=%7BDefault%7D&o_name_bis=%7BDefault%7D&search=avance");

+ 2 - 1
core/class/alert.class.php

@@ -107,13 +107,14 @@ class alert
     {
         $text = ($_texte != NULL) ? self::printAlert($_texte) : NULL;
         
-        echo '  <div  id="' . $_idAlert . '" class="toast hide" role="alert" aria-live="assertive" aria-atomic="true" data-delay="3000" style="margin-top:10px; ' . $_style . '">
+        echo '  <div  id="' . $_idAlert . '" class="toast hide" role="alert" aria-live="assertive" aria-atomic="true" data-delay="' . TIME_TOAST_ALERT . '" style="margin-top:10px; ' . $_style . '">
                     <div class="toast-header">' . $_icon . '</div><div class="toast-body" id="' . $_idAlert . 'Txt">' . $text . '</div>
                 </div>';
     }
 
     public static function show()
     {
+        
         historique::recordLogs();
 
         echo '<div class="position-fixed bottom-0 right-0 p-3" style="z-index: 5; right: 5px; bottom: 0;">'; 

+ 41 - 1
core/class/core.class.php

@@ -243,15 +243,55 @@ class core
 
         foreach ($_arbo["arbo"] as $label => $lien) {
             if ($_arbo["current"] == $label) {
-                $return .= '<li class="breadcrumb-item active" aria-current="page">' . $label . '</li>';
+                $return .= '<li class="breadcrumb-item active" aria-current="page"';
+                if(isset($_arbo["refresh-json"])){
+                    $return .= 'title="Cliquez ici pour rafraichir les données Json" onclick="return confirm(\'Voulez-vous rafraichir les données Json?\')" id="json-refresh"><a href="#" style="text-decoration:none;">' .icon::getFont(["icon" => "bi bi-arrow-clockwise"]) . ' ';
+                } else {
+                    $return .= '>';
+                }
+                $return .= $label;
+                if(isset($_arbo["refresh-json"])){
+                    $return .= '</a>';
+                }
+                $return .= '</li>';
+
             } elseif ($lien == NULL) {
                 $return .= '<li class="breadcrumb-item">' . $label . '</li>';
             } else {
                 $return .= '<li class="breadcrumb-item"><a href="' . $lien . '" title="' . $label . '">' . $label . '</a></li>';
             }
         }
+
         $return .= '</ol>';
         $return .= '</nav>';
+
+        if(isset($_arbo["refresh-json"])){
+            $return .= "<script>
+                $('#json-refresh').on('click', function() {
+                    $.ajax({
+                        url: '/json.refresh.php',
+                        type: 'GET',
+                        data: {
+                            data: '" . $_arbo["refresh-json"] . "'
+                        },
+                        success: function(response) {
+                            $('#printToastSuccessTxt').html('Mise à jour du Json. Rechargement dans quelques secondes...');
+                            $('#printToastSuccess').toast('show');
+
+                            $('#printToastSuccess').on('hidden.bs.toast', function () {
+                                location.reload();
+                            });
+                        },
+                        error: function(xhr, status, error) {
+                            $('#printToastErrorTxt').html('Erreur lors de la mise à jour du Json');
+                            $('#printToastError').toast('show');
+                        }
+                    });
+                });
+            </script>";
+        }
+
+
         return $return;
     }
 

+ 4 - 0
core/submit/cms.evenement.php

@@ -3,6 +3,8 @@
 if(core::getPost("id") == "add"){
     if(event::add() == TRUE) {
 
+        json::create("events");
+
         historique::recRef("/evenement-" . event::lastEvenement().".html");
         historique::add(array(
             "idType" => historique::getIdRef("ACTION"),
@@ -22,6 +24,8 @@ if(core::getPost("id") == "add"){
 } else {
     if(event::update() == TRUE) {
 
+        json::create("events");
+
         historique::recRef("/evenement-" . core::getPost("id").".html");
         historique::add(array(
             "idType" => historique::getIdRef("ACTION"),

+ 2 - 0
core/submit/cms.lottery.php

@@ -2,6 +2,7 @@
 
 if(core::getPost("id") == "add"){
     if(lottery::insert() == TRUE){
+        json::create("lotterys");
         alert::recSuccess("Le tirage au sort a bien été créé");
         header("Location: /lottery-" . lottery::lastLottery().".html");
         exit();
@@ -12,6 +13,7 @@ if(core::getPost("id") == "add"){
     }
 } else {
     if(lottery::update() == TRUE){
+        json::create("lotterys");
         alert::recSuccess("Le tirage au sort a bien été modifié");
         header("Location: /lottery-" . core::getPost("id").".html");
         exit();

+ 2 - 1
core/views/pages/cms.compte-historique-csv.php

@@ -14,7 +14,8 @@
             "current" => "Historique des CSV", 
             "arbo" => array( 
                 "Banque" => NULL,
-                "Historique des CSV" => "/compte-historique-csv.html")
+                "Historique des CSV" => "/compte-historique-csv.html"),
+                "refresh-json" => "banque-csv"
         )); 
 ?>
 <div>

+ 2 - 1
core/views/pages/cms.compte.php

@@ -30,7 +30,8 @@ echo core::filAriane(array(
     "arbo" => array(
         "Comptes bancaires" => NULL,
         $banque["label"] . ((!empty($banque["compte"])) ? " [" . $banque["compte"] . "]" : NULL) => "/compte-" . core::getGet("id") . ".html"
-    )
+    ),
+    "refresh-json" => "banque-lignes-" . core::getGet("id")
 ));
 
 $lastRecord = banque::lastRecord(core::getGet("id"));

+ 2 - 1
core/views/pages/cms.documents.php

@@ -21,7 +21,8 @@ echo core::filAriane(array(
     "arbo" => array(
         "Documents" => NULL,
         "Listes des documents" => "/documents.html"
-    )
+    ),
+    "refresh-json" => "documents"
 ));
 ?>
 <div>

+ 2 - 3
core/views/pages/cms.evenements.php

@@ -1,6 +1,4 @@
 <?php
-    json::create("events");
-
     $jsonTarget = "/json.php?file=events";
     if(debug::isFile("debug")){
         debug::log(debug::getBadge($jsonTarget, "OUVRIR LE JSON : ".$jsonTarget), "JSON chargé en arrière plan");
@@ -22,7 +20,8 @@
             "current" => "Listes des évènements", 
             "arbo" => array( 
                 "Evènements" => NULL,
-                "Listes des évènements" => "/evenements.html")
+                "Listes des évènements" => "/evenements.html"),
+            "refresh-json" => "events"
         )); 
 ?>
 <div>

+ 2 - 3
core/views/pages/cms.lotterys.php

@@ -1,6 +1,4 @@
 <?php
-    json::create("lotterys");
-
     $jsonTarget = "/json.php?file=lotterys";
     if(debug::isFile("debug")){
         debug::log(debug::getBadge($jsonTarget, "OUVRIR LE JSON : ".$jsonTarget), "JSON chargé en arrière plan");
@@ -22,7 +20,8 @@
             "current" => "Listes des tirages au sort", 
             "arbo" => array( 
                 "Tirages au sort" => NULL,
-                "Listes des tirages au sort" => "/lotterys.html")
+                "Listes des tirages au sort" => "/lotterys.html"),
+            "refresh-json" => "lotterys"
         )); 
 ?>
 <div>

+ 1 - 1
core/views/pages/cms.parametres-maj-console.php

@@ -71,7 +71,7 @@
         $("#consoleContenaire").show();
         $("#startMaj").hide();
         $("#progressMaj").show();
-        $.get('/console.php', function(data) {
+        $.get('/console.maj.php', function(data) {
             $("#consoleMaj").append( data );
         });
     });

+ 1 - 1
core/views/pages/cms.parametres-maj.php

@@ -91,7 +91,7 @@ echo core::filAriane(array(
         $("#consoleContenaire").show();
         $("#startMaj").hide();
         $("#progressMaj").show();
-        $.get('/console.php', function(data) {
+        $.get('/console.maj.php', function(data) {
             $("#consoleMaj").append( data );
         });
     });

+ 2 - 2
core/views/pages/cms.parametres-server-logs.php

@@ -1,5 +1,5 @@
 
-<form method="get" action="/server-logs.php" target="iframeLogs">
+<form method="get" action="/console.logs.apache.php" target="iframeLogs">
     <div class="input-group mb-3">
         <select class="form-control" name="limit">
             <option value="50">Limiter aux 50 derniers logs</option>
@@ -24,7 +24,7 @@
 <tbody>
     <tr>
         <td scope="row">
-            <iframe width="100%" style="height:100vh;" src="/server-logs.php" name="iframeLogs"></iframe>
+            <iframe width="100%" style="height:100vh;" src="/console.logs.apache.php" name="iframeLogs"></iframe>
         </td>
     </tr>
     </tbody>

+ 2 - 3
core/views/pages/cms.proweb-dossiers-historique-excel.php

@@ -3,8 +3,6 @@
     if(debug::isFile("debug")){
         debug::log(debug::getBadge($jsonTarget, "OUVRIR LE JSON : ".$jsonTarget), "JSON chargé en arrière plan");
     } 
-
-    //json::create("excel-proweb-dossiers");
 ?>
 <header class="d-flex flex-column flex-md-row align-items-md-center p-3 bg-light ">
     <h2 class="bd-title" id="content">
@@ -22,7 +20,8 @@
             "current" => "Historique des dossiers Excels", 
             "arbo" => array( 
                 "Proweb" => NULL,
-                "Historique des dossiers Excels" => "/proweb-dossiers-historique-excel.html")
+                "Historique des dossiers Excels" => "/proweb-dossiers-historique-excel.html"),
+            "refresh-json" => "excel-proweb-dossiers"
         )); 
 ?>
 <div>

+ 2 - 3
core/views/pages/cms.proweb-dossiers.php

@@ -2,8 +2,6 @@
 $dateData = get::jsonDateDataExcelProwebDossiers();
 $date = ($dateData != NULL) ? " (au " . core::convertDate($dateData, FALSE) . ")" : "";
 
-//json::create("dossiers-proweb");
-
 $jsonTarget = "/json.php?file=dossiers-proweb";
 if(debug::isFile("debug")){
     debug::log(debug::getBadge($jsonTarget, "OUVRIR LE JSON : ".$jsonTarget), "JSON chargé en arrière plan");
@@ -27,7 +25,8 @@ echo core::filAriane(array(
     "arbo" => array(
         "Proweb" => NULL,
         "Liste des dossiers" => "proweb-dossiers.html"
-    )
+    ),
+    "refresh-json" => "dossiers-proweb"
 ));
 
 ?>

+ 2 - 1
core/views/pages/cms.proweb-historique-excel.php

@@ -18,7 +18,8 @@
             "current" => "Historique des Excels", 
             "arbo" => array( 
                 "Proweb" => NULL,
-                "Historique des Excels" => "/proweb-historique-excel.html")
+                "Historique des Excels" => "/proweb-historique-excel.html"),
+                "refresh-json" => "excel-proweb"
         )); 
 ?>
 <div>

+ 2 - 1
core/views/pages/cms.proweb-salaries.php

@@ -25,7 +25,8 @@ echo core::filAriane(array(
     "arbo" => array(
         "Proweb" => NULL,
         "Liste des salariés" => "proweb-salaries.html"
-    )
+    ),
+    "refresh-json" => "salaries-proweb"
 ));
 ?>
 <div>

+ 2 - 2
core/views/pages/cms.rh-historique-excel.php

@@ -1,6 +1,5 @@
 <?php
     $inProgress = salaries::excelGetInProgress();
-    json::create("excel");
 
     $jsonTarget = "/json.php?file=excel";
     if(debug::isFile("debug")){
@@ -21,7 +20,8 @@
             "current" => "Historique des Excels", 
             "arbo" => array( 
                 "Salariés" => NULL,
-                "Historique des Excels" => "/rh-historique-excel.html")
+                "Historique des Excels" => "/rh-historique-excel.html"),
+            "refresh-json" => "excel"
         )); 
 ?>
 <div>

+ 2 - 1
core/views/pages/cms.rh-liste-salaries.php

@@ -22,7 +22,8 @@
             "current" => "Liste des salariés", 
             "arbo" => array( 
                 "Salariés" => NULL, 
-                "Liste des salariés" => "/")
+                "Liste des salariés" => "/"),
+                "refresh-json" => "salaries"
         )); 
 ?>
 <div>

+ 0 - 0
public-cms/server-logs.php → public-cms/console.logs.apache.php


+ 0 - 0
public-cms/console.php → public-cms/console.maj.php


+ 22 - 0
public-cms/json.refresh.php

@@ -0,0 +1,22 @@
+<?php
+
+session_start();
+
+require_once "../env.inc.php";
+require_once "../access.inc.php";
+require_once "../conf.inc.php";
+require_once DIR_PHP_LAYOUTS . "header.php";
+require_once DIR_PHP_LAYOUTS . "events.session.php";
+
+if(core::ifGet("data")){
+    if(json::create(core::getGet("data"))){
+        header('Content-Type: application/json');
+        echo json_encode(['status' => 'ok']);
+    } else {
+        http_response_code(500); 
+        echo json_encode(['status' => 'error']);
+    }
+} else {
+    header('HTTP/1.0 401 Unauthorized');
+    exit();
+}