]> source.dussan.org Git - redmine.git/commitdiff
Fixed: log time form not displayed on issue edit with :log_time permission only ...
authorJean-Philippe Lang <jp_lang@yahoo.fr>
Fri, 25 Nov 2011 21:58:09 +0000 (21:58 +0000)
committerJean-Philippe Lang <jp_lang@yahoo.fr>
Fri, 25 Nov 2011 21:58:09 +0000 (21:58 +0000)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@7924 e93f8b46-1217-0410-a6f0-8f06a7374b81

app/views/issues/_edit.html.erb
test/functional/issues_controller_test.rb

index 010011fe8e222ed0e67d21196e70687d652d1be0..07090c98b2cee818ea9de447cb006b1f19a28448 100644 (file)
@@ -15,7 +15,7 @@
         <%= render :partial => (@edit_allowed ? 'form' : 'form_update'), :locals => {:f => f} %>
         </fieldset>
     <% end %>
-    <% if authorize_for('timelog', 'edit') %>
+    <% if User.current.allowed_to?(:log_time, @project) %>
         <fieldset class="tabular"><legend><%= l(:button_log_time) %></legend>
         <% fields_for :time_entry, @time_entry, { :builder => TabularFormBuilder, :lang => current_language} do |time_entry| %>
         <div class="splitcontentleft">
index 017f474519908d490f9475aadc6811bc94179130..8044ead1255e46398dd2dda68519806ac3304911 100644 (file)
@@ -1195,6 +1195,22 @@ class IssuesControllerTest < ActionController::TestCase
                            :parent => {:tag => 'select', :attributes => {:id => 'issue_priority_id'} }
   end
 
+  def test_get_edit_should_display_the_time_entry_form_with_log_time_permission
+    @request.session[:user_id] = 2
+    Role.find_by_name('Manager').update_attribute :permissions, [:view_issues, :edit_issues, :log_time]
+    
+    get :edit, :id => 1
+    assert_tag 'input', :attributes => {:name => 'time_entry[hours]'}
+  end
+
+  def test_get_edit_should_not_display_the_time_entry_form_without_log_time_permission
+    @request.session[:user_id] = 2
+    Role.find_by_name('Manager').remove_permission! :log_time
+    
+    get :edit, :id => 1
+    assert_no_tag 'input', :attributes => {:name => 'time_entry[hours]'}
+  end
+
   def test_get_edit_with_params
     @request.session[:user_id] = 2
     get :edit, :id => 1, :issue => { :status_id => 5, :priority_id => 7 },