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

Refactor recent branches page

parent bb5e50e0
...@@ -11,6 +11,10 @@ class Projects::BranchesController < Projects::ApplicationController ...@@ -11,6 +11,10 @@ class Projects::BranchesController < Projects::ApplicationController
@branches = Kaminari.paginate_array(@repository.branches).page(params[:page]).per(30) @branches = Kaminari.paginate_array(@repository.branches).page(params[:page]).per(30)
end end
def recent
@branches = @repository.recent_branches
end
def create def create
@repository.add_branch(params[:branch_name], params[:ref]) @repository.add_branch(params[:branch_name], params[:ref])
......
...@@ -4,10 +4,6 @@ class Projects::RepositoriesController < Projects::ApplicationController ...@@ -4,10 +4,6 @@ class Projects::RepositoriesController < Projects::ApplicationController
before_filter :authorize_code_access! before_filter :authorize_code_access!
before_filter :require_non_empty_project before_filter :require_non_empty_project
def show
@activities = @repository.commits_with_refs(20)
end
def stats def stats
@stats = Gitlab::Git::Stats.new(@repository.raw, @repository.root_ref) @stats = Gitlab::Git::Stats.new(@repository.raw, @repository.root_ref)
@graph = @stats.graph @graph = @stats.graph
......
...@@ -49,6 +49,12 @@ class Repository ...@@ -49,6 +49,12 @@ class Repository
tags.find { |tag| tag.name == name } tags.find { |tag| tag.name == name }
end end
def recent_branches(limit = 20)
branches.sort do |a, b|
a.commit.committed_date <=> b.commit.committed_date
end[0..limit]
end
def add_branch(branch_name, ref) def add_branch(branch_name, ref)
Rails.cache.delete(cache_key(:branch_names)) Rails.cache.delete(cache_key(:branch_names))
......
%ul.nav.nav-pills.nav-stacked %ul.nav.nav-pills.nav-stacked
= nav_link(path: 'repositories#show') do = nav_link(path: 'branches#recent') do
= link_to 'Recent', project_repository_path(@project) = link_to 'Recent', recent_project_branches_path(@project)
= nav_link(path: 'protected_branches#index') do = nav_link(path: 'protected_branches#index') do
= link_to project_protected_branches_path(@project) do = link_to project_protected_branches_path(@project) do
Protected Protected
......
= render "projects/commits/head" = render "projects/commits/head"
.row .row
.span3 .span3
= render "projects/repositories/filter" = render "filter"
.span9 .span9
- unless @branches.empty? - unless @branches.empty?
%ul.bordered-list %ul.bordered-list
......
...@@ -4,6 +4,5 @@ ...@@ -4,6 +4,5 @@
= render "filter" = render "filter"
.span9 .span9
%ul.bordered-list %ul.bordered-list
- @activities.each do |update| - @branches.each do |branch|
= render "projects/branches/branch", branch: update.head = render "projects/branches/branch", branch: branch
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
= link_to 'Compare', project_compare_index_path(@project) = link_to 'Compare', project_compare_index_path(@project)
= nav_link(html_options: {class: branches_tab_class}) do = nav_link(html_options: {class: branches_tab_class}) do
= link_to project_repository_path(@project) do = link_to recent_project_branches_path(@project) do
Branches Branches
%span.badge= @repository.branches.length %span.badge= @repository.branches.length
......
= render "projects/commits/head" = render "projects/commits/head"
.row .row
.span3 .span3
= render "projects/repositories/filter" = render "projects/branches/filter"
.span9 .span9
.alert.alert-info .alert.alert-info
%p Protected branches designed to prevent push for all except #{link_to "masters", help_permissions_path, class: "vlink"}. %p Protected branches designed to prevent push for all except #{link_to "masters", help_permissions_path, class: "vlink"}.
......
...@@ -225,8 +225,13 @@ Gitlab::Application.routes.draw do ...@@ -225,8 +225,13 @@ Gitlab::Application.routes.draw do
end end
end end
resources :branches, only: [:index, :new, :create, :destroy] do
collection do
get :recent
end
end
resources :tags, only: [:index, :new, :create, :destroy] resources :tags, only: [:index, :new, :create, :destroy]
resources :branches, only: [:index, :new, :create, :destroy]
resources :protected_branches, only: [:index, :create, :destroy] resources :protected_branches, only: [:index, :create, :destroy]
resources :refs, only: [] do resources :refs, only: [] do
......
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