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
This commit is contained in:
@@ -299,7 +299,7 @@ def media_confirm_delete(request, media):
|
||||
_("The media was not deleted because you didn't check that you were sure."))
|
||||
return redirect_obj(request, media)
|
||||
|
||||
if ((request.user.is_admin and
|
||||
if ((request.user.has_privilege(u'admin') and
|
||||
request.user.id != media.uploader)):
|
||||
messages.add_message(
|
||||
request, messages.WARNING,
|
||||
@@ -385,7 +385,7 @@ def collection_item_confirm_remove(request, collection_item):
|
||||
|
||||
return redirect_obj(request, collection)
|
||||
|
||||
if ((request.user.is_admin and
|
||||
if ((request.user.has_privilege(u'admin') and
|
||||
request.user.id != collection_item.in_collection.creator)):
|
||||
messages.add_message(
|
||||
request, messages.WARNING,
|
||||
@@ -433,7 +433,7 @@ def collection_confirm_delete(request, collection):
|
||||
|
||||
return redirect_obj(request, collection)
|
||||
|
||||
if ((request.user.is_admin and
|
||||
if ((request.user.has_privilege(u'admin') and
|
||||
request.user.id != collection.creator)):
|
||||
messages.add_message(
|
||||
request, messages.WARNING,
|
||||
@@ -594,7 +594,7 @@ def processing_panel(request):
|
||||
#
|
||||
# Make sure we have permission to access this user's panel. Only
|
||||
# admins and this user herself should be able to do so.
|
||||
if not (user.id == request.user.id or request.user.is_admin):
|
||||
if not (user.id == request.user.id or request.user.has_privilege(u'admin')):
|
||||
# No? Simply redirect to this user's homepage.
|
||||
return redirect(
|
||||
request, 'mediagoblin.user_pages.user_home',
|
||||
|
||||
Reference in New Issue
Block a user