aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--app/controllers/request_controller.rb3
-rw-r--r--app/models/incoming_message.rb14
-rw-r--r--app/views/layouts/default.rhtml2
-rw-r--r--app/views/request/_bubble.rhtml11
-rw-r--r--app/views/request/show.rhtml58
5 files changed, 59 insertions, 29 deletions
diff --git a/app/controllers/request_controller.rb b/app/controllers/request_controller.rb
index 0f0a7167c..82cf76cc8 100644
--- a/app/controllers/request_controller.rb
+++ b/app/controllers/request_controller.rb
@@ -4,12 +4,13 @@
# Copyright (c) 2007 UK Citizens Online Democracy. All rights reserved.
# Email: francis@mysociety.org; WWW: http://www.mysociety.org/
#
-# $Id: request_controller.rb,v 1.6 2007-10-24 11:39:37 francis Exp $
+# $Id: request_controller.rb,v 1.7 2007-10-30 14:03:27 francis Exp $
class RequestController < ApplicationController
def show
@info_request = InfoRequest.find(params[:id])
+ @correspondences = @info_request.outgoing_messages + @info_request.incoming_messages
end
def list
diff --git a/app/models/incoming_message.rb b/app/models/incoming_message.rb
index f637cd005..fe70fb783 100644
--- a/app/models/incoming_message.rb
+++ b/app/models/incoming_message.rb
@@ -5,13 +5,25 @@
# Copyright (c) 2007 UK Citizens Online Democracy. All rights reserved.
# Email: francis@mysociety.org; WWW: http://www.mysociety.org/
#
-# $Id: incoming_message.rb,v 1.1 2007-10-29 18:11:34 francis Exp $
+# $Id: incoming_message.rb,v 1.2 2007-10-30 14:03:28 francis Exp $
class IncomingMessage < ActiveRecord::Base
belongs_to :info_request
validates_presence_of :info_request
validates_presence_of :raw_data
+
+ def after_initialize
+ @mail = TMail::Mail.parse(self.raw_data)
+ @mail.base64_decode
+ end
+ def mail
+ @mail
+ end
+
+ def sent_at
+ self.mail.date || self.created_at
+ end
end
diff --git a/app/views/layouts/default.rhtml b/app/views/layouts/default.rhtml
index 242ae655a..45e062f78 100644
--- a/app/views/layouts/default.rhtml
+++ b/app/views/layouts/default.rhtml
@@ -2,7 +2,7 @@
<html lang="en-gb">
<head>
<!-- <script type="text/javascript" src="/js.js"></script> -->
- <title>Freedom of Information Filer and Archive <%= @title ? "-" : "" %> <%=@title%></title>
+ <title>GovernmentSpy <%= @title ? "-" : "" %> <%=@title%></title>
<%= stylesheet_link_tag 'main' %>
</head>
<body>
diff --git a/app/views/request/_bubble.rhtml b/app/views/request/_bubble.rhtml
new file mode 100644
index 000000000..0af5d7b21
--- /dev/null
+++ b/app/views/request/_bubble.rhtml
@@ -0,0 +1,11 @@
+ <blockquote class="xsnazzy">
+ <b class="xb1"></b><b class="xb2"></b><b class="xb3"></b><b class="xb4"></b><b class="xb5"></b><b class="xb6"></b><b class="xb7"></b>
+ <div class="xboxcontent">
+ <p><%= body.gsub(/\n/, '<br>') %></p>
+ </div>
+ <b class="xb7"></b><b class="xb6"></b><b class="xb5"></b><b class="xb4"></b><b class="xb3"></b><b class="xb2"></b><b class="xb1"></b>
+ <em></em>
+ <span></span>
+ </blockquote>
+
+
diff --git a/app/views/request/show.rhtml b/app/views/request/show.rhtml
index f7c145db2..c880261dc 100644
--- a/app/views/request/show.rhtml
+++ b/app/views/request/show.rhtml
@@ -8,34 +8,40 @@ by
<%= user_link(@info_request.user) %>
</p>
-<% for outgoing_message in @info_request.outgoing_messages %>
+<% for correspondence in @correspondences %>
<div id="correspondence">
- <blockquote class="xsnazzy">
- <b class="xb1"></b><b class="xb2"></b><b class="xb3"></b><b class="xb4"></b><b class="xb5"></b><b class="xb6"></b><b class="xb7"></b>
- <div class="xboxcontent">
- <p><%= outgoing_message.body.gsub(/\n/, '<br>') %></p>
- </div>
- <b class="xb7"></b><b class="xb6"></b><b class="xb5"></b><b class="xb4"></b><b class="xb3"></b><b class="xb2"></b><b class="xb1"></b>
- <em></em>
- <span></span>
- </blockquote>
-
- <p class="xspeaker">
- <%= user_link(@info_request.user) %>
-
- <% if outgoing_message.message_type == 'initial_request' %>
- sent the initial request
- <% if outgoing_message.status == 'sent' %>
- to <%= public_body_link(@info_request.public_body) %>
- on <strong><%= simple_date(outgoing_message.sent_at) %></strong>
- <% elsif outgoing_message.status == 'ready' %>
- it has <strong>not yet been sent</strong>
- <% else raise "unknown outgoing_message.status" %>
- <% end %>
- <% else raise "unknown outgoing_message.message_type" %>
- <% end %>
- </p>
+ <% if (correspondence.class.to_s == 'OutgoingMessage')
+ outgoing_message = correspondence %>
+ <%= render :partial => 'bubble', :locals => { :body => outgoing_message.body } %>
+
+ <p class="xspeaker">
+ <%= user_link(@info_request.user) %>
+
+ <% if outgoing_message.message_type == 'initial_request' %>
+ sent the initial request
+ <% if outgoing_message.status == 'sent' %>
+ to <%= public_body_link(@info_request.public_body) %>
+ on <strong><%= simple_date(outgoing_message.sent_at) %></strong>
+ <% elsif outgoing_message.status == 'ready' %>
+ it has <strong>not yet been sent</strong>
+ <% else raise "unknown outgoing_message.status" %>
+ <% end %>
+ <% else raise "unknown outgoing_message.message_type" %>
+ <% end %>
+ </p>
+ <% elsif (correspondence.class.to_s == 'IncomingMessage')
+ incoming_message = correspondence%>
+ <%= render :partial => 'bubble', :locals => { :body => incoming_message.mail.body } %>
+
+ <p class="xspeaker">
+ <%= incoming_message.mail.friendly_from %>
+ wrote a reply
+ on <strong><%= simple_date(incoming_message.sent_at) %></strong>
+ </p>
+ <% else %>
+ <% raise "Unknown correspondence type" + correspondence.class.to_s %>
+ <% end %>
</div>
<% end %>