Add functionality to return a specific message for zero hour blocks
This commit is contained in:
parent
9fb382eaa9
commit
823f6b4d36
3 changed files with 14 additions and 3 deletions
|
@ -152,10 +152,14 @@ class ApplicationController < ActionController::Base
|
|||
# have we identified the user?
|
||||
if @user
|
||||
# check if the user has been banned
|
||||
if @user.blocks.active.exists?
|
||||
# NOTE: need slightly more helpful message than this.
|
||||
user_block = @user.blocks.active.take
|
||||
unless user_block.nil?
|
||||
set_locale
|
||||
report_error t("application.setup_user_auth.blocked"), :forbidden
|
||||
if @user.blocks.active.take.zero_hour?
|
||||
report_error t("application.setup_user_auth.blocked_zero_hour"), :forbidden
|
||||
else
|
||||
report_error t("application.setup_user_auth.blocked"), :forbidden
|
||||
end
|
||||
end
|
||||
|
||||
# if the user hasn't seen the contributor terms then don't
|
||||
|
|
|
@ -26,6 +26,12 @@ class UserBlock < ActiveRecord::Base
|
|||
needs_view || ends_at > Time.now.getutc
|
||||
end
|
||||
|
||||
##
|
||||
# returns true if the block is a "zero hour" block
|
||||
def zero_hour?
|
||||
needs_view && (ends_at.to_i == updated_at.to_i)
|
||||
end
|
||||
|
||||
##
|
||||
# revokes the block, allowing the user to use the API again. the argument
|
||||
# is the user object who is revoking the ban.
|
||||
|
|
|
@ -1625,6 +1625,7 @@ en:
|
|||
require_moderator:
|
||||
not_a_moderator: "You need to be a moderator to perform that action."
|
||||
setup_user_auth:
|
||||
blocked_zero_hour: "You have an urgent message on the OpenStreetMap web site. You need to read the message before you will be able to save your edits."
|
||||
blocked: "Your access to the API has been blocked. Please log-in to the web interface to find out more."
|
||||
need_to_see_terms: "Your access to the API is temporarily suspended. Please log-in to the web interface to view the Contributor Terms. You do not need to agree, but you must view them."
|
||||
oauth:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue