From 3ac9d96a3c46474b962cbd4b7653f2e3dc846919 Mon Sep 17 00:00:00 2001 From: Samantha Ming Date: Tue, 17 Nov 2020 14:59:39 -0800 Subject: [PATCH] Create suggested approver partial Part of the implementation for issue: https://gitlab.com/gitlab-org/gitlab/-/issues/231244 --- .../shared/issuable/_approvals.html.haml | 25 +------------------ .../shared/issuable/_approver_suggestion.haml | 25 +++++++++++++++++++ locale/gitlab.pot | 6 +++++ 3 files changed, 32 insertions(+), 24 deletions(-) create mode 100644 ee/app/views/shared/issuable/_approver_suggestion.haml diff --git a/ee/app/views/shared/issuable/_approvals.html.haml b/ee/app/views/shared/issuable/_approvals.html.haml index 7a60829dd2eec2..40b8ed64561d72 100644 --- a/ee/app/views/shared/issuable/_approvals.html.haml +++ b/ee/app/views/shared/issuable/_approvals.html.haml @@ -1,33 +1,10 @@ -- issuable = local_assigns.fetch(:issuable) -- presenter = local_assigns.fetch(:presenter) - form = local_assigns.fetch(:form) - return unless issuable.is_a?(MergeRequest) - return unless issuable.approval_feature_available? -- can_update_approvers = can?(current_user, :update_approvers, issuable) - .form-group.row .col-sm-2.col-form-label = form.label :approver_ids, "Approval rules" .col-sm-10 - #js-mr-approvals-input{ data: { 'project_id': @target_project.id, - 'can_edit': can?(current_user, :update_approvers, issuable).to_s, - 'allow_multi_rule': @target_project.multiple_approval_rules_available?.to_s, - 'mr_id': issuable.iid, - 'mr_settings_path': presenter.api_approval_settings_path, - 'eligible_approvers_docs_path': help_page_path('user/project/merge_requests/merge_request_approvals', anchor: 'eligible-approvers'), - 'project_settings_path': presenter.api_project_approval_settings_path } } - = sprite_icon('spinner', size: 24, css_class: 'gl-spinner') - - if can_update_approvers - - approver_presenter = MergeRequestApproverPresenter.new(issuable, skip_user: current_user) - .form-text.text-muted.suggested-approvers - - if approver_presenter.any? - Suggested approvers: - = approver_presenter.render - - if approver_presenter.show_code_owner_tips? - .form-text.text-muted - Tip: add a - = link_to 'CODEOWNERS', help_page_path('user/project/code_owners'), target: '_blank', tabindex: -1 - to automatically add approvers based on file paths and file types. - = render 'projects/merge_requests/code_owner_approval_rules', merge_request: @mr_presenter + = render_if_exists 'shared/issuable/approver_suggestion', issuable: issuable, presenter: presenter diff --git a/ee/app/views/shared/issuable/_approver_suggestion.haml b/ee/app/views/shared/issuable/_approver_suggestion.haml new file mode 100644 index 00000000000000..4e1fe60a000eea --- /dev/null +++ b/ee/app/views/shared/issuable/_approver_suggestion.haml @@ -0,0 +1,25 @@ +- issuable = local_assigns.fetch(:issuable) +- presenter = local_assigns.fetch(:presenter) + +- can_update_approvers = can?(current_user, :update_approvers, issuable) + +#js-mr-approvals-input{ data: { 'project_id': @target_project.id, + 'can_edit': can?(current_user, :update_approvers, issuable).to_s, + 'allow_multi_rule': @target_project.multiple_approval_rules_available?.to_s, + 'mr_id': issuable.iid, + 'mr_settings_path': presenter.api_approval_settings_path, + 'eligible_approvers_docs_path': help_page_path('user/project/merge_requests/merge_request_approvals', anchor: 'eligible-approvers'), + 'project_settings_path': presenter.api_project_approval_settings_path } } + = sprite_icon('spinner', size: 24, css_class: 'gl-spinner') +- if can_update_approvers + - approver_presenter = MergeRequestApproverPresenter.new(issuable, skip_user: current_user) + .form-text.text-muted.suggested-approvers + - if approver_presenter.any? + Suggested approvers: + = approver_presenter.render + - if approver_presenter.show_code_owner_tips? + .form-text.text-muted + = _('Tip: add a') + = link_to 'CODEOWNERS', help_page_path('user/project/code_owners'), target: '_blank', tabindex: -1 + = _('to automatically add approvers based on file paths and file types.') += render 'projects/merge_requests/code_owner_approval_rules', merge_request: @mr_presenter diff --git a/locale/gitlab.pot b/locale/gitlab.pot index d966678cb528e2..863f108d13bb39 100644 --- a/locale/gitlab.pot +++ b/locale/gitlab.pot @@ -28356,6 +28356,9 @@ msgstr "" msgid "Tip:" msgstr "" +msgid "Tip: add a" +msgstr "" + msgid "Title" msgstr "" @@ -33017,6 +33020,9 @@ msgstr "" msgid "time summary" msgstr "" +msgid "to automatically add approvers based on file paths and file types." +msgstr "" + msgid "to help your contributors communicate effectively!" msgstr "" -- GitLab