OSDN Git Service

Create event on dashboard when branch removed via UI
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Tue, 16 Jul 2013 19:43:14 +0000 (22:43 +0300)
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Tue, 16 Jul 2013 19:43:14 +0000 (22:43 +0300)
app/controllers/projects/branches_controller.rb
app/models/event.rb

index 5168d4d..0703962 100644 (file)
@@ -14,7 +14,11 @@ class Projects::BranchesController < Projects::ApplicationController
   end
 
   def destroy
-    @project.repository.rm_branch(params[:id])
+    branch = @project.repository.branches.find { |branch| branch.name == params[:id] }
+
+    if branch && @project.repository.rm_branch(branch.name)
+      Event.create_rm_branch(@project, current_user, branch)
+    end
 
     respond_to do |format|
       format.html { redirect_to project_branches_path }
index a6b5167..50c87f8 100644 (file)
@@ -54,6 +54,19 @@ class Event < ActiveRecord::Base
         Event::COMMENTED
       end
     end
+
+    def create_rm_branch(project, user, branch)
+      Event.create(
+        project: project,
+        action: Event::PUSHED,
+        data: {
+          ref: branch.name,
+          before: branch.commit.id,
+          after: '00000000'
+        },
+        author_id: user.id
+      )
+    end
   end
 
   def proper?