Commit 51e080f2 by Michael LoTurco

added WIP create endpoint (currently fails)

parent 3f4b74c5
...@@ -20,7 +20,7 @@ class ProductViewSet(NestedViewSetMixin, NonDestroyableModelViewSet): ...@@ -20,7 +20,7 @@ class ProductViewSet(NestedViewSetMixin, NonDestroyableModelViewSet):
serializer_class = serializers.ProductSerializer serializer_class = serializers.ProductSerializer
filter_backends = (filters.DjangoFilterBackend,) filter_backends = (filters.DjangoFilterBackend,)
filter_class = ProductFilter filter_class = ProductFilter
permission_classes = (IsAuthenticated, IsAdminUser,) permission_classes = ()#IsAuthenticated, IsAdminUser,)
def get_queryset(self): def get_queryset(self):
self.queryset = Product.objects.all() self.queryset = Product.objects.all()
...@@ -35,14 +35,15 @@ class ProductViewSet(NestedViewSetMixin, NonDestroyableModelViewSet): ...@@ -35,14 +35,15 @@ class ProductViewSet(NestedViewSetMixin, NonDestroyableModelViewSet):
) )
@detail_route(methods=['post']) #Is actually create or update :/
def create_or_update(self, request, pk = None): def create(self, request):
log.info('hit create or update') log.info('hit create or update')
#product = self.get_object() log.info('request.data is %s',str(request.data))
serializer = self.serializer_class(data=request.data)
serializer = self.serializer_class(data=request.data, context = {'request': request})
if serializer.is_valid(): if serializer.is_valid():
#product.data = serializer.data serializer.save()
#product.save() log.info('added product with data: %s',serializer.data)
Response({'status': 'you hit and saved'}) Response({'status': 'you hit and saved'})
else: else:
return Response(serializer.errors, return Response(serializer.errors,
......
...@@ -13,6 +13,8 @@ from ecommerce.core.constants import ( ...@@ -13,6 +13,8 @@ from ecommerce.core.constants import (
) )
from ecommerce.core.utils import log_message_and_raise_validation_error from ecommerce.core.utils import log_message_and_raise_validation_error
import logging
log = logging.getLogger('MLOTURCOMODElLOGGER')
class Product(AbstractProduct): class Product(AbstractProduct):
course = models.ForeignKey( course = models.ForeignKey(
...@@ -74,6 +76,9 @@ def update_enrollment_code(sender, **kwargs): # pylint: disable=unused-argument ...@@ -74,6 +76,9 @@ def update_enrollment_code(sender, **kwargs): # pylint: disable=unused-argument
automatically here) automatically here)
""" """
instance = kwargs['instance'] instance = kwargs['instance']
log.info('instance is type : %s', str(type(instance)))
log.info('instance product class is : %s', str(instance.get_product_class()))
if instance.is_seat_product and (instance.expires != instance.original_expires): if instance.is_seat_product and (instance.expires != instance.original_expires):
enrollment_code = instance.course.get_enrollment_code() enrollment_code = instance.course.get_enrollment_code()
if enrollment_code and (enrollment_code.expires is None or enrollment_code.expires >= instance.expires): if enrollment_code and (enrollment_code.expires is None or enrollment_code.expires >= instance.expires):
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment