diff --git a/app/forms.py b/app/forms.py index 6bf3474..f07296f 100644 --- a/app/forms.py +++ b/app/forms.py @@ -74,8 +74,8 @@ class UpdateUserForm(FlaskForm): ], validators=[DataRequired()]) status = SelectField('状态', choices=[ - ('active', '激活 (Active)'), - ('disabled', '禁用 (Disabled)') + ('active', '正常'), + ('disabled', '已禁用') ], validators=[DataRequired()]) submit = SubmitField('更新') diff --git a/app/routes.py b/app/routes.py index 81d0b5b..5fa24db 100644 --- a/app/routes.py +++ b/app/routes.py @@ -113,10 +113,15 @@ def report_list(): return render_template('admin/report_list.html', reports=reports_pagination) @main.route('/report/', methods=['GET', 'POST']) @login_required -@permission_required('admin', 'trust_user') def report_detail(report_id): """举报详情""" report = Report.query.get_or_404(report_id) + + # 权限检查:管理员、信任用户、或举报提交者本人可以查看 + if current_user.role not in ['admin', 'trust_user'] and report.reporter_id != current_user.id: + flash('您无权查看此举报。', 'warning') + return redirect(url_for('main.index')) + if current_user.role == 'trust_user' and report.status != 'pending': flash('您无权查看已处理的举报。', 'warning') return redirect(url_for('main.report_list')) diff --git a/app/templates/admin/report_detail.html b/app/templates/admin/report_detail.html index 7f1eef4..cf4b8f9 100644 --- a/app/templates/admin/report_detail.html +++ b/app/templates/admin/report_detail.html @@ -34,33 +34,37 @@ - {% if current_user.role == 'admin' %} + {% if current_user.role in ['admin', 'trust_user'] %}
-
管理员操作
+
{% if current_user.role == 'admin' %}管理员操作{% else %}信任用户操作{% endif %}
- {% if report.status == 'pending' or report.status == 'in_review' %} -
- - - -
-
- - - -
- {% elif report.status == 'approved' %} - + {% if current_user.role == 'admin' %} + {% if report.status == 'pending' or report.status == 'in_review' %} +
+ + + +
+
+ + + +
+ {% elif report.status == 'approved' %} + + {% else %} +

该举报已处理完毕,无更多操作。

+ {% endif %} {% else %} -

该举报已处理完毕,无更多操作。

+

您可以在下方添加审核建议。

{% endif %}
{% endif %} - {% if related_reports %} + {% if current_user.role in ['admin'] and related_reports %}
相关举报 (同一邮箱)
@@ -79,6 +83,7 @@
+ {% if current_user.role in ['admin', 'trust_user'] %}
审核与讨论
@@ -115,6 +120,7 @@ {% endif %}
+ {% endif %}
diff --git a/app/templates/create_appeal.html b/app/templates/create_appeal.html index e6c74e9..b501dd0 100644 --- a/app/templates/create_appeal.html +++ b/app/templates/create_appeal.html @@ -15,7 +15,7 @@
  • 邮箱: {{ entry.email }}
  • 站点: {{ entry.pt_site }}
  • {% if entry.report %} -
  • 违规原因: {{ entry.report.reason_category }}
  • +
  • 违规原因: {{ entry.report.reason_category | translate_reason }}
  • {% endif %} diff --git a/app/templates/my_reports.html b/app/templates/my_reports.html index 5feb428..fb6828f 100644 --- a/app/templates/my_reports.html +++ b/app/templates/my_reports.html @@ -25,7 +25,7 @@ #{{ report.id }} {{ report.reported_pt_site }} {{ report.reported_email }} - {{ report.reason_category }} + {{ report.reason_category | translate_reason }}