let's to allow_post and allow_delete differently

This commit is contained in:
Laura Klünder 2018-11-21 22:44:31 +01:00
parent 2113487c51
commit 0b6321c7e0
3 changed files with 10 additions and 10 deletions

View file

@ -269,10 +269,13 @@ class EditorViewSet(ViewSet):
def __getattr__(self, name):
# allow POST and DELETE methods for the editor API
if name in ('post', 'delete'):
if getattr(self.resolved.func, 'allow_'+name, False):
if getattr(self, 'get', None).__name__ in ('list', 'retrieve'):
return self.retrieve
if getattr(self, 'get', None).__name__ in ('list', 'retrieve'):
if name == 'post' and (self.resolved.url_name.endswith('.create') or
self.resolved.url_name.endswith('.edit')):
return self.retrieve
if name == 'delete' and self.resolved.url_name.endswith('.edit'):
return self.retrieve
raise AttributeError
def list(self, request, *args, **kwargs):