aboutsummaryrefslogtreecommitdiffstats
path: root/app/controllers/api_controller.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/controllers/api_controller.rb')
-rw-r--r--app/controllers/api_controller.rb26
1 files changed, 13 insertions, 13 deletions
diff --git a/app/controllers/api_controller.rb b/app/controllers/api_controller.rb
index 15fb4f5f9..e6b0c121a 100644
--- a/app/controllers/api_controller.rb
+++ b/app/controllers/api_controller.rb
@@ -16,11 +16,14 @@ class ApiController < ApplicationController
:status => @request.calculate_status,
:public_body_url => make_url("body", @request.public_body.url_name),
- :requestor_url => make_url("user", @request.user.url_name),
+
:request_email => @request.incoming_email,
:request_text => @request.last_event_forming_initial_request.outgoing_message.body,
}
+ if @request.user
+ @request_data[:requestor_url] = make_url("user", @request.user.url_name)
+ end
render :json => @request_data
end
@@ -63,6 +66,8 @@ class ApiController < ApplicationController
:smtp_message_id => nil
)
+ request.set_described_state('waiting_response')
+
# Return the URL and ID number.
render :json => {
'url' => make_url("request", request.url_title),
@@ -83,7 +88,7 @@ class ApiController < ApplicationController
direction = json["direction"]
body = json["body"]
- sent_at_str = json["sent_at"]
+ sent_at = json["sent_at"]
errors = []
@@ -107,12 +112,6 @@ class ApiController < ApplicationController
errors << "The 'body' is empty"
end
- begin
- sent_at = Time.iso8601(sent_at_str)
- rescue ArgumentError
- errors << "Failed to parse 'sent_at' field as ISO8601 time: #{sent_at_str}"
- end
-
if direction == "request" && !attachments.nil?
errors << "You cannot attach files to messages in the 'request' direction"
end
@@ -155,7 +154,8 @@ class ApiController < ApplicationController
)
end
- mail = RequestMailer.create_external_response(request, body, sent_at, attachment_hashes)
+ mail = RequestMailer.external_response(request, body, sent_at, attachment_hashes)
+
request.receive(mail, mail.encoded, true)
end
render :json => {
@@ -203,7 +203,7 @@ class ApiController < ApplicationController
])
end
if feed_type == "atom"
- render :template => "api/request_events.atom", :layout => false
+ render :template => "api/request_events", :formats => ['atom'], :layout => false
elsif feed_type == "json"
# For the JSON feed, we take a "since" parameter that allows the client
# to restrict to events more recent than a certain other event
@@ -220,7 +220,7 @@ class ApiController < ApplicationController
:event_id => event.id,
:created_at => event.created_at.iso8601,
:event_type => event.event_type,
- :request_url => main_url(request_url(request)),
+ :request_url => request_url(request),
:request_email => request.incoming_email,
:title => request.title,
:body => event.outgoing_message.body,
@@ -228,7 +228,7 @@ class ApiController < ApplicationController
:user_name => request.user_name,
}
if request.user
- this_event[:user_url] = main_url(user_url(request.user))
+ this_event[:user_url] = user_url(request.user)
end
@event_data.push(this_event)
@@ -248,6 +248,6 @@ class ApiController < ApplicationController
private
def make_url(*args)
- "http://" + Configuration::domain + "/" + args.join("/")
+ "http://" + AlaveteliConfiguration::domain + "/" + args.join("/")
end
end