Redirect suspended users to an information page
If the current session is for a logged in user and that user has been suspended then log them out and redirect them to a page explaining that their account has been suspended.
This commit is contained in:
parent
7211872790
commit
9230721a1f
4 changed files with 27 additions and 1 deletions
|
@ -8,7 +8,14 @@ class ApplicationController < ActionController::Base
|
||||||
|
|
||||||
def authorize_web
|
def authorize_web
|
||||||
if session[:user]
|
if session[:user]
|
||||||
@user = User.find(session[:user], :conditions => {:status => ["active", "confirmed"]})
|
@user = User.find(session[:user], :conditions => {:status => ["active", "confirmed", "suspended"]})
|
||||||
|
|
||||||
|
if @user.status == "suspended"
|
||||||
|
session[:user] = nil
|
||||||
|
session_expires_automatically
|
||||||
|
|
||||||
|
redirect_to :controller => "user", :action => "suspended"
|
||||||
|
end
|
||||||
elsif session[:token]
|
elsif session[:token]
|
||||||
@user = User.authenticate(:token => session[:token])
|
@user = User.authenticate(:token => session[:token])
|
||||||
session[:user] = @user.id
|
session[:user] = @user.id
|
||||||
|
|
5
app/views/user/suspended.html.erb
Normal file
5
app/views/user/suspended.html.erb
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
<% @title = t "user.suspended.title" %>
|
||||||
|
|
||||||
|
<h1><%= t "user.suspended.heading" %></h1>
|
||||||
|
|
||||||
|
<%= t "user.suspended.body", :webmaster => "webmaster@openstreetmap.org" %>
|
|
@ -1655,6 +1655,19 @@ en:
|
||||||
confirm: Confirm Selected Users
|
confirm: Confirm Selected Users
|
||||||
hide: Hide Selected Users
|
hide: Hide Selected Users
|
||||||
empty: No matching users found
|
empty: No matching users found
|
||||||
|
suspended:
|
||||||
|
title: Account Suspended
|
||||||
|
heading: Account Suspended
|
||||||
|
body: |
|
||||||
|
<p>
|
||||||
|
Sorry, your account has been automatically suspended due to
|
||||||
|
suspicious activity.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
This decision will be reviewed by an administrator shortly, or
|
||||||
|
you may contact the <a href="mailto:{{webmaster}}">webmaster</a> if
|
||||||
|
you wish to discuss this.
|
||||||
|
</p>
|
||||||
user_role:
|
user_role:
|
||||||
filter:
|
filter:
|
||||||
not_an_administrator: "Only administrators can perform user role management, and you are not an administrator."
|
not_an_administrator: "Only administrators can perform user role management, and you are not an administrator."
|
||||||
|
|
|
@ -104,6 +104,7 @@ ActionController::Routing::Routes.draw do |map|
|
||||||
map.connect '/user/go_public', :controller => 'user', :action => 'go_public'
|
map.connect '/user/go_public', :controller => 'user', :action => 'go_public'
|
||||||
map.connect '/user/reset-password', :controller => 'user', :action => 'reset_password'
|
map.connect '/user/reset-password', :controller => 'user', :action => 'reset_password'
|
||||||
map.connect '/user/forgot-password', :controller => 'user', :action => 'lost_password'
|
map.connect '/user/forgot-password', :controller => 'user', :action => 'lost_password'
|
||||||
|
map.connect '/user/suspended', :controller => 'user', :action => 'suspended'
|
||||||
|
|
||||||
map.connect '/index.html', :controller => 'site', :action => 'index'
|
map.connect '/index.html', :controller => 'site', :action => 'index'
|
||||||
map.connect '/edit.html', :controller => 'site', :action => 'edit'
|
map.connect '/edit.html', :controller => 'site', :action => 'edit'
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue