diff --git a/drama/classes/domains.py b/drama/classes/domains.py index c10265c38..80f3e6217 100644 --- a/drama/classes/domains.py +++ b/drama/classes/domains.py @@ -1,34 +1,21 @@ from sqlalchemy import * from drama.__main__ import Base -reasons = { - 1: "URL shorteners are not allowed.", - 3: "Piracy is not allowed.", - 4: "Sites hosting digitally malicious content are not allowed.", - 5: "Spam", - 6: "Doxxing is not allowed.", - 7: "Sexualizing minors is strictly prohibited." -} - - class BannedDomain(Base): __tablename__ = "banneddomains" id = Column(Integer, primary_key=True) domain = Column(String) - reason = Column(Integer, default=0) - - @property - def reason_text(self): return reasons.get(self.reason) + reason = Column(String) class BadLink(Base): __tablename__ = "badlinks" id = Column(Integer, primary_key=True) - reason = Column(Integer) link = Column(String(512)) + reason = Column(String) autoban = Column(Boolean, default=False) - @property - def reason_text(self): return reasons.get(self.reason) \ No newline at end of file +ALTER TABLE banneddomains ALTER COLUMN TYPE text; +ALTER TABLE badlinks ALTER COLUMN TYPE text; \ No newline at end of file diff --git a/drama/routes/admin.py b/drama/routes/admin.py index a7bdae0a5..d3c667400 100644 --- a/drama/routes/admin.py +++ b/drama/routes/admin.py @@ -947,34 +947,26 @@ def admin_dump_cache(v): @admin_level_required(4) def admin_banned_domains(v): - domains = g.db.query(BannedDomain).all() - - return render_template( - "admin/banned_domains.html", - v=v, - domains=domains, - reasons=REASONS - ) - + banned_domains = g.db.query(BannedDomain).all() + return render_template("admin/banned_domains.html", v=v, banned_domains=banned_domains) @app.post("/admin/ban_domain") @admin_level_required(4) @validate_formkey def admin_ban_domain(v): - domain=request.form.get("domain",'').strip() + domain=request.form.get("domain").strip() if not domain: abort(400) - reason=int(request.form.get("reason",0)) + reason=request.form.get("reason").strip() if not reason: abort(400) - d_query=domain.replace("_","\_") - d=g.db.query(BannedDomain).filter_by(domain=d_query).first() - if d: d.reason=reason - else: d=BannedDomain(domain=domain, reason=reason) + domain = g.db.query(BannedDomain).filter_by(domain=domain.replace("_","\_")).first() + if domain: domain.reason=reason + else: domain=BannedDomain(domain=domain, reason=reason) - g.db.add(d) - return redirect(d.permalink) + g.db.add(domain) + return redirect("/admin/banned_domains/") @app.post("/admin/nuke_user") diff --git a/drama/templates/admin/banned_domains.html b/drama/templates/admin/banned_domains.html index e26dd177d..5d5683a95 100644 --- a/drama/templates/admin/banned_domains.html +++ b/drama/templates/admin/banned_domains.html @@ -18,26 +18,19 @@ - {% for domain in domains %} + {% for domain in banned_domains %} {{domain}} {{domain.reason_text}} {% endfor %} - +
- - - - + +