2
0
stany.ferer 1 жил өмнө
parent
commit
8cd860ae41

+ 25 - 7
core/class/document.class.php

@@ -110,6 +110,23 @@ class document
             }
         }
     }
+
+    public static function getOrphanTags(){
+        db::query("SELECT
+        " . DB_T_TAGS . ".id
+        FROM " . DB_T_TAGS . "
+        LEFT JOIN " . DB_T_DOCUMENT_TAGS . " ON tags.id = " . DB_T_DOCUMENT_TAGS . ".id_tags
+        WHERE " . DB_T_DOCUMENT_TAGS . ".id_tags IS NULL AND " . DB_T_TAGS . ".id_type = 2");
+        return db::resultset();
+    }
+
+    public static function cleanOrphanTags(){
+        foreach (self::getOrphanTags() as $value) {
+            db::query("DELETE FROM ". DB_T_TAGS ." WHERE id = :id");
+            db::bind(':id', $value["id"]);
+            db::execute();
+        }
+    }
     
     public static function add()
     {   
@@ -170,7 +187,7 @@ class document
         if(core::ifFiles("attachement-document") == TRUE){
             $file = core::getFiles("attachement-document");
             $md5 = md5_file($file["tmp_name"]);
-        }
+        } 
         if(isset($md5) AND file::findM5($md5) == TRUE){
             alert::recError("Le fichier \"" . $file["name"] . "\" a déjà été utilisé");
             session::setTemp(core::getPost(), "document");
@@ -190,7 +207,7 @@ class document
                     return FALSE;
                 }
             }
-
+            
             if(core::getPost("delete-attachement")){
                 foreach (core::getPost("delete-attachement") as $deleteAttach) {
                     self::deleteFile($deleteAttach);
@@ -200,16 +217,16 @@ class document
             try { 
                 $tagsUser = tags::textToId(core::getPost("tagsUser"), 1);
                 self::addTags(core::getPost("id"), $tagsUser, 1);
-
-                $tagsSupplier = tags::textToId(core::getPost("tagsSupplier"), 2); echo $tagsSupplier;
+                
+                $tagsSupplier = tags::textToId(core::getPost("tagsSupplier"), 2);
                 self::addTags(core::getPost("id"), $tagsSupplier, 2);
             } catch (Exception $ex) {
                 alert::recError("Erreur à l'enregistrement de la liaison : " . core::getPost("id"));
                 return FALSE;
             }
 
-            if(core::ifPost("done") AND core::getPost("done") == TRUE){
-                $sql = ", id_user_done = :id_user_done, date_done = CURRENT_TIMESTAMP ";
+            if(core::ifPost("date_done") AND core::getPost("date_done") != ""){
+                $sql = ", id_user_done = :id_user_done, date_done = :date_done ";
             } else {
                 $sql = "";
             }
@@ -230,8 +247,9 @@ class document
             db::bind(':description', core::getPost("description"));
             db::bind(':id', core::getPost("id"));
 
-            if(core::ifPost("done") AND core::getPost("done") == TRUE){
+            if(core::ifPost("date_done") AND core::getPost("date_done") == TRUE){
                 db::bind(':id_user_done', session::getId());
+                db::bind(':date_done', core::getPost("date_done"));
             }
             
             try {

+ 2 - 1
core/submit/cms.document.php

@@ -7,7 +7,6 @@ if (core::ifPost("from") AND core::getPost("from") == "document") {
         if($add != FALSE) {
             $location = "/document-". $add .".html";
         } else {
-            
             $location = "/add-document.html";
         }
     } else {
@@ -15,6 +14,8 @@ if (core::ifPost("from") AND core::getPost("from") == "document") {
         $location = "/document-". core::getPost("id") .".html";
     }
 
+    document::cleanOrphanTags();
+
     header("Location: " . $location);
     exit();
 } else {

+ 12 - 11
core/views/pages/cms.document.php

@@ -138,16 +138,18 @@ if (isset($document["id"])) {
 
                 <div style="border:1px #CCCCCC solid; background-color:#F6F6F6; padding:20px;">
 
-                    <?php if (isset($document) and tags::compareUserDocument($userTags, $document["tagsUser"]) == TRUE) {
-                        $checkDone = (isset($document["id_user_done"])) ? " checked disabled" : NULL;
-                        $checkText = (isset($document["id_user_done"])) ? "Ce document a été traité par " . $document["doneUser"] . " le " . $document["date_done"] : "Déclarer ce document comme traité.";
-                    ?>
-                        <div class="form-check form-switch">
-                            <input class="form-check-input" style="width:40px; height:20px;" type="checkbox" name="done" id="doneDocument" <?php echo $checkDone ?>>
-                            <label class="form-check-label" style="font-size:larger; margin-left:10px;" for="doneDocument" id="doneDocumentTxt"><?php echo $checkText ?></label>
-                        </div>
-                        <br />
-                    <?php } ?>
+                <?php if (isset($document) and tags::compareUserDocument($userTags, $document["tagsUser"]) == TRUE) {
+                    $checkDone = (isset($document["id_user_done"])) ? " disabled" : NULL;
+                    $checkText = (isset($document["id_user_done"])) ? "Document traité par " . $document["doneUser"] . " le": "Document traité le";
+                ?>
+
+                <?php $_dateDone = (isset($document["date_done"])) ? $document["date_done"] : NULL; ?>
+                <div class="form-group">
+                    <label><?php echo $checkText ?></label>
+                    <input type="date" class="form-control" name="date_done" value="<?php core::printFormValue($_dateDone) ?>"<?php echo $checkDone ?>>
+                </div>
+                <br />
+                <?php } ?>
                 
                 <?php document::printAttachement($files); ?>
 
@@ -194,7 +196,6 @@ if (isset($document["id"])) {
 
         requiredFields.forEach(field => {
             if (!field.value.trim()) {
-                alert(field.name);
                 if (field.name === "document-import") {
                     const fileDoc = document.getElementById('file-document-import');
                     fileDoc.style.borderColor = 'red';

+ 3 - 0
core/views/pages/cms.user.php

@@ -11,6 +11,9 @@ if(core::ifGet("add") AND access::ifAccesss("add-user")) {
         $submit = "Modifier votre profil";
         $titre = "Votre fiche de profil";
         $protect = 1;
+        if (core::isDebug()) {
+            debug::log($user, "Données brutes user");
+        }
     } else {
         if(access::ifAccesss("add-user")){
             $user = user::getUserById(core::getGet("id"));

+ 2 - 0
maj/sql/maj.sql

@@ -0,0 +1,2 @@
+
+ALTER TABLE `documents` CHANGE `date_done` `date_done` DATE NULL DEFAULT NULL;