diff options
author | Douwe Maan <douwe@gitlab.com> | 2015-03-17 18:37:50 +0100 |
---|---|---|
committer | Douwe Maan <douwe@gitlab.com> | 2015-03-18 16:17:43 +0100 |
commit | b1b8261f56d35e471bc32b0f2050e27650b7c797 (patch) | |
tree | 2fed6bd1da292a8348b838b208fad812bf500764 | |
parent | 5adb1128dcca2810a32b7b974372970c6d36a98c (diff) | |
download | gitlab-ce-b1b8261f56d35e471bc32b0f2050e27650b7c797.tar.gz |
Add license and contribution guide links to project sidebar.
-rw-r--r-- | CHANGELOG | 1 | ||||
-rw-r--r-- | app/helpers/projects_helper.rb | 37 | ||||
-rw-r--r-- | app/models/repository.rb | 10 | ||||
-rw-r--r-- | app/views/projects/_issuable_form.html.haml | 4 | ||||
-rw-r--r-- | app/views/projects/merge_requests/_new_submit.html.haml | 4 | ||||
-rw-r--r-- | app/views/projects/show.html.haml | 26 |
6 files changed, 65 insertions, 17 deletions
diff --git a/CHANGELOG b/CHANGELOG index 09b60e8e54a..ec5ada56311 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -2,6 +2,7 @@ Please view this file on the master branch, on stable branches it's out of date. v 7.10.0 (unreleased) - Add a service to support external wikis (Hannes Rosenögger) + - Add changelog, license and contribution guide links to project sidebar. v 7.9.0 (unreleased) - Add HipChat integration documentation (Stan Hu) diff --git a/app/helpers/projects_helper.rb b/app/helpers/projects_helper.rb index 2225b110651..a14277180c7 100644 --- a/app/helpers/projects_helper.rb +++ b/app/helpers/projects_helper.rb @@ -232,12 +232,45 @@ module ProjectsHelper end def contribution_guide_url(project) - if project && project.repository.contribution_guide + if project && contribution_guide = project.repository.contribution_guide namespace_project_blob_path( project.namespace, project, tree_join(project.default_branch, - project.repository.contribution_guide.name) + contribution_guide.name) + ) + end + end + + def changelog_url(project) + if project && changelog = project.repository.changelog + namespace_project_blob_path( + project.namespace, + project, + tree_join(project.default_branch, + changelog.name) + ) + end + end + + def license_url(project) + if project && license = project.repository.license + namespace_project_blob_path( + project.namespace, + project, + tree_join(project.default_branch, + license.name) + ) + end + end + + def version_url(project) + if project && version = project.repository.version + namespace_project_blob_path( + project.namespace, + project, + tree_join(project.default_branch, + version.name) ) end end diff --git a/app/models/repository.rb b/app/models/repository.rb index 8d0306e820d..86c9c9b4d48 100644 --- a/app/models/repository.rb +++ b/app/models/repository.rb @@ -122,7 +122,7 @@ class Repository def expire_cache %i(size branch_names tag_names commit_count graph_log - readme version contribution_guide changelog).each do |key| + readme version contribution_guide changelog license).each do |key| cache.expire(key) end end @@ -212,6 +212,14 @@ class Repository end end + def license + cache.fetch(:license) do + tree(:head).blobs.find do |file| + file.name =~ /^license/i + end + end + end + def head_commit commit(self.root_ref) end diff --git a/app/views/projects/_issuable_form.html.haml b/app/views/projects/_issuable_form.html.haml index a7cd129b631..7fd5fe8a6e1 100644 --- a/app/views/projects/_issuable_form.html.haml +++ b/app/views/projects/_issuable_form.html.haml @@ -71,10 +71,10 @@ = link_to 'Create new label', new_namespace_project_label_path(issuable.project.namespace, issuable.project), target: :blank .form-actions - - if !issuable.project.empty_repo? && contribution_guide_url(issuable.project) && !issuable.persisted? + - if !issuable.project.empty_repo? && (guide_url = contribution_guide_url(issuable.project)) && !issuable.persisted? %p Please review the - %strong #{link_to 'guidelines for contribution', contribution_guide_url(issuable.project)} + %strong #{link_to 'guidelines for contribution', guide_url} to this repository. - if issuable.new_record? = f.submit "Submit new #{issuable.class.model_name.human.downcase}", class: 'btn btn-create' diff --git a/app/views/projects/merge_requests/_new_submit.html.haml b/app/views/projects/merge_requests/_new_submit.html.haml index bf80afe8785..1d8eef4e8ce 100644 --- a/app/views/projects/merge_requests/_new_submit.html.haml +++ b/app/views/projects/merge_requests/_new_submit.html.haml @@ -69,10 +69,10 @@ = link_to 'Create new label', new_namespace_project_label_path(@merge_request.target_project.namespace, @merge_request.target_project), target: :blank .form-actions - - if contribution_guide_url(@target_project) + - if guide_url = contribution_guide_url(@target_project) %p Please review the - %strong #{link_to 'guidelines for contribution', contribution_guide_url(@target_project)} + %strong #{link_to 'guidelines for contribution', guide_url} to this repository. = f.hidden_field :source_project_id = f.hidden_field :source_branch diff --git a/app/views/projects/show.html.haml b/app/views/projects/show.html.haml index 25dee2043be..822e67c5616 100644 --- a/app/views/projects/show.html.haml +++ b/app/views/projects/show.html.haml @@ -47,21 +47,27 @@ = link_to @project.forked_from_project.name_with_namespace, namespace_project_path(@project.namespace, @project.forked_from_project) - unless @project.empty_repo? - = link_to namespace_project_compare_index_path(@project.namespace, @project, from: @repository.root_ref, to: @ref || @repository.root_ref), class: 'btn btn-block' do - Compare code - - - version = @repository.version - - changelog = @repository.changelog - - if version - - detail_file = changelog.try(:name) || version.name - = link_to namespace_project_blob_path(@project.namespace, @project, tree_join(@repository.root_ref, detail_file)), class: 'btn btn-block' do + - if version = @repository.version + - detail_url = changelog_url(@project) || version_url(@project) + = link_to detail_url, class: 'btn btn-block' do Version: %span.count = @repository.blob_by_oid(version.id).data - - elsif changelog - = link_to namespace_project_blob_path(@project.namespace, @project, tree_join(@repository.root_ref, changelog.name)), class: 'btn btn-block' do + - elsif @repository.changelog + = link_to changelog_url(@project), class: 'btn btn-block' do View changelog + - if @repository.contribution_guide + = link_to contribution_guide_url(@project), class: 'btn btn-block' do + View contribution guide + + - if @repository.license + = link_to license_url(@project), class: 'btn btn-block' do + View license + + = link_to namespace_project_compare_index_path(@project.namespace, @project, from: @repository.root_ref, to: @ref || @repository.root_ref), class: 'btn btn-block' do + Compare code + .prepend-top-10 %p %span.light Created on |