Merge all the user status changing methods into one
This commit is contained in:
parent
200a1ab5c7
commit
552a647810
3 changed files with 12 additions and 44 deletions
|
@ -11,12 +11,12 @@ class UserController < ApplicationController
|
|||
before_filter :require_allow_read_prefs, :only => [:api_details]
|
||||
before_filter :require_allow_read_gpx, :only => [:api_gpx_files]
|
||||
before_filter :require_cookies, :only => [:login, :confirm]
|
||||
before_filter :require_administrator, :only => [:activate, :deactivate, :confirm, :hide, :unhide, :delete]
|
||||
before_filter :lookup_this_user, :only => [:activate, :deactivate, :confirm, :hide, :unhide, :delete]
|
||||
before_filter :require_administrator, :only => [:set_status, :delete]
|
||||
before_filter :lookup_this_user, :only => [:set_status, :delete]
|
||||
|
||||
filter_parameter_logging :password, :pass_crypt, :pass_crypt_confirmation
|
||||
|
||||
cache_sweeper :user_sweeper, :only => [:account, :hide, :unhide, :delete]
|
||||
cache_sweeper :user_sweeper, :only => [:account, :set_status, :delete]
|
||||
|
||||
def save
|
||||
@title = t 'user.new.title'
|
||||
|
@ -314,37 +314,9 @@ class UserController < ApplicationController
|
|||
end
|
||||
|
||||
##
|
||||
# activate a user, allowing them to log in
|
||||
def activate
|
||||
@this_user.update_attributes(:status => "active")
|
||||
redirect_to :controller => 'user', :action => 'view', :display_name => params[:display_name]
|
||||
end
|
||||
|
||||
##
|
||||
# deactivate a user, preventing them from logging in
|
||||
def deactivate
|
||||
@this_user.update_attributes(:status => "pending")
|
||||
redirect_to :controller => 'user', :action => 'view', :display_name => params[:display_name]
|
||||
end
|
||||
|
||||
##
|
||||
# confirm a user, overriding any suspension triggered by spam scoring
|
||||
def confirm
|
||||
@this_user.update_attributes(:status => "confirmed")
|
||||
redirect_to :controller => 'user', :action => 'view', :display_name => params[:display_name]
|
||||
end
|
||||
|
||||
##
|
||||
# hide a user, marking them as logically deleted
|
||||
def hide
|
||||
@this_user.update_attributes(:status => "deleted")
|
||||
redirect_to :controller => 'user', :action => 'view', :display_name => params[:display_name]
|
||||
end
|
||||
|
||||
##
|
||||
# unhide a user, clearing the logically deleted flag
|
||||
def unhide
|
||||
@this_user.update_attributes(:status => "active")
|
||||
# sets a user's status
|
||||
def set_status
|
||||
@this_user.update_attributes(:status => params[:status])
|
||||
redirect_to :controller => 'user', :action => 'view', :display_name => params[:display_name]
|
||||
end
|
||||
|
||||
|
|
|
@ -60,17 +60,17 @@
|
|||
<% if @user and @user.administrator? %>
|
||||
<br/>
|
||||
<% if ["active", "confirmed"].include? @this_user.status %>
|
||||
<%= link_to t('user.view.deactivate_user'), {:controller => 'user', :action => 'deactivate', :display_name => @this_user.display_name}, {:confirm => t('user.view.confirm')} %> |
|
||||
<%= link_to t('user.view.deactivate_user'), {:controller => 'user', :action => 'set_status', :status => 'pending', :display_name => @this_user.display_name}, {:confirm => t('user.view.confirm')} %> |
|
||||
<% elsif ["pending"].include? @this_user.status %>
|
||||
<%= link_to t('user.view.activate_user'), {:controller => 'user', :action => 'activate', :display_name => @this_user.display_name}, {:confirm => t('user.view.confirm')} %> |
|
||||
<%= link_to t('user.view.activate_user'), {:controller => 'user', :action => 'set_status', :status => 'active', :display_name => @this_user.display_name}, {:confirm => t('user.view.confirm')} %> |
|
||||
<% end %>
|
||||
<% if ["active", "suspended"].include? @this_user.status %>
|
||||
<%= link_to t('user.view.confirm_user'), {:controller => 'user', :action => 'confirm', :display_name => @this_user.display_name}, {:confirm => t('user.view.confirm')} %> |
|
||||
<%= link_to t('user.view.confirm_user'), {:controller => 'user', :action => 'set_status', :status => 'confirmed', :display_name => @this_user.display_name}, {:confirm => t('user.view.confirm')} %> |
|
||||
<% end %>
|
||||
<% if ["pending", "active", "confirmed", "suspended"].include? @this_user.status %>
|
||||
<%= link_to t('user.view.hide_user'), {:controller => 'user', :action => 'hide', :display_name => @this_user.display_name}, {:confirm => t('user.view.confirm')} %> |
|
||||
<%= link_to t('user.view.hide_user'), {:controller => 'user', :action => 'set_status', :status => 'deleted', :display_name => @this_user.display_name}, {:confirm => t('user.view.confirm')} %> |
|
||||
<% else %>
|
||||
<%= link_to t('user.view.unhide_user'), {:controller => 'user', :action => 'unhide', :display_name => @this_user.display_name}, {:confirm => t('user.view.confirm')} %> |
|
||||
<%= link_to t('user.view.unhide_user'), {:controller => 'user', :action => 'set_status', :status => 'active', :display_name => @this_user.display_name}, {:confirm => t('user.view.confirm')} %> |
|
||||
<% end %>
|
||||
<%= link_to t('user.view.delete_user'), {:controller => 'user', :action => 'delete', :display_name => @this_user.display_name}, {:confirm => t('user.view.confirm')} %>
|
||||
<% end %>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue