From d53ca048a6f50744890cb7f339e83cf0d579ffd4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Timoth=C3=A9e=20Poussard?= <tpoussard@neogeo.fr>
Date: Fri, 10 Sep 2021 15:53:53 +0200
Subject: [PATCH] remove post for put thumbnails and refresh project list after
 creation

---
 src/store/modules/feature_type.js            |  3 +-
 src/views/feature_type/Feature_type_edit.vue |  3 +-
 src/views/project/Project_edit.vue           | 29 ++++++++++----------
 3 files changed, 16 insertions(+), 19 deletions(-)

diff --git a/src/store/modules/feature_type.js b/src/store/modules/feature_type.js
index ad9caf4f..103c0559 100644
--- a/src/store/modules/feature_type.js
+++ b/src/store/modules/feature_type.js
@@ -73,7 +73,6 @@ const feature_type = {
         }),
         //'is_editable': true,
       }
-      console.log("requestType", requestType)
 
       if (requestType === "post") {
         return axios
@@ -108,7 +107,7 @@ const feature_type = {
       const { feature_type_slug } = payload
 
       if (state.fileToImport.size > 0) {
-        var formData = new FormData();
+        let formData = new FormData();
         formData.append("json_file", state.fileToImport);
         formData.append("feature_type_slug", feature_type_slug);
         let url =
diff --git a/src/views/feature_type/Feature_type_edit.vue b/src/views/feature_type/Feature_type_edit.vue
index 2a594013..d76d6dc1 100644
--- a/src/views/feature_type/Feature_type_edit.vue
+++ b/src/views/feature_type/Feature_type_edit.vue
@@ -250,7 +250,7 @@ export default {
         return this.form.colors_style.value.custom_field_name;
       },
       set(newValue) {
-        console.log(newValue)
+        //console.log(newValue)
         this.form.colors_style.value.custom_field_name = newValue;
         this.iniateColorsStyleFields();
         this.updateStore();
@@ -370,7 +370,6 @@ export default {
     sendFeatureType() {
       // * si édition d'une feature_type déja existante, faire un put
       const requestType = this.action === "edit" ? "put" : "post";
-      console.log;
       if (this.checkForm()) {
         this.$store
           .dispatch("feature_type/SEND_FEATURE_TYPE", requestType)
diff --git a/src/views/project/Project_edit.vue b/src/views/project/Project_edit.vue
index a9008db6..b4861aba 100644
--- a/src/views/project/Project_edit.vue
+++ b/src/views/project/Project_edit.vue
@@ -225,9 +225,11 @@ export default {
       return filename + "." + ext;
     },
 
-    goBack() {
-      const routerHistory = this.$router.options.routerHistory;
-      this.$router.push(routerHistory[routerHistory.length - 1] || "/");
+    goBackNrefresh() {
+      let _this = this;
+      this.$router.push("/", function () { // * go back and
+        _this.$store.dispatch("GET_ALL_PROJECTS"); //* refresh project list
+      });
     },
 
     onFileChange(e) {
@@ -247,7 +249,7 @@ export default {
     postProjectThumbnail(projectSlug) {
       //* send img to the backend when feature_type is created
       if (this.fileToImport.size > 0) {
-        var formData = new FormData();
+        let formData = new FormData();
         formData.append("file", this.fileToImport);
         let url =
           process.env.VUE_APP_DJANGO_API_BASE +
@@ -255,18 +257,16 @@ export default {
           projectSlug +
           "/thumbnail/";
         return axios
-          .post(url, formData, {
+          .put(url, formData, {
             headers: {
               "Content-Type": "multipart/form-data",
             },
           })
           .then((response) => {
-            console.log("postProjectThumbnail", response);
             if (response && response.status === 200) {
-              //dispatch("GET_IMPORTS", feature_type_slug);
-              console.log("SUCCESS");
+              //dispatch("GET_IMPORTS", feature_type_slug); // ? Besoin de vérifier le statut de l'import ?
+              this.goBackNrefresh();
             }
-            return response;
           })
           .catch((error) => {
             throw error;
@@ -292,19 +292,18 @@ export default {
       await axios
         .post(`${process.env.VUE_APP_DJANGO_API_BASE}projects/`, projectData)
         .then((response) => {
-          console.log(response);
           if (response && response.status === 201 && response.data) {
             this.$store.commit("ADD_PROJECT", response.data);
-            this.$router.push("/");
-            // todo : send thumbnail after feature_type was created
-            //postProjectThumbnail()
-            this.postProjectThumbnail(response.data.slug);
+            //* send thumbnail after feature_type was created
+            if (this.fileToImport)
+              this.postProjectThumbnail(response.data.slug);
+          } else {
+            this.goBackNrefresh();
           }
         })
         .catch((error) => {
           throw error;
         });
-      console.log("POST this data : ", projectData);
     },
   },
 
-- 
GitLab