Commit 88d3e97e authored by Dmitriy Zaporozhets's avatar Dmitriy Zaporozhets

Merge branch 'readme_tab' into 'master'

Add Readme tab to project show page

Fixes #1533

See merge request !1140
parents 76aca721 ae88a9bf
......@@ -6,6 +6,7 @@ v 7.4.0
- Default branch is protected by default
- Increase unicorn timeout to 60 seconds
- Sort search autocomplete projects by stars count so most popular go first
- Add README to tab on project show page
- Do not delete tmp/repositories itself during clean-up, only its contents
- Support for backup uploads to remote storage
- Prevent notes polling when there are not notes
......
......@@ -51,3 +51,12 @@ $ ->
$(@).toggleClass('on').find('.count').html(data.star_count)
.on 'ajax:error', (e, xhr, status, error) ->
new Flash('Star toggle failed. Try again later.', 'alert')
$("a[data-toggle='tab']").on "shown.bs.tab", (e) ->
$.cookie "default_view", $(e.target).attr("href")
defaultView = $.cookie("default_view")
if defaultView
$("a[href=" + defaultView + "]").tab "show"
else
$("a[data-toggle='tab']:first").tab "show"
= render "home_panel"
- readme = @repository.readme
%ul.nav.nav-tabs
%li.active
= link_to project_path(@project) do
= link_to '#tab-activity', 'data-toggle' => 'tab' do
Activity
- if readme
%li
= link_to '#tab-readme', 'data-toggle' => 'tab' do
Readme
.project-home-links
- unless @project.empty_repo?
= link_to pluralize(number_with_delimiter(@repository.commit_count), 'commit'), project_commits_path(@project, @ref || @repository.root_ref)
......@@ -11,57 +16,65 @@
= link_to pluralize(number_with_delimiter(@repository.tag_names.count), 'tag'), project_tags_path(@project)
%span.light.prepend-left-20= repository_size
.row
%section.col-md-9
= render "events/event_last_push", event: @last_push
= render 'shared/event_filter'
.content_list
= spinner
%aside.col-md-3.project-side.hidden-sm.hidden-xs
.clearfix
- if @project.archived?
.alert.alert-warning
%h4
%i.icon-warning-sign
Archived project!
%p Repository is read-only
.tab-content
.tab-pane.active#tab-activity
.row
%section.col-md-9
= render "events/event_last_push", event: @last_push
= render 'shared/event_filter'
.content_list
= spinner
%aside.col-md-3.project-side.hidden-sm.hidden-xs
.clearfix
- if @project.archived?
.alert.alert-warning
%h4
%i.icon-warning-sign
Archived project!
%p Repository is read-only
- if @project.forked_from_project
.alert.alert-success
%i.icon-code-fork.project-fork-icon
Forked from:
%br
= link_to @project.forked_from_project.name_with_namespace, project_path(@project.forked_from_project)
- if @project.forked_from_project
.alert.alert-success
%i.icon-code-fork.project-fork-icon
Forked from:
%br
= link_to @project.forked_from_project.name_with_namespace, project_path(@project.forked_from_project)
- unless @project.empty_repo?
= link_to project_compare_index_path(@project, from: @repository.root_ref, to: @ref || @repository.root_ref), class: 'btn btn-block' do
Compare code
- unless @project.empty_repo?
= link_to project_compare_index_path(@project, from: @repository.root_ref, to: @ref || @repository.root_ref), class: 'btn btn-block' do
Compare code
- if @repository.readme
- readme = @repository.readme
= link_to project_blob_path(@project, tree_join(@repository.root_ref, readme.name)), class: 'btn btn-block' do
= readme.name
- if @repository.version
- version = @repository.version
= link_to project_blob_path(@project, tree_join(@repository.root_ref, version.name)), class: 'btn btn-block' do
Version:
%span.count
= @repository.blob_by_oid(version.id).data
.prepend-top-10
%p
%span.light Created on
#{@project.created_at.stamp('Aug 22, 2013')}
%p
%span.light Owned by
- if @project.group
#{link_to @project.group.name, @project.group} group
- else
#{link_to @project.owner_name, @project.owner}
- if @repository.version
- version = @repository.version
= link_to project_blob_path(@project, tree_join(@repository.root_ref, version.name)), class: 'btn btn-block' do
Version:
%span.count
= @repository.blob_by_oid(version.id).data
.prepend-top-10
%p
%span.light Created on
#{@project.created_at.stamp('Aug 22, 2013')}
%p
%span.light Owned by
- if @project.group
#{link_to @project.group.name, @project.group} group
- else
#{link_to @project.owner_name, @project.owner}
- if @project.gitlab_ci?
%hr
= link_to @project.gitlab_ci_service.builds_path do
= image_tag @project.gitlab_ci_service.status_img_path, alt: "build status"
- if readme
.tab-pane#tab-readme
%article.readme-holder#README
= link_to project_blob_path(@project, tree_join(@repository.root_ref, readme.name)) do
%h4.readme-file-title
%i.icon-file
= readme.name
.wiki
= render_readme(readme)
- if @project.gitlab_ci?
%hr
= link_to @project.gitlab_ci_service.builds_path do
= image_tag @project.gitlab_ci_service.status_img_path, alt: "build status"
......@@ -27,7 +27,6 @@ Feature: Project Feature
Scenario: I should see project readme and version
When I visit project "Shop" page
Then I should see project "Shop" README link
And I should see project "Shop" version
Scenario: I should change project default branch
......@@ -35,3 +34,11 @@ Feature: Project Feature
And change project default branch
And I save project
Then I should see project default branch changed
@javascript
Scenario: I should have default tab per my preference
And I own project "Forum"
When I select project "Forum" README tab
Then I should see project "Forum" README
And I visit project "Shop" page
Then I should see project "Shop" README
......@@ -25,12 +25,6 @@ class Spinach::Features::ProjectFeature < Spinach::FeatureSteps
project.path.should == "new-path"
end
step 'I should see project "Shop" README link' do
within '.project-side' do
page.should have_content "README.md"
end
end
step 'I should see project "Shop" version' do
within '.project-side' do
page.should have_content "Version: 6.7.0.pre"
......@@ -45,4 +39,18 @@ class Spinach::Features::ProjectFeature < Spinach::FeatureSteps
step 'I should see project default branch changed' do
find(:css, 'select#project_default_branch').value.should == 'fix'
end
step 'I select project "Forum" README tab' do
click_link 'Readme'
end
step 'I should see project "Forum" README' do
page.should have_link "README.md"
page.should have_content "Sample repo for testing gitlab features"
end
step 'I should see project "Shop" README' do
page.should have_link "README.md"
page.should have_content "testme"
end
end
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment