| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283 |
- <?php
- if (core::ifGet("id") == FALSE and access::ifAccesss("add-document") == FALSE) {
- get::page("unknow");
- exit();
- }
- if (core::getGet("id") == NULL) {
- $titre = "Ajouter un document";
- $id_form = '<input type="hidden" name="id" value="add">';
- $submit = "Ajouter ce nouveau document";
- $document = session::getTemp("document");
- } else {
- $datas = document::get(core::getGet("id"));
- $document = $datas["document"];
- $files = $datas["files"];
- if (empty($document["id"])) {
- get::page("unknow");
- exit();
- }
- $id_form = '<input type="hidden" name="id" value="' . $document["id"] . '">';
- $submit = "Modifier ce document";
- $badgeCSS = " font-size:0.4em; margin-top:-5px;";
- $titre = "[#" . $document["id"] . "] " . $document["titre"];
- }
- if (core::isDebug()) {
- (!empty($document)) ? debug::log($document, "Données brutes document") : NULL;
- (!empty($files)) ? debug::log($files, "Données brutes files") : NULL;
- }
- $userTags = user::getUserById(session::getId())["tags"];
- ?>
- <header class="d-flex flex-column flex-md-row align-items-md-center p-3 bg-light ">
- <h2 class="bd-title" id="content">
- <span><?php echo $titre ?></span>
- </h2>
- </header>
- <?php
- if (core::ifGet("add")) {
- $labelFil = "Ajouter un document";
- $lienFil = "/add-document.html";
- } else {
- $labelFil = "[#" . $document["id"] . "] " . $document["titre"];
- $lienFil = "/document-" . core::getGet("id") . ".html";
- }
- echo core::filAriane(array(
- "current" => $labelFil,
- "arbo" => array(
- "Factures" => NULL,
- "Listes des documents" => "/documents.html",
- $labelFil => $lienFil
- )
- ));
- if (isset($document["id"])) {
- ?>
- <div style="float:right; margin-top: -60px;">
- <a href="/submit.php?from=document-delete&id=<?php echo $document["id"] ?>" style="color: #dc3545; text-decoration:none;" onclick="return confirm('Voulez-vous supprimer ce document ?')"><button type="submit" class="btn btn-outline-danger btn-sm"><span data-feather="trash-2"></span> Supprimer</button></a>
- </div>
- <?php
- }
- ?>
- <link rel="stylesheet" href="css/dragAndDrop.css">
- <form id="form-document" method="post" action="/submit.php" enctype="multipart/form-data" onsubmit="return(false);">
- <div class="row">
- <div class="col">
- <input type="hidden" name="from" value="document">
- <?php echo $id_form; ?>
- <?php $_titre = (isset($document["titre"])) ? $document["titre"] : NULL; ?>
- <div class="form-group">
- <label>Titre</label>
- <input type="text" class="form-control" value="<?php core::printFormValue($_titre) ?>" name="titre" placeholder="" required>
- </div>
- <br />
- <?php
- $_type_document = (isset($document["id_type"])) ? $document["id_type"] : NULL;
- $_label_type_document = document::getTypes();
- ?>
- <div class="form-group">
- <label>Type de document</label>
- <select name="id_type" class="form-select">
- <option value=""></option>
- <option value="1" <?php core::printFormSelectOption($_type_document, 1) ?>><?php echo $_label_type_document[1]["label"] ?></option>
- <option value="2" <?php core::printFormSelectOption($_type_document, 2) ?>><?php echo $_label_type_document[2]["label"] ?></option>
- <option value="3" <?php core::printFormSelectOption($_type_document, 3) ?>><?php echo $_label_type_document[3]["label"] ?></option>
- <option value="0" <?php core::printFormSelectOption($_type_document, 0) ?>><?php echo $_label_type_document[0]["label"] ?></option>
- </select>
- </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>
- <input type="text" value="<?php core::printFormValue($_tagsSupplier) ?>" name="tagsSupplier" id="tagsSupplier" />
- </div>
- <br />
- <?php $_date = (isset($document["date"])) ? $document["date"] : NULL; ?>
- <div class="form-group">
- <label>Date associée à ce document</label>
- <input type="date" class="form-control" name="date" value="<?php core::printFormValue($_date) ?>" placeholder="" required>
- </div>
- <br />
- <?php $_deadline = (isset($document["deadline"])) ? $document["deadline"] : NULL; ?>
- <div class="form-group">
- <label>Date limite de traitement</label>
- <input type="date" class="form-control" name="deadline" value="<?php core::printFormValue($_deadline) ?>" placeholder="" required>
- </div>
- <br />
- <?php $_description = (isset($document["description"])) ? $document["description"] : NULL; ?>
- <div class="form-group">
- <label>Description et commentaires</label>
- <textarea class="form-control" name="description" style="height:100%;"><?php core::printFormValue($_description) ?></textarea>
- </div>
- <br />
- <?php $_tagsUser = (isset($document["tagsUser"])) ? $document["tagsUser"] : NULL; ?>
- <div class="form-group">
- <label>Attribution</label>
- <input type="text" value="<?php core::printFormValue($_tagsUser) ?>" name="tagsUser" id="tagsUser" />
- </div>
- <br />
- <?php if (isset($files[0]["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) 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";
- ?>
- <?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); ?>
- <div class="file-drop-area">
- <span class="choose-file-button">Ajouter une pièce jointe</span>
- <span class="file-message">ou drag & drop</span>
- <input id="attachement-document" class="import-excel" name="attachement-document" type="file" onchange="dargAndDropAttachment()" accept="image/jpeg,image/png,application/pdf">
- </div>
- </div>
- <br />
- <?php } ?>
- </div>
- <div class="col">
- <?php if (empty($files[0]["id"])) { ?>
- <div class="file-drop-area" style="margin-top:22px;" id="file-document-import">
- <span class="choose-file-button">Choisissez votre document</span>
- <span class="file-message">ou drag & drop</span>
- <input id="document-import" class="import-excel" name="document-import" type="file" onchange="dargAndDrop()" accept="image/jpeg,image/png,application/pdf" required>
- </div>
- <br />
- <?php } else {
- $heigh = (mime_content_type(file::download($files[0]["id"], DIR_DATAS_DOCS)) == "application/pdf") ? "height:110vh;" : NULL;
- echo ' <div style="margin-top:22px;">
- <embed src="/document.php?id=' . $files[0]["id"] . '" style="width:100%; margin-top:10px;' . $heigh . '" /></embed>
- </div><br />
- ';
- }
- ?>
- </div>
- </div>
- <input class="btn btn-primary btn-lg" style="width: 100%;" type="button" value="<?php echo $submit ?>" onclick="validateAndSubmit()">
- <br /><br />
- </form>
- <script>
-
- function validateAndSubmit() {
- const form = document.getElementById('form-document');
- const requiredFields = form.querySelectorAll('[required]');
- let allFieldsFilled = true;
- requiredFields.forEach(field => {
- if (!field.value.trim()) {
- if (field.name === "document-import") {
- const fileDoc = document.getElementById('file-document-import');
- fileDoc.style.borderColor = 'red';
- }
- allFieldsFilled = false;
- field.style.borderColor = 'red';
- } else {
- field.style.borderColor = '';
- if (typeof fileDoc !== 'undefined' && fileDoc !== null) {
- fileDoc.style.borderColor = '';
- }
- }
- });
- if (allFieldsFilled) {
- form.submit();
- }
- }
- function dargAndDrop() {
- var fileName = $("#document-import").val().split('\\').pop();
- var ext = fileName.split('.').pop();
- if(ext!=="pdf" && ext!=="png" && ext!=="jpg"){
- $("#printToastErrorTxt").html("Seuls les fichiers PDF, JPG et PNG sont acceptés");
- $("#printToastError").toast('show');
- $('#attachement-document').val("");
- } else {
- $(".file-message").text($(".file-message").text().replace("ou drag & drop", fileName));
- }
- }
- function dargAndDropAttachment() {
- var fileName = $("#attachement-document").val().split('\\').pop();
- var ext = fileName.split('.').pop();
- if(ext!=="pdf" && ext!=="png" && ext!=="jpg"){
- $("#printToastErrorTxt").html("Seuls les fichiers PDF, JPG et PNG sont acceptés");
- $("#printToastError").toast('show');
- $('#attachement-document').val("");
- } else {
- $(".file-message").text($(".file-message").text().replace("ou drag & drop", fileName));
- }
- }
- function deleteAttachment(id){
- const elementsCadre = $('#attach-' + id);
- const elementsAlerte = $('#select-attach-' + id);
- const elementsButton = $('#button-attach-' + id);
- if($('#del-jquery-' + id).length) {
- const elementsRevert = $('#del-jquery-' + id);
- elementsCadre.css('background-color', '');
- elementsAlerte.html('');
- elementsButton.html('<i class="bi bi-trash"></i>');
- } else {
- elementsCadre.css('background-color', '#f8d7da');
- elementsAlerte.html('Ce document sera supprimé à la validation du formulaire.<input id="del-jquery-' + id + '" type="hidden" name="delete-attachement[]" value="' + id + '">');
- elementsButton.html('<i class="bi bi-x-square-fill"></i>');
- }
- }
- function upperCase(input) {
- input.value = input.value.toUpperCase();
- }
- $(document).ready(function() {
- $('#tagsUser').inputTags({
- autocomplete: {
- values: <?php echo tags::getJquery(1) ?>,
- only: true
- },
- max: 3
- });
- $('#tagsSupplier').inputTags({
- autocomplete: {
- values: <?php echo tags::getJquery(2) ?>
- },
- max: 3
- });
- });
- </script>
|