forked from MarseyWorld/MarseyWorld
fdsfds
parent
27a88357eb
commit
1f28d5b81d
|
@ -212,10 +212,10 @@ class Comment(Base):
|
||||||
@property
|
@property
|
||||||
@lazy
|
@lazy
|
||||||
def permalink(self):
|
def permalink(self):
|
||||||
if self.post and self.post.club: return f"/comment/{self.id}/"
|
if self.post and self.post.club: return f"/comment/{self.id}?context=9#context"
|
||||||
|
|
||||||
if self.post: return f"{self.post.permalink}/{self.id}/"
|
if self.post: return f"{self.post.permalink}/{self.id}?context=9#context"
|
||||||
else: return f"/comment/{self.id}/"
|
else: return f"/comment/{self.id}?context=9#context"
|
||||||
|
|
||||||
@property
|
@property
|
||||||
@lazy
|
@lazy
|
||||||
|
|
|
@ -993,9 +993,18 @@ def api_sticky_post(post_id, v):
|
||||||
|
|
||||||
cache.delete_memoized(frontlist)
|
cache.delete_memoized(frontlist)
|
||||||
|
|
||||||
g.db.commit()
|
if post.stickied:
|
||||||
if post.stickied: return {"message": "Post pinned!"}
|
message = f"@{v.username} has pinned your [post](/post/{post_id})!"
|
||||||
else: return {"message": "Post unpinned!"}
|
existing = g.db.query(Comment.id).filter(Comment.author_id == NOTIFICATIONS_ACCOUNT, Comment.body == message).first()
|
||||||
|
if not existing: send_notification(post.author_id, message)
|
||||||
|
g.db.commit()
|
||||||
|
return {"message": "Post pinned!"}
|
||||||
|
else:
|
||||||
|
message = f"@{v.username} has unpinned your [post](/post/{post_id})!"
|
||||||
|
existing = g.db.query(Comment.id).filter(Comment.author_id == NOTIFICATIONS_ACCOUNT, Comment.body == message).first()
|
||||||
|
if not existing: send_notification(post.author_id, message)
|
||||||
|
g.db.commit()
|
||||||
|
return {"message": "Post unpinned!"}
|
||||||
|
|
||||||
@app.post("/ban_comment/<c_id>")
|
@app.post("/ban_comment/<c_id>")
|
||||||
@limiter.limit("1/second")
|
@limiter.limit("1/second")
|
||||||
|
|
|
@ -861,8 +861,18 @@ def toggle_pin_comment(cid, v):
|
||||||
|
|
||||||
g.db.commit()
|
g.db.commit()
|
||||||
|
|
||||||
if comment.is_pinned: return {"message": "Comment pinned!"}
|
if comment.is_pinned:
|
||||||
else: return {"message": "Comment unpinned!"}
|
message = f"@{v.username} has pinned your [comment]({comment.permalink})!"
|
||||||
|
existing = g.db.query(Comment.id).filter(Comment.author_id == NOTIFICATIONS_ACCOUNT, Comment.body == message).first()
|
||||||
|
if not existing: send_notification(comment.author_id, message)
|
||||||
|
g.db.commit()
|
||||||
|
return {"message": "Comment pinned!"}
|
||||||
|
else:
|
||||||
|
message = f"@{v.username} has unpinned your [comment]({comment.permalink})!"
|
||||||
|
existing = g.db.query(Comment.id).filter(Comment.author_id == NOTIFICATIONS_ACCOUNT, Comment.body == message).first()
|
||||||
|
if not existing: send_notification(comment.author_id, message)
|
||||||
|
g.db.commit()
|
||||||
|
return {"message": "Comment unpinned!"}
|
||||||
|
|
||||||
|
|
||||||
@app.post("/save_comment/<cid>")
|
@app.post("/save_comment/<cid>")
|
||||||
|
@ -879,10 +889,6 @@ def save_comment(cid, v):
|
||||||
new_save=SaveRelationship(user_id=v.id, comment_id=comment.id, type=2)
|
new_save=SaveRelationship(user_id=v.id, comment_id=comment.id, type=2)
|
||||||
g.db.add(new_save)
|
g.db.add(new_save)
|
||||||
|
|
||||||
# message = f"@{v.username} has saved your [comment](/comment/{cid})!"
|
|
||||||
# existing = g.db.query(Comment.id).filter(Comment.author_id == NOTIFICATIONS_ACCOUNT, Comment.body == message).first()
|
|
||||||
# if not existing: send_notification(comment.author_id, message)
|
|
||||||
|
|
||||||
try: g.db.commit()
|
try: g.db.commit()
|
||||||
except: g.db.rollback()
|
except: g.db.rollback()
|
||||||
|
|
||||||
|
@ -900,11 +906,6 @@ def unsave_comment(cid, v):
|
||||||
|
|
||||||
if save:
|
if save:
|
||||||
g.db.delete(save)
|
g.db.delete(save)
|
||||||
|
|
||||||
# message = f"@{v.username} has unsaved your [comment](/comment/{cid})!"
|
|
||||||
# existing = g.db.query(Comment.id).filter(Comment.author_id == NOTIFICATIONS_ACCOUNT, Comment.body == message).first()
|
|
||||||
# if not existing: send_notification(comment.author_id, message)
|
|
||||||
|
|
||||||
g.db.commit()
|
g.db.commit()
|
||||||
|
|
||||||
return {"message": "Comment unsaved!"}
|
return {"message": "Comment unsaved!"}
|
||||||
|
|
|
@ -34,7 +34,7 @@ def upvoters(v, username):
|
||||||
|
|
||||||
users = sorted(users2, key=lambda x: x[1], reverse=True)[:25]
|
users = sorted(users2, key=lambda x: x[1], reverse=True)[:25]
|
||||||
|
|
||||||
return render_template("upvoters.html", v=v, users=users, username=username, name='Up', name2='simps')
|
return render_template("voters.html", v=v, users=users, username=username, name='Up', name2='@{v.username} biggest simps')
|
||||||
|
|
||||||
@app.get("/@<username>/downvoters")
|
@app.get("/@<username>/downvoters")
|
||||||
@auth_desired
|
@auth_desired
|
||||||
|
@ -53,7 +53,45 @@ def downvoters(v, username):
|
||||||
|
|
||||||
users = sorted(users2, key=lambda x: x[1], reverse=True)[:25]
|
users = sorted(users2, key=lambda x: x[1], reverse=True)[:25]
|
||||||
|
|
||||||
return render_template("upvoters.html", v=v, users=users, username=username, name='Down', name2='haters')
|
return render_template("voters.html", v=v, users=users, username=username, name='Down', name2='@{v.username} biggest haters')
|
||||||
|
|
||||||
|
@app.get("/@<username>/upvoting")
|
||||||
|
@auth_desired
|
||||||
|
def upvoting(v, username):
|
||||||
|
id = get_user(username).id
|
||||||
|
|
||||||
|
votes = g.db.query(Submission.author_id, func.count(Submission.author_id)).join(Vote, Vote.submission_id==Submission.id).filter(Vote.vote_type==1, Vote.user_id==id).group_by(Submission.author_id).order_by(func.count(Submission.author_id).desc()).limit(25).all()
|
||||||
|
|
||||||
|
votes2 = g.db.query(Comment.author_id, func.count(Comment.author_id)).join(CommentVote, CommentVote.comment_id==Comment.id).filter(CommentVote.vote_type==1, CommentVote.user_id==id).group_by(Comment.author_id).order_by(func.count(Comment.author_id).desc()).limit(25).all()
|
||||||
|
|
||||||
|
votes = Counter(dict(votes)) + Counter(dict(votes2))
|
||||||
|
|
||||||
|
users = g.db.query(User).filter(User.id.in_(votes.keys())).all()
|
||||||
|
users2 = []
|
||||||
|
for user in users: users2.append((user, votes[user.id]))
|
||||||
|
|
||||||
|
users = sorted(users2, key=lambda x: x[1], reverse=True)[:25]
|
||||||
|
|
||||||
|
return render_template("voters.html", v=v, users=users, username=username, name='Up', name2=f'Who @{v.username} simps for')
|
||||||
|
|
||||||
|
@app.get("/@<username>/downvoting")
|
||||||
|
@auth_desired
|
||||||
|
def downvoting(v, username):
|
||||||
|
id = get_user(username).id
|
||||||
|
|
||||||
|
votes = g.db.query(Submission.author_id, func.count(Submission.author_id)).join(Vote, Vote.submission_id==Submission.id).filter(Vote.vote_type==-1, Vote.user_id==id).group_by(Submission.author_id).order_by(func.count(Submission.author_id).desc()).limit(25).all()
|
||||||
|
|
||||||
|
votes2 = g.db.query(Comment.author_id, func.count(Comment.author_id)).join(CommentVote, CommentVote.comment_id==Comment.id).filter(CommentVote.vote_type==-1, CommentVote.user_id==id).group_by(Comment.author_id).order_by(func.count(Comment.author_id).desc()).limit(25).all()
|
||||||
|
|
||||||
|
votes = Counter(dict(votes)) + Counter(dict(votes2))
|
||||||
|
|
||||||
|
users = g.db.query(User).filter(User.id.in_(votes.keys())).all()
|
||||||
|
users2 = []
|
||||||
|
for user in users: users2.append((user, votes[user.id]))
|
||||||
|
|
||||||
|
users = sorted(users2, key=lambda x: x[1], reverse=True)[:25]
|
||||||
|
|
||||||
|
return render_template("voters.html", v=v, users=users, username=username, name='Down', name2=f'Who @{v.username} hates')
|
||||||
|
|
||||||
@app.post("/pay_rent")
|
@app.post("/pay_rent")
|
||||||
@limiter.limit("1/second")
|
@limiter.limit("1/second")
|
||||||
|
|
|
@ -215,11 +215,11 @@
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
<div id="morecomment-{{c.id}}" class="d-md-none mt-2 more-comments text-small">
|
<div id="morecomment-{{c.id}}" class="d-md-none mt-2 more-comments text-small">
|
||||||
<a {% if v %}href="{{c.permalink}}?context=9#context"{% else %}href="/logged_out{{c.permalink}}?context=9#context"{% endif %}>More comments <i class="fas fa-long-arrow-right ml-1"></i></a>
|
<a {% if v %}href="{{c.permalink}}"{% else %}href="/logged_out{{c.permalink}}"{% endif %}>More comments <i class="fas fa-long-arrow-right ml-1"></i></a>
|
||||||
</div>
|
</div>
|
||||||
{% elif replies %}
|
{% elif replies %}
|
||||||
<div id="morecomment-{{c.id}}" class="mt-2 more-comments text-small">
|
<div id="morecomment-{{c.id}}" class="mt-2 more-comments text-small">
|
||||||
<a {% if v %}href="{{c.permalink}}?context=9#context"{% else %}href="/logged_out{{c.permalink}}?context=9#context"{% endif %}>More comments <i class="fas fa-long-arrow-right ml-1"></i></a>
|
<a {% if v %}href="{{c.permalink}}"{% else %}href="/logged_out{{c.permalink}}"{% endif %}>More comments <i class="fas fa-long-arrow-right ml-1"></i></a>
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
@ -443,8 +443,8 @@
|
||||||
<a class="list-inline-item text-muted" href="javascript:void(0)" onclick="openReplyBox('{{c.id}}')"><i class="fas fa-reply" aria-hidden="true"></i><span class="d-none d-md-inline-block">Reply</span></a>
|
<a class="list-inline-item text-muted" href="javascript:void(0)" onclick="openReplyBox('{{c.id}}')"><i class="fas fa-reply" aria-hidden="true"></i><span class="d-none d-md-inline-block">Reply</span></a>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<a class="list-inline-item text-muted d-none d-md-inline-block" {% if v %}href="{{c.permalink}}?context=9#context"{% else %}href="/logged_out{{c.permalink}}?context=9#context"{% endif %}><i class="fas fa-book-open"></i>Context</a>
|
<a class="list-inline-item text-muted d-none d-md-inline-block" {% if v %}href="{{c.permalink}}"{% else %}href="/logged_out{{c.permalink}}"{% endif %}><i class="fas fa-book-open"></i>Context</a>
|
||||||
<a class="list-inline-item text-muted d-none d-md-inline-block copy-link" href="javascript:void(0);" role="button" data-clipboard-text="{% if 'rama' in request.host %}https://freeghettohoes.biz{{c.permalink}}{% else %}{{c.permalink | full_link}}{% endif %}?context=9#context"><i class="fas fa-copy"></i>Copy link</a>
|
<a class="list-inline-item text-muted d-none d-md-inline-block copy-link" href="javascript:void(0);" role="button" data-clipboard-text="{% if 'rama' in request.host %}https://freeghettohoes.biz{{c.permalink}}{% else %}{{c.permalink | full_link}}{% endif %}"><i class="fas fa-copy"></i>Copy link</a>
|
||||||
{% if v %}
|
{% if v %}
|
||||||
<a class="list-inline-item text-muted d-none d-md-inline-block" href="javascript:void(0)" data-bs-toggle="modal" data-bs-target="#reportCommentModal" onclick="report_commentModal('{{c.id}}','{{c.author.username}}',)"><i class="fas fa-flag fa-fw"></i>Report</a>
|
<a class="list-inline-item text-muted d-none d-md-inline-block" href="javascript:void(0)" data-bs-toggle="modal" data-bs-target="#reportCommentModal" onclick="report_commentModal('{{c.id}}','{{c.author.username}}',)"><i class="fas fa-flag fa-fw"></i>Report</a>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
@ -575,7 +575,7 @@
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
<div id="morecomment-{{c.id}}" class="d-md-none mt-2 more-comments text-small">
|
<div id="morecomment-{{c.id}}" class="d-md-none mt-2 more-comments text-small">
|
||||||
<a {% if v %}href="{{c.permalink}}?context=9#context"{% else %}href="/logged_out{{c.permalink}}?context=9#context"{% endif %}>More comments <i class="fas fa-long-arrow-right ml-1"></i></a>
|
<a {% if v %}href="{{c.permalink}}"{% else %}href="/logged_out{{c.permalink}}"{% endif %}>More comments <i class="fas fa-long-arrow-right ml-1"></i></a>
|
||||||
</div>
|
</div>
|
||||||
{% elif replies %}
|
{% elif replies %}
|
||||||
<div id="morecomment-{{c.id}}" class="mt-2 more-comments text-small">
|
<div id="morecomment-{{c.id}}" class="mt-2 more-comments text-small">
|
||||||
|
@ -608,9 +608,9 @@
|
||||||
<a id="unsave2-{{c.id}}" class="list-group-item {% if c.id not in v.saved_comment_idlist() %}d-none{% endif %}" href="javascript:void(0)" onclick="post_toast2('/unsave_comment/{{c.id}}','save2-{{c.id}}','unsave2-{{c.id}}')" data-bs-dismiss="modal"><i class="fas fa-save"></i>Unsave</a>
|
<a id="unsave2-{{c.id}}" class="list-group-item {% if c.id not in v.saved_comment_idlist() %}d-none{% endif %}" href="javascript:void(0)" onclick="post_toast2('/unsave_comment/{{c.id}}','save2-{{c.id}}','unsave2-{{c.id}}')" data-bs-dismiss="modal"><i class="fas fa-save"></i>Unsave</a>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<a href="javascript:void(0);" role="button" class="list-group-item copy-link" data-bs-dismiss="modal" data-clipboard-text="{% if 'rama' in request.host %}https://freeghettohoes.biz{{c.permalink}}{% else %}{{c.permalink | full_link}}{% endif %}?context=9#context"><i class="fas fa-copy"></i>Copy link</a>
|
<a href="javascript:void(0);" role="button" class="list-group-item copy-link" data-bs-dismiss="modal" data-clipboard-text="{% if 'rama' in request.host %}https://freeghettohoes.biz{{c.permalink}}{% else %}{{c.permalink | full_link}}{% endif %}"><i class="fas fa-copy"></i>Copy link</a>
|
||||||
|
|
||||||
<a class="list-group-item" {% if v %} href="{{c.permalink}}?context=9#context" {% else %} href="/logged_out{{c.permalink}}?context=9#context" {% endif %}><i class="fas fa-dna"></i>Context</a>
|
<a class="list-group-item" {% if v %} href="{{c.permalink}}" {% else %} href="/logged_out{{c.permalink}}" {% endif %}><i class="fas fa-dna"></i>Context</a>
|
||||||
|
|
||||||
<a href="javascript:void(0)" data-bs-toggle="modal" data-bs-dismiss="modal" data-bs-target="#reportCommentModal" onclick="report_commentModal('{{c.id}}','{{c.author.username}}')" class="list-group-item"><i class="fas fa-flag"></i>Report</a>
|
<a href="javascript:void(0)" data-bs-toggle="modal" data-bs-dismiss="modal" data-bs-target="#reportCommentModal" onclick="report_commentModal('{{c.id}}','{{c.author.username}}')" class="list-group-item"><i class="fas fa-flag"></i>Report</a>
|
||||||
|
|
||||||
|
|
|
@ -159,7 +159,7 @@
|
||||||
{% else %}<pre></pre>
|
{% else %}<pre></pre>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<div class="font-weight-bolder mb-2"><a class="mr-1" href="/@{{u.username}}/upvoters">Simps</a> | <a class="ml-1" href="/@{{u.username}}/downvoters">Haters</a></div>
|
<div class="font-weight-bolder mb-2"><a class="mr-1" href="/@{{u.username}}/upvoters">Simps</a> | <a class="mx-1" href="/@{{u.username}}/downvoters">Haters</a> | <a class="mx-1" href="/@{{u.username}}/upvoting">Simps for</a> | <a class="ml-1" href="/@{{u.username}}/downvoting">Hates</a></div>
|
||||||
|
|
||||||
<div class="font-weight-bolder">
|
<div class="font-weight-bolder">
|
||||||
<span id="profile-coins-amount">{{u.coins}}</span>
|
<span id="profile-coins-amount">{{u.coins}}</span>
|
||||||
|
@ -441,7 +441,7 @@
|
||||||
<pre></pre>
|
<pre></pre>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<div class="font-weight-bolder mb-2"><a class="mr-1" href="/@{{u.username}}/upvoters">Simps</a> | <a class="ml-1" href="/@{{u.username}}/downvoters">Haters</a></div>
|
<div class="font-weight-bolder mb-2"><a class="mr-1" href="/@{{u.username}}/upvoters">Simps</a> | <a class="mx-1" href="/@{{u.username}}/downvoters">Haters</a> | <a class="mx-1" href="/@{{u.username}}/upvoting">Simps for</a> | <a class="ml-1" href="/@{{u.username}}/downvoting">Hates</a></div>
|
||||||
|
|
||||||
<div class="font-weight-normal">
|
<div class="font-weight-normal">
|
||||||
<span id="profile-coins-amount-mobile" class="font-weight-bold">{{u.coins}}</span>
|
<span id="profile-coins-amount-mobile" class="font-weight-bold">{{u.coins}}</span>
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
|
|
||||||
|
|
||||||
</pre>
|
</pre>
|
||||||
<h5 style="text-align: center">@{{username}}'s biggest {{name2}}</h5>
|
<h5 style="text-align: center">{{name2}}</h5>
|
||||||
<pre></pre>
|
<pre></pre>
|
||||||
<table class="table table-striped mb-5">
|
<table class="table table-striped mb-5">
|
||||||
<thead class="bg-primary text-white">
|
<thead class="bg-primary text-white">
|
Loading…
Reference in New Issue