diff options
author | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2015-05-09 10:10:28 +0000 |
---|---|---|
committer | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2015-05-09 10:10:28 +0000 |
commit | 27bcd879f31450bf32397864b4d36d2bacc8ee6d (patch) | |
tree | 93844a55d839bb8b7496ac8804c8cf6d4d74765d /app | |
parent | 6b11840b4268769e003b0255f52eb03657d5ad38 (diff) | |
download | redmine-27bcd879f31450bf32397864b4d36d2bacc8ee6d.tar.gz redmine-27bcd879f31450bf32397864b4d36d2bacc8ee6d.zip |
Can't bulk edit own time entries with "Edit own time entries" (#18580).
git-svn-id: http://svn.redmine.org/redmine/trunk@14242 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'app')
-rw-r--r-- | app/controllers/context_menus_controller.rb | 6 | ||||
-rw-r--r-- | app/controllers/timelog_controller.rb | 1 |
2 files changed, 4 insertions, 3 deletions
diff --git a/app/controllers/context_menus_controller.rb b/app/controllers/context_menus_controller.rb index 4d22b0af9..7c5e76d1c 100644 --- a/app/controllers/context_menus_controller.rb +++ b/app/controllers/context_menus_controller.rb @@ -76,9 +76,9 @@ class ContextMenusController < ApplicationController @projects = @time_entries.collect(&:project).compact.uniq @project = @projects.first if @projects.size == 1 @activities = TimeEntryActivity.shared.active - @can = {:edit => User.current.allowed_to?(:edit_time_entries, @projects), - :delete => User.current.allowed_to?(:edit_time_entries, @projects) - } + + edit_allowed = @time_entries.all? {|t| t.editable_by?(User.current)} + @can = {:edit => edit_allowed, :delete => edit_allowed} @back = back_url @options_by_custom_field = {} diff --git a/app/controllers/timelog_controller.rb b/app/controllers/timelog_controller.rb index 8a8cfeeea..a8d48a707 100644 --- a/app/controllers/timelog_controller.rb +++ b/app/controllers/timelog_controller.rb @@ -234,6 +234,7 @@ private def find_time_entries @time_entries = TimeEntry.where(:id => params[:id] || params[:ids]).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 @project = @projects.first if @projects.size == 1 rescue ActiveRecord::RecordNotFound |