FIX: Show a proper error message when trying to bulk award a disabled badge. (#12384)

This commit is contained in:
Roman Rizzi
2021-03-12 14:28:27 -03:00
committed by GitHub
parent e7ac906f21
commit 9a779ca99a
3 changed files with 19 additions and 0 deletions

View File

@ -43,6 +43,14 @@ class Admin::BadgesController < Admin::AdminController
badge = Badge.find_by(id: params[:badge_id])
raise Discourse::InvalidParameters if csv_file.try(:tempfile).nil? || badge.nil?
if !badge.enabled?
render_json_error(
I18n.t('badges.mass_award.errors.badge_disabled', badge_name: badge.display_name),
status: 422
)
return
end
replace_badge_owners = params[:replace_badge_owners] == 'true'
BadgeGranter.revoke_all(badge) if replace_badge_owners