summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDouwe Maan <douwe@gitlab.com>2015-03-17 18:37:50 +0100
committerDouwe Maan <douwe@gitlab.com>2015-03-18 16:17:43 +0100
commitb1b8261f56d35e471bc32b0f2050e27650b7c797 (patch)
tree2fed6bd1da292a8348b838b208fad812bf500764
parent5adb1128dcca2810a32b7b974372970c6d36a98c (diff)
downloadgitlab-ce-b1b8261f56d35e471bc32b0f2050e27650b7c797.tar.gz
Add license and contribution guide links to project sidebar.
-rw-r--r--CHANGELOG1
-rw-r--r--app/helpers/projects_helper.rb37
-rw-r--r--app/models/repository.rb10
-rw-r--r--app/views/projects/_issuable_form.html.haml4
-rw-r--r--app/views/projects/merge_requests/_new_submit.html.haml4
-rw-r--r--app/views/projects/show.html.haml26
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