def report(id): review = Review.query.get_or_404(str(id)) if review.is_hidden and not current_user.is_admin(): raise NotFound(gettext("Review has been hidden.")) if review.user == current_user: flash.error(gettext("You cannot report your own review.")) return redirect(url_for('.entity', id=id)) if current_user.is_blocked: flash.error( gettext("You are not allowed to report this review because " "your account has been blocked by a moderator.")) return redirect(url_for('.entity', id=id)) last_revision_id = review.last_revision.id report = db_spam_report.get(current_user.id, last_revision_id) if report: flash.error(gettext("You have already reported this review.")) return redirect(url_for('.entity', id=id)) form = ReviewReportForm() if form.validate_on_submit(): db_spam_report.create(last_revision_id, current_user.id, form.reason.data) flash.success(gettext("Review has been reported.")) return redirect(url_for('.entity', id=id)) return render_template('review/report.html', review=review, form=form)
def archive(user_id, revision_id): report = db_spam_report.get(user_id, revision_id) if not report: raise NotFound("Can't find the specified report.") db_spam_report.archive(user_id, revision_id) flash(gettext("Report has been archived."), 'success') return redirect(url_for('.index'))
def test_get(self): report = db_spam_report.get(self.user1.id, self.revision_id) report["user_id"] = str(report["user_id"]) self.assertDictEqual(report, { "user_id": self.user1.id, "revision_id": self.revision_id, "reported_at": self.report_time, "reason": "To test is this report", "is_archived": False, })
def test_archive(self): db_spam_report.archive(self.user1.id, self.revision_id) report = db_spam_report.get(self.user1.id, self.revision_id) self.assertEqual(report['is_archived'], True)