Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_auto_merge_enabled.vue')
-rw-r--r--app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_auto_merge_enabled.vue53
1 files changed, 17 insertions, 36 deletions
diff --git a/app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_auto_merge_enabled.vue b/app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_auto_merge_enabled.vue
index 92a7fa39cdc..38f7d3d2c96 100644
--- a/app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_auto_merge_enabled.vue
+++ b/app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_auto_merge_enabled.vue
@@ -3,8 +3,8 @@ import { GlSkeletonLoader, GlSprintf } from '@gitlab/ui';
import autoMergeMixin from 'ee_else_ce/vue_merge_request_widget/mixins/auto_merge';
import autoMergeEnabledQuery from 'ee_else_ce/vue_merge_request_widget/queries/states/auto_merge_enabled.query.graphql';
import { createAlert } from '~/flash';
+import { getIdFromGraphQLId } from '~/graphql_shared/utils';
import { __ } from '~/locale';
-import glFeatureFlagMixin from '~/vue_shared/mixins/gl_feature_flags_mixin';
import { AUTO_MERGE_STRATEGIES } from '../../constants';
import eventHub from '../../event_hub';
import mergeRequestQueryVariablesMixin from '../../mixins/merge_request_query_variables';
@@ -16,9 +16,6 @@ export default {
apollo: {
state: {
query: autoMergeEnabledQuery,
- skip() {
- return !this.glFeatures.mergeRequestWidgetGraphql;
- },
variables() {
return this.mergeRequestQueryVariables;
},
@@ -31,7 +28,7 @@ export default {
GlSprintf,
StateContainer,
},
- mixins: [autoMergeMixin, glFeatureFlagMixin(), mergeRequestQueryVariablesMixin],
+ mixins: [autoMergeMixin, mergeRequestQueryVariablesMixin],
props: {
mr: {
type: Object,
@@ -51,31 +48,21 @@ export default {
},
computed: {
loading() {
- return (
- this.glFeatures.mergeRequestWidgetGraphql &&
- this.$apollo.queries.state.loading &&
- Object.keys(this.state).length === 0
- );
- },
- mergeUser() {
- if (this.glFeatures.mergeRequestWidgetGraphql) {
- return this.state.mergeUser;
- }
-
- return this.mr.setToAutoMergeBy;
+ return this.$apollo.queries.state.loading && Object.keys(this.state).length === 0;
},
- targetBranch() {
- return (this.glFeatures.mergeRequestWidgetGraphql ? this.state : this.mr).targetBranch;
- },
- shouldRemoveSourceBranch() {
- if (!this.glFeatures.mergeRequestWidgetGraphql) return this.mr.shouldRemoveSourceBranch;
-
+ stateRemoveSourceBranch() {
if (!this.state.shouldRemoveSourceBranch) return false;
return this.state.shouldRemoveSourceBranch || this.state.forceRemoveSourceBranch;
},
- autoMergeStrategy() {
- return (this.glFeatures.mergeRequestWidgetGraphql ? this.state : this.mr).autoMergeStrategy;
+ canRemoveSourceBranch() {
+ const { currentUserId } = this.mr;
+ const mergeUserId = getIdFromGraphQLId(this.state.mergeUser?.id);
+ const canRemoveSourceBranch = this.state.userPermissions.removeSourceBranch;
+
+ return (
+ !this.stateRemoveSourceBranch && canRemoveSourceBranch && mergeUserId === currentUserId
+ );
},
actions() {
const actions = [];
@@ -104,12 +91,8 @@ export default {
this.service
.cancelAutomaticMerge()
.then((res) => res.data)
- .then((data) => {
- if (this.glFeatures.mergeRequestWidgetGraphql) {
- eventHub.$emit('MRWidgetUpdateRequested');
- } else {
- eventHub.$emit('UpdateWidgetData', data);
- }
+ .then(() => {
+ eventHub.$emit('MRWidgetUpdateRequested');
})
.catch(() => {
this.isCancellingAutoMerge = false;
@@ -121,7 +104,7 @@ export default {
removeSourceBranch() {
const options = {
sha: this.mr.sha,
- auto_merge_strategy: this.autoMergeStrategy,
+ auto_merge_strategy: this.state.autoMergeStrategy,
should_remove_source_branch: true,
};
@@ -135,9 +118,7 @@ export default {
}
})
.then(() => {
- if (this.glFeatures.mergeRequestWidgetGraphql) {
- this.$apollo.queries.state.refetch();
- }
+ this.$apollo.queries.state.refetch();
})
.catch(() => {
this.isRemovingSourceBranch = false;
@@ -162,7 +143,7 @@ export default {
<h4 class="gl-mr-3" data-testid="statusText">
<gl-sprintf :message="statusText" data-testid="statusText">
<template #merge_author>
- <mr-widget-author :author="mergeUser" />
+ <mr-widget-author v-if="state.mergeUser" :author="state.mergeUser" />
</template>
</gl-sprintf>
</h4>