diff options
author | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2008-04-06 13:15:09 +0000 |
---|---|---|
committer | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2008-04-06 13:15:09 +0000 |
commit | 0249ae5f500063f4d08ff09a7071cb949a534316 (patch) | |
tree | 2d544b6acb574468394dd462734b98d87bab890b | |
parent | beff2c54bc325e8a8f838d90aa122be823423114 (diff) | |
download | redmine-0249ae5f500063f4d08ff09a7071cb949a534316.tar.gz redmine-0249ae5f500063f4d08ff09a7071cb949a534316.zip |
Preserve status filter and page number when using lock/unlock/activate links on the users list (closes #998).
git-svn-id: http://redmine.rubyforge.org/svn/trunk@1334 e93f8b46-1217-0410-a6f0-8f06a7374b81
-rw-r--r-- | app/controllers/users_controller.rb | 3 | ||||
-rw-r--r-- | app/helpers/users_helper.rb | 12 | ||||
-rw-r--r-- | app/views/users/list.rhtml | 12 |
3 files changed, 15 insertions, 12 deletions
diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index ceb70ab92..48fc6fade 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -83,7 +83,8 @@ class UsersController < ApplicationController end if @user.update_attributes(params[:user]) flash[:notice] = l(:notice_successful_update) - redirect_to :action => 'list' + # Give a string to redirect_to otherwise it would use status param as the response code + redirect_to(url_for(:action => 'list', :status => params[:status], :page => params[:page])) end end @auth_sources = AuthSource.find(:all) diff --git a/app/helpers/users_helper.rb b/app/helpers/users_helper.rb index 7bd137161..250ed8ce8 100644 --- a/app/helpers/users_helper.rb +++ b/app/helpers/users_helper.rb @@ -22,4 +22,16 @@ module UsersHelper [l(:status_registered), 2], [l(:status_locked), 3]], selected) end + + def change_status_link(user) + url = {:action => 'edit', :id => user, :page => params[:page], :status => params[:status]} + + if user.locked? + link_to l(:button_unlock), url.merge(:user => {:status => User::STATUS_ACTIVE}), :method => :post, :class => 'icon icon-unlock' + elsif user.registered? + link_to l(:button_activate), url.merge(:user => {:status => User::STATUS_ACTIVE}), :method => :post, :class => 'icon icon-unlock' + else + link_to l(:button_lock), url.merge(:user => {:status => User::STATUS_LOCKED}), :method => :post, :class => 'icon icon-lock' + end + end end diff --git a/app/views/users/list.rhtml b/app/views/users/list.rhtml index e12aa3425..d89672d19 100644 --- a/app/views/users/list.rhtml +++ b/app/views/users/list.rhtml @@ -33,17 +33,7 @@ <td align="center"><%= image_tag('true.png') if user.admin? %></td> <td class="created_on" align="center"><%= format_time(user.created_on) %></td> <td class="last_login_on" align="center"><%= format_time(user.last_login_on) unless user.last_login_on.nil? %></td> - <td> - <small> - <% if user.locked? -%> - <%= link_to l(:button_unlock), {:action => 'edit', :id => user, :user => {:status => User::STATUS_ACTIVE}}, :method => :post, :class => 'icon icon-unlock' %> - <% elsif user.registered? -%> - <%= link_to l(:button_activate), {:action => 'edit', :id => user, :user => {:status => User::STATUS_ACTIVE}}, :method => :post, :class => 'icon icon-unlock' %> - <% else -%> - <%= link_to l(:button_lock), {:action => 'edit', :id => user, :user => {:status => User::STATUS_LOCKED}}, :method => :post, :class => 'icon icon-lock' %> - <% end -%> - </small> - </td> + <td><small><%= change_status_link(user) %></small></td> </tr> <% end -%> </tbody> |