]> source.dussan.org Git - redmine.git/commitdiff
Fixed that displaying time entries with custom field column raises an error (#5037).
authorJean-Philippe Lang <jp_lang@yahoo.fr>
Wed, 24 Jul 2013 18:18:08 +0000 (18:18 +0000)
committerJean-Philippe Lang <jp_lang@yahoo.fr>
Wed, 24 Jul 2013 18:18:08 +0000 (18:18 +0000)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12041 e93f8b46-1217-0410-a6f0-8f06a7374b81

app/models/custom_field.rb
app/models/issue_custom_field.rb
test/functional/timelog_controller_test.rb

index c2b717d0ee5c090857407e8a143e95b64447af1c..f469bc534ccf3a9b0f1b3b2dd1380dca0f857eaa 100644 (file)
@@ -76,6 +76,10 @@ class CustomField < ActiveRecord::Base
 
   CUSTOM_FIELDS_NAMES = CUSTOM_FIELDS_TABS.collect{|v| v[:name]}
 
+  def visible_by?(project, user=User.current)
+    visible? || user.admin?
+  end
+
   def field_format=(arg)
     # cannot change format of a saved custom field
     super if new_record?
index 9ddedc88250416fbbdf3c1fef0ff8a6b4bff11b0..e811ccaae49f5a3241736c4fc4f1d9a5952f7d4d 100644 (file)
@@ -25,7 +25,7 @@ class IssueCustomField < CustomField
   end
 
   def visible_by?(project, user=User.current)
-    visible? || user.admin? || (roles & user.roles_for_project(project)).present?
+    super || (roles & user.roles_for_project(project)).present?
   end
 
   def validate_custom_field
index 2cc9bf778d4191d9665547e0a9fc07ceb68bc225..5735260ca7f8e065855975a8ae6d57545489fc23 100644 (file)
@@ -548,6 +548,17 @@ class TimelogControllerTest < ActionController::TestCase
     assert_select 'td.issue_cf_2', :text => 'filter_on_issue_custom_field'
   end
 
+  def test_index_with_time_entry_custom_field_column
+    field = TimeEntryCustomField.generate!(:field_format => 'string')
+    entry = TimeEntry.generate!(:hours => 2.5, :custom_field_values => {field.id => 'CF Value'})
+    field_name = "cf_#{field.id}"
+
+    get :index, :c => ["hours", field_name]
+    assert_response :success
+    assert_include field_name.to_sym, assigns(:query).column_names
+    assert_select "td.#{field_name}", :text => 'CF Value'
+  end
+
   def test_index_atom_feed
     get :index, :project_id => 1, :format => 'atom'
     assert_response :success