diff options
-rw-r--r-- | app/controllers/request_controller.rb | 28 | ||||
-rw-r--r-- | app/models/outgoing_message.rb | 2 | ||||
-rw-r--r-- | spec/controllers/request_controller_spec.rb | 10 |
3 files changed, 20 insertions, 20 deletions
diff --git a/app/controllers/request_controller.rb b/app/controllers/request_controller.rb index c92dd1ce4..a8cdd098e 100644 --- a/app/controllers/request_controller.rb +++ b/app/controllers/request_controller.rb @@ -148,27 +148,27 @@ class RequestController < ApplicationController # First time we get to the page, just display it if params[:submitted_new_request].nil? || params[:reedit] # Read parameters in - public body must be passed in - if params[:public_body_id] - params[:info_request] = { :public_body_id => params[:public_body_id] } + if !params[:public_body_id] + redirect_to frontpage_url + return end + params[:info_request] = { :public_body_id => params[:public_body_id] } @info_request = InfoRequest.new(params[:info_request]) params[:info_request_id] = @info_request.id + params[:outgoing_message] = {} if !params[:outgoing_message] + params[:outgoing_message][:info_request] = @info_request @outgoing_message = OutgoingMessage.new(params[:outgoing_message]) @outgoing_message.set_signature_name(@user.name) if !@user.nil? - if @info_request.public_body.nil? - redirect_to frontpage_url - else - if @info_request.public_body.is_requestable? - render :action => 'new' + if @info_request.public_body.is_requestable? + render :action => 'new' + else + if @info_request.public_body.not_requestable_reason == 'bad_contact' + render :action => 'new_bad_contact' else - if @info_request.public_body.not_requestable_reason == 'bad_contact' - render :action => 'new_bad_contact' - else - # if not requestable because defunct or not_apply, redirect to main page - # (which doesn't link to the /new/ URL) - redirect_to public_body_url(@info_request.public_body) - end + # if not requestable because defunct or not_apply, redirect to main page + # (which doesn't link to the /new/ URL) + redirect_to public_body_url(@info_request.public_body) end end return diff --git a/app/models/outgoing_message.rb b/app/models/outgoing_message.rb index 36190ce2f..4d0a85087 100644 --- a/app/models/outgoing_message.rb +++ b/app/models/outgoing_message.rb @@ -45,7 +45,7 @@ class OutgoingMessage < ActiveRecord::Base if self.message_type == 'followup' && !self.incoming_message_followup.nil? && !self.incoming_message_followup.safe_mail_from.nil? && self.incoming_message_followup.valid_to_reply_to? ret = ret + OutgoingMailer.name_for_followup(self.info_request, self.incoming_message_followup) else - ret = ret + "Sir or Madam" + ret = ret + self.info_request.public_body.name end return ret + "," end diff --git a/spec/controllers/request_controller_spec.rb b/spec/controllers/request_controller_spec.rb index e4404d4d0..752f25bb6 100644 --- a/spec/controllers/request_controller_spec.rb +++ b/spec/controllers/request_controller_spec.rb @@ -263,7 +263,7 @@ describe RequestController, "when creating a new request" do end it "should accept a public body parameter" do - get :new, :info_request => { :public_body_id => @body.id } + get :new, :public_body_id => @body.id assigns[:info_request].public_body.should == @body response.should render_template('new') end @@ -382,7 +382,7 @@ describe RequestController, "when making a new request" do @user.stub!(:can_file_requests?).and_return(true) User.stub!(:find).and_return(@user) - @body = mock_model(PublicBody, :id => 314, :eir_only? => false, :is_requestable? => true) + @body = mock_model(PublicBody, :id => 314, :eir_only? => false, :is_requestable? => true, :name => "Test Quango") PublicBody.stub!(:find).and_return(@body) end @@ -729,7 +729,7 @@ describe RequestController, "when classifying an information request" do end it 'should redirect to the "respond to last url" when status is updated to "gone postal"' do - expect_redirect('gone_postal', "request/#{@dog_request.id}/response/1?gone_postal=1") + expect_redirect('gone_postal', "request/#{@dog_request.id}/response/#{@dog_request.get_last_response.id}?gone_postal=1") end it 'should redirect to the "request url" when status is updated to "internal review"' do @@ -744,8 +744,8 @@ describe RequestController, "when classifying an information request" do expect_redirect('error_message', "help/contact") end - it 'should redirect to the "request url" when status is updated to "user_withdrawn"' do - expect_redirect('user_withdrawn', request_url) + it 'should redirect to the "respond to last url url" when status is updated to "user_withdrawn"' do + expect_redirect('user_withdrawn', "request/#{@dog_request.id}/response/#{@dog_request.get_last_response.id}") end end |