def create(self, request, *args, **kwargs): if request.data is None: return rc.BAD_REQUEST if not self.check_create_permission(request, "x"): return rc.FORBIDDEN order = getOrNone( SaleOrder, pk=request.data['order']) if 'order' in request.data else None product = getOrNone( OrderedProduct, pk=request.data['product']) if 'product' in request.data else None productset = getOrNone( Product, pk=request.data['productset']) if 'productset' in request.data else None subscription = Subscription() if order: subscription.client = order.client if product: subscription.product = product.product if productset: subscription.product = productset form = SubscriptionForm( request.user.profile, request.data, instance=subscription) if form.is_valid(): subscription = form.save(commit=False) subscription.renew() subscription.save() subscription.set_user_from_request(request) if product: product.subscription = subscription product.save() return subscription else: self.status = 400 return form.errors
def create(self, request, *args, **kwargs): if request.data is None: return rc.BAD_REQUEST if not self.check_create_permission(request, "x"): return rc.FORBIDDEN order = getOrNone( SaleOrder, pk=request.data['order']) if 'order' in request.data else None product = getOrNone( OrderedProduct, pk=request.data['product']) if 'product' in request.data else None productset = getOrNone(Product, pk=request.data['productset'] ) if 'productset' in request.data else None subscription = Subscription() if order: subscription.client = order.client if product: subscription.product = product.product if productset: subscription.product = productset form = SubscriptionForm(request.user.profile, request.data, instance=subscription) if form.is_valid(): subscription = form.save(commit=False) subscription.renew() subscription.save() subscription.set_user_from_request(request) if product: product.subscription = subscription product.save() return subscription else: self.status = 400 return form.errors