From eafa16e46d68b7c42f9fb33c1003650c374dad10 Mon Sep 17 00:00:00 2001 From: Raphix Date: Wed, 29 Mar 2023 18:48:39 +0200 Subject: [PATCH] Final Improvement for CV Editor --- public/templates/cv.html | 63 ++++++++++++++++++- routes/cv.js | 12 +++- routes/upload.js | 36 +++++++++++ .../0cee5da6-6812-49d8-97f5-2df5c1d78191.json | 2 +- 4 files changed, 108 insertions(+), 5 deletions(-) diff --git a/public/templates/cv.html b/public/templates/cv.html index 0ee4ade..e1fa496 100644 --- a/public/templates/cv.html +++ b/public/templates/cv.html @@ -89,8 +89,8 @@
-

Image : NAMTEST.png

- +

Image : NULL_NAME

+
@@ -120,6 +120,10 @@ const projectAddConfirm = document.getElementById("cv-project-add-confirm") const projectAddInfo = document.getElementById("cv-project-add-info") + const projectUploadFile = document.getElementById("cv-upload-file") + const projectUploadBtn = document.getElementById("cv-upload-btn") + const projectUploadName = document.getElementById("cv-upload-name") + var sectionSelectedMD = null; var projectSelectedMD = null; @@ -130,6 +134,8 @@ projectAddInfo.innerHTML = "" + + const refusedChar = ['\\','/' ,':' ,'*','?' ,'"','<','>','|'] var wrongName = true; @@ -171,12 +177,48 @@ projectDialog.close() getProjects(projectSelector) loadText(projectTextArea, projectAddInput.value) + projectSelector.value = projectAddInput.value } } } + if(projectUploadFile.files.length > 0) { + + const file_acc = new FormData(); + file_acc.append("apic", projectUploadFile.files[0]) + + fetch('/upload', { + method: 'POST', + mode:"cors", + cache:"no-cache", + credentials:"same-origin", + headers: { + "uploadforproject": projectAddInput.value + + }, + referrerPolicy:"no-referrer", + redirect: 'follow', + body: file_acc + }).then(response => response.json()) + .then(response => resupload(response)) + + function resupload(response) { + + + if(response.result == "ERROR") { + projectInfo.innerHTML = "L'image n'a pas été upload !" + + + } + + + + } + + } + @@ -190,6 +232,23 @@ projectDialog.showModal() + projectAddInput.value = "" + projectUploadName.innerHTML = "Aucune image." + projectUploadFile.value = null; + + + }) + + projectUploadFile.addEventListener("change", () => { + + projectUploadName.innerHTML = projectUploadFile.files[0].name + + }) + + + projectUploadBtn.addEventListener("click", () => { + + projectUploadFile.click() }) projectDelete.addEventListener("click", () => { diff --git a/routes/cv.js b/routes/cv.js index 8abeb1e..329caa8 100644 --- a/routes/cv.js +++ b/routes/cv.js @@ -428,7 +428,15 @@ router.post("/", function(req, res, next) { fs.readdirSync("../MD_TEST/project/").forEach((file) => { - allProject.push((file).replace(".md", "")) + + if(fs.statSync("../MD_TEST/project/" + file).isDirectory()) { + console.log(file) + + } else { + allProject.push((file).replace(".md", "")) + } + + }) @@ -513,7 +521,7 @@ router.post("/", function(req, res, next) { } else { - fs.writeFile(projectFolder + bod.value + ".md", "**" + bod.value + "**" ,(err) => { + fs.writeFile("../MD_TEST/project/" + bod.value + ".md", "**" + bod.value + "**" ,(err) => { if(err) { res.send({"result":"success", "content":"ERROR_NOT_PERMITTED"}) diff --git a/routes/upload.js b/routes/upload.js index cc75f1f..b98d742 100644 --- a/routes/upload.js +++ b/routes/upload.js @@ -164,6 +164,42 @@ router.post("/", function(req, res, next) { + } else if(req.headers.uploadforproject != null) { + + const projectFolder = "/home/gitlab-ci/cv/dashboard-raphael/public/images/" + + if(fs.existsSync(projectFolder)) { + + image.mv(projectFolder + req.headers.uploadforproject + ".png", (error) => { + + if(error) { + res.send({"result":"ERROR"}) + + } else { + + res.send({"result":"SUCCESS"}) + } + }) + + + } else { + + const mdtestfolder = "../MD_TEST/project/image/" + + image.mv(mdtestfolder + req.headers.uploadforproject + ".png", (error) => { + + if(error) { + res.send({"result":"ERROR"}) + + } else { + + res.send({"result":"SUCCESS"}) + } + }) + + } + + } else { diff --git a/users/0cee5da6-6812-49d8-97f5-2df5c1d78191.json b/users/0cee5da6-6812-49d8-97f5-2df5c1d78191.json index 7d6dd3b..3f21f41 100644 --- a/users/0cee5da6-6812-49d8-97f5-2df5c1d78191.json +++ b/users/0cee5da6-6812-49d8-97f5-2df5c1d78191.json @@ -9,5 +9,5 @@ "livableToken": true, "createdAt": 1679260759114 }, - "lastconnexion": 1680106107373 + "lastconnexion": 1680108499963 } \ No newline at end of file