Commit b592907d48f90dbae43fcfb1a96a30cebd14e243
1 parent
2b0420fa
Exists in
tasks_keep_filter_params
Added @params_tags property to create input hidden tags with filter params
Showing
3 changed files
with
25 additions
and
2 deletions
Show diff stats
app/controllers/my_profile/tasks_controller.rb
@@ -18,6 +18,14 @@ class TasksController < MyProfileController | @@ -18,6 +18,14 @@ class TasksController < MyProfileController | ||
18 | @responsible_candidates = profile.members.by_role(profile.roles.reject {|r| !r.has_permission?('perform_task')}) if profile.organization? | 18 | @responsible_candidates = profile.members.by_role(profile.roles.reject {|r| !r.has_permission?('perform_task')}) if profile.organization? |
19 | 19 | ||
20 | @view_only = !current_person.has_permission?(:perform_task, profile) | 20 | @view_only = !current_person.has_permission?(:perform_task, profile) |
21 | + | ||
22 | + @params_tags = [] | ||
23 | + params.each do |key,value| | ||
24 | + if key =~ /filter_/ && value | ||
25 | + @params_tags << view_context.hidden_field_tag(key, value) | ||
26 | + end | ||
27 | + end | ||
28 | + | ||
21 | end | 29 | end |
22 | 30 | ||
23 | def processed | 31 | def processed |
app/views/tasks/index.html.erb
@@ -46,6 +46,16 @@ | @@ -46,6 +46,16 @@ | ||
46 | </p> | 46 | </p> |
47 | <% else %> | 47 | <% else %> |
48 | <%= form_tag :action => 'close' do%> | 48 | <%= form_tag :action => 'close' do%> |
49 | + | ||
50 | + <% if !@params_tags.empty? %> | ||
51 | + <p> | ||
52 | + <% @params_tags.each do |hidden_tag| %> | ||
53 | + | ||
54 | + <%= hidden_tag %> | ||
55 | + <% end %> | ||
56 | + </p> | ||
57 | + <% end %> | ||
58 | + | ||
49 | <% button_bar(:class => 'task-actions') do %> | 59 | <% button_bar(:class => 'task-actions') do %> |
50 | <%# FiXME button(:edit, _('View my requests'), :action => 'list_requested') %> | 60 | <%# FiXME button(:edit, _('View my requests'), :action => 'list_requested') %> |
51 | <%# FIXME button('menu-mail', _('Send request'), :action => 'new') %> | 61 | <%# FIXME button('menu-mail', _('Send request'), :action => 'new') %> |
test/functional/tasks_controller_test.rb
@@ -12,7 +12,7 @@ class TasksControllerTest < ActionController::TestCase | @@ -12,7 +12,7 @@ class TasksControllerTest < ActionController::TestCase | ||
12 | @request = ActionController::TestRequest.new | 12 | @request = ActionController::TestRequest.new |
13 | @response = ActionController::TestResponse.new | 13 | @response = ActionController::TestResponse.new |
14 | 14 | ||
15 | - self.profile = create_user('testuser').person | 15 | + self.profile = create_user('testuser', :email => 'testuser@email.com').person |
16 | @controller.stubs(:profile).returns(profile) | 16 | @controller.stubs(:profile).returns(profile) |
17 | login_as 'testuser' | 17 | login_as 'testuser' |
18 | end | 18 | end |
@@ -77,7 +77,12 @@ class TasksControllerTest < ActionController::TestCase | @@ -77,7 +77,12 @@ class TasksControllerTest < ActionController::TestCase | ||
77 | end | 77 | end |
78 | 78 | ||
79 | should 'keep filters after close a task' do | 79 | should 'keep filters after close a task' do |
80 | - t = profile.tasks.build; t.save! | 80 | + requestor = User.create!(:login => 'john', :email => 'john@example.com', :password => 'test', :password_confirmation => 'test') |
81 | + c = Community.create!(:name => 'test comm', :identifier => 'test_comm', :moderated_articles => false) | ||
82 | + t = InviteMember.create!(:requestor => requestor.person, :target => profile, :spam => false, :community_id => c.id) | ||
83 | + | ||
84 | + get :index, :filter_type => t.type | ||
85 | + assert_tag_in_string(assigns(:params_tags).join(' '), :tag => 'input', :attributes => { :value => 'InviteMember' }) | ||
81 | 86 | ||
82 | post :close, :tasks => {t.id => {:decision => 'finish', :task => {}}}, :filter_type => t.type | 87 | post :close, :tasks => {t.id => {:decision => 'finish', :task => {}}}, :filter_type => t.type |
83 | assert_redirected_to :action => 'index', :filter_type => t.type | 88 | assert_redirected_to :action => 'index', :filter_type => t.type |