diff options
author | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2016-12-03 08:38:40 +0000 |
---|---|---|
committer | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2016-12-03 08:38:40 +0000 |
commit | bde77eebe301f1463e7791025b583fb7a031447a (patch) | |
tree | 35a60fbb65adfc0fa64de31c0c98669e70e49716 /app | |
parent | 9160c401e3b13f089d8d9832f58943fc0b38878d (diff) | |
download | redmine-bde77eebe301f1463e7791025b583fb7a031447a.tar.gz redmine-bde77eebe301f1463e7791025b583fb7a031447a.zip |
Merged r15952 and r15953 (#23922).
git-svn-id: http://svn.redmine.org/redmine/branches/3.3-stable@16043 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'app')
-rw-r--r-- | app/controllers/context_menus_controller.rb | 7 | ||||
-rw-r--r-- | app/controllers/timelog_controller.rb | 7 |
2 files changed, 10 insertions, 4 deletions
diff --git a/app/controllers/context_menus_controller.rb b/app/controllers/context_menus_controller.rb index dc8e72609..903f13f00 100644 --- a/app/controllers/context_menus_controller.rb +++ b/app/controllers/context_menus_controller.rb @@ -59,7 +59,10 @@ class ContextMenusController < ApplicationController end def time_entries - @time_entries = TimeEntry.where(:id => params[:ids]).preload(:project).to_a + @time_entries = TimeEntry.where(:id => params[:ids]). + preload(:project => :time_entry_activities). + preload(:user).to_a + (render_404; return) unless @time_entries.present? if (@time_entries.size == 1) @time_entry = @time_entries.first @@ -67,7 +70,7 @@ class ContextMenusController < ApplicationController @projects = @time_entries.collect(&:project).compact.uniq @project = @projects.first if @projects.size == 1 - @activities = TimeEntryActivity.shared.active + @activities = @projects.map(&:activities).reduce(:&) edit_allowed = @time_entries.all? {|t| t.editable_by?(User.current)} @can = {:edit => edit_allowed, :delete => edit_allowed} diff --git a/app/controllers/timelog_controller.rb b/app/controllers/timelog_controller.rb index 7e4d6b71d..acb106d3b 100644 --- a/app/controllers/timelog_controller.rb +++ b/app/controllers/timelog_controller.rb @@ -170,7 +170,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 end @@ -236,7 +236,10 @@ private end def find_time_entries - @time_entries = TimeEntry.where(:id => params[:id] || params[:ids]).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 |