Commit 88c741dde062e320ad007a2c5ccb4e7bdc6cdacf
1 parent
bb5e50e0
Exists in
master
and in
4 other branches
Refactor recent branches page
Showing
11 changed files
with
44 additions
and
34 deletions
Show diff stats
app/controllers/projects/branches_controller.rb
... | ... | @@ -11,6 +11,10 @@ class Projects::BranchesController < Projects::ApplicationController |
11 | 11 | @branches = Kaminari.paginate_array(@repository.branches).page(params[:page]).per(30) |
12 | 12 | end |
13 | 13 | |
14 | + def recent | |
15 | + @branches = @repository.recent_branches | |
16 | + end | |
17 | + | |
14 | 18 | def create |
15 | 19 | @repository.add_branch(params[:branch_name], params[:ref]) |
16 | 20 | ... | ... |
app/controllers/projects/repositories_controller.rb
... | ... | @@ -4,10 +4,6 @@ class Projects::RepositoriesController < Projects::ApplicationController |
4 | 4 | before_filter :authorize_code_access! |
5 | 5 | before_filter :require_non_empty_project |
6 | 6 | |
7 | - def show | |
8 | - @activities = @repository.commits_with_refs(20) | |
9 | - end | |
10 | - | |
11 | 7 | def stats |
12 | 8 | @stats = Gitlab::Git::Stats.new(@repository.raw, @repository.root_ref) |
13 | 9 | @graph = @stats.graph | ... | ... |
app/models/repository.rb
... | ... | @@ -49,6 +49,12 @@ class Repository |
49 | 49 | tags.find { |tag| tag.name == name } |
50 | 50 | end |
51 | 51 | |
52 | + def recent_branches(limit = 20) | |
53 | + branches.sort do |a, b| | |
54 | + a.commit.committed_date <=> b.commit.committed_date | |
55 | + end[0..limit] | |
56 | + end | |
57 | + | |
52 | 58 | def add_branch(branch_name, ref) |
53 | 59 | Rails.cache.delete(cache_key(:branch_names)) |
54 | 60 | ... | ... |
... | ... | @@ -0,0 +1,17 @@ |
1 | +%ul.nav.nav-pills.nav-stacked | |
2 | + = nav_link(path: 'branches#recent') do | |
3 | + = link_to 'Recent', recent_project_branches_path(@project) | |
4 | + = nav_link(path: 'protected_branches#index') do | |
5 | + = link_to project_protected_branches_path(@project) do | |
6 | + Protected | |
7 | + %i.icon-lock | |
8 | + = nav_link(path: 'branches#index') do | |
9 | + = link_to 'All branches', project_branches_path(@project) | |
10 | + | |
11 | + | |
12 | +%hr | |
13 | +- if can? current_user, :push_code, @project | |
14 | + = link_to new_project_branch_path(@project), class: 'btn btn-create' do | |
15 | + %i.icon-add-sign | |
16 | + New branch | |
17 | + | ... | ... |
app/views/projects/branches/index.html.haml
app/views/projects/commits/_head.html.haml
... | ... | @@ -7,7 +7,7 @@ |
7 | 7 | = link_to 'Compare', project_compare_index_path(@project) |
8 | 8 | |
9 | 9 | = nav_link(html_options: {class: branches_tab_class}) do |
10 | - = link_to project_repository_path(@project) do | |
10 | + = link_to recent_project_branches_path(@project) do | |
11 | 11 | Branches |
12 | 12 | %span.badge= @repository.branches.length |
13 | 13 | ... | ... |
app/views/projects/protected_branches/index.html.haml
1 | 1 | = render "projects/commits/head" |
2 | 2 | .row |
3 | 3 | .span3 |
4 | - = render "projects/repositories/filter" | |
4 | + = render "projects/branches/filter" | |
5 | 5 | .span9 |
6 | 6 | .alert.alert-info |
7 | 7 | %p Protected branches designed to prevent push for all except #{link_to "masters", help_permissions_path, class: "vlink"}. | ... | ... |
app/views/projects/repositories/_filter.html.haml
... | ... | @@ -1,17 +0,0 @@ |
1 | -%ul.nav.nav-pills.nav-stacked | |
2 | - = nav_link(path: 'repositories#show') do | |
3 | - = link_to 'Recent', project_repository_path(@project) | |
4 | - = nav_link(path: 'protected_branches#index') do | |
5 | - = link_to project_protected_branches_path(@project) do | |
6 | - Protected | |
7 | - %i.icon-lock | |
8 | - = nav_link(path: 'branches#index') do | |
9 | - = link_to 'All branches', project_branches_path(@project) | |
10 | - | |
11 | - | |
12 | -%hr | |
13 | -- if can? current_user, :push_code, @project | |
14 | - = link_to new_project_branch_path(@project), class: 'btn btn-create' do | |
15 | - %i.icon-add-sign | |
16 | - New branch | |
17 | - |
app/views/projects/repositories/show.html.haml
config/routes.rb
... | ... | @@ -225,8 +225,13 @@ Gitlab::Application.routes.draw do |
225 | 225 | end |
226 | 226 | end |
227 | 227 | |
228 | + resources :branches, only: [:index, :new, :create, :destroy] do | |
229 | + collection do | |
230 | + get :recent | |
231 | + end | |
232 | + end | |
233 | + | |
228 | 234 | resources :tags, only: [:index, :new, :create, :destroy] |
229 | - resources :branches, only: [:index, :new, :create, :destroy] | |
230 | 235 | resources :protected_branches, only: [:index, :create, :destroy] |
231 | 236 | |
232 | 237 | resources :refs, only: [] do | ... | ... |