summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG1
-rw-r--r--app/assets/javascripts/project.js.coffee9
-rw-r--r--app/views/projects/show.html.haml109
-rw-r--r--features/project/project.feature9
-rw-r--r--features/steps/project/project.rb20
5 files changed, 93 insertions, 55 deletions
diff --git a/CHANGELOG b/CHANGELOG
index 5c57b14ad15..544e66a1a1c 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -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
diff --git a/app/assets/javascripts/project.js.coffee b/app/assets/javascripts/project.js.coffee
index d81cc087df9..f4a8a178e76 100644
--- a/app/assets/javascripts/project.js.coffee
+++ b/app/assets/javascripts/project.js.coffee
@@ -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"
diff --git a/app/views/projects/show.html.haml b/app/views/projects/show.html.haml
index 7902f51f72f..19bef02b51f 100644
--- a/app/views/projects/show.html.haml
+++ b/app/views/projects/show.html.haml
@@ -1,9 +1,14 @@
= 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"
diff --git a/features/project/project.feature b/features/project/project.feature
index c1f192f123e..47e9600c051 100644
--- a/features/project/project.feature
+++ b/features/project/project.feature
@@ -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
diff --git a/features/steps/project/project.rb b/features/steps/project/project.rb
index 3e7061a421f..f543e47b4c2 100644
--- a/features/steps/project/project.rb
+++ b/features/steps/project/project.rb
@@ -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