diff --git a/files/classes/votes.py b/files/classes/votes.py index 2f42956b0..22f431c64 100644 --- a/files/classes/votes.py +++ b/files/classes/votes.py @@ -56,7 +56,7 @@ class CommentVote(Base): app_id = Column(Integer, ForeignKey("oauth_apps.id")) real = Column(Boolean, default=True) - user = relationship("User", lazy="subquery", viewonly=True) + user = relationship("User", lazy="subquery") comment = relationship("Comment", lazy="subquery", viewonly=True) def __init__(self, *args, **kwargs): diff --git a/files/routes/admin.py b/files/routes/admin.py index d550c971f..16dd749cc 100644 --- a/files/routes/admin.py +++ b/files/routes/admin.py @@ -21,6 +21,22 @@ SITE_NAME = environ.get("SITE_NAME", "").strip() if SITE_NAME == 'PCM': cc = "splash mountain" else: cc = "country club" +@app.get("/distribute/") +@admin_level_required(2) +def distribute(v, cid): + votes = g.db.query(CommentVote).filter_by(comment_id=cid) + autobetter = g.db.query(User).filter_by(id=AUTOBETTER_ID).first() + coinsperperson = int(autobetter.coins / votes.count()) + for vote in votes: + u = vote.user + u.coins += coinsperperson + g.db.add(u) + + autobetter.coins = 0 + g.db.add(autobetter) + g.db.commit() + return str(coinsperperson) + @app.get("/marseys") @auth_desired def marseys(v):