Add report edit form

This commit is contained in:
rubenwardy
2025-08-27 16:34:11 +01:00
parent 6bf94e558a
commit 0a52e26cd0
4 changed files with 49 additions and 1 deletions

View File

@@ -150,3 +150,22 @@ def view(rid: str):
db.session.commit()
return render_template("report/view.html", report=report)
@bp.route("/admin/reports/<rid>/edit/", methods=["GET", "POST"])
def edit(rid: str):
report = Report.query.get_or_404(rid)
if not report.check_perm(current_user, Permission.SEE_REPORT):
abort(404)
form = ReportForm(request.form, obj=report)
form.submit.label.text = lazy_gettext("Save")
if form.validate_on_submit():
form.populate_obj(report)
url = url_for("report.view", rid=report.id)
add_audit_log(AuditSeverity.MODERATION, current_user, f"Edited report \"{report.title}\"", url)
db.session.commit()
return redirect(url_for("report.view", rid=report.id))
return render_template("report/edit.html", report=report, form=form)

View File

@@ -0,0 +1,25 @@
{% extends "base.html" %}
{% block title -%}
Edit report
{%- endblock %}
{% from "macros/forms.html" import render_field, render_submit_field, render_checkbox_field, easymde_scripts %}
{% block scriptextra %}
{{ easymde_scripts() }}
{% endblock %}
{% block content %}
<h1>{{ self.title() }}</h1>
<form method="POST" action="" enctype="multipart/form-data">
{{ form.hidden_tag() }}
{{ render_field(form.category) }}
{{ render_field(form.url) }}
{{ render_field(form.title) }}
{{ render_field(form.message, class_="m-0", fieldclass="form-control markdown", data_enter_submit="1") }}
{{ render_submit_field(form.submit) }}
</form>
{% endblock %}

View File

@@ -11,7 +11,7 @@
{% block content %}
<h1>{{ _("Report") }}</h1>
<h1>{{ self.title() }}</h1>
{% if not form %}

View File

@@ -11,6 +11,10 @@
{% block content %}
<p class="float-end">
<a class="btn bg-secondary" href="{{ url_for('report.edit', rid=report.id) }}">{{ _("Edit") }}</a>
</p>
<p>
<a class="btn bg-secondary" href="{{ url_for('report.list_all') }}">Back to reports</a>
</p>