Skip to content
Snippets Groups Projects
Commit 7a167cf1 authored by Dmitriy Zaporozhets's avatar Dmitriy Zaporozhets
Browse files

Move branches list to own controller with pagination. Ability to remove branches from UI

parent a466b217
No related branches found
No related tags found
No related merge requests found
Loading
Loading
@@ -62,6 +62,9 @@ $ ->
# Click a .one_click_select field, select the contents
$(".one_click_select").on 'click', -> $(@).select()
 
$('.remove-row').bind 'ajax:success', ->
$(this).closest('li').fadeOut()
# Click a .appear-link, appear-data fadeout
$(".appear-link").on 'click', (e) ->
$('.appear-data').fadeIn()
Loading
Loading
class Projects::BranchesController < Projects::ApplicationController
# Authorize
before_filter :authorize_read_project!
before_filter :require_non_empty_project
before_filter :authorize_admin_project!, only: [:destroy, :create]
def index
@branches = Kaminari.paginate_array(@repository.branches).page(params[:page]).per(30)
end
def create
# TODO: implement
end
def destroy
@project.repository.rm_branch(params[:id])
respond_to do |format|
format.html { redirect_to project_branches_path }
format.js { render nothing: true }
end
end
end
Loading
Loading
@@ -8,10 +8,6 @@ class Projects::RepositoriesController < Projects::ApplicationController
@activities = @repository.commits_with_refs(20)
end
 
def branches
@branches = @repository.branches
end
def tags
@tags = @repository.tags
end
Loading
Loading
class Repository
include Gitlab::ShellAdapter
attr_accessor :raw_repository
 
def initialize(path_with_namespace, default_branch)
Loading
Loading
@@ -33,6 +35,10 @@ class Repository
commits
end
 
def rm_branch(branch_name)
gitlab_shell.rm_branch(path_with_namespace, branch_name)
end
def round_commit_count
if commit_count > 10000
'10000+'
Loading
Loading
- commit = Commit.new(Gitlab::Git::Commit.new(branch.commit))
%tr
%td
%li
%h4
= link_to project_commits_path(@project, branch.name) do
- if @project.protected_branch? branch.name
%i.icon-lock
- else
%i.icon-unlock
%strong= truncate(branch.name, length: 60)
- if branch.name == @repository.root_ref
%span.label default
%td
%span.label.label-info default
- if @project.protected_branch? branch.name
%span.label.label-success
%i.icon-lock
.pull-right
- if can?(current_user, :download_code, @project)
= link_to archive_project_repository_path(@project, ref: branch.name), class: 'btn grouped btn-small' do
%i.icon-download-alt
- if can?(current_user, :admin_project, @project) && branch.name != @repository.root_ref
= link_to project_branch_path(@project, branch.name), class: 'btn grouped btn-small remove-row', method: :delete, confirm: 'Removed branch cannot be restored. Are you sure?', remote: true do
%i.icon-trash
%p
= link_to project_commit_path(@project, commit.id), class: 'commit_short_id' do
= commit.short_id
= image_tag gravatar_icon(commit.author_email), class: "avatar s16", alt: ''
Loading
Loading
@@ -18,9 +25,3 @@
%span
= time_ago_in_words(commit.committed_date)
ago
%td
- if can? current_user, :download_code, @project
= link_to archive_project_repository_path(@project, ref: branch.name) do
%i.icon-download-alt
Download
= render "projects/commits/head"
.row
.span3
= render "projects/repositories/filter"
.span9
- unless @branches.empty?
%ul.bordered-list
- @branches.each do |branch|
= render "projects/branches/branch", branch: branch
= paginate @branches, theme: 'gitlab'
Loading
Loading
@@ -5,5 +5,5 @@
= link_to project_protected_branches_path(@project) do
Protected
%i.icon-lock
= nav_link(path: 'repositories#branches') do
= link_to 'All branches', branches_project_repository_path(@project)
= nav_link(path: 'branches#index') do
= link_to 'All branches', project_branches_path(@project)
= render "projects/commits/head"
.row
.span3
= render "filter"
.span9
- unless @branches.empty?
%table
%thead
%tr
%th Name
%th Last commit
%th
%tbody
- @branches.each do |branch|
= render "projects/repositories/branch", branch: branch
Loading
Loading
@@ -3,12 +3,7 @@
.span3
= render "filter"
.span9
%table
%thead
%tr
%th Name
%th Last commit
%th
%ul.bordered-list
- @activities.each do |update|
= render "branch", branch: update.head
= render "projects/branches/branch", branch: update.head
 
Loading
Loading
@@ -225,6 +225,7 @@ Gitlab::Application.routes.draw do
end
end
 
resources :branches, only: [:index, :create, :destroy]
resources :protected_branches, only: [:index, :create, :destroy]
 
resources :refs, only: [] do
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment