]> source.dussan.org Git - redmine.git/commitdiff
Bulk edit for shows activities not available for the time entry's project (#23922).
authorJean-Philippe Lang <jp_lang@yahoo.fr>
Fri, 18 Nov 2016 08:21:11 +0000 (08:21 +0000)
committerJean-Philippe Lang <jp_lang@yahoo.fr>
Fri, 18 Nov 2016 08:21:11 +0000 (08:21 +0000)
git-svn-id: http://svn.redmine.org/redmine/trunk@15953 e93f8b46-1217-0410-a6f0-8f06a7374b81

app/controllers/timelog_controller.rb

index 9ae7a7252e02a37119a87c6459314014320fe5b0..4256ff30ee16bfb042cae821d6e200d1b1e8b9bb 100644 (file)
@@ -168,7 +168,7 @@ class TimelogController < ApplicationController
   end
 
   def bulk_edit
-    @available_activities = TimeEntryActivity.shared.active
+    @available_activities = @projects.map(&:activities).reduce(:&)
     @custom_fields = TimeEntry.first.available_custom_fields.select {|field| field.format.bulk_edit_supported}
   end
 
@@ -231,7 +231,10 @@ private
   end
 
   def find_time_entries
-    @time_entries = TimeEntry.where(:id => params[:id] || params[:ids]).preload(:project, :user).to_a
+    @time_entries = TimeEntry.where(:id => params[:id] || params[:ids]).
+      preload(:project => :time_entry_activities).
+      preload(:user).to_a
+
     raise ActiveRecord::RecordNotFound if @time_entries.empty?
     raise Unauthorized unless @time_entries.all? {|t| t.editable_by?(User.current)}
     @projects = @time_entries.collect(&:project).compact.uniq