WPD: constantify badge whitelist, extend set.
parent
744751bdf9
commit
427f54175c
|
@ -473,16 +473,22 @@ HOUSE_SWITCH_COST = 2000
|
|||
|
||||
DONATE_SERVICE = "Gumroad" if not KOFI_TOKEN or KOFI_TOKEN == DEFAULT_CONFIG_VALUE else "KoFi"
|
||||
DONATE_LINK = GUMROAD_LINK if not KOFI_TOKEN or KOFI_TOKEN == DEFAULT_CONFIG_VALUE else KOFI_LINK
|
||||
|
||||
TIERS_ID_TO_NAME = {
|
||||
1: "Paypig",
|
||||
2: "Renthog",
|
||||
3: "Landchad",
|
||||
4: "Terminally online turboautist",
|
||||
5: "JIDF Bankroller",
|
||||
6: "Rich Bich"
|
||||
1: "Paypig",
|
||||
2: "Renthog",
|
||||
3: "Landchad",
|
||||
4: "Terminally online turboautist",
|
||||
5: "JIDF Bankroller",
|
||||
6: "Rich Bich",
|
||||
}
|
||||
|
||||
BADGE_BLACKLIST = { # only grantable by AEVANN_ID except on PCM
|
||||
16, 17, 21, 22, 23, 24, 25, 26, 27, # Marsey Artist x2 / Patron Tiers
|
||||
94, 95, 96, 97, 98, 109, 67, 68, 83, 84, 87, 90, 140, 179, 185, # Award Status
|
||||
137, # Lottery Winner
|
||||
}
|
||||
BADGE_WHITELIST = None # Falsey allows all non-blacklisted, or set() of permitted IDs
|
||||
|
||||
if SITE == 'rdrama.net':
|
||||
FEATURES['PRONOUNS'] = True
|
||||
FEATURES['HOUSES'] = True
|
||||
|
@ -665,6 +671,12 @@ elif SITE == 'watchpeopledie.tv':
|
|||
6: "Jigsaw"
|
||||
}
|
||||
|
||||
BADGE_WHITELIST = {
|
||||
85, 99, 101, # Sigma, Artist Badges x2
|
||||
59, 60, 66, 104, 108, # Classic Accolades, Nword
|
||||
117, 124, 144, 145, 146, 147, 148, 149, # Census Reused for Fun
|
||||
}
|
||||
|
||||
else: # localhost or testing environment implied
|
||||
FEATURES['ASSET_SUBMISSIONS'] = True
|
||||
FEATURES['PRONOUNS'] = True
|
||||
|
|
|
@ -514,8 +514,16 @@ def under_attack(v):
|
|||
@admin_level_required(PERMS['USER_BADGES'])
|
||||
def badge_grant_get(v):
|
||||
grant = request.url.endswith("grant")
|
||||
badges = g.db.query(BadgeDef).order_by(BadgeDef.id).all()
|
||||
return render_template("admin/badge_admin.html", v=v, badge_types=badges, grant=grant)
|
||||
|
||||
query = g.db.query(BadgeDef)
|
||||
if BADGE_BLACKLIST and v.id != AEVANN_ID and SITE != 'pcmemes.net':
|
||||
query = query.filter(BadgeDef.id.notin_(BADGE_BLACKLIST))
|
||||
if BADGE_WHITELIST:
|
||||
query = query.filter(BadgeDef.id.in_(BADGE_WHITELIST))
|
||||
badge_types = query.order_by(BadgeDef.id).all()
|
||||
|
||||
return render_template("admin/badge_admin.html", v=v,
|
||||
badge_types=badge_types, grant=grant)
|
||||
|
||||
@app.post("/admin/badge_grant")
|
||||
@feature_required('BADGES')
|
||||
|
@ -531,10 +539,10 @@ def badge_grant_post(v):
|
|||
try: badge_id = int(request.values.get("badge_id"))
|
||||
except: abort(400)
|
||||
|
||||
if SITE == 'watchpeopledie.tv' and badge_id not in {99,101}:
|
||||
if BADGE_WHITELIST and badge_id not in BADGE_WHITELIST:
|
||||
abort(403)
|
||||
|
||||
if badge_id in {16,17,21,22,23,24,25,26,27,94,95,96,97,98,109,137,67,68,83,84,87,90,140} and v.id != AEVANN_ID and SITE != 'pcmemes.net':
|
||||
elif (BADGE_BLACKLIST and badge_id in BADGE_BLACKLIST
|
||||
and v.id != AEVANN_ID and SITE != 'pcmemes.net'):
|
||||
abort(403)
|
||||
|
||||
if user.has_badge(badge_id):
|
||||
|
|
Loading…
Reference in New Issue