# don't allow access to any auth-requiring part of the site unless
# the new CTs have been seen (and accept/decline chosen).
elsif !current_user.terms_seen && flash[:skip_terms].nil?
- flash[:notice] = t "user.terms.you need to accept or decline"
+ flash[:notice] = t "users.terms.you need to accept or decline"
if params[:referer]
redirect_to :controller => "users", :action => "terms", :referer => params[:referer]
else
end
def current_ability
- Ability.new(current_user).merge(granted_capability)
- end
-
- def granted_capability
- Capability.new(current_user, current_token)
+ # Add in capabilities from the oauth token if it exists and is a valid access token
+ if Authenticator.new(self, [:token]).allow?
+ Ability.new(current_user).merge(Capability.new(current_token))
+ else
+ Ability.new(current_user)
+ end
end
def deny_access(_exception)
report_error t("oauth.permissions.missing"), :forbidden
elsif current_user
set_locale
- report_error t("application.permission_denied"), :forbidden
+ respond_to do |format|
+ format.html { redirect_to :controller => "errors", :action => "forbidden" }
+ format.any { report_error t("application.permission_denied"), :forbidden }
+ end
elsif request.get?
- redirect_to :controller => "users", :action => "login", :referer => request.fullpath
+ respond_to do |format|
+ format.html { redirect_to :controller => "users", :action => "login", :referer => request.fullpath }
+ format.any { head :forbidden }
+ end
else
head :forbidden
end