From 38db62f1e711ef6327f4d26bac300062875a7236 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Lang Date: Sun, 1 Mar 2009 10:15:38 +0000 Subject: [PATCH] Fixed that some error messages were not displayed (#2866). git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2542 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- app/controllers/issues_controller.rb | 6 ++---- test/functional/issues_controller_test.rb | 22 ++++++++++++++++++++++ 2 files changed, 24 insertions(+), 4 deletions(-) diff --git a/app/controllers/issues_controller.rb b/app/controllers/issues_controller.rb index d4d1bb611..0af5f192a 100644 --- a/app/controllers/issues_controller.rb +++ b/app/controllers/issues_controller.rb @@ -120,8 +120,7 @@ class IssuesController < ApplicationController # Tracker must be set before custom field values @issue.tracker ||= @project.trackers.find((params[:issue] && params[:issue][:tracker_id]) || params[:tracker_id] || :first) if @issue.tracker.nil? - flash.now[:error] = 'No tracker is associated to this project. Please check the Project settings.' - render :nothing => true, :layout => true + render_error 'No tracker is associated to this project. Please check the Project settings.' return end if params[:issue].is_a?(Hash) @@ -132,8 +131,7 @@ class IssuesController < ApplicationController default_status = IssueStatus.default unless default_status - flash.now[:error] = 'No default issue status is defined. Please check your configuration (Go to "Administration -> Issue statuses").' - render :nothing => true, :layout => true + render_error 'No default issue status is defined. Please check your configuration (Go to "Administration -> Issue statuses").' return end @issue.status = default_status diff --git a/test/functional/issues_controller_test.rb b/test/functional/issues_controller_test.rb index ebc2aa8b8..6748f078f 100644 --- a/test/functional/issues_controller_test.rb +++ b/test/functional/issues_controller_test.rb @@ -379,6 +379,28 @@ class IssuesControllerTest < Test::Unit::TestCase assert_equal Project.find(1).trackers.first, issue.tracker end + def test_get_new_with_no_default_status_should_display_an_error + @request.session[:user_id] = 2 + IssueStatus.delete_all + + get :new, :project_id => 1 + assert_response 500 + assert_not_nil flash[:error] + assert_tag :tag => 'div', :attributes => { :class => /error/ }, + :content => /No default issue/ + end + + def test_get_new_with_no_tracker_should_display_an_error + @request.session[:user_id] = 2 + Tracker.delete_all + + get :new, :project_id => 1 + assert_response 500 + assert_not_nil flash[:error] + assert_tag :tag => 'div', :attributes => { :class => /error/ }, + :content => /No tracker/ + end + def test_update_new_form @request.session[:user_id] = 2 xhr :post, :new, :project_id => 1,