sneed
This commit is contained in:
parent
2af8f683e2
commit
a1d66bed30
8 changed files with 68 additions and 51 deletions
|
@ -57,6 +57,7 @@ class Comment(Base, Age_times, Scores, Stndrd, Fuzzing):
|
|||
is_offensive = Column(Boolean, default=False)
|
||||
is_nsfl = Column(Boolean, default=False)
|
||||
is_bot = Column(Boolean, default=False)
|
||||
banaward = Column(String, default=None)
|
||||
is_pinned = Column(Boolean, default=False)
|
||||
creation_region=Column(String(2), default=None)
|
||||
sentto=Column(Integer, default=None)
|
||||
|
|
|
@ -45,6 +45,7 @@ class Submission(Base, Stndrd, Age_times, Scores, Fuzzing):
|
|||
is_banned = Column(Boolean, default=False)
|
||||
views = Column(Integer, default=0)
|
||||
deleted_utc = Column(Integer, default=0)
|
||||
banaward = Column(String, default=None)
|
||||
purged_utc = Column(Integer, default=0)
|
||||
distinguish_level = Column(Integer, default=0)
|
||||
gm_distinguish = Column(Integer, ForeignKey("boards.id"), default=0)
|
||||
|
|
|
@ -21,6 +21,37 @@ beams_client = PushNotifications(
|
|||
secret_key=PUSHER_KEY,
|
||||
)
|
||||
|
||||
@app.route("/banaward/<comment_id>", methods=["POST"])
|
||||
@auth_required
|
||||
def banaward(comment_id, v):
|
||||
|
||||
if v.banawards != 1 and v.banawards != 2: abort(403)
|
||||
|
||||
comment = g.db.query(Comment).filter_by(id=comment_id).first()
|
||||
if not comment: abort(400)
|
||||
u = comment.author
|
||||
if u.admin_level > 0: abort(403)
|
||||
|
||||
u.ban(admin=v, reason="1 day ban award", days=1)
|
||||
send_notification(1046, u, f"Your Drama account has been suspended for 1 day for the following reason:\n\n> 1 day ban award")
|
||||
|
||||
ma=ModAction(
|
||||
kind="exile_user",
|
||||
user_id=v.id,
|
||||
target_user_id=u.id,
|
||||
board_id=1,
|
||||
note=f'reason: "1 day ban award", duration: 1 day'
|
||||
)
|
||||
g.db.add(ma)
|
||||
|
||||
v.banawards -= 1
|
||||
g.db.add(v)
|
||||
|
||||
comment.banaward = v.username
|
||||
g.db.add(comment)
|
||||
|
||||
return "", 204
|
||||
|
||||
@app.route("/api/v1/post/<pid>/comment/<cid>", methods=["GET"])
|
||||
def comment_cid_api_redirect(cid=None, pid=None):
|
||||
redirect(f'/api/v1/comment/<cid>')
|
||||
|
|
|
@ -31,6 +31,38 @@ BUCKET = "i.ruqqus.ga"
|
|||
with open("snappy.txt", "r") as f:
|
||||
snappyquotes = f.read().split("{[para]}")
|
||||
|
||||
|
||||
@app.route("/banaward/<post_id>", methods=["POST"])
|
||||
@auth_required
|
||||
def banaward(post_id, v):
|
||||
|
||||
if v.banawards != 1 and v.banawards != 2: abort(403)
|
||||
|
||||
post = g.db.query(Submission).filter_by(id=post_id).first()
|
||||
if not post: abort(400)
|
||||
u = post.author
|
||||
if u.admin_level > 0: abort(403)
|
||||
|
||||
u.ban(admin=v, reason="1 day ban award", days=1)
|
||||
send_notification(1046, u, f"Your Drama account has been suspended for 1 day for the following reason:\n\n> 1 day ban award")
|
||||
|
||||
ma=ModAction(
|
||||
kind="exile_user",
|
||||
user_id=v.id,
|
||||
target_user_id=u.id,
|
||||
board_id=1,
|
||||
note=f'reason: "1 day ban award", duration: 1 day'
|
||||
)
|
||||
g.db.add(ma)
|
||||
|
||||
v.banawards -= 1
|
||||
g.db.add(v)
|
||||
|
||||
post.banaward = v.username
|
||||
g.db.add(post)
|
||||
|
||||
return "", 204
|
||||
|
||||
@app.route("/api/publish/<pid>", methods=["POST"])
|
||||
@is_not_banned
|
||||
@validate_formkey
|
||||
|
|
|
@ -17,32 +17,6 @@ beams_client = PushNotifications(
|
|||
secret_key=PUSHER_KEY,
|
||||
)
|
||||
|
||||
@app.route("/banaward/<user_id>", methods=["POST"])
|
||||
@auth_required
|
||||
def banaward(user_id, v):
|
||||
|
||||
if v.banawards != 1 and v.banawards != 2: abort(403)
|
||||
user = g.db.query(User).filter_by(id=user_id).first()
|
||||
if not user: abort(400)
|
||||
if user.admin_level > 0: abort(403)
|
||||
|
||||
user.ban(admin=v, reason="1 day ban award", days=1)
|
||||
|
||||
send_notification(1046, user, f"Your Drama account has been suspended for 1 day for the following reason:\n\n> 1 day ban award")
|
||||
|
||||
ma=ModAction(
|
||||
kind="exile_user",
|
||||
user_id=v.id,
|
||||
target_user_id=user.id,
|
||||
board_id=1,
|
||||
note=f'reason: "1 day ban award", duration: 1 day'
|
||||
)
|
||||
g.db.add(ma)
|
||||
|
||||
user.banawards -= 1
|
||||
g.db.add(user)
|
||||
return "", 204
|
||||
|
||||
@app.route("/api/v1/user/<username>", methods=["GET"])
|
||||
@auth_desired
|
||||
@api("read")
|
||||
|
|
|
@ -113,6 +113,7 @@
|
|||
|
||||
<div class="user-info">
|
||||
<span class="comment-collapse d-md-none" onclick="collapse_comment('{{c.base36id}}')"></span>
|
||||
{% if c.banaward %}<span class="badge badge-danger text-small-extra mr-1" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="Given the 1-day ban award by @{{c.banaward}}">1</span> {% endif %}
|
||||
{% if c.active_flags %} <a class="btn btn-primary" style="padding:1px 5px; font-size:10px;" href="javascript:void(0)" onclick="document.getElementById('flaggers-{{c.id}}').classList.toggle('d-none')">{{c.active_flags}} Flags</a> {% endif %}
|
||||
{% if c.over_18 %}<span class="badge badge-danger text-small-extra mr-1">+18</span> {% endif %}
|
||||
{% if c.is_nsfl %}<span class="badge text-black border-danger border-1 text-small-extra">nsfl</span> {% endif %}
|
||||
|
|
|
@ -216,6 +216,7 @@
|
|||
<div class="{% if p.is_deleted %}deleted {% endif %}card-block w-100 my-md-auto">
|
||||
|
||||
<div class="post-meta text-left mb-2">
|
||||
{% if p.banaward %}<span class="badge badge-danger text-small-extra mr-1" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="Given the 1-day ban award by @{{p.banaward}}">1</span> {% endif %}
|
||||
{% if v and v.admin_level==6 and p.author.shadowbanned %}<i class="fas fa-user-times text-admin" data-toggle="tooltip" data-placement="bottom" title="Shadowbanned user"></i> {% endif %}
|
||||
{% if p.stickied %}<i class="fas fa-thumbtack fa-fw text-admin fa-rotate--45" data-toggle="tooltip" data-placement="bottom" title="Pinned post"></i> {% endif %}
|
||||
{% if p.is_pinned %}<i class="fas fa-thumbtack fa-fw text-admin fa-rotate--45" data-toggle="tooltip" data-placement="bottom" title="Pinned to profile"></i> {% endif %}
|
||||
|
|
|
@ -124,32 +124,8 @@
|
|||
|
||||
</div>
|
||||
|
||||
<div class="card-block text-left x-scroll-parent my-md-auto w-100">
|
||||
|
||||
<div style="height: 21px" class="d-block d-md-none mb-1">
|
||||
|
||||
<div class="post-meta text-left x-scroll" style="overflow-x: scroll;">
|
||||
{% if v and v.admin_level==6 and p.author.shadowbanned %}<i class="fas fa-user-times text-admin" data-toggle="tooltip" data-placement="bottom" title="Shadowbanned user"></i> {% endif %}
|
||||
{% if p.stickied %}<i class="fas fa-thumbtack text-admin fa-rotate--45" data-toggle="tooltip" data-placement="bottom" title="Pinned post"></i> {% endif %}
|
||||
{% if p.is_pinned and request.path.startswith('/@') %}<i class="fas fa-thumbtack text-admin fa-rotate--45" data-toggle="tooltip" data-placement="bottom" title="Pinned to profile"></i> {% endif %}
|
||||
{% if p.distinguish_level %} <i class="fas fa-broom text-admin" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="Drama Badmin, speaking officially"></i> {% endif %}
|
||||
{% if p.over_18 %}<span class="badge badge-danger text-small-extra mr-1">+18</span>{% endif %}
|
||||
{% if p.is_bot %} <i class="fad fa-robot text-info" data-toggle="tooltip" data-placement="bottom" data-original-title="Bot"></i>{% endif %}
|
||||
{% if p.is_blocking %}<i class="fas fa-user-minus text-warning" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="You're blocking this user, but you can see this post because {{'it\'s an admin post' if p.distinguish_level else 'you\'re an admin'}}."></i>{% endif %}
|
||||
{% if p.is_blocked %}<i class="fas fa-user-minus text-danger" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="This user is blocking you."></i>{% endif %}
|
||||
{% if p.private %}<span class="text-warning"><i class="far fa-eye-slash text-small mr-1"></i>unlisted</span> {% endif %}
|
||||
{% if p.is_repost %}<span class="text-warning"><i class="far fa-sync text-small mr-1"></i><a class="text-warning" href="{{p.reposts.permalink}}">repost</a></span> {% endif %}
|
||||
{% if p.active_flags %} <a class="btn btn-primary" style="padding:1px 5px;" href="javascript:void(0)" onclick="document.getElementById('flaggers-{{p.id}}').classList.toggle('d-none')">{{p.active_flags}} Flags</a>{% endif %}
|
||||
{% if p.author.is_deleted %}[deleted account]{% else %} <a {% if p.author.patron %}class="patron"{% endif %} href="{{p.author.permalink}}" style="color: #{{p.author.namecolor}}; font-weight: bold;; font-weight: bold;" class="user-name">{{p.author.username}}</a>{% if p.author.customtitle %}<bdi style="color: #{{p.author.titlecolor}}"> {{p.author.customtitle | safe}}</bdi>{% endif %}
|
||||
<span data-toggle="tooltip" data-placement="bottom" id="timestamp-{{p.id}}" title=""> {{p.age_string}}</span>
|
||||
{% endif %} ({{p.domain}})
|
||||
|
||||
{% if p.edited_utc %} Edited <span data-toggle="tooltip" data-placement="bottom" id="edited_timestamp-{{p.id}}" title="">{{p.edited_string}}</span>{% endif %}
|
||||
{{p.views}} views
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="post-meta text-left d-none d-md-block mb-md-2">
|
||||
{% if p.banaward %}<span class="badge badge-danger text-small-extra mr-1" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="Given the 1-day ban award by @{{p.banaward}}">1</span> {% endif %}
|
||||
{% if v and v.admin_level==6 and p.author.shadowbanned %}<i class="fas fa-user-times text-admin" data-toggle="tooltip" data-placement="bottom" title="Shadowbanned user"></i> {% endif %}
|
||||
{% if p.stickied %}<i class="fas fa-thumbtack text-admin fa-rotate--45" data-toggle="tooltip" data-placement="bottom" title="Pinned post"></i> {% endif %}
|
||||
{% if p.distinguish_level %}<i class="fas fa-broom text-admin" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="Drama Badmin, speaking officially"></i> {% endif %}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue