gitlab-org--gitlab-foss/app/views/shared/_issues.html.haml
Sean McGivern 79b5bfc113 Save a query on issue and MR lists
`any?` on an AR relation performs a `SELECT COUNT`, which we don't need.

1. We are very likely to have issues or MRs, so the `SELECT COUNT` is
   often unnecessary.
2. Even where there are no items returned, the overhead of the
   `SELECT *` instead of `SELECT COUNT` is relatively small.

Calling `to_a` on the relation lets us use `Enumerable#any?`, which will
return immediately if there are objects returned.
2016-12-01 12:24:55 +00:00

16 lines
648 B
Text

- if @issues.to_a.any?
- @issues.group_by(&:project).each do |group|
.panel.panel-default.panel-small
- project = group[0]
.panel-heading
= link_to project.name_with_namespace, namespace_project_issues_path(project.namespace, project)
- if can?(current_user, :create_issue, project)
.pull-right
= link_to 'New issue', new_namespace_project_issue_path(project.namespace, project)
%ul.content-list.issues-list
- group[1].each do |issue|
= render 'projects/issues/issue', issue: issue
= paginate @issues, theme: "gitlab"
- else
= render 'shared/empty_states/issues'