diff options
author | Jarka Košanová <jarka@gitlab.com> | 2019-01-17 22:41:53 +0300 |
---|---|---|
committer | Brett Walker <bwalker@gitlab.com> | 2019-02-27 21:28:37 +0300 |
commit | 4e893f036ebc8ffff5dab069dc32be9aea4a7644 (patch) | |
tree | 74d76a4dbd04b1311609f0463be4385b8caaa918 /app | |
parent | 1207153baa40c63536b29e103da73b678db76848 (diff) |
Display only informaton visible to current user
Display only labels and assignees of issues
visible by the currently logged user
Display only issues visible to user in the burndown chart
Diffstat (limited to 'app')
-rw-r--r-- | app/models/concerns/milestoneish.rb | 12 | ||||
-rw-r--r-- | app/views/shared/milestones/_tabs.html.haml | 4 |
2 files changed, 14 insertions, 2 deletions
diff --git a/app/models/concerns/milestoneish.rb b/app/models/concerns/milestoneish.rb index e73a5f2fd29..e65bbb8ca07 100644 --- a/app/models/concerns/milestoneish.rb +++ b/app/models/concerns/milestoneish.rb @@ -46,6 +46,18 @@ module Milestoneish end end + def issue_participants_visible_by_user(user) + User.joins(:issue_assignees) + .where('issue_assignees.issue_id' => issues_visible_to_user(user).select(:id)) + .distinct + end + + def issue_labels_visible_by_user(user) + Label.joins(:label_links) + .where('label_links.target_id' => issues_visible_to_user(user).select(:id), 'label_links.target_type' => 'Issue') + .distinct + end + def sorted_issues(user) issues_visible_to_user(user).preload_associations.sort_by_attribute('label_priority') end diff --git a/app/views/shared/milestones/_tabs.html.haml b/app/views/shared/milestones/_tabs.html.haml index a75af1a7e15..b877f66c71e 100644 --- a/app/views/shared/milestones/_tabs.html.haml +++ b/app/views/shared/milestones/_tabs.html.haml @@ -21,11 +21,11 @@ %li.nav-item = link_to '#tab-participants', class: 'nav-link', 'data-toggle' => 'tab', 'data-endpoint': milestone_participants_tab_path(milestone) do Participants - %span.badge.badge-pill= milestone.participants.count + %span.badge.badge-pill= milestone.issue_participants_visible_by_user(current_user).count %li.nav-item = link_to '#tab-labels', class: 'nav-link', 'data-toggle' => 'tab', 'data-endpoint': milestone_labels_tab_path(milestone) do Labels - %span.badge.badge-pill= milestone.labels.count + %span.badge.badge-pill= milestone.issue_labels_visible_by_user(current_user).count - issues = milestone.sorted_issues(current_user) - show_project_name = local_assigns.fetch(:show_project_name, false) |