remotes/1693045480750635534/spooky-22
Aevann1 2021-07-22 20:39:41 +02:00
parent 7262f83c9e
commit ef9d5a150c
8 changed files with 68 additions and 51 deletions

View File

@ -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)

View File

@ -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)

View File

@ -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>')

View File

@ -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

View File

@ -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")

View File

@ -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>&nbsp;{% endif %}
{% if c.active_flags %}&nbsp;<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>&nbsp;{% endif %}
{% if c.over_18 %}<span class="badge badge-danger text-small-extra mr-1">+18</span>&nbsp;{% endif %}
{% if c.is_nsfl %}<span class="badge text-black border-danger border-1 text-small-extra">nsfl</span>&nbsp;{% endif %}

View File

@ -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>&nbsp;{% 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>&nbsp;{% 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>&nbsp;{% 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>&nbsp;{% endif %}

View File

@ -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>&nbsp;{% endif %}
{% if p.stickied %}<i class="fas fa-thumbtack text-admin fa-rotate--45" data-toggle="tooltip" data-placement="bottom" title="Pinned post"></i>&nbsp;{% 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>&nbsp;{% 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>&nbsp;{% 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>&nbsp;{% 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>&nbsp;{% endif %}
{% if p.active_flags %}&nbsp;<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 %}&nbsp;<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}}">&nbsp;&nbsp;{{p.author.customtitle | safe}}</bdi>{% endif %}
<span data-toggle="tooltip" data-placement="bottom" id="timestamp-{{p.id}}" title="">&nbsp;{{p.age_string}}</span>
{% endif %}&nbsp;({{p.domain}})
{% if p.edited_utc %}&nbsp;&nbsp;Edited <span data-toggle="tooltip" data-placement="bottom" id="edited_timestamp-{{p.id}}" title="">{{p.edited_string}}</span>{% endif %}
&nbsp;&nbsp;{{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>&nbsp;{% 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>&nbsp;{% endif %}
{% if p.stickied %}<i class="fas fa-thumbtack text-admin fa-rotate--45" data-toggle="tooltip" data-placement="bottom" title="Pinned post"></i>&nbsp;{% 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>&nbsp;{% endif %}