aboutsummaryrefslogtreecommitdiffstats
path: root/mediagoblin/moderation
diff options
context:
space:
mode:
Diffstat (limited to 'mediagoblin/moderation')
-rw-r--r--mediagoblin/moderation/tools.py31
-rw-r--r--mediagoblin/moderation/views.py10
2 files changed, 12 insertions, 29 deletions
diff --git a/mediagoblin/moderation/tools.py b/mediagoblin/moderation/tools.py
index 2d680c15..3ba79b38 100644
--- a/mediagoblin/moderation/tools.py
+++ b/mediagoblin/moderation/tools.py
@@ -15,7 +15,7 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
from mediagoblin import mg_globals
-from mediagoblin.db.models import User, Privilege, ArchivedReport, UserBan
+from mediagoblin.db.models import User, Privilege, UserBan
from mediagoblin.db.base import Session
from mediagoblin.tools.mail import send_email
from mediagoblin.tools.response import redirect
@@ -68,15 +68,6 @@ def take_punitive_actions(request, form, report, user):
u"<br>%s sent a warning email to the offender." % (
request.user.username)
- archive = ArchivedReport(
- reporter_id=report.reporter_id,
- report_content=report.report_content,
- reported_user_id=report.reported_user_id,
- created=report.created,
- resolved=datetime.now(),
- resolver_id=request.user.id
- )
-
if u'delete' in form.action_to_resolve.data and \
report.is_comment_report():
deleted_comment = report.comment
@@ -91,20 +82,12 @@ def take_punitive_actions(request, form, report, user):
form.resolution_content.data += \
u"<br>%s deleted the media entry." % (
request.user.username)
-
- # If the moderator didn't delete the content we then attach the
- # content to the archived report. We also have to actively delete the
- # old report, since it won't be deleted by cascading.
- elif report.is_comment_report():
- archive.comment_id = report.comment_id
- Session.delete(report)
- elif report.is_media_entry_report():
- archive.media_entry_id = report.media_entry.id
- Session.delete(report)
-
-
- archive.result=form.resolution_content.data
- Session.add(archive)
+ report.archive(
+ resolver_id=request.user.id,
+ resolved=datetime.now(),
+ result=form.resolution_content.data)
+
+ Session.add(report)
Session.commit()
if message_body:
send_email(
diff --git a/mediagoblin/moderation/views.py b/mediagoblin/moderation/views.py
index 6a23ddd6..45edff1d 100644
--- a/mediagoblin/moderation/views.py
+++ b/mediagoblin/moderation/views.py
@@ -18,7 +18,7 @@ from werkzeug.exceptions import Forbidden
from mediagoblin.db.models import (MediaEntry, User, MediaComment, \
CommentReport, ReportBase, Privilege, \
- UserBan, ArchivedReport)
+ UserBan)
from mediagoblin.decorators import (require_admin_or_moderator_login, \
active_user_from_url, user_has_privilege)
from mediagoblin.tools.response import render_to_response, redirect
@@ -72,9 +72,9 @@ def moderation_users_detail(request):
'''
user = User.query.filter_by(username=request.matchdict['user']).first()
active_reports = user.reports_filed_on.filter(
- ReportBase.discriminator!='archived_report').limit(5)
+ ReportBase.resolved==None).limit(5)
closed_reports = user.reports_filed_on.filter(
- ReportBase.discriminator=='archived_report').all()
+ ReportBase.resolved!=None).all()
privileges = Privilege.query
user_banned = UserBan.query.get(user.id)
ban_form = moderation_forms.BanForm()
@@ -108,10 +108,10 @@ def moderation_reports_panel(request):
for key,val in filters.viewitems()]
all_active = ReportBase.query.filter(
- ReportBase.discriminator!="archived_report").filter(
+ ReportBase.resolved==None).filter(
*filters)
all_closed = ReportBase.query.filter(
- ReportBase.discriminator=="archived_report").filter(
+ ReportBase.resolved!=None).filter(
*filters)
# report_list and closed_report_list are the two lists of up to 10