diff options
-rw-r--r-- | app/controllers/admin_incoming_message_controller.rb | 4 | ||||
-rw-r--r-- | app/views/admin_incoming_message/_intro.html.erb | 3 | ||||
-rw-r--r-- | app/views/admin_incoming_message/edit.html.erb | 25 | ||||
-rw-r--r-- | config/routes.rb | 1 | ||||
-rw-r--r-- | spec/controllers/admin_incoming_message_controller_spec.rb | 33 |
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 |