OSDN Git Service

internal fix (jounals, hooks) 0.0.9a
authorakira saito <akrst@users.osdn.me>
Thu, 30 Jul 2015 14:35:20 +0000 (23:35 +0900)
committerakira saito <akrst@users.osdn.me>
Thu, 30 Jul 2015 14:35:20 +0000 (23:35 +0900)
app/controllers/quick_edit_issues_controller.rb
app/views/quick_edit_issues/_settings.html.erb

index 2e40a50..197d752 100644 (file)
@@ -33,9 +33,20 @@ class QuickEditIssuesController < ApplicationController
   end
 
   def replace
+    emulate_bulk_update = Setting.plugin_quick_edit['emulate_bulk_update']
+
     Issue.transaction do
       @issues.each do |issue|
+        issue.init_journal(User.current)
         issue.safe_attributes = {@attribute_name => issue[@attribute_name].gsub(@find_regexp, @replace)}
+
+        if emulate_bulk_update == 'on'
+          emulate_params = { 'issue[subject]'.to_sym => issue.subject,
+                             'ids[]'.to_sym => issue.id,
+                             :back_url => params[:back_url] }
+          call_hook(:controller_issues_bulk_edit_before_save, { :params => emulate_params, :issue => issue })
+        end
+
         issue.save!
       end
     end
index c7c859e..34af26d 100644 (file)
     <td>
     </td>
        </tr>
+  <tr>
+    <th>Emulate bulk update </th>
+    <td>
+      <input type="checkbox" id="settings_emulate_bulk_update" name="settings[emulate_bulk_update]" value="on" <%= settings['emulate_bulk_update'] == 'on' ? 'checked' : '' %>></input>
+    </td>
+    <td>If you check, replace function calls the hook of "controller_issues_bulk_edit_before_save".</td>
 </table>