forked from rDrama/rDrama
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_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
|
DONATE_LINK = GUMROAD_LINK if not KOFI_TOKEN or KOFI_TOKEN == DEFAULT_CONFIG_VALUE else KOFI_LINK
|
||||||
|
|
||||||
TIERS_ID_TO_NAME = {
|
TIERS_ID_TO_NAME = {
|
||||||
1: "Paypig",
|
1: "Paypig",
|
||||||
2: "Renthog",
|
2: "Renthog",
|
||||||
3: "Landchad",
|
3: "Landchad",
|
||||||
4: "Terminally online turboautist",
|
4: "Terminally online turboautist",
|
||||||
5: "JIDF Bankroller",
|
5: "JIDF Bankroller",
|
||||||
6: "Rich Bich"
|
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':
|
if SITE == 'rdrama.net':
|
||||||
FEATURES['PRONOUNS'] = True
|
FEATURES['PRONOUNS'] = True
|
||||||
FEATURES['HOUSES'] = True
|
FEATURES['HOUSES'] = True
|
||||||
|
@ -665,6 +671,12 @@ elif SITE == 'watchpeopledie.tv':
|
||||||
6: "Jigsaw"
|
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
|
else: # localhost or testing environment implied
|
||||||
FEATURES['ASSET_SUBMISSIONS'] = True
|
FEATURES['ASSET_SUBMISSIONS'] = True
|
||||||
FEATURES['PRONOUNS'] = True
|
FEATURES['PRONOUNS'] = True
|
||||||
|
|
|
@ -514,8 +514,16 @@ def under_attack(v):
|
||||||
@admin_level_required(PERMS['USER_BADGES'])
|
@admin_level_required(PERMS['USER_BADGES'])
|
||||||
def badge_grant_get(v):
|
def badge_grant_get(v):
|
||||||
grant = request.url.endswith("grant")
|
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")
|
@app.post("/admin/badge_grant")
|
||||||
@feature_required('BADGES')
|
@feature_required('BADGES')
|
||||||
|
@ -531,10 +539,10 @@ def badge_grant_post(v):
|
||||||
try: badge_id = int(request.values.get("badge_id"))
|
try: badge_id = int(request.values.get("badge_id"))
|
||||||
except: abort(400)
|
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)
|
abort(403)
|
||||||
|
elif (BADGE_BLACKLIST and badge_id in BADGE_BLACKLIST
|
||||||
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':
|
and v.id != AEVANN_ID and SITE != 'pcmemes.net'):
|
||||||
abort(403)
|
abort(403)
|
||||||
|
|
||||||
if user.has_badge(badge_id):
|
if user.has_badge(badge_id):
|
||||||
|
|
Loading…
Reference in New Issue