aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--app/controllers/admin_incoming_message_controller.rb4
-rw-r--r--app/views/admin_incoming_message/_intro.html.erb3
-rw-r--r--app/views/admin_incoming_message/edit.html.erb25
-rw-r--r--config/routes.rb1
-rw-r--r--spec/controllers/admin_incoming_message_controller_spec.rb33
5 files changed, 61 insertions, 5 deletions
diff --git a/app/controllers/admin_incoming_message_controller.rb b/app/controllers/admin_incoming_message_controller.rb
index 86a765be2..d9a982d0d 100644
--- a/app/controllers/admin_incoming_message_controller.rb
+++ b/app/controllers/admin_incoming_message_controller.rb
@@ -1,5 +1,9 @@
class AdminIncomingMessageController < AdminController
+ def edit
+ @incoming_message = IncomingMessage.find(params[:id])
+ end
+
def update
end
diff --git a/app/views/admin_incoming_message/_intro.html.erb b/app/views/admin_incoming_message/_intro.html.erb
new file mode 100644
index 000000000..1d5585f11
--- /dev/null
+++ b/app/views/admin_incoming_message/_intro.html.erb
@@ -0,0 +1,3 @@
+<% @title = "Incoming message #{incoming_message.id} of FOI request '#{incoming_message.info_request.title}'" %>
+<h1>Incoming message <%= incoming_message.id %></h1>
+<p>FOI request: <%= request_both_links(incoming_message.info_request) %></p>
diff --git a/app/views/admin_incoming_message/edit.html.erb b/app/views/admin_incoming_message/edit.html.erb
new file mode 100644
index 000000000..9cbaf013c
--- /dev/null
+++ b/app/views/admin_incoming_message/edit.html.erb
@@ -0,0 +1,25 @@
+<%= render :partial => 'intro', :locals => {:incoming_message => @incoming_message } %>
+<fieldset class="form-horizontal">
+ <legend>Prominence</legend>
+ <%= form_tag admin_incoming_update_path(@incoming_message), :class => "form form-inline" do %>
+
+ <div class="control-group">
+ <label class="control-label" for="incoming_message_prominence"> Prominence</label>
+ <div class="controls">
+ <%= select('incoming_message', "prominence", IncomingMessage::PROMINENCE_STATES) %>
+ </div>
+ </div>
+
+ <div class="control-group">
+ <label class="control-label" for="incoming_message_prominence_reason">Reason for prominence</label>
+ <div class="controls">
+ <%= text_area "incoming_message", "prominence_reason", :rows => 5, :class => "span6" %>
+ </div>
+ </div>
+
+ <div class="form-actions" >
+ <%= submit_tag 'Save', :class => "btn" %>
+ </div>
+
+ <% end %>
+</fieldset>
diff --git a/config/routes.rb b/config/routes.rb
index 14dba96b8..885c79a0f 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -200,6 +200,7 @@ Alaveteli::Application.routes.draw do
#### AdminIncomingMessage controller
match '/admin/incoming/destroy' => 'admin_incoming_message#destroy', :as => :admin_incoming_destroy
match '/admin/incoming/redeliver' => 'admin_incoming_message#redeliver', :as => :admin_incoming_redeliver
+ match '/admin/incoming/edit/:id' => 'admin_incoming_message#edit', :as => :admin_incoming_edit
match '/admin/incoming/update/:id' => 'admin_incoming_message#update', :as => :admin_incoming_update
####
diff --git a/spec/controllers/admin_incoming_message_controller_spec.rb b/spec/controllers/admin_incoming_message_controller_spec.rb
index 1ee78cd35..bca0e7b17 100644
--- a/spec/controllers/admin_incoming_message_controller_spec.rb
+++ b/spec/controllers/admin_incoming_message_controller_spec.rb
@@ -2,13 +2,13 @@ require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
describe AdminIncomingMessageController, "when administering incoming messages" do
- before(:each) do
- basic_auth_login @request
- load_raw_emails_data
- end
-
describe 'when destroying an incoming message' do
+ before(:each) do
+ basic_auth_login @request
+ load_raw_emails_data
+ end
+
before do
@im = incoming_messages(:useless_incoming_message)
@controller.stub!(:expire_for_request)
@@ -36,6 +36,11 @@ describe AdminIncomingMessageController, "when administering incoming messages"
describe 'when redelivering an incoming message' do
+ before(:each) do
+ basic_auth_login @request
+ load_raw_emails_data
+ end
+
it 'expires the file cache for the previous request' do
current_info_request = info_requests(:fancy_dog_request)
destination_info_request = info_requests(:naughty_chicken_request)
@@ -48,4 +53,22 @@ describe AdminIncomingMessageController, "when administering incoming messages"
end
+ describe 'when editing an incoming message' do
+
+ before do
+ @incoming = FactoryGirl.create(:incoming_message)
+ end
+
+ it 'should be successful' do
+ get :edit, :id => @incoming.id
+ response.should be_success
+ end
+
+ it 'should assign the incoming message to the view' do
+ get :edit, :id => @incoming.id
+ assigns[:incoming_message].should == @incoming
+ end
+
+ end
+
end