mirror of
https://github.com/wahyd4/gitlabhq.git
synced 2026-08-11 05:36:07 +10:00
Refactor recent branches page
This commit is contained in:
@@ -11,6 +11,10 @@ class Projects::BranchesController < Projects::ApplicationController
|
||||
@branches = Kaminari.paginate_array(@repository.branches).page(params[:page]).per(30)
|
||||
end
|
||||
|
||||
def recent
|
||||
@branches = @repository.recent_branches
|
||||
end
|
||||
|
||||
def create
|
||||
@repository.add_branch(params[:branch_name], params[:ref])
|
||||
|
||||
|
||||
@@ -4,10 +4,6 @@ class Projects::RepositoriesController < Projects::ApplicationController
|
||||
before_filter :authorize_code_access!
|
||||
before_filter :require_non_empty_project
|
||||
|
||||
def show
|
||||
@activities = @repository.commits_with_refs(20)
|
||||
end
|
||||
|
||||
def stats
|
||||
@stats = Gitlab::Git::Stats.new(@repository.raw, @repository.root_ref)
|
||||
@graph = @stats.graph
|
||||
|
||||
@@ -49,6 +49,12 @@ class Repository
|
||||
tags.find { |tag| tag.name == name }
|
||||
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)
|
||||
Rails.cache.delete(cache_key(:branch_names))
|
||||
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
%ul.nav.nav-pills.nav-stacked
|
||||
= nav_link(path: 'repositories#show') do
|
||||
= link_to 'Recent', project_repository_path(@project)
|
||||
= nav_link(path: 'branches#recent') do
|
||||
= link_to 'Recent', recent_project_branches_path(@project)
|
||||
= nav_link(path: 'protected_branches#index') do
|
||||
= link_to project_protected_branches_path(@project) do
|
||||
Protected
|
||||
@@ -1,7 +1,7 @@
|
||||
= render "projects/commits/head"
|
||||
.row
|
||||
.span3
|
||||
= render "projects/repositories/filter"
|
||||
= render "filter"
|
||||
.span9
|
||||
- unless @branches.empty?
|
||||
%ul.bordered-list
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
= render "projects/commits/head"
|
||||
.row
|
||||
.span3
|
||||
= render "filter"
|
||||
.span9
|
||||
%ul.bordered-list
|
||||
- @branches.each do |branch|
|
||||
= render "projects/branches/branch", branch: branch
|
||||
@@ -7,7 +7,7 @@
|
||||
= link_to 'Compare', project_compare_index_path(@project)
|
||||
|
||||
= 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
|
||||
%span.badge= @repository.branches.length
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
= render "projects/commits/head"
|
||||
.row
|
||||
.span3
|
||||
= render "projects/repositories/filter"
|
||||
= render "projects/branches/filter"
|
||||
.span9
|
||||
.alert.alert-info
|
||||
%p Protected branches designed to prevent push for all except #{link_to "masters", help_permissions_path, class: "vlink"}.
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
= render "projects/commits/head"
|
||||
.row
|
||||
.span3
|
||||
= render "filter"
|
||||
.span9
|
||||
%ul.bordered-list
|
||||
- @activities.each do |update|
|
||||
= render "projects/branches/branch", branch: update.head
|
||||
|
||||
+6
-1
@@ -225,8 +225,13 @@ Gitlab::Application.routes.draw do
|
||||
end
|
||||
end
|
||||
|
||||
resources :branches, only: [:index, :new, :create, :destroy] do
|
||||
collection do
|
||||
get :recent
|
||||
end
|
||||
end
|
||||
|
||||
resources :tags, only: [:index, :new, :create, :destroy]
|
||||
resources :branches, only: [:index, :new, :create, :destroy]
|
||||
resources :protected_branches, only: [:index, :create, :destroy]
|
||||
|
||||
resources :refs, only: [] do
|
||||
|
||||
Reference in New Issue
Block a user