diff options
Diffstat (limited to 'app/views/shared/milestones')
-rw-r--r-- | app/views/shared/milestones/_deprecation_message.html.haml | 4 | ||||
-rw-r--r-- | app/views/shared/milestones/_form_dates.html.haml | 12 | ||||
-rw-r--r-- | app/views/shared/milestones/_header.html.haml | 6 | ||||
-rw-r--r-- | app/views/shared/milestones/_milestone.html.haml | 92 | ||||
-rw-r--r-- | app/views/shared/milestones/_sidebar.html.haml | 56 | ||||
-rw-r--r-- | app/views/shared/milestones/_top.html.haml | 27 |
6 files changed, 80 insertions, 117 deletions
diff --git a/app/views/shared/milestones/_deprecation_message.html.haml b/app/views/shared/milestones/_deprecation_message.html.haml index acd90fa9178..ba5eb54f017 100644 --- a/app/views/shared/milestones/_deprecation_message.html.haml +++ b/app/views/shared/milestones/_deprecation_message.html.haml @@ -1,14 +1,14 @@ .banner-callout.compact.milestone-deprecation-message.js-milestone-deprecation-message.prepend-top-20 .banner-graphic= image_tag 'illustrations/milestone_removing-page.svg' .banner-body.prepend-left-10.append-right-10 - %h5.banner-title.prepend-top-0= _('This page will be removed in a future release.') + %h5.banner-title.gl-mt-0= _('This page will be removed in a future release.') %p.milestone-banner-text= _('Use group milestones to manage issues from multiple projects in the same milestone.') = button_tag _('Promote these project milestones into a group milestone.'), class: 'btn btn-link js-popover-link text-align-left milestone-banner-link' .milestone-banner-buttons.prepend-top-20= link_to _('Learn more'), help_page_url('user/project/milestones/index', anchor: 'promoting-project-milestones-to-group-milestones'), class: 'btn btn-default', target: '_blank' %template.js-milestone-deprecation-message-template .milestone-popover-body - %ol.milestone-popover-instructions-list.append-bottom-0 + %ol.milestone-popover-instructions-list.gl-mb-0 %li= _('Click any <strong>project name</strong> in the project list below to navigate to the project milestone.').html_safe %li= _('Click the <strong>Promote</strong> button in the top right corner to promote it to a group milestone.').html_safe %hr.popover-hr diff --git a/app/views/shared/milestones/_form_dates.html.haml b/app/views/shared/milestones/_form_dates.html.haml index 4de89d7c7a0..6dbc460d9bf 100644 --- a/app/views/shared/milestones/_form_dates.html.haml +++ b/app/views/shared/milestones/_form_dates.html.haml @@ -1,13 +1,13 @@ .col-md-6 .form-group.row .col-form-label.col-sm-2 - = f.label :start_date, "Start Date" + = f.label :start_date, _('Start Date') .col-sm-10 - = f.text_field :start_date, class: "datepicker form-control", placeholder: "Select start date", autocomplete: 'off' - %a.inline.float-right.prepend-top-5.js-clear-start-date{ href: "#" } Clear start date + = f.text_field :start_date, class: "datepicker form-control", placeholder: _('Select start date'), autocomplete: 'off' + %a.inline.float-right.prepend-top-5.js-clear-start-date{ href: "#" }= _('Clear start date') .form-group.row .col-form-label.col-sm-2 - = f.label :due_date, "Due Date" + = f.label :due_date, _('Due Date') .col-sm-10 - = f.text_field :due_date, class: "datepicker form-control", placeholder: "Select due date", autocomplete: 'off' - %a.inline.float-right.prepend-top-5.js-clear-due-date{ href: "#" } Clear due date + = f.text_field :due_date, class: "datepicker form-control", placeholder: _('Select due date'), autocomplete: 'off' + %a.inline.float-right.prepend-top-5.js-clear-due-date{ href: "#" }= _('Clear due date') diff --git a/app/views/shared/milestones/_header.html.haml b/app/views/shared/milestones/_header.html.haml index 2da857261d1..99a46f1fb85 100644 --- a/app/views/shared/milestones/_header.html.haml +++ b/app/views/shared/milestones/_header.html.haml @@ -11,8 +11,7 @@ .milestone-buttons - if can?(current_user, :admin_milestone, @group || @project) - - unless milestone.legacy_group_milestone? - = link_to _('Edit'), edit_milestone_path(milestone), class: 'btn btn-grouped' + = link_to _('Edit'), edit_milestone_path(milestone), class: 'btn btn-grouped' - if milestone.project_milestone? && milestone.project.group %button.js-promote-project-milestone-button.btn.btn-grouped{ data: { toggle: 'modal', @@ -31,8 +30,7 @@ - else = link_to _('Reopen milestone'), update_milestone_path(milestone, { state_event: :activate }), method: :put, class: 'btn btn-grouped btn-reopen' - - unless milestone.legacy_group_milestone? - = render 'shared/milestones/delete_button' + = render 'shared/milestones/delete_button' %button.btn.btn-default.btn-grouped.float-right.d-block.d-sm-none.js-sidebar-toggle{ type: 'button' } = icon('angle-double-left') diff --git a/app/views/shared/milestones/_milestone.html.haml b/app/views/shared/milestones/_milestone.html.haml index 9f61082d605..31505d2d9fb 100644 --- a/app/views/shared/milestones/_milestone.html.haml +++ b/app/views/shared/milestones/_milestone.html.haml @@ -6,39 +6,33 @@ .row .col-sm-6 .append-bottom-5 - %strong= link_to truncate(milestone.title, length: 100), milestone_path + %strong= link_to truncate(milestone.title, length: 100), milestone_path(milestone) - if @group = " - #{milestone_type}" - - if @project || milestone.is_a?(GlobalMilestone) || milestone.group_milestone? - - if milestone.due_date || milestone.start_date - .text-tertiary.append-bottom-5 - = milestone_date_range(milestone) - - recent_releases, total_count, more_count = recent_releases_with_counts(milestone) - - unless total_count.zero? - .text-tertiary.append-bottom-5.milestone-release-links - = icon('rocket') - = n_('Release', 'Releases', total_count) - - recent_releases.each do |release| - = link_to release.name, project_releases_path(release.project, anchor: release.tag) - - unless release == recent_releases.last - • - - if total_count > recent_releases.count + - if milestone.due_date || milestone.start_date + .text-tertiary.append-bottom-5 + = milestone_date_range(milestone) + - recent_releases, total_count, more_count = recent_releases_with_counts(milestone) + - unless total_count.zero? + .text-tertiary.append-bottom-5.milestone-release-links + = sprite_icon("rocket", size: 12) + = n_('Release', 'Releases', total_count) + - recent_releases.each do |release| + = link_to release.name, project_releases_path(release.project, anchor: release.tag) + - unless release == recent_releases.last • - = link_to n_('%{count} more release', '%{count} more releases', more_count) % { count: more_count }, project_releases_path(milestone.project) - %div - = render('shared/milestone_expired', milestone: milestone) - - if milestone.group_milestone? - .label-badge.label-badge-blue.d-inline-block - = milestone.group.full_name - - if milestone.legacy_group_milestone? - .projects - - link_to milestone_path(milestone.milestone) do - %span.label-badge.label-badge-blue.d-inline-block.append-bottom-5 - = dashboard ? milestone.project.full_name : milestone.project.name - - if milestone.project - .label-badge.label-badge-gray.d-inline-block - = milestone.project.full_name + - if total_count > recent_releases.count + • + = link_to n_('%{count} more release', '%{count} more releases', more_count) % { count: more_count }, project_releases_path(milestone.project) + %div + = render('shared/milestone_expired', milestone: milestone) + - if milestone.group_milestone? + .label-badge.label-badge-blue.d-inline-block + = milestone.group.full_name + - if milestone.project_milestone? + .label-badge.label-badge-gray.d-inline-block + = milestone.project.full_name .col-sm-4.milestone-progress = milestone_progress_bar(milestone) @@ -49,29 +43,25 @@ .float-lg-right.light #{milestone.percent_complete}% complete .col-sm-2 .milestone-actions.d-flex.justify-content-sm-start.justify-content-md-end - - if @project - - if can_admin_project_milestones? and milestone.active? - - if can_admin_group_milestones? - %button.js-promote-project-milestone-button.btn.btn-blank.btn-sm.btn-grouped.has-tooltip{ title: s_('Milestones|Promote to Group Milestone'), - disabled: true, - type: 'button', - data: { url: promote_project_milestone_path(milestone.project, milestone), - milestone_title: milestone.title, - group_name: @project.group.name, - target: '#promote-milestone-modal', - container: 'body', - toggle: 'modal' } } - = sprite_icon('level-up', size: 14) + - if @project # if in milestones list on project level + - if can_admin_group_milestones? + %button.js-promote-project-milestone-button.btn.btn-blank.btn-sm.btn-grouped.has-tooltip{ title: s_('Milestones|Promote to Group Milestone'), + disabled: true, + type: 'button', + data: { url: promote_project_milestone_path(milestone.project, milestone), + milestone_title: milestone.title, + group_name: @project.group.name, + target: '#promote-milestone-modal', + container: 'body', + toggle: 'modal' } } + = sprite_icon('level-up', size: 14) + + - if can?(current_user, :admin_milestone, milestone) + - if milestone.closed? + = link_to s_('Milestones|Reopen Milestone'), milestone_path(milestone, milestone: { state_event: :activate }), method: :put, class: "btn btn-sm btn-grouped btn-reopen" + - else + = link_to s_('Milestones|Close Milestone'), milestone_path(milestone, milestone: { state_event: :close }), method: :put, class: "btn btn-sm btn-grouped btn-close" - = link_to s_('Milestones|Close Milestone'), project_milestone_path(@project, milestone, milestone: {state_event: :close }), method: :put, remote: true, class: "btn btn-sm btn-close btn-grouped" - - unless milestone.active? - = link_to s_('Milestones|Reopen Milestone'), project_milestone_path(@project, milestone, milestone: {state_event: :activate }), method: :put, class: "btn btn-grouped btn-reopen" - - if @group - - if can?(current_user, :admin_milestone, @group) - - if milestone.closed? - = link_to s_('Milestones|Reopen Milestone'), group_milestone_route(milestone, {state_event: :activate }), method: :put, class: "btn btn-sm btn-grouped btn-reopen" - - else - = link_to s_('Milestones|Close Milestone'), group_milestone_route(milestone, {state_event: :close }), method: :put, class: "btn btn-sm btn-grouped btn-close" - if dashboard .label-badge.label-badge-gray = milestone_type diff --git a/app/views/shared/milestones/_sidebar.html.haml b/app/views/shared/milestones/_sidebar.html.haml index ba1629bd99a..160f6487439 100644 --- a/app/views/shared/milestones/_sidebar.html.haml +++ b/app/views/shared/milestones/_sidebar.html.haml @@ -4,12 +4,12 @@ %aside.right-sidebar.js-right-sidebar{ data: { "offset-top" => affix_offset, "spy" => "affix", "always-show-toggle" => true }, class: sidebar_gutter_collapsed_class, 'aria-live' => 'polite' } .issuable-sidebar.milestone-sidebar .block.milestone-progress.issuable-sidebar-header - %a.gutter-toggle.float-right.js-sidebar-toggle.has-tooltip{ role: "button", href: "#", "aria-label" => "Toggle sidebar", title: sidebar_gutter_tooltip_text, data: { container: 'body', placement: 'left', boundary: 'viewport' } } + %a.gutter-toggle.float-right.js-sidebar-toggle.has-tooltip{ role: "button", href: "#", "aria-label" => s_('MilestoneSidebar|Toggle sidebar'), title: sidebar_gutter_tooltip_text, data: { container: 'body', placement: 'left', boundary: 'viewport' } } = sidebar_gutter_toggle_icon .title.hide-collapsed %strong.bold== #{milestone.percent_complete}% %span.hide-collapsed - complete + = s_('MilestoneSidebar|complete') .value.hide-collapsed = milestone_progress_bar(milestone) @@ -20,15 +20,15 @@ .block.start_date.hide-collapsed .title - Start date + = s_('MilestoneSidebar|Start date') - if @project && can?(current_user, :admin_milestone, @project) - = link_to 'Edit', edit_project_milestone_path(@project, @milestone), class: 'js-sidebar-dropdown-toggle edit-link float-right' + = link_to s_('MilestoneSidebar|Edit'), edit_project_milestone_path(@project, @milestone), class: 'js-sidebar-dropdown-toggle edit-link float-right' .value %span.value-content - if milestone.start_date %span.bold= milestone.start_date.to_s(:medium) - else - %span.no-value No start date + %span.no-value= s_('MilestoneSidebar|No start date') .block.due_date .sidebar-collapsed-icon @@ -45,26 +45,26 @@ .due_date.has-tooltip{ title: milestone_time_for(milestone.due_date, :end), data: { container: 'body', html: 'true', placement: 'left', boundary: 'viewport' } } = milestone.due_date.strftime('%b %-d %Y') - elsif milestone.start_date - From + = s_('MilestoneSidebar|From') .milestone-date.has-tooltip{ title: milestone_time_for(milestone.start_date, :start), data: { container: 'body', html: 'true', placement: 'left', boundary: 'viewport' } } = milestone.start_date.strftime('%b %-d %Y') - elsif milestone.due_date - Until + = s_('MilestoneSidebar|Until') .milestone-date.has-tooltip{ title: milestone_time_for(milestone.due_date, :end), data: { container: 'body', html: 'true', placement: 'left', boundary: 'viewport' } } = milestone.due_date.strftime('%b %-d %Y') - else .has-tooltip{ title: milestone_time_for(milestone.start_date, :start), data: { container: 'body', html: 'true', placement: 'left', boundary: 'viewport' } } - None + = s_('MilestoneSidebar|None') .title.hide-collapsed - Due date + = s_('MilestoneSidebar|Due date') - if @project && can?(current_user, :admin_milestone, @project) - = link_to 'Edit', edit_project_milestone_path(@project, @milestone), class: 'js-sidebar-dropdown-toggle edit-link float-right' + = link_to s_('MilestoneSidebar|Edit'), edit_project_milestone_path(@project, @milestone), class: 'js-sidebar-dropdown-toggle edit-link float-right' .value.hide-collapsed %span.value-content - if milestone.due_date %span.bold= milestone.due_date.to_s(:medium) - else - %span.no-value No due date + %span.no-value= s_('MilestoneSidebar|No due date') - remaining_days = remaining_days_in_words(milestone.due_date, milestone.start_date) - if remaining_days.present? = surround '(', ')' do @@ -77,19 +77,19 @@ = custom_icon('issues') %span= milestone.issues_visible_to_user(current_user).count .title.hide-collapsed - Issues + = s_('MilestoneSidebar|Issues') %span.badge.badge-pill= milestone.issues_visible_to_user(current_user).count - if show_new_issue_link?(project) - = link_to new_project_issue_path(project, issue: { milestone_id: milestone.id }), class: "float-right", title: "New Issue" do - New issue + = link_to new_project_issue_path(project, issue: { milestone_id: milestone.id }), class: "float-right", title: s_('MilestoneSidebar|New Issue') do + = s_('MilestoneSidebar|New issue') .value.hide-collapsed.bold %span.milestone-stat = link_to milestones_browse_issuables_path(milestone, type: :issues) do - Open: + = s_('MilestoneSidebar|Open:') = milestone.issues_visible_to_user(current_user).opened.count %span.milestone-stat = link_to milestones_browse_issuables_path(milestone, type: :issues, state: 'closed') do - Closed: + = s_('MilestoneSidebar|Closed:') = milestone.issues_visible_to_user(current_user).closed.count .block @@ -108,31 +108,31 @@ = custom_icon('mr_bold') %span= milestone.merge_requests.count .title.hide-collapsed - Merge requests + = s_('MilestoneSidebar|Merge requests') %span.badge.badge-pill= milestone.merge_requests.count .value.hide-collapsed.bold - if !project || can?(current_user, :read_merge_request, project) %span.milestone-stat = link_to milestones_browse_issuables_path(milestone, type: :merge_requests) do - Open: + = s_('MilestoneSidebar|Open:') = milestone.merge_requests.opened.count %span.milestone-stat = link_to milestones_browse_issuables_path(milestone, type: :merge_requests, state: 'closed') do - Closed: + = s_('MilestoneSidebar|Closed:') = milestone.merge_requests.closed.count %span.milestone-stat = link_to milestones_browse_issuables_path(milestone, type: :merge_requests, state: 'merged') do - Merged: + = s_('MilestoneSidebar|Merged:') = milestone.merge_requests.merged.count - else %span.milestone-stat - Open: + = s_('MilestoneSidebar|Open:') = milestone.merge_requests.opened.count %span.milestone-stat - Closed: + = s_('MilestoneSidebar|Closed:') = milestone.merge_requests.closed.count %span.milestone-stat - Merged: + = s_('MilestoneSidebar|Merged:') = milestone.merge_requests.merged.count - if project @@ -140,12 +140,12 @@ .block.releases .sidebar-collapsed-icon.has-tooltip{ title: milestone_releases_tooltip_text(milestone), data: { container: 'body', placement: 'left', boundary: 'viewport' } } %strong - = icon('rocket') + = sprite_icon("rocket", size: 16) %span= total_count .title.hide-collapsed= n_('Release', 'Releases', total_count) .hide-collapsed - if total_count.zero? - .no-value= _('None') + .no-value= s_('MilestoneSidebar|None') - else .font-weight-bold - recent_releases.each do |release| @@ -160,10 +160,10 @@ - if milestone_ref.present? .block.reference .sidebar-collapsed-icon.dont-change-state - = clipboard_button(text: milestone_ref, title: _("Copy reference"), placement: "left", boundary: 'viewport') + = clipboard_button(text: milestone_ref, title: s_('MilestoneSidebar|Copy reference'), placement: "left", boundary: 'viewport') .cross-project-reference.hide-collapsed %span - Reference: + = s_('MilestoneSidebar|Reference:') %cite{ title: milestone_ref } = milestone_ref - = clipboard_button(text: milestone_ref, title: _("Copy reference"), placement: "left", boundary: 'viewport') + = clipboard_button(text: milestone_ref, title: s_('MilestoneSidebar|Copy reference'), placement: "left", boundary: 'viewport') diff --git a/app/views/shared/milestones/_top.html.haml b/app/views/shared/milestones/_top.html.haml index 5f53e6316af..49df00940b7 100644 --- a/app/views/shared/milestones/_top.html.haml +++ b/app/views/shared/milestones/_top.html.haml @@ -1,11 +1,9 @@ - page_title milestone.title -- @breadcrumb_link = dashboard_milestone_path(milestone.safe_title, title: milestone.title) +- @breadcrumb_link = milestone_path(milestone) - group = local_assigns[:group] -- is_dynamic_milestone = milestone.legacy_group_milestone? || milestone.dashboard_milestone? = render 'shared/milestones/header', milestone: milestone -= render 'shared/milestones/deprecation_message' if is_dynamic_milestone = render 'shared/milestones/description', milestone: milestone - if milestone.complete? && milestone.active? @@ -15,26 +13,3 @@ = group ? _('You may close the milestone now.') : _('Navigate to the project to close the milestone.') = render_if_exists 'shared/milestones/burndown', milestone: milestone, project: @project - -- if is_dynamic_milestone - .table-holder - %table.table - %thead - %tr - %th= _('Project') - %th= _('Open issues') - %th= _('State') - %th= _('Due date') - %tr - %td - - project_name = group ? milestone.project.name : milestone.project.full_name - = link_to project_name, milestone_path(milestone.milestone) - %td - = milestone.milestone.issues_visible_to_user(current_user).opened.count - %td - - if milestone.closed? - = _('Closed') - - else - = _('Open') - %td - = milestone.expires_at |