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.get_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.get_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