diff options
-rw-r--r-- | app/controllers/request_controller.rb | 3 | ||||
-rw-r--r-- | app/models/incoming_message.rb | 14 | ||||
-rw-r--r-- | app/views/layouts/default.rhtml | 2 | ||||
-rw-r--r-- | app/views/request/_bubble.rhtml | 11 | ||||
-rw-r--r-- | app/views/request/show.rhtml | 58 |
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 %> |