]> source.dussan.org Git - redmine.git/commitdiff
Fixed that :edit_time_entries permission allows creating time entries (#9405).
authorJean-Philippe Lang <jp_lang@yahoo.fr>
Thu, 24 Nov 2011 21:21:15 +0000 (21:21 +0000)
committerJean-Philippe Lang <jp_lang@yahoo.fr>
Thu, 24 Nov 2011 21:21:15 +0000 (21:21 +0000)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@7921 e93f8b46-1217-0410-a6f0-8f06a7374b81

lib/redmine.rb
test/functional/timelog_controller_test.rb

index be5c8b5a357ad60b7a8b2e133bcac9be48266524..252c1ca62e0d7799975eb0f279cd32b9580fe216 100644 (file)
@@ -90,8 +90,8 @@ Redmine::AccessControl.map do |map|
   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, :bulk_edit, :bulk_update]}, :require => :member
-    map.permission :edit_own_time_entries, {:timelog => [:new, :create, :edit, :update, :destroy,:bulk_edit, :bulk_update]}, :require => :loggedin
+    map.permission :edit_time_entries, {:timelog => [:edit, :update, :destroy, :bulk_edit, :bulk_update]}, :require => :member
+    map.permission :edit_own_time_entries, {:timelog => [:edit, :update, :destroy,:bulk_edit, :bulk_update]}, :require => :loggedin
     map.permission :manage_project_activities, {:project_enumerations => [:update, :destroy]}, :require => :member
   end
 
index fb635a72d61bbad68701168a0034c52b2cab0127..ce06852f8f13fb72593bce6588fc93bb88becd90 100644 (file)
@@ -117,6 +117,18 @@ class TimelogControllerTest < ActionController::TestCase
     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