diff options
author | Yorick Peterse <yorickpeterse@gmail.com> | 2017-09-12 16:54:25 +0300 |
---|---|---|
committer | Yorick Peterse <yorickpeterse@gmail.com> | 2017-09-14 14:20:05 +0300 |
commit | 3e999684f9c3b7306dea7a7feee90536ee100ccf (patch) | |
tree | 224eabd4599d31a70e799b8ff7a94b759f826865 /app/views/projects/buttons/_download.html.haml | |
parent | 1140fcce4f8b5463f451356b76fea125826478b2 (diff) |
Memoize pipelines for project download buttons
This adds Project#latest_successful_pipeline_for and
Project#latest_successful_pipeline_for_default_branch. The 2nd method
memoizes the result (taking nil values into account) to ensure the
underlying query isn't executed multiple times when viewing a project's
homepage.
See https://gitlab.com/gitlab-org/gitlab-ce/issues/36878#note_40073607
for more information.
Diffstat (limited to 'app/views/projects/buttons/_download.html.haml')
-rw-r--r-- | app/views/projects/buttons/_download.html.haml | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/app/views/projects/buttons/_download.html.haml b/app/views/projects/buttons/_download.html.haml index 883922dbf04..219ccdc8164 100644 --- a/app/views/projects/buttons/_download.html.haml +++ b/app/views/projects/buttons/_download.html.haml @@ -1,4 +1,4 @@ -- pipeline = local_assigns.fetch(:pipeline) { project.pipelines.latest_successful_for(ref) } +- pipeline = local_assigns.fetch(:pipeline) { project.latest_successful_pipeline_for(ref) } - if !project.empty_repo? && can?(current_user, :download_code, project) .project-action-button.dropdown.inline> |