X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=planetstack%2Fapigen%2Fapi.template.py;h=e3f1b64cb4902a26ecccd4e4d0ac58ada91fa5de;hb=6ee1f07681283cddf926ac542555a32e53b103f7;hp=a98acb820b0f319fd9651d7a8b332639fddfc11d;hpb=cdbfd028e9c5c406d0c098f053dbce61daf350fb;p=plstackapi.git diff --git a/planetstack/apigen/api.template.py b/planetstack/apigen/api.template.py index a98acb8..e3f1b64 100644 --- a/planetstack/apigen/api.template.py +++ b/planetstack/apigen/api.template.py @@ -111,7 +111,7 @@ class PlanetStackRetrieveUpdateDestroyAPIView(generics.RetrieveUpdateDestroyAPIV def destroy(self, request, *args, **kwargs): obj = self.get_object() if obj.can_update(request.user): - return super({{ object.camel }}Detail, self).destroy(request, *args, **kwargs) + return super(generics.RetrieveUpdateDestroyAPIView, self).destroy(request, *args, **kwargs) else: return Response(status=status.HTTP_400_BAD_REQUEST) @@ -137,16 +137,19 @@ class {{ object.camel }}List(generics.ListCreateAPIView): return {{ object.camel }}.select_by_user(self.request.user) def create(self, request, *args, **kwargs): - #obj = {{ object.camel }}().update(request.DATA) - #obj = self.get_object() - #obj.caller = request.user + obj = {{ object.camel }}(**request.DATA) + obj.caller = request.user + if obj.can_update(request.user): + return super({{ object.camel }}List, self).create(request, *args, **kwargs) + else: + raise Exception("failed obj.can_update") + ret = super({{ object.camel }}List, self).create(request, *args, **kwargs) if (ret.status_code%100 != 200): raise Exception(ret.data) - #if obj.can_update(request.user): - # return super({{ object.camel }}List, self).create(request, *args, **kwargs) - #else: - # return Response(status=status.HTTP_400_BAD_REQUEST) + + return ret + class {{ object.camel }}Detail(PlanetStackRetrieveUpdateDestroyAPIView): queryset = {{ object.camel }}.objects.select_related().all()