Răsfoiți Sursa

Add montant document

stany.ferer 1 an în urmă
părinte
comite
5dcfce5580

+ 6 - 2
core/class/document.class.php

@@ -136,12 +136,13 @@ class document
             alert::recError("Ce fichier a déjà été utilisé : " . $file["name"]);
             session::setTemp(core::getPost(), "document");
         } else {
-            db::query("INSERT INTO " . DB_T_DOCUMENTS . " (id_type, titre, date, deadline, description, id_user) VALUES (:id_type, :titre, :date, :deadline, :description, :id_user)");
+            db::query("INSERT INTO " . DB_T_DOCUMENTS . " (id_type, titre, date, deadline, description, montant, id_user) VALUES (:id_type, :titre, :date, :deadline, :description, :montant, :id_user)");
             db::bind(':id_type', core::getPost("id_type"));
             db::bind(':titre', core::getPost("titre"));
             db::bind(':date', core::getPost("date"));
             db::bind(':deadline', core::getPost("deadline"));
             db::bind(':description', core::getPost("description"));
+            db::bind(':montant', core::getPost("montant"));
             db::bind(':id_user', session::getId());
             
             try {
@@ -236,7 +237,8 @@ class document
                     . "titre = :titre, "
                     . "date = :date, "
                     . "deadline = :deadline, "
-                    . "description = :description "
+                    . "description = :description, "
+                    . "montant = :montant "
                     . $sql
                     . "WHERE id = :id");
             
@@ -245,6 +247,7 @@ class document
             db::bind(':date', core::getPost("date"));
             db::bind(':deadline', core::getPost("deadline"));
             db::bind(':description', core::getPost("description"));
+            db::bind(':montant', core::getPost("montant"));
             db::bind(':id', core::getPost("id"));
 
             if(core::ifPost("date_done") AND core::getPost("date_done") == TRUE){
@@ -290,6 +293,7 @@ class document
             . "" . DB_T_DOCUMENTS . ".date, "
             . "" . DB_T_DOCUMENTS . ".deadline, "
             . "" . DB_T_DOCUMENTS . ".description, "
+            . "" . DB_T_DOCUMENTS . ".montant, "
             . "" . DB_T_DOCUMENTS . ".id_user_done, "
             . "" . DB_T_DOCUMENTS . ".date_done, "
             . "CONCAT(" . DB_T_USER . ".prenom, ' ', " . DB_T_USER . ".nom) AS doneUser "

+ 1 - 0
core/class/json.class.php

@@ -199,6 +199,7 @@ class json extends db
         " . DB_T_DOCUMENTS . ".date,        
         " . DB_T_DOCUMENTS . ".deadline, 
         " . DB_T_DOCUMENTS . ".description, 
+        " . DB_T_DOCUMENTS . ".montant, 
           ( SELECT GROUP_CONCAT(" . DB_T_TAGS . ".label SEPARATOR ', ') 
             FROM  " . DB_T_DOCUMENT_TAGS . " 
             INNER JOIN " . DB_T_TAGS . " ON " . DB_T_TAGS . ".id = " . DB_T_DOCUMENT_TAGS . ".id_tags

+ 8 - 1
core/views/pages/cms.document.php

@@ -99,6 +99,13 @@ if (isset($document["id"])) {
             </div>
             <br />
 
+            <?php $_montant = (isset($document["montant"])) ? $document["montant"] : NULL; ?>
+            <div class="form-group">
+                <label>Montant associé</label>
+                <input type="text" class="form-control" value="<?php core::printFormValue($_montant) ?>" name="montant" placeholder="" onkeypress="return (event.charCode >= 48 && event.charCode <= 57) || event.charCode == 46 || event.charCode == 0 ">
+            </div>
+            <br />
+
             <?php $_tagsSupplier = (isset($document["tagsSupplier"])) ? $document["tagsSupplier"] : NULL; ?>
             <div class="form-group">
                 <label>Tags associés</label>
@@ -138,7 +145,7 @@ if (isset($document["id"])) {
 
                 <div style="border:1px #CCCCCC solid; background-color:#F6F6F6; padding:20px; border-radius:.375rem;">
 
-                <?php if (isset($document) and tags::compareUserDocument($userTags, $document["tagsUser"]) == TRUE) {
+                <?php if ((isset($document) AND tags::compareUserDocument($userTags, $document["tagsUser"]) == TRUE) OR (isset($document["date_done"]))) {
                     $checkDone = (isset($document["id_user_done"])) ? " disabled" : NULL;
                     $checkText = (isset($document["id_user_done"])) ? "Document traité par " . $document["doneUser"] . " le": "Document traité le";
                 ?>

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

@@ -35,6 +35,7 @@
         data-show-columns="true"
         data-search="true"
         data-buttons-align="left"
+        data-show-footer="true"
         data-pagination="true"
         data-filter-control="true"
         data-flat="true"
@@ -46,12 +47,13 @@
                 <th data-sortable="true" data-field="id" data-filter-control="input" data-width="15">#</th>
                 <th data-sortable="true" data-field="titre" data-filter-control="input">Titre</th>
                 <th data-sortable="true" data-field="label" data-filter-control="select" data-width="200">Type</th>
-                <th data-sortable="true" data-field="date" data-filter-control="input" data-width="110">Date</th>
-                <th data-sortable="true" data-field="deadline" data-filter-control="input" data-width="110">Echéance</th>
+                <th data-sortable="true" data-field="date" data-filter-control="input" data-width="100">Date</th>
+                <th data-sortable="true" data-field="deadline" data-filter-control="input" data-width="100">Echéance</th>
                 <th data-sortable="true" data-field="tags" data-filter-control="input" data-width="200">Tags</th>
                 <th data-sortable="true" data-field="assign" data-filter-control="input" data-width="200">Attribution</th>
                 <th data-sortable="true" data-field="user" data-filter-control="input" data-width="120">Créé par</th>
                 <th data-sortable="true" data-field="done" data-filter-control="select" data-width="50">Statut</th>
+                <th data-sortable="true" data-field="montant" data-filter-control="input" data-width="110" data-formatter="dataFormatter" data-footer-formatter="montantFormatter">Montant</th>
                 <th data-field="id" data-formatter="selectFormatter" data-width="60"></th>
             </tr>
         </thead>
@@ -62,4 +64,21 @@
     function selectFormatter(value, row) { 
         return '<a href="/document-' + row.id + '.html"><button type="submit" class="btn btn-outline-primary btn-sm">Ouvrir</button></a>';
     }
+
+    let euro = Intl.NumberFormat('de-DE', {
+        style: 'currency',
+        currency: 'EUR',
+    });
+
+    function dataFormatter(value) { 
+        return euro.format(value);
+    }
+
+    function montantFormatter(data) {
+        var total = 0;
+        data.forEach(function (row) {
+            total += parseFloat(row.montant);
+        });
+        return parseFloat(total) === 0 ? euro.format(0.00) : euro.format(total.toFixed(2));
+    }
 </script>

+ 1 - 1
maj/sql/maj.sql

@@ -1,2 +1,2 @@
 
-ALTER TABLE `documents` CHANGE `date_done` `date_done` DATE NULL DEFAULT NULL;
+ALTER TABLE `documents` ADD `montant` FLOAT NOT NULL DEFAULT '0' AFTER `description`;