##
# require that the user is a moderator, or fill out a helpful error message
- # and return them to the blocks index.
+ # and return them to the index for the controller this is wrapped from.
def require_moderator
unless @user.moderator?
if request.get?
# have we identified the user?
if @user
# check if the user has been banned
- if not @user.active_blocks.empty?
+ if @user.blocks.active.exists?
# NOTE: need slightly more helpful message than this.
report_error t('application.setup_user_auth.blocked'), :forbidden
end
# to be used as a before_filter *after* authorize. this checks that
# the user is a moderator and, if not, returns a forbidden error.
#
+ # NOTE: this isn't a very good way of doing it - it duplicates logic
+ # from require_moderator - but what we really need to do is a fairly
+ # drastic refactoring based on :format and respond_to? but not a
+ # good idea to do that in this branch.
def authorize_moderator(errormessage="Access restricted to moderators")
# check user is a moderator
unless @user.moderator?
@title = t "user.no_such_user.title"
@not_found_user = name
- render :template => "user/no_such_user", :status => :not_found
+ respond_to do |format|
+ format.html { render :template => "user/no_such_user", :status => :not_found }
+ format.all { render :nothing => true, :status => :not_found }
+ end
end
private