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)
|
return _make_safe(new_controller_func, controller)
|
||||||
|
|
||||||
|
|
||||||
def user_may_delete_media(controller):
|
def user_may_delete_media(controller):
|
||||||
"""
|
"""
|
||||||
Require user ownership of the MediaEntry
|
Require user ownership of the MediaEntry to delete.
|
||||||
|
|
||||||
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
|
|
||||||
"""
|
"""
|
||||||
def wrapper(request, *args, **kwargs):
|
def wrapper(request, *args, **kwargs):
|
||||||
if not request.user['_id'] == request.db.MediaEntry.find_one(
|
uploader = request.db.MediaEntry.find_one(
|
||||||
{'_id': ObjectId(
|
{'_id': ObjectId(request.matchdict['media'])}).uploader()
|
||||||
request.matchdict['media'])}).uploader()['_id']:
|
if not (request.user['is_admin'] or
|
||||||
|
request.user['_id'] == uploader['_id']):
|
||||||
return exc.HTTPForbidden()
|
return exc.HTTPForbidden()
|
||||||
|
|
||||||
return controller(request, *args, **kwargs)
|
return controller(request, *args, **kwargs)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user