aboutsummaryrefslogtreecommitdiffstats
path: root/app/controllers/file_request_controller.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/controllers/file_request_controller.rb')
-rw-r--r--app/controllers/file_request_controller.rb27
1 files changed, 17 insertions, 10 deletions
diff --git a/app/controllers/file_request_controller.rb b/app/controllers/file_request_controller.rb
index ab9390a4f..2f2ae9b58 100644
--- a/app/controllers/file_request_controller.rb
+++ b/app/controllers/file_request_controller.rb
@@ -4,33 +4,40 @@
# 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.8 2007-09-12 15:56:18 francis Exp $
+# $Id: file_request_controller.rb,v 1.9 2007-09-17 10:13:24 francis Exp $
class FileRequestController < ApplicationController
def index
# render index.rhtml template
end
-# before_filter :check_authentication, :only => [:create]
def create
-
# Create both FOI request and the first request message
@info_request = InfoRequest.new(params[:info_request])
@outgoing_message = OutgoingMessage.new(params[:outgoing_message].merge({
:status => 'ready',
:message_type => 'initial_request'
}))
+ @info_request.outgoing_messages << @outgoing_message
@outgoing_message.info_request = @info_request
- # Save both models
- valid = @info_request.valid?
- valid &&= @outgoing_message.valid? # XXX maybe there is a nicer way of preventing lazy boolean evaluation than this
- if valid
- @info_request.save!
- @outgoing_message.save!
- else
+ # This automatically saves dependent objects, such as @info_request, in the same transaction
+ if not @info_request.save
+ raise @info_request.errors.@errors.to_yaml
render :action => 'index'
end
+
+ # Save both models
+# valid = @info_request.valid?
+# valid &&= @outgoing_message.valid? # XXX maybe there is a nicer way of preventing lazy boolean evaluation than this
+# if valid
+# if check_authentication
+# @info_request.save!
+# @outgoing_message.save!
+# end
+# else
+# render :action => 'index'
+# end
end
end