Also allow admins to delete other users' media.
This commit is contained in:
parent
2886b340d3
commit
53c5e0b028
@ -51,25 +51,16 @@ def require_active_login(controller):
|
||||
|
||||
return _make_safe(new_controller_func, controller)
|
||||
|
||||
|
||||
def user_may_delete_media(controller):
|
||||
"""
|
||||
Require user ownership of the MediaEntry
|
||||
|
||||
Originally:
|
||||
def may_delete_media(request, media):
|
||||
\"\"\"
|
||||
Check, if the request's user may edit the media details
|
||||
\"\"\"
|
||||
if media['uploader'] == request.user['_id']:
|
||||
return True
|
||||
if request.user['is_admin']:
|
||||
return True
|
||||
return False
|
||||
Require user ownership of the MediaEntry to delete.
|
||||
"""
|
||||
def wrapper(request, *args, **kwargs):
|
||||
if not request.user['_id'] == request.db.MediaEntry.find_one(
|
||||
{'_id': ObjectId(
|
||||
request.matchdict['media'])}).uploader()['_id']:
|
||||
uploader = request.db.MediaEntry.find_one(
|
||||
{'_id': ObjectId(request.matchdict['media'])}).uploader()
|
||||
if not (request.user['is_admin'] or
|
||||
request.user['_id'] == uploader['_id']):
|
||||
return exc.HTTPForbidden()
|
||||
|
||||
return controller(request, *args, **kwargs)
|
||||
|
Loading…
x
Reference in New Issue
Block a user