aboutsummaryrefslogtreecommitdiffstats
path: root/mediagoblin/tools/response.py
diff options
context:
space:
mode:
authortilly-Q <nattilypigeonfowl@gmail.com>2013-07-27 16:44:40 -0400
committertilly-Q <nattilypigeonfowl@gmail.com>2013-07-27 16:44:40 -0400
commit3aa3871b909500ae9198d63814dd79fd28921f93 (patch)
tree02fbde1fcc3c395f19dbb6e5004c6866ee28fb12 /mediagoblin/tools/response.py
parent6bba33d7e6fbb0cedc39f9a11f816fe5bd372ae7 (diff)
downloadmediagoblin-3aa3871b909500ae9198d63814dd79fd28921f93.tar.lz
mediagoblin-3aa3871b909500ae9198d63814dd79fd28921f93.tar.xz
mediagoblin-3aa3871b909500ae9198d63814dd79fd28921f93.zip
This commit had some important milestones in it. The major update is that now I
have mostly completed the moderator punishment and resolution of reports. Along with this, I have also added one last table to the database: one that holds ar- -chived (or resolved) reports. This is some of the primary functionality of my whole update, so this is a big step! The other changes I made this update are primarily organizational. I refactored some of my code into functions and I cl- eaned up many of my templates. --\ mediagoblin/db/models.py --| Created the new ArchivedReport table --| Removed columns from BaseReport table that are only necessary for Archived | reports --\ mediagoblin/db/migrations.py --| Created the new ArchivedReport table --| Removed columns from BaseReport table that are only necessary for Archived | reports --\ mediagoblin/db/util.py --| Created the user_privileges_to_dictionary function. This is useful for | accessing a user's permissions from within a template. --\ mediagoblin/moderation/forms.py --| Expanded the disciplinary actions a moderator can take --| Allowed the moderator to choose more than one disciplinary action at a time | (It's now managed with a list of checkboxes rather than radio buttons) ----| Pulled a MultiCheckBox class from a wtforms tutorial --| Added various other form inputs for details of the moderator's disciplinary | actions --| Tried to ensure that every string is unicode and translated --\ mediagoblin/moderation/tools.py --| Created this file for holding useful moderation tools --| Moved the penalizing code from views to the function take_punitive_actions --| Added many more types of punitive actions --| Added the archiving of old reports --\ mediagoblin/moderation/views.py --| Used the privileges_to_dictionary function for the Users Detail view to | allow for different actions available to a moderator and an admin. --| Added in functionality for ArchivedReports to the reports_detail and | reports_panel views --| Moved the punishments of repots_detail to tools.py (as mentioned above) --\ mediagoblin/static/css/base.css --| Added new styling for the User Detail page --\ mediagoblin/static/images/icon_clipboard_alert.png --| Added this image to represent unresolved reports --\ mediagoblin/templates/mediagoblin/moderation/report.html --| Added 'Return to Reports Panel' button --| Fixed the spacing to be less that 80 columns wide --| Added in display for Archived Reports --\ mediagoblin/templates/mediagoblin/moderation/reports_panel.html --| Changed the placement and columns of the tables --| Fixed the spacing to be less that 80 columns wide --| Added in display for Archived Reports --\ mediagoblin/templates/mediagoblin/moderation/user.html --| Fixed the spacing to be less that 80 columns wide --| Took away the moderator's ability to add and remove privileges at will. | Only the admin has this power now. --\ mediagoblin/templates/mediagoblin/moderation/users_panel.html --| Fixed the spacing to be less that 80 columns wide --\ mediagoblin/tools/response.py --| Added in code to remove a UserBan from a User if that user logs in after | the expiration date
Diffstat (limited to 'mediagoblin/tools/response.py')
-rw-r--r--mediagoblin/tools/response.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/mediagoblin/tools/response.py b/mediagoblin/tools/response.py
index ecea307e..85558300 100644
--- a/mediagoblin/tools/response.py
+++ b/mediagoblin/tools/response.py
@@ -19,7 +19,8 @@ from werkzeug.wrappers import Response as wz_Response
from mediagoblin.tools.template import render_template
from mediagoblin.tools.translate import (lazy_pass_to_ugettext as _,
pass_to_ugettext)
-from mediagoblin.db.models import UserBan
+from mediagoblin.db.models import UserBan, User
+from datetime import datetime
class Response(wz_Response):
"""Set default response mimetype to HTML, otherwise we get text/plain"""
@@ -68,6 +69,10 @@ def render_user_banned(request):
and the reason why they have been banned"
"""
user_ban = UserBan.query.get(request.user.id)
+ if datetime.now()>user_ban.expiration_date:
+ user_ban.delete()
+ redirect(request,
+ 'mediagoblin.index')
return render_to_response(request,
'mediagoblin/banned.html',
{'reason':user_ban.reason,