diff --git a/app/views/account/show.rhtml b/app/views/account/show.rhtml index 134c587..5ebff44 100644 --- a/app/views/account/show.rhtml +++ b/app/views/account/show.rhtml @@ -10,7 +10,7 @@
  • <%=l(:field_mail)%>: <%= mail_to(h(@user.mail), nil, :encode => 'javascript') %>
  • <% end %> <% for custom_value in @custom_values %> - <% if !custom_value.value.empty? %> + <% if !custom_value.value.blank? %>
  • <%= custom_value.custom_field.name%>: <%=h show_value(custom_value) %>
  • <% end %> <% end %> diff --git a/app/views/projects/show.rhtml b/app/views/projects/show.rhtml index a66964a..088dd3b 100644 --- a/app/views/projects/show.rhtml +++ b/app/views/projects/show.rhtml @@ -11,7 +11,7 @@
  • <%=l(:field_parent)%>: <%= link_to h(@project.parent.name), :controller => 'projects', :action => 'show', :id => @project.parent %>
  • <% end %> <% @project.custom_values.each do |custom_value| %> - <% if !custom_value.value.empty? %> + <% if !custom_value.value.blank? %>
  • <%= custom_value.custom_field.name%>: <%=h show_value(custom_value) %>
  • <% end %> <% end %> diff --git a/test/functional/account_controller_test.rb b/test/functional/account_controller_test.rb index 6dc61d4..344c836 100644 --- a/test/functional/account_controller_test.rb +++ b/test/functional/account_controller_test.rb @@ -37,7 +37,19 @@ class AccountControllerTest < Test::Unit::TestCase assert_template 'show' assert_not_nil assigns(:user) end + + def test_show_should_not_fail_when_custom_values_are_nil + user = User.find(2) + + # Create a custom field to illustrate the issue + custom_field = CustomField.create!(:name => 'Testing', :field_format => 'text') + custom_value = user.custom_values.build(:custom_field => custom_field).save! + + get :show, :id => 2 + assert_response :success + end + def test_show_inactive get :show, :id => 5 assert_response 404 diff --git a/test/functional/projects_controller_test.rb b/test/functional/projects_controller_test.rb index 8737b3c..e46e011 100644 --- a/test/functional/projects_controller_test.rb +++ b/test/functional/projects_controller_test.rb @@ -68,6 +68,16 @@ class ProjectsControllerTest < Test::Unit::TestCase assert_equal Project.find_by_identifier('ecookbook'), assigns(:project) end + def test_show_should_not_fail_when_custom_values_are_nil + project = Project.find_by_identifier('ecookbook') + project.custom_values.first.update_attribute(:value, nil) + get :show, :id => 'ecookbook' + assert_response :success + assert_template 'show' + assert_not_nil assigns(:project) + assert_equal Project.find_by_identifier('ecookbook'), assigns(:project) + end + def test_private_subprojects_hidden get :show, :id => 'ecookbook' assert_response :success