diff options
author | Jarka Košanová <jarka@gitlab.com> | 2019-01-17 22:41:53 +0300 |
---|---|---|
committer | Jarka Košanová <jarka@gitlab.com> | 2019-03-05 11:30:46 +0300 |
commit | 434cb1d96f43c90f32427c60a82308307a9181e8 (patch) | |
tree | 5d8073faa4e7b9a557c129df226815618a0a8bab /app | |
parent | 025015048f7eaad29ee7816c6040fb3e0c06eb8d (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 39372c4f68b..dff8b3af608 100644 --- a/app/models/concerns/milestoneish.rb +++ b/app/models/concerns/milestoneish.rb @@ -53,6 +53,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 55460acab8f..3b435847172 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) |