aboutsummaryrefslogtreecommitdiffstats
path: root/mediagoblin/moderation
diff options
context:
space:
mode:
authortilly-Q <nattilypigeonfowl@gmail.com>2013-08-13 18:38:00 -0400
committertilly-Q <nattilypigeonfowl@gmail.com>2013-08-13 18:38:00 -0400
commit8394febbe1408030d1afa8f3961d92341eefa474 (patch)
tree6eab6a2c14a7e44504060539ff7f88b90e6a8114 /mediagoblin/moderation
parent9d6e453f8fd337813c2933835aedff2949193fbe (diff)
downloadmediagoblin-8394febbe1408030d1afa8f3961d92341eefa474.tar.lz
mediagoblin-8394febbe1408030d1afa8f3961d92341eefa474.tar.xz
mediagoblin-8394febbe1408030d1afa8f3961d92341eefa474.zip
This has been an update to clean out the code a little bit. The primary change
I made was I added the method has_privilege (which takes a variable amount of unicode privilege names as an argument) to the User model. This method allowed for much cleaner checks as to whether or not a user has a privilege. Other- wise, I also made it impossible for moderators to punish admins. I created a new url path and three new pages for Users to look at filed reports and the code of conduct for the mg instance. === Made reports on admins not resolvable by moderators: --\ mediagoblin/moderation/views.py --\ mediagoblin/templates/mediagoblin/moderation/report.html === Created new files for the new pages: --\ mediagoblin/meta/__init__.py --\ mediagoblin/meta/routing.py --\ mediagoblin/meta/views.py --\ mediagoblin/templates/mediagoblin/meta/code_of_conduct.html --\ mediagoblin/templates/mediagoblin/meta/reports_details.html --\ mediagoblin/templates/mediagoblin/meta/reports_panel.html --\ mediagoblin/routing.py --\ mediagoblin/static/css/base.css === Replaced vestigial methods of checking a user's privilege with the more ====== effective method has_privilege(u'privilege_name'): --\ mediagoblin/db/models.py --| Added in the has_privilege method to the User class --\ mediagoblin/db/migrations.py --\ mediagoblin/db/models.py --\ mediagoblin/decorators.py --\ mediagoblin/edit/lib.py --\ mediagoblin/edit/views.py --\ mediagoblin/gmg_commands/users.py --\ mediagoblin/moderation/views.py --\ mediagoblin/templates/mediagoblin/base.html --\ mediagoblin/templates/mediagoblin/user_pages/collection.html --\ mediagoblin/templates/mediagoblin/user_pages/media.html --\ mediagoblin/templates/mediagoblin/user_pages/user.html --\ mediagoblin/templates/mediagoblin/utils/collection_gallery.html --\ mediagoblin/user_pages/views.py === Minor UI changes --\ mediagoblin/templates/mediagoblin/moderation/report_panel.html --\ mediagoblin/templates/mediagoblin/moderation/user.html === Other Bugs: --\ mediagoblin/tools/response.py --\ mediagoblin/db/migrations.py
Diffstat (limited to 'mediagoblin/moderation')
-rw-r--r--mediagoblin/moderation/views.py8
1 files changed, 4 insertions, 4 deletions
diff --git a/mediagoblin/moderation/views.py b/mediagoblin/moderation/views.py
index 041cf5b3..d82eca7d 100644
--- a/mediagoblin/moderation/views.py
+++ b/mediagoblin/moderation/views.py
@@ -74,15 +74,12 @@ def moderation_users_detail(request):
ReportBase.discriminator=='archived_report').all()
privileges = Privilege.query
user_banned = UserBan.query.get(user.id)
- user_privileges = user_privileges_to_dictionary(user.id)
- requesting_user_privileges = user_privileges_to_dictionary(request.user.id)
return render_to_response(
request,
'mediagoblin/moderation/user.html',
{'user':user,
'privileges': privileges,
- 'requesting_user_privileges':requesting_user_privileges,
'reports':active_reports,
'user_banned':user_banned})
@@ -121,7 +118,10 @@ def moderation_reports_detail(request):
for s in report.reported_user.all_privileges
]
- if request.method == "POST" and form.validate():
+ if request.method == "POST" and form.validate() and not (
+ not request.user.has_privilege(u'admin') and
+ report.reported_user.has_privilege(u'admin')):
+
user = User.query.get(form.targeted_user.data)
return take_punitive_actions(request, form, report, user)