remotes/1693045480750635534/spooky-22
Aevann1 2021-10-23 21:15:50 +02:00
parent 72da9b713f
commit e63b5e707f
3 changed files with 15 additions and 3 deletions

View File

@ -352,10 +352,14 @@ def badge_grant_post(v):
g.db.query(Badge).options(lazyload('*')).filter_by(badge_id=badge_id, user_id=user.id,).delete()
g.db.commit()
return redirect("/admin/badge_grant")
if badge_id == 16:
badge = user.has_badge(17)
if badge: badge.delete()
elif badge_id == 17 and user.has_badge(16): abort(403)
new_badge = Badge(badge_id=badge_id,
user_id=user.id,
)
new_badge = Badge(badge_id=badge_id, user_id=user.id)
desc = request.values.get("description")
if desc: new_badge.description = desc

View File

@ -306,6 +306,7 @@ def sign_up_post(v):
if ref_id:
ref_user = g.db.query(User).options(
lazyload('*')).filter_by(id=ref_id).first()
if ref_user:
badge_types = g.db.query(BadgeDef).options(lazyload('*')).filter(BadgeDef.qualification_expr.isnot(None)).all()
for badge in badge_types:
@ -313,6 +314,9 @@ def sign_up_post(v):
if not ref_user.has_badge(badge.id):
new_badge = Badge(user_id=ref_user.id, badge_id=badge.id)
g.db.add(new_badge)
else:
bad_badge = ref_user.has_badge(badge.id)
if bad_badge: g.db.delete(bad_badge)
g.db.add(ref_user)

View File

@ -301,6 +301,10 @@ def gumroad(v):
tier = tiers[response["variants_and_quantity"]]
if v.patron == tier: return {"error": f"{patron} rewards already claimed"}, 400
if v.patron:
badge = v.has_badge(20+tier)
if badge: badge.delete()
v.patron = tier
if v.discord_id: add_role(v, f"{tier}")