diff options
-rw-r--r-- | app/controllers/user_controller.rb | 3 | ||||
-rw-r--r-- | app/models/user.rb | 1 | ||||
-rw-r--r-- | app/views/info_request_batch/_info_request_batch.html.erb | 15 | ||||
-rw-r--r-- | app/views/user/show.html.erb | 11 | ||||
-rw-r--r-- | spec/controllers/user_controller_spec.rb | 6 |
5 files changed, 34 insertions, 2 deletions
diff --git a/app/controllers/user_controller.rb b/app/controllers/user_controller.rb index 175425280..8d6522923 100644 --- a/app/controllers/user_controller.rb +++ b/app/controllers/user_controller.rb @@ -26,12 +26,15 @@ class UserController < ApplicationController if params[:view].nil? @show_requests = true @show_profile = true + @show_batches = false elsif params[:view] == 'profile' @show_profile = true @show_requests = false + @show_batches = false elsif params[:view] == 'requests' @show_profile = false @show_requests = true + @show_batches = true end @display_user = User.find(:first, :conditions => [ "url_name = ? and email_confirmed = ?", params[:url_name], true ]) diff --git a/app/models/user.rb b/app/models/user.rb index 730550301..e63ce8129 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -42,6 +42,7 @@ class User < ActiveRecord::Base has_many :comments, :order => 'created_at desc' has_one :profile_photo has_many :censor_rules, :order => 'created_at desc' + has_many :info_request_batches, :order => 'created_at desc' attr_accessor :password_confirmation, :no_xapian_reindex validates_confirmation_of :password, :message => _("Please enter the same password twice") diff --git a/app/views/info_request_batch/_info_request_batch.html.erb b/app/views/info_request_batch/_info_request_batch.html.erb new file mode 100644 index 000000000..86ef90654 --- /dev/null +++ b/app/views/info_request_batch/_info_request_batch.html.erb @@ -0,0 +1,15 @@ +<div class="request_listing"> + <div class="request_left"> + <span class="head"> + <%= link_to highlight_words(info_request_batch.title, @highlight_words), info_request_batch_path(info_request_batch) %> + </span> + <div class="requester"> + <%= _('Batch created by {{info_request_user}} on {{date}}.', :info_request_user => user_link_absolute(info_request_batch.user),:date=>simple_date(info_request_batch.created_at)) %> + </div> + </div> + <div class="request_right"> + <span class="desc"> + <%= excerpt(info_request_batch.body, '', :radius => 150) %> + </span> + </div> +</div> diff --git a/app/views/user/show.html.erb b/app/views/user/show.html.erb index c9862effe..76ecdeda0 100644 --- a/app/views/user/show.html.erb +++ b/app/views/user/show.html.erb @@ -105,6 +105,17 @@ <div style="clear:both"></div> <% end %> +<% if @show_batches %> + + <% if @is_you && !@display_user.info_request_batches.empty? %> + <h2 class="batch_results" id="batch_requests"> + <%= n_('Your {{count}} batch requests', 'Your {{count}} batch requests', @display_user.info_request_batches.size, :count => @display_user.info_request_batches.size) %> + </h2> + <%= render :partial => 'info_request_batch/info_request_batch', :collection => @display_user.info_request_batches %> + <% end %> + +<% end %> + <% if @show_requests %> <div id="user_profile_search"> <%= form_tag(show_user_url, :method => "get", :id=>"search_form") do %> diff --git a/spec/controllers/user_controller_spec.rb b/spec/controllers/user_controller_spec.rb index 7a9981a04..cf361d898 100644 --- a/spec/controllers/user_controller_spec.rb +++ b/spec/controllers/user_controller_spec.rb @@ -58,9 +58,10 @@ describe UserController, "when showing a user" do get :show, {:url_name => @user.url_name, :view => 'profile'}, {:user_id => @user.id} end - it 'should not show requests but should show account options' do + it 'should not show requests, or batch requests, but should show account options' do make_request response.body.should_not match(/Freedom of Information requests made by you/) + assigns[:show_batches].should be_false response.body.should include("Change your password") end @@ -74,9 +75,10 @@ describe UserController, "when showing a user" do get :show, {:url_name => @user.url_name, :view => 'requests'}, {:user_id => @user.id} end - it 'should show requests but no account options' do + it 'should show requests, batch requests, but no account options' do make_request response.body.should match(/Freedom of Information requests made by you/) + assigns[:show_batches].should be_true response.body.should_not include("Change your password") end |