Backport EE fixes to CE checking resolvability

EE branch: 7921-fix-batch-comments-resolution
fixes the checks to know whether discussion will
be resolved upon posting a comment or not. It
covers scenarios where Batch Comments are enabled
and disabled. To minimise risk of conflicts between
CE and EE, the checks have been backported.

this.shouldResolve() will not exist in CE.
This commit is contained in:
André Luís 2018-10-11 17:49:45 +01:00
parent e5ae0be438
commit cbb659cdb3

View file

@ -102,6 +102,18 @@ export default {
},
methods: {
...mapActions(['toggleResolveNote']),
shouldToggleResolved(shouldResolve, beforeSubmitDiscussionState) {
// shouldBeResolved() checks the actual resolution state,
// considering batchComments (EEP), if applicable/enabled.
const newResolvedStateAfterUpdate =
this.shouldBeResolved && this.shouldBeResolved(shouldResolve);
const shouldToggleState =
newResolvedStateAfterUpdate !== undefined &&
beforeSubmitDiscussionState !== newResolvedStateAfterUpdate;
return shouldResolve || shouldToggleState;
},
handleUpdate(shouldResolve) {
const beforeSubmitDiscussionState = this.discussionResolved;
this.isSubmitting = true;
@ -109,7 +121,7 @@ export default {
this.$emit('handleFormUpdate', this.updatedNoteBody, this.$refs.editNoteForm, () => {
this.isSubmitting = false;
if (shouldResolve) {
if (this.shouldToggleResolved(shouldResolve, beforeSubmitDiscussionState)) {
this.resolveHandler(beforeSubmitDiscussionState);
}
});