fds
This commit is contained in:
parent
4b30fb0afd
commit
8a8849948b
3 changed files with 15 additions and 3 deletions
|
@ -353,9 +353,13 @@ def badge_grant_post(v):
|
||||||
g.db.commit()
|
g.db.commit()
|
||||||
return redirect("/admin/badge_grant")
|
return redirect("/admin/badge_grant")
|
||||||
|
|
||||||
new_badge = Badge(badge_id=badge_id,
|
if badge_id == 16:
|
||||||
user_id=user.id,
|
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)
|
||||||
|
|
||||||
desc = request.values.get("description")
|
desc = request.values.get("description")
|
||||||
if desc: new_badge.description = desc
|
if desc: new_badge.description = desc
|
||||||
|
|
|
@ -306,6 +306,7 @@ def sign_up_post(v):
|
||||||
if ref_id:
|
if ref_id:
|
||||||
ref_user = g.db.query(User).options(
|
ref_user = g.db.query(User).options(
|
||||||
lazyload('*')).filter_by(id=ref_id).first()
|
lazyload('*')).filter_by(id=ref_id).first()
|
||||||
|
|
||||||
if ref_user:
|
if ref_user:
|
||||||
badge_types = g.db.query(BadgeDef).options(lazyload('*')).filter(BadgeDef.qualification_expr.isnot(None)).all()
|
badge_types = g.db.query(BadgeDef).options(lazyload('*')).filter(BadgeDef.qualification_expr.isnot(None)).all()
|
||||||
for badge in badge_types:
|
for badge in badge_types:
|
||||||
|
@ -313,6 +314,9 @@ def sign_up_post(v):
|
||||||
if not ref_user.has_badge(badge.id):
|
if not ref_user.has_badge(badge.id):
|
||||||
new_badge = Badge(user_id=ref_user.id, badge_id=badge.id)
|
new_badge = Badge(user_id=ref_user.id, badge_id=badge.id)
|
||||||
g.db.add(new_badge)
|
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)
|
g.db.add(ref_user)
|
||||||
|
|
||||||
|
|
|
@ -301,6 +301,10 @@ def gumroad(v):
|
||||||
tier = tiers[response["variants_and_quantity"]]
|
tier = tiers[response["variants_and_quantity"]]
|
||||||
if v.patron == tier: return {"error": f"{patron} rewards already claimed"}, 400
|
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
|
v.patron = tier
|
||||||
if v.discord_id: add_role(v, f"{tier}")
|
if v.discord_id: add_role(v, f"{tier}")
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue