Browse Source

Maj Emargement by Admin

stany.ferer 2 years ago
parent
commit
6253c6af12

+ 8 - 4
core/class/event.class.php

@@ -320,10 +320,12 @@ class event
                 . "" . DB_T_SALARIES . ".lieu, "
                 . "" . DB_T_SALARIES . ".actif, "
                 . "" . DB_T_EVENTS_INSCRITS . ".id_evenement, "
+                . "CONCAT (" . DB_T_USER . ".prenom, ' ', " . DB_T_USER . ".nom) AS 'nameAdminPresent', "
                 . "" . DB_T_EVENTS_INSCRITS . ".present "
                 . "FROM " . DB_T_SALARIES . " "
                 . "INNER JOIN " . DB_T_EVENTS_INSCRITS . " ON " . DB_T_EVENTS_INSCRITS . ".id_salarie = " . DB_T_SALARIES . ".id "
                 . "LEFT JOIN " . DB_T_SALARIES_PROWEB . " ON " . DB_T_SALARIES . ".loginId = " . DB_T_SALARIES_PROWEB . ".loginId "
+                . "LEFT JOIN " . DB_T_USER . " ON " . DB_T_EVENTS_INSCRITS . ".id_admin_present = " . DB_T_USER . ".id "
                 . "WHERE " . DB_T_EVENTS_INSCRITS . ".id_evenement = " . $_id_event);
         return db::resultset();
     }
@@ -396,7 +398,7 @@ class event
         return $return;
     }
 
-    public static function emargementEvenement(int $_idEvenement, int $_idSalarie)
+    public static function emargementEvenement(int $_idEvenement, int $_idSalarie, int $_idAdmin = NULL)
     {
 
         $inscription = self::getInscriptionEvenementById($_idEvenement, $_idSalarie);
@@ -404,18 +406,20 @@ class event
 
         if (!isset($inscription["present"]) or empty($inscription["present"])) {
             if (isset($inscription["id_salarie"])) {
-                db::query("UPDATE " . DB_T_EVENTS_INSCRITS . " SET present = CURRENT_TIMESTAMP() WHERE id_evenement = :id_evenement AND id_salarie = :id_salarie");
+                db::query("UPDATE " . DB_T_EVENTS_INSCRITS . " SET present = CURRENT_TIMESTAMP(), id_admin_present = :id_admin_present WHERE id_evenement = :id_evenement AND id_salarie = :id_salarie");
                 db::bind(':id_evenement', $_idEvenement);
                 db::bind(':id_salarie', $_idSalarie);
+                db::bind(':id_admin_present', $_idAdmin);
                 db::execute();
                 $return["result"] = TRUE;
                 $return["evenement"] = $evenement["titre"];
                 $return["description"] = "L'émargement a été pris en compte";
             } else {
-                db::query("INSERT INTO " . DB_T_EVENTS_INSCRITS . " (id_evenement, id_salarie, present) "
-                    . "VALUES (:id_evenement, :id_salarie, CURRENT_TIMESTAMP())");
+                db::query("INSERT INTO " . DB_T_EVENTS_INSCRITS . " (id_evenement, id_salarie, present, id_admin_present) "
+                    . "VALUES (:id_evenement, :id_salarie, CURRENT_TIMESTAMP(), :id_admin_present)");
                 db::bind(':id_evenement', $_idEvenement);
                 db::bind(':id_salarie', $_idSalarie);
+                db::bind(':id_admin_present', $_idAdmin);
                 db::execute();
                 $return["result"] = TRUE;
                 $return["evenement"] = $evenement["titre"];

+ 16 - 0
core/submit/cms.event-emarge-by-admin.php

@@ -0,0 +1,16 @@
+<?php
+
+if(core::ifPost("event") AND core::ifPost("from")){
+
+    $result = event::emargementEvenement(core::getPost("event"), core::getPost("salarie"), session::getId());
+
+    if($result["result"] == TRUE) {
+        alert::recSuccess("Emargement de ". core::getPost("texte") . " réalisé");
+        alert::recTab("inscrits-tab");
+    } else {
+        alert::recError("ERREUR : Emargement de ". core::getPost("texte"));
+    }
+
+    header("Location: /evenement-" . core::getPost("event").".html");
+    exit();  
+}

+ 35 - 18
core/views/pages/cms.evenement-inscrits.php

@@ -22,43 +22,60 @@
     data-url="/json.php?jsonData=event-inscrits&id=<?php echo core::getGet("id") ?>">
     <thead>
         <tr>
-            <th data-sortable="true" data-field="idLocal" data-filter-control="input">Identifiant</th>
-            <th data-sortable="true" data-field="loginId" data-filter-control="input">Matricule</th>
-            <th data-sortable="true" data-field="dateNaissance" data-filter-control="input">Naissances</th>
+            <th data-sortable="true" data-field="idLocal" data-filter-control="input" data-width="100">Identifiant</th>
+            <th data-sortable="true" data-field="loginId" data-filter-control="input" data-width="100">Matricule</th>
+            <th data-sortable="true" data-field="dateNaissance" data-filter-control="input" data-width="90">Naissances</th>
             <th data-sortable="true" data-field="nom" data-filter-control="input">Nom</th>
             <th data-sortable="true" data-field="prenom" data-filter-control="input">Prénom</th>
-            <th data-sortable="true" data-field="sexe" data-filter-control="select">Sexe</th>
-            <th data-sortable="true" data-field="lieu" data-filter-control="select">Localité</th>
-            <th data-sortable="true" data-field="contrat" data-filter-control="select">Statut Contrat</th>
-            <th data-sortable="true" data-field="actif" data-filter-control="select">Actif</th>
+            <th data-sortable="true" data-field="sexe" data-filter-control="select" data-width="40">Sexe</th>
+            <th data-sortable="true" data-field="lieu" data-filter-control="select" data-width="160">Localité</th>
+            <th data-sortable="true" data-field="contrat" data-filter-control="select" data-width="40">Contrat</th>
+            <th data-sortable="true" data-field="actif" data-filter-control="select" data-width="40">Actif</th>
             <th data-sortable="true" data-field="present" data-filter-control="select">Emargement</th>
-            <th data-field="id" data-formatter="selectFormatterInscrit"></th>
+            <th data-field="id" data-formatter="emarger">Réaliser</th>
+            <th data-field="id" data-formatter="desinscrire"></th>
         </tr>
     </thead>
 </table> 
 
 <script>
-        function selectFormatterInscrit(value, row) { 
+        function desinscrire(value, row) { 
 <?php if(ENVIRONNEMENT == "PROD") { ?>            
             if(row.present === null){
+<?php } ?>
                 return '<form method="post" action="/submit.php">\n\
                 <input type="hidden" name="from" value="event-deinscription">\n\
                 <input type="hidden" name="texte" value="' + row.prenom + ' ' + row.nom + '">\n\
                 <input type="hidden" name="event" value="' + <?php echo core::getGet("id") ?> + '">\n\
                 <input type="hidden" name="salarie" value="' + row.id + '">\n\
-                <button type="submit" onclick="return confirm(\'Etes-vous certain de vouloir supprimer cet enregistrement ?\')" class="btn btn-outline-danger btn-sm">Désinscrire</button>\n\
+                <button type="submit" onclick="return confirm(\'Etes-vous certain de vouloir désinscrire ' + row.prenom + ' ' + row.nom + ' ?\')" class="btn btn-outline-danger btn-sm">Annuler</button>\n\
                 </form>'; 
+<?php if(ENVIRONNEMENT == "PROD") { ?>
             } else {
                 return '<button class="btn btn-outline-secondary btn-sm" disabled="">Validé</button>';
             }
-<?php } else { ?>
-            return '<form method="post" action="/submit.php">\n\
-                <input type="hidden" name="from" value="event-deinscription">\n\
-                <input type="hidden" name="texte" value="' + row.prenom + ' ' + row.nom + '">\n\
-                <input type="hidden" name="event" value="' + <?php echo core::getGet("id") ?> + '">\n\
-                <input type="hidden" name="salarie" value="' + row.id + '">\n\
-                <button type="submit" onclick="return confirm(\'Etes-vous certain de vouloir supprimer cet enregistrement ?\')" class="btn btn-outline-danger btn-sm">Désinscrire</button>\n\
-                </form>'; 
 <?php } ?>
         }
+        function emarger(value, row) { 
+            if(row.present === null){
+                return '<form method="post" action="/submit.php">\n\
+                    <input type="hidden" name="from" value="event-emarge-by-admin">\n\
+                    <input type="hidden" name="texte" value="' + row.prenom + ' ' + row.nom + '">\n\
+                    <input type="hidden" name="event" value="' + <?php echo core::getGet("id") ?> + '">\n\
+                    <input type="hidden" name="salarie" value="' + row.id + '">\n\
+                    <button type="submit" onclick="return confirm(\'Etes-vous certain de vouloir émarger ' + row.prenom + ' ' + row.nom + ' à sa place ?\')" class="btn btn-outline-warning btn-sm">Emarger</button>\n\
+                    </form>'; 
+            } else {
+                if(row.nameAdminPresent === null){
+                    if(row.sexe === "M"){
+                        return 'Par le salarié';
+                    } else {
+                        return 'Par la aalariée';
+                    }
+                } else {
+                    return row.nameAdminPresent;
+                }
+                
+            }
+        }
 </script>