diff options
author | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2011-11-25 21:58:09 +0000 |
---|---|---|
committer | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2011-11-25 21:58:09 +0000 |
commit | e21f60d17012ada6ca48cba2c3bdc7cc4ad29755 (patch) | |
tree | 5981a2b9daa5a41ed53eb151e59cbe317db6e2c7 | |
parent | 398b700e57c5bf659b9504c383badc490655d760 (diff) | |
download | redmine-e21f60d17012ada6ca48cba2c3bdc7cc4ad29755.tar.gz redmine-e21f60d17012ada6ca48cba2c3bdc7cc4ad29755.zip |
Fixed: log time form not displayed on issue edit with :log_time permission only (#9405).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@7924 e93f8b46-1217-0410-a6f0-8f06a7374b81
-rw-r--r-- | app/views/issues/_edit.html.erb | 2 | ||||
-rw-r--r-- | test/functional/issues_controller_test.rb | 16 |
2 files changed, 17 insertions, 1 deletions
diff --git a/app/views/issues/_edit.html.erb b/app/views/issues/_edit.html.erb index 010011fe8..07090c98b 100644 --- a/app/views/issues/_edit.html.erb +++ b/app/views/issues/_edit.html.erb @@ -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"> diff --git a/test/functional/issues_controller_test.rb b/test/functional/issues_controller_test.rb index 017f47451..8044ead12 100644 --- a/test/functional/issues_controller_test.rb +++ b/test/functional/issues_controller_test.rb @@ -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 }, |