accompanying course: allow PATCH on a comment entity

This commit is contained in:
nobohan
2022-03-04 13:01:01 +01:00
parent 6d46efa610
commit cde6e8f368
3 changed files with 69 additions and 3 deletions

View File

@@ -17,6 +17,7 @@
v-bind:placeholder="$t('comment.content')"
:editor="editor"
v-model="content"
@input="onContentChange"
tag-name="textarea">
</ckeditor>
@@ -82,8 +83,34 @@ export default {
}
},
methods: {
submitform() {
this.$store.dispatch('postFirstComment', this.formdata)
onContentChange() {
console.log('content changed');
console.log(this.pinnedComment)
if (this.pinnedComment) {
let body = this.formdata;
Object.assign(body, {id: this.pinnedComment.id})
this.$store.dispatch('updatePinnedComment', body)
.catch(({name, violations}) => {
if (name === 'ValidationException' || name === 'AccessException') {
violations.forEach((violation) => this.$toast.open({message: violation}));
} else {
this.$toast.open({message: 'An error occurred'})
}
});
} else {
this.$store.dispatch('addPinnedComment', this.formdata)
.catch(({name, violations}) => {
if (name === 'ValidationException' || name === 'AccessException') {
violations.forEach((violation) => this.$toast.open({message: violation}));
} else {
this.$toast.open({message: 'An error occurred'})
}
});
}
},
submitform() { //TODO deprecated, to remove
console.log(this.formdata)
this.$store.dispatch('addPinnedComment', this.formdata)
.catch(({name, violations}) => {
if (name === 'ValidationException' || name === 'AccessException') {
violations.forEach((violation) => this.$toast.open({message: violation}));
@@ -91,6 +118,14 @@ export default {
this.$toast.open({message: 'An error occurred'})
}
});
// this.$store.dispatch('postFirstComment', this.formdata)
// .catch(({name, violations}) => {
// if (name === 'ValidationException' || name === 'AccessException') {
// violations.forEach((violation) => this.$toast.open({message: violation}));
// } else {
// this.$toast.open({message: 'An error occurred'})
// }
// });
},
removeComment() {
this.$store.dispatch('postFirstComment', {})

View File

@@ -348,7 +348,7 @@ let initPromise = (root) => Promise.all([getScopesPromise(root), accompanyingCou
return makeFetch('DELETE', url, body)
.then((response) => {
commit('removePinnedComment');
commit('removePinnedComment');
})
.catch((error) => {
commit('catchError', error);
@@ -368,6 +368,21 @@ let initPromise = (root) => Promise.all([getScopesPromise(root), accompanyingCou
throw error;
})
},
updatePinnedComment({ commit }, payload) {
console.log(payload)
const url = `/api/1.0/person/accompanying-period/comment/${payload.id}.json`;
return makeFetch('PATCH', url, payload)
.then((response) => {
console.log(response)
commit('addPinnedComment', response);
})
.catch((error) => {
commit('catchError', error);
throw error;
})
},
/**
* Add/remove/display anonymous requestor
*/