diff options
Diffstat (limited to 'app/assets/javascripts/sidebar/sidebar_mediator.js')
-rw-r--r-- | app/assets/javascripts/sidebar/sidebar_mediator.js | 87 |
1 files changed, 1 insertions, 86 deletions
diff --git a/app/assets/javascripts/sidebar/sidebar_mediator.js b/app/assets/javascripts/sidebar/sidebar_mediator.js index 4df00903ab6..f7c93b6903c 100644 --- a/app/assets/javascripts/sidebar/sidebar_mediator.js +++ b/app/assets/javascripts/sidebar/sidebar_mediator.js @@ -1,8 +1,7 @@ import Store from '~/sidebar/stores/sidebar_store'; import createFlash from '~/flash'; -import { __, sprintf } from '~/locale'; +import { __ } from '~/locale'; import toast from '~/vue_shared/plugins/global_toast'; -import { refreshUserMergeRequestCounts } from '~/commons/nav/user_merge_requests'; import { visitUrl } from '../lib/utils/url_utility'; import Service from './services/sidebar_service'; @@ -42,7 +41,6 @@ export default class SidebarMediator { const data = { assignee_ids: assignees }; try { - const { currentUserHasAttention } = this.store; const res = await this.service.update(field, data); this.store.overwrite('assignees', res.data.assignees); @@ -51,10 +49,6 @@ export default class SidebarMediator { this.store.overwrite('reviewers', res.data.reviewers); } - if (currentUserHasAttention && this.store.isAddingAssignee) { - toast(__('Assigned user(s). Your attention request was removed.')); - } - return Promise.resolve(res); } catch (e) { return Promise.reject(e); @@ -70,16 +64,11 @@ export default class SidebarMediator { const data = { reviewer_ids: reviewers }; try { - const { currentUserHasAttention } = this.store; const res = await this.service.update(field, data); this.store.overwrite('reviewers', res.data.reviewers); this.store.overwrite('assignees', res.data.assignees); - if (currentUserHasAttention && this.store.isAddingAssignee) { - toast(__('Requested review. Your attention request was removed.')); - } - return Promise.resolve(res); } catch (e) { return Promise.reject(); @@ -97,80 +86,6 @@ export default class SidebarMediator { .catch(() => callback(userId, false)); } - removeCurrentUserAttentionRequested() { - const currentUserId = gon.current_user_id; - - const currentUserReviewer = this.store.findReviewer({ id: currentUserId }); - const currentUserAssignee = this.store.findAssignee({ id: currentUserId }); - - if (currentUserReviewer?.attention_requested || currentUserAssignee?.attention_requested) { - // Update current users attention_requested state - this.store.updateReviewer(currentUserId, 'attention_requested'); - this.store.updateAssignee(currentUserId, 'attention_requested'); - } - } - - async toggleAttentionRequested(type, { user, callback, direction }) { - const mutations = { - add: (id) => this.service.requestAttention(id), - remove: (id) => this.service.removeAttentionRequest(id), - }; - - try { - const isReviewer = type === 'reviewer'; - const reviewerOrAssignee = isReviewer - ? this.store.findReviewer(user) - : this.store.findAssignee(user); - - await mutations[direction]?.(user.id); - - if (reviewerOrAssignee.attention_requested) { - toast( - sprintf(__('Removed attention request from @%{username}'), { - username: user.username, - }), - ); - } else { - const currentUserId = gon.current_user_id; - const { currentUserHasAttention } = this.store; - - if (currentUserId !== user.id) { - this.removeCurrentUserAttentionRequested(); - } - - toast( - currentUserHasAttention && currentUserId !== user.id - ? sprintf( - __( - 'Requested attention from @%{username}. Your own attention request was removed.', - ), - { username: user.username }, - ) - : sprintf(__('Requested attention from @%{username}'), { username: user.username }), - ); - } - - this.store.updateReviewer(user.id, 'attention_requested'); - this.store.updateAssignee(user.id, 'attention_requested'); - - refreshUserMergeRequestCounts(); - callback(); - } catch (error) { - callback(); - createFlash({ - message: sprintf(__('Updating the attention request for %{username} failed.'), { - username: user.username, - }), - error, - captureError: true, - actionConfig: { - title: __('Try again'), - clickHandler: () => this.toggleAttentionRequired(type, { user, callback, direction }), - }, - }); - } - } - setMoveToProjectId(projectId) { this.store.setMoveToProjectId(projectId); } |