diff options
author | francis <francis> | 2007-09-10 18:58:42 +0000 |
---|---|---|
committer | francis <francis> | 2007-09-10 18:58:42 +0000 |
commit | 2f61ce926c4311ff95597c1c871081a1fb46a4d6 (patch) | |
tree | e59a0e989b31e51a6069c8426840ec4db95dc26b /app/controllers/file_request_controller.rb | |
parent | 022f7a0d72a7742875d9ba94ce33a4ec069d36dd (diff) |
Model for outgoing messages.
Save body of initial request as an outgoing message.
Try and validate and save the pair of models correctly.
Diffstat (limited to 'app/controllers/file_request_controller.rb')
-rw-r--r-- | app/controllers/file_request_controller.rb | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/app/controllers/file_request_controller.rb b/app/controllers/file_request_controller.rb index f062f0da8..8424c83b0 100644 --- a/app/controllers/file_request_controller.rb +++ b/app/controllers/file_request_controller.rb @@ -4,26 +4,28 @@ # Copyright (c) 2007 UK Citizens Online Democracy. All rights reserved. # Email: francis@mysociety.org; WWW: http://www.mysociety.org/ # -# $Id: file_request_controller.rb,v 1.4 2007-09-10 01:16:35 francis Exp $ +# $Id: file_request_controller.rb,v 1.5 2007-09-10 18:58:43 francis Exp $ class FileRequestController < ApplicationController def index end def create -# raise params[:info_request][:public_body_id] -# params[:info_request][:public_body] = PublicBody.find(params[:info_request][:public_body_id]) -# params[:info_request].delete(:public_body_id) @info_request = InfoRequest.new(params[:info_request]) + @outgoing_message = OutgoingMessage.new(params[:outgoing_message].merge({ :status => 'ready', + :message_type => 'initial_request'})) - if not @info_request.save - render :action => 'index' - else + InfoRequest.transaction do + @info_request.save! + @outgoing_message.info_request_id = @info_request.id + @outgoing_message.save! # render create action end + rescue ActiveRecord::RecordInvalid => e + @outgoing_message.valid? # force cecking of errors even if info_request fails + render :action => 'index' end - end |