diff --git a/src/services/feature-api.js b/src/services/feature-api.js index f80bdb924008af652e0eb19516d94bec69fdc93e..bd653790adda2005231c53bb65146a6d2aa61205 100644 --- a/src/services/feature-api.js +++ b/src/services/feature-api.js @@ -22,31 +22,36 @@ const featureAPI = { const response = await axios.post( `${baseUrl}features/${featureId}/comments/`, { comment } ); - console.log(response) if ( response.status === 200 && response.data ) { - return response.data; + return response; } else { return null; } }, - /* async subscribeProject({ projectSlug, suscribe }) { - const response = await axios.put( - `${baseUrl}projects/${projectSlug}/subscription/`, - { is_suscriber: suscribe } + async postCommentAttachment({ featureId, file, fileName, comment }) { + let formdata = new FormData(); + formdata.append("file", file, fileName); + const data = { + comment + } + formdata.append("data", JSON.stringify(data)); + + const response = await axios.post( + `${baseUrl}features/${featureId}/attachments/`, formdata ); if ( response.status === 200 && response.data ) { - return response.data; + return response; } else { return null; } - }, */ + }, } export default featureAPI; diff --git a/src/views/feature/Feature_detail.vue b/src/views/feature/Feature_detail.vue index d6743cf7508fad89316f35932fc8ae655fb66f6f..2f5d2c3fbe5b2a3bd134e30f365d9eb8857800d7 100644 --- a/src/views/feature/Feature_detail.vue +++ b/src/views/feature/Feature_detail.vue @@ -411,6 +411,7 @@ export default { attachment_file: { errors: null, value: null, + file: null, }, title: { id_for_label: "title", @@ -452,10 +453,21 @@ export default { methods: { postComment() { - featureAPI.postComment({ - featureId: this.$route.params.slug_signal, - comment: this.comment_form.comment.value, - }); + featureAPI + .postComment({ + featureId: this.$route.params.slug_signal, + comment: this.comment_form.comment.value, + }) + .then((response) => { + if (response && this.comment_form.attachment_file.file) { + featureAPI.postCommentAttachment({ + featureId: this.$route.params.slug_signal, + file: this.comment_form.attachment_file.file, + fileName: this.comment_form.title.file, + comment: response.data.id, + }); + } + }); }, getAttachmentFileData(evt) { @@ -464,6 +476,7 @@ export default { const fileName = files[0].name.substring(0, period); const fileExtension = files[0].name.substring(period + 1); const shortName = fileName.slice(0, 10) + "[...]." + fileExtension; + this.comment_form.attachment_file.file = files[0]; this.comment_form.attachment_file.value = shortName; this.comment_form.title.value = shortName; },