Permalink
Browse files

[#735] Don't allow time entry creation with only edit permission

Based on a patch by Jean-Philippe Lang.
  • Loading branch information...
1 parent c5b83b8 commit 59dc1034920af574738d970ff8e5805f0a627a13 @meineerde meineerde committed Nov 28, 2011
Showing with 14 additions and 2 deletions.
  1. +2 −2 lib/redmine.rb
  2. +12 −0 test/functional/timelog_controller_test.rb
View
@@ -102,8 +102,8 @@
map.project_module :time_tracking do |map|
map.permission :log_time, {:timelog => [:new, :create]}, :require => :loggedin
map.permission :view_time_entries, :timelog => [:index, :show], :time_entry_reports => [:report]
- map.permission :edit_time_entries, {:timelog => [:new, :create, :edit, :update, :destroy]}, :require => :member
- map.permission :edit_own_time_entries, {:timelog => [:new, :create, :edit, :update, :destroy]}, :require => :loggedin
+ map.permission :edit_time_entries, {:timelog => [:edit, :update, :destroy]}, :require => :member
+ map.permission :edit_own_time_entries, {:timelog => [:edit, :update, :destroy]}, :require => :loggedin
map.permission :manage_project_activities, {:project_enumerations => [:update, :destroy]}, :require => :member
end
@@ -111,6 +111,18 @@ def test_post_create_with_blank_issue
assert_equal 3, t.user_id
end
+ def test_create_without_log_time_permission_should_be_denied
+ @request.session[:user_id] = 2
+ Role.find_by_name('Manager').remove_permission! :log_time
+ post :create, :project_id => 1,
+ :time_entry => {:activity_id => '11',
+ :issue_id => '',
+ :spent_on => '2008-03-14',
+ :hours => '7.3'}
+
+ assert_response 403
+ end
+
def test_update
entry = TimeEntry.find(1)
assert_equal 1, entry.issue_id

0 comments on commit 59dc103

Please sign in to comment.