diff options
Diffstat (limited to 'app/views/projects/issues')
-rw-r--r-- | app/views/projects/issues/_design_management.html.haml | 15 | ||||
-rw-r--r-- | app/views/projects/issues/_issue.html.haml | 5 | ||||
-rw-r--r-- | app/views/projects/issues/_related_branches.html.haml | 8 | ||||
-rw-r--r-- | app/views/projects/issues/_tabs.html.haml | 14 | ||||
-rw-r--r-- | app/views/projects/issues/export_csv/_modal.html.haml | 1 | ||||
-rw-r--r-- | app/views/projects/issues/index.html.haml | 6 | ||||
-rw-r--r-- | app/views/projects/issues/show.html.haml | 10 |
7 files changed, 47 insertions, 12 deletions
diff --git a/app/views/projects/issues/_design_management.html.haml b/app/views/projects/issues/_design_management.html.haml new file mode 100644 index 00000000000..96f1dc0155c --- /dev/null +++ b/app/views/projects/issues/_design_management.html.haml @@ -0,0 +1,15 @@ +- if @project.design_management_enabled? + .js-design-management{ data: { project_path: @project.full_path, issue_iid: @issue.iid, issue_path: project_issue_path(@project, @issue) } } +- else + .mt-4 + .row.empty-state + .col-12 + .text-content + %h4.center + = _('The one place for your designs') + %p.center + - requirements_link_url = help_page_path('user/project/issues/design_management', anchor: 'requirements') + - requirements_link_start = '<a href="%{url}" target="_blank" rel="noopener noreferrer">'.html_safe % { url: requirements_link_url } + - support_link_start = '<a href="%{url}" target="_blank" rel="noopener noreferrer">'.html_safe % { url: support_url } + - link_end = '</a>'.html_safe + = s_("DesignManagement|To enable design management, you'll need to %{requirements_link_start}meet the requirements%{requirements_link_end}. If you need help, reach out to our %{support_link_start}support team%{support_link_end} for assistance.").html_safe % { requirements_link_start: requirements_link_start, requirements_link_end: link_end, support_link_start: support_link_start, support_link_end: link_end } diff --git a/app/views/projects/issues/_issue.html.haml b/app/views/projects/issues/_issue.html.haml index 54002b9ca2e..1bf0c8eb031 100644 --- a/app/views/projects/issues/_issue.html.haml +++ b/app/views/projects/issues/_issue.html.haml @@ -6,12 +6,13 @@ = check_box_tag dom_id(issue, "selected"), nil, false, 'data-id' => issue.id, class: "selected-issuable" .issuable-info-container .issuable-main-info - .issue-title.title + .issue-title.title.d-flex.align-items-center %span.issue-title-text.js-onboarding-issue-item{ dir: "auto" } - if issue.confidential? %span.has-tooltip{ title: _('Confidential') } = confidential_icon(issue) = link_to issue.title, issue_path(issue) + = render_if_exists 'projects/issues/subepic_flag', issue: issue - if issue.tasks? %span.task-status.d-none.d-sm-inline-block @@ -24,7 +25,7 @@ · opened #{time_ago_with_tooltip(issue.created_at, placement: 'bottom')} by #{link_to_member(@project, issue.author, avatar: false)} - = gitlab_team_member_badge(issue.author) + = render_if_exists 'shared/issuable/gitlab_team_member_badge', {author: issue.author} - if issue.milestone %span.issuable-milestone.d-none.d-sm-inline-block diff --git a/app/views/projects/issues/_related_branches.html.haml b/app/views/projects/issues/_related_branches.html.haml index 69b030ed76a..0604e89be6e 100644 --- a/app/views/projects/issues/_related_branches.html.haml +++ b/app/views/projects/issues/_related_branches.html.haml @@ -4,11 +4,9 @@ %ul.unstyled-list.related-merge-requests - @related_branches.each do |branch| %li - - target = @project.repository.find_branch(branch).dereferenced_target - - pipeline = @project.pipeline_for(branch, target.sha) if target - - if can?(current_user, :read_pipeline, pipeline) + - if branch[:pipeline_status].present? %span.related-branch-ci-status - = render 'ci/status/icon', status: pipeline.detailed_status(current_user) + = render 'ci/status/icon', status: branch[:pipeline_status] %span.related-branch-info %strong - = link_to branch, project_compare_path(@project, from: @project.default_branch, to: branch), class: "ref-name" + = link_to branch[:name], branch[:link], class: "ref-name" diff --git a/app/views/projects/issues/_tabs.html.haml b/app/views/projects/issues/_tabs.html.haml new file mode 100644 index 00000000000..d998a01623f --- /dev/null +++ b/app/views/projects/issues/_tabs.html.haml @@ -0,0 +1,14 @@ +%ul.nav-tabs.nav.nav-links{ role: 'tablist' } + %li + = link_to '#discussion-tab', class: 'active js-issue-tabs', id: 'discussion', role: 'tab', 'aria-controls': 'js-discussion', 'aria-selected': 'true', data: { toggle: 'tab', target: '#discussion-tab', qa_selector: 'discussion_tab_link' } do + = _('Discussion') + %span.badge.badge-pill.js-discussions-count + %li + = link_to '#designs-tab', class: 'js-issue-tabs', id: 'designs', role: 'tab', 'aria-controls': 'js-designs', 'aria-selected': 'false', data: { toggle: 'tab', target: '#designs-tab', qa_selector: 'designs_tab_link' } do + = _('Designs') + %span.badge.badge-pill.js-designs-count +.tab-content + #discussion-tab.tab-pane.show.active{ role: 'tabpanel', 'aria-labelledby': 'discussion', data: { qa_selector: 'discussion_tab_content' } } + = render 'projects/issues/discussion' + #designs-tab.tab-pane{ role: 'tabpanel', 'aria-labelledby': 'designs', data: { qa_selector: 'designs_tab_content' } } + = render 'projects/issues/design_management' diff --git a/app/views/projects/issues/export_csv/_modal.html.haml b/app/views/projects/issues/export_csv/_modal.html.haml index af3a087ca59..9fdeb901b56 100644 --- a/app/views/projects/issues/export_csv/_modal.html.haml +++ b/app/views/projects/issues/export_csv/_modal.html.haml @@ -1,4 +1,3 @@ --# haml-lint:disable NoPlainNodes - if current_user .issues-export-modal.modal .modal-dialog diff --git a/app/views/projects/issues/index.html.haml b/app/views/projects/issues/index.html.haml index 2633a3899f7..0aef4e39466 100644 --- a/app/views/projects/issues/index.html.haml +++ b/app/views/projects/issues/index.html.haml @@ -6,6 +6,12 @@ = content_for :meta_tags do = auto_discovery_link_tag(:atom, safe_params.merge(rss_url_options).to_h, title: "#{@project.name} issues") +- if @project.jira_issues_import_feature_flag_enabled? + .js-projects-issues-root{ data: { can_edit: can?(current_user, :admin_project, @project).to_s, + is_jira_configured: @project.jira_service.present?.to_s, + issues_path: project_issues_path(@project), + project_path: @project.full_path } } + - if project_issues(@project).exists? .top-area = render 'shared/issuable/nav', type: :issues diff --git a/app/views/projects/issues/show.html.haml b/app/views/projects/issues/show.html.haml index 4fc67884584..c8ffa2e3720 100644 --- a/app/views/projects/issues/show.html.haml +++ b/app/views/projects/issues/show.html.haml @@ -10,6 +10,8 @@ - can_report_spam = @issue.submittable_as_spam_by?(current_user) - can_create_issue = show_new_issue_link?(@project) += render_if_exists "projects/issues/alert_blocked", issue: @issue, current_user: current_user + .detail-page-header .detail-page-header-body .issuable-status-box.status-box.status-box-issue-closed{ class: issue_status_visibility(@issue, status_box: :closed) } @@ -50,7 +52,7 @@ %li.divider %li= link_to 'New issue', new_project_issue_path(@project), id: 'new_issue_link' - = render 'shared/issuable/close_reopen_button', issuable: @issue, can_update: can_update_issue, can_reopen: can_reopen_issue + = render 'shared/issuable/close_reopen_button', issuable: @issue, can_update: can_update_issue, can_reopen: can_reopen_issue, warn_before_close: defined?(@issue.blocked?) && @issue.blocked? - if can_report_spam = link_to 'Submit as spam', mark_as_spam_project_issue_path(@project, @issue), method: :post, class: 'd-none d-sm-none d-md-block btn btn-grouped btn-spam', title: 'Submit as spam' @@ -84,13 +86,13 @@ .content-block.emoji-block.emoji-block-sticky .row - .col-md-12.col-lg-6.js-noteable-awards + .col-md-12.col-lg-4.js-noteable-awards = render 'award_emoji/awards_block', awardable: @issue, inline: true - .col-md-12.col-lg-6.new-branch-col + .col-md-12.col-lg-8.new-branch-col #js-vue-sort-issue-discussions #js-vue-discussion-filter{ data: { default_filter: current_user&.notes_filter_for(@issue), notes_filters: UserPreference.notes_filters.to_json } } = render 'new_branch' if show_new_branch_button? - = render_if_exists 'projects/issues/discussion' + = render 'projects/issues/tabs' = render 'shared/issuable/sidebar', issuable_sidebar: @issuable_sidebar, assignees: @issue.assignees |