mirror of
https://github.com/minetest/contentdb.git
synced 2024-12-22 22:12:24 +01:00
Use relative URLs in report, to ensure correct links
This commit is contained in:
parent
e0421c1e57
commit
a32b63f932
@ -26,13 +26,12 @@ from wtforms.validators import InputRequired, Optional, Length
|
|||||||
from app.models import User, UserRank
|
from app.models import User, UserRank
|
||||||
from app.tasks.emails import send_user_email
|
from app.tasks.emails import send_user_email
|
||||||
from app.tasks.webhooktasks import post_discord_webhook
|
from app.tasks.webhooktasks import post_discord_webhook
|
||||||
from app.utils import isYes, isNo
|
from app.utils import isYes, isNo, abs_url
|
||||||
|
|
||||||
bp = Blueprint("report", __name__)
|
bp = Blueprint("report", __name__)
|
||||||
|
|
||||||
|
|
||||||
class ReportForm(FlaskForm):
|
class ReportForm(FlaskForm):
|
||||||
url = URLField(lazy_gettext("URL"), [Optional()])
|
|
||||||
message = TextAreaField(lazy_gettext("Message"), [InputRequired(), Length(10, 10000)])
|
message = TextAreaField(lazy_gettext("Message"), [InputRequired(), Length(10, 10000)])
|
||||||
submit = SubmitField(lazy_gettext("Report"))
|
submit = SubmitField(lazy_gettext("Report"))
|
||||||
|
|
||||||
@ -41,26 +40,25 @@ class ReportForm(FlaskForm):
|
|||||||
def report():
|
def report():
|
||||||
is_anon = not current_user.is_authenticated or not isNo(request.args.get("anon"))
|
is_anon = not current_user.is_authenticated or not isNo(request.args.get("anon"))
|
||||||
|
|
||||||
form = ReportForm(formdata=request.form)
|
url = request.args.get("url")
|
||||||
if request.method == "GET":
|
if url:
|
||||||
if "url" in request.args:
|
url = abs_url(url)
|
||||||
form.url.data = request.args["url"]
|
|
||||||
|
|
||||||
|
form = ReportForm(formdata=request.form)
|
||||||
if form.validate_on_submit():
|
if form.validate_on_submit():
|
||||||
if current_user.is_authenticated:
|
if current_user.is_authenticated:
|
||||||
user_info = f"{current_user.username}"
|
user_info = f"{current_user.username}"
|
||||||
else:
|
else:
|
||||||
user_info = request.headers.get("X-Forwarded-For") or request.remote_addr
|
user_info = request.headers.get("X-Forwarded-For") or request.remote_addr
|
||||||
|
|
||||||
url = request.args.get("url") or form.url.data or "?"
|
|
||||||
text = f"{url}\n\n{form.message.data}"
|
text = f"{url}\n\n{form.message.data}"
|
||||||
|
|
||||||
task = None
|
task = None
|
||||||
for admin in User.query.filter_by(rank=UserRank.ADMIN).all():
|
for admin in User.query.filter_by(rank=UserRank.ADMIN).all():
|
||||||
task = send_user_email.delay(admin.email, f"User report from {user_info}", text)
|
task = send_user_email.delay(admin.email, f"User report from {user_info}", text)
|
||||||
|
|
||||||
post_discord_webhook.delay(None if is_anon else current_user.username, f"**New Report**\n`{url}`\n\n{form.message.data}", True)
|
post_discord_webhook.delay(None if is_anon else current_user.username, f"**New Report**\n{url}\n\n{form.message.data}", True)
|
||||||
|
|
||||||
return redirect(url_for("tasks.check", id=task.id, r=url_for("homepage.home")))
|
return redirect(url_for("tasks.check", id=task.id, r=url_for("homepage.home")))
|
||||||
|
|
||||||
return render_template("report/index.html", form=form, url=request.args.get("url"), is_anon=is_anon)
|
return render_template("report/index.html", form=form, url=url, is_anon=is_anon)
|
||||||
|
@ -235,7 +235,7 @@
|
|||||||
<li class="list-inline-item"><a href="{{ url_for('flatpage', path='help/api') }}">{{ _("API") }}</a></li>
|
<li class="list-inline-item"><a href="{{ url_for('flatpage', path='help/api') }}">{{ _("API") }}</a></li>
|
||||||
<li class="list-inline-item"><a href="{{ url_for('flatpage', path='privacy_policy') }}">{{ _("Privacy Policy") }}</a></li>
|
<li class="list-inline-item"><a href="{{ url_for('flatpage', path='privacy_policy') }}">{{ _("Privacy Policy") }}</a></li>
|
||||||
{% if request.endpoint != "flatpage" %}
|
{% if request.endpoint != "flatpage" %}
|
||||||
<li class="list-inline-item"><a href="{{ url_for('report.report', url=url_current(True)) }}">{{ _("Report") }}</a></li>
|
<li class="list-inline-item"><a href="{{ url_for('report.report', url=url_current()) }}">{{ _("Report") }}</a></li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<li class="list-inline-item"><a href="https://monitor.rubenwardy.com/d/3ELzFy3Wz/contentdb">{{ _("Stats / Monitoring") }}</a></li>
|
<li class="list-inline-item"><a href="https://monitor.rubenwardy.com/d/3ELzFy3Wz/contentdb">{{ _("Stats / Monitoring") }}</a></li>
|
||||||
<li class="list-inline-item"><a href="{{ url_for('users.list_all') }}">{{ _("User List") }}</a></li>
|
<li class="list-inline-item"><a href="{{ url_for('users.list_all') }}">{{ _("User List") }}</a></li>
|
||||||
|
@ -473,7 +473,7 @@
|
|||||||
|
|
||||||
<p class="mt-3">
|
<p class="mt-3">
|
||||||
{% if package.approved and current_user != package.author %}
|
{% if package.approved and current_user != package.author %}
|
||||||
<a href="{{ url_for('report.report', url=url_current(True)) }}">
|
<a href="{{ url_for('report.report', url=url_current()) }}">
|
||||||
<i class="fas fa-flag mr-1"></i>
|
<i class="fas fa-flag mr-1"></i>
|
||||||
{{ _("Report") }}
|
{{ _("Report") }}
|
||||||
</a>
|
</a>
|
||||||
|
@ -15,8 +15,6 @@
|
|||||||
<p>
|
<p>
|
||||||
URL: <code>{{ url }}</code>
|
URL: <code>{{ url }}</code>
|
||||||
</p>
|
</p>
|
||||||
{% else %}
|
|
||||||
{{ render_field(form.url, hint=_("URL to the thing you're reporting")) }}
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{{ render_field(form.message, hint=_("What are you reporting? Why are you reporting it?")) }}
|
{{ render_field(form.message, hint=_("What are you reporting? Why are you reporting it?")) }}
|
||||||
{{ render_submit_field(form.submit) }}
|
{{ render_submit_field(form.submit) }}
|
||||||
|
@ -23,7 +23,7 @@
|
|||||||
</a>
|
</a>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<a class="btn btn-secondary float-right mr-3" href="{{ url_for('report.report', url=url_current(True)) }}">
|
<a class="btn btn-secondary float-right mr-3" href="{{ url_for('report.report', url=url_current()) }}">
|
||||||
<i class="fas fa-flag mr-1"></i>
|
<i class="fas fa-flag mr-1"></i>
|
||||||
{{ _("Report") }}
|
{{ _("Report") }}
|
||||||
</a>
|
</a>
|
||||||
|
Loading…
Reference in New Issue
Block a user