diff options
author | Jeroen van Baarsen <jeroenvanbaarsen@gmail.com> | 2014-05-17 11:36:39 +0200 |
---|---|---|
committer | Jeroen van Baarsen <jeroenvanbaarsen@gmail.com> | 2014-05-23 20:23:59 +0200 |
commit | d0e794cc1a7eba4d438841d6a661bc41687e624e (patch) | |
tree | 65062f799704f3b86249983040cbe60e8e359532 | |
parent | 3e1853c5a0d89147a6a44a31a302f93e96c2ed92 (diff) | |
download | gitlab-ce-d0e794cc1a7eba4d438841d6a661bc41687e624e.tar.gz |
Make sure the branch counter gets updated
When you delete a branch, the counters wont get updated automaticly,
this happends because of the JS nature of the original call. I've
fixed this by responding with a JS file, and recalculate the counters.
Fixes: #6030
-rw-r--r-- | app/controllers/projects/branches_controller.rb | 3 | ||||
-rw-r--r-- | app/views/projects/branches/_branch.html.haml | 2 | ||||
-rw-r--r-- | app/views/projects/branches/destroy.js.haml | 5 | ||||
-rw-r--r-- | app/views/projects/commits/_head.html.haml | 2 |
4 files changed, 9 insertions, 3 deletions
diff --git a/app/controllers/projects/branches_controller.rb b/app/controllers/projects/branches_controller.rb index ab8892bbf0b..a3ff8b91ea2 100644 --- a/app/controllers/projects/branches_controller.rb +++ b/app/controllers/projects/branches_controller.rb @@ -23,11 +23,12 @@ class Projects::BranchesController < Projects::ApplicationController end def destroy + @branch = @repository.find_branch(params[:id]) DeleteBranchService.new.execute(project, params[:id], current_user) respond_to do |format| format.html { redirect_to project_branches_path(@project) } - format.js { render nothing: true } + format.js end end end diff --git a/app/views/projects/branches/_branch.html.haml b/app/views/projects/branches/_branch.html.haml index 2abcd00ee81..54a7b934dd7 100644 --- a/app/views/projects/branches/_branch.html.haml +++ b/app/views/projects/branches/_branch.html.haml @@ -1,5 +1,5 @@ - commit = @repository.commit(branch.target) -%li +%li(class="js-branch-#{branch.name}") %h4 = link_to project_tree_path(@project, branch.name) do %strong= truncate(branch.name, length: 60) diff --git a/app/views/projects/branches/destroy.js.haml b/app/views/projects/branches/destroy.js.haml new file mode 100644 index 00000000000..2cba6d37452 --- /dev/null +++ b/app/views/projects/branches/destroy.js.haml @@ -0,0 +1,5 @@ +:plain + $(".js-branch-#{@branch.name}").remove(); + $('.js-recentbranch-count').html("#{@repository.recent_branches.count}") + $('.js-protectedbranch-count').html("#{@project.protected_branches.count}") + $('.js-totalbranch-count').html("#{@repository.branch_names.count}") diff --git a/app/views/projects/commits/_head.html.haml b/app/views/projects/commits/_head.html.haml index 0facfc4b5f1..1bb4d9bfab4 100644 --- a/app/views/projects/commits/_head.html.haml +++ b/app/views/projects/commits/_head.html.haml @@ -9,7 +9,7 @@ = nav_link(html_options: {class: branches_tab_class}) do = link_to project_branches_path(@project) do Branches - %span.badge= @repository.branches.size + %span.badge.js-totalbranch-count= @repository.branches.size = nav_link(controller: :tags) do = link_to project_tags_path(@project) do |