From 9379325731c2a14a675069e5a927ce851accdcf0 Mon Sep 17 00:00:00 2001 From: Nik <45662151+Nikosmonaut@users.noreply.github.com> Date: Fri, 29 Nov 2019 20:12:56 +0100 Subject: [PATCH] Fix edit challenge twice bug (#11591) Description: Use of a same object property group for differents types between a challenge and workingChallenge workingChallenge use group as and id but this.challenge have a group object Fix: Wait for server response for challenge edit. Set this.challenge from response and not directly from form data workingChallenge --- .../client/src/components/challenges/challengeModal.vue | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/website/client/src/components/challenges/challengeModal.vue b/website/client/src/components/challenges/challengeModal.vue index b754fe18ef..1f7762b5cc 100644 --- a/website/client/src/components/challenges/challengeModal.vue +++ b/website/client/src/components/challenges/challengeModal.vue @@ -595,7 +595,7 @@ export default { this.$root.$emit('bv::hide::modal', 'challenge-modal'); this.$router.push(`/challenges/${challenge._id}`); }, - updateChallenge () { + async updateChallenge () { const categoryKeys = this.workingChallenge.categories; const serverCategories = []; categoryKeys.forEach(key => { @@ -610,10 +610,8 @@ export default { const challengeDetails = clone(this.workingChallenge); challengeDetails.categories = serverCategories; - this.$emit('updatedChallenge', { - challenge: challengeDetails, - }); - this.$store.dispatch('challenges:updateChallenge', { challenge: challengeDetails }); + const challenge = await this.$store.dispatch('challenges:updateChallenge', { challenge: challengeDetails }); + this.$emit('updatedChallenge', { challenge }); this.resetWorkingChallenge(); this.$root.$emit('bv::hide::modal', 'challenge-modal'); },