Merge branch 'apigen'
authorSapan Bhatia <gwsapan@gmail.com>
Wed, 11 Jun 2014 20:58:58 +0000 (16:58 -0400)
committerSapan Bhatia <gwsapan@gmail.com>
Wed, 11 Jun 2014 20:58:58 +0000 (16:58 -0400)
1  2 
planetstack/apigen/api.template.py
planetstack/planetstack/urls.py

@@@ -57,41 -58,11 +58,41 @@@ serializerLookUp = 
  {% for object in generator.all %}
  
  class {{ object.camel }}List(generics.ListCreateAPIView):
-     queryset = {{ object.camel }}.objects.select_related.all()
+     queryset = {{ object.camel }}.objects.select_related().all()
      serializer_class = {{ object.camel }}Serializer
 +    
 +    def get_queryset(self):
 +        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
 +        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)
  
  class {{ object.camel }}Detail(generics.RetrieveUpdateDestroyAPIView):
-     queryset = {{ object.camel }}.objects.select_related.all()
+     queryset = {{ object.camel }}.objects.select_related().all()
      serializer_class = {{ object.camel }}Serializer
 +    
 +    def get_queryset(self):
 +        return {{ object.camel }}.select_by_user(self.request.user)
 +
 +    def update(self, request, *args, **kwargs):
 +        obj = self.get_object()
 +        if obj.can_update(request.user):
 +            return super({{ object.camel }}Detail, self).update(request, *args, **kwargs)
 +        else:
 +            return Response(status=status.HTTP_400_BAD_REQUEST)
 +
 +    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)
 +        else:
 +            return Response(status=status.HTTP_400_BAD_REQUEST)
 +     
  
  {% endfor %}
@@@ -16,9 -16,8 +16,9 @@@ from core.views.slices import SliceList
  from core.views.slice_privileges import SlicePrivilegeList, SlicePrivilegeDetail
  from core.views.slivers import SliverList, SliverDetail
  from core.views.tags import TagList, TagDetail
- from core.views.users import UserList, UserDetail
+ from genapi import UserList, UserDetail
  from core.views.legacyapi import LegacyXMLRPC
 +#from core.views.analytics import AnalyticsAjaxView
  from core.models import *
  from core.api_root import api_root
  from rest_framework import generics