def page(request, pk): try: mod = Product.objects.get(id=pk) except Product.DoesNotExist: raise Product.DoesNotExist user = request.user if request.POST: if "cancel" in request.POST: return HttpResponseRedirect(reverse_lazy('index')) else: form = NewConcreteOrderForm(request.POST) if request.user.is_authenticated(): if form.is_valid(): p = Order( user=user, module=mod, information=mod.information, paid=False, ) if mod.on_sale: mod.on_sale = False mod.save() p.painting = False # TODO: remove all paint color logic from template view etc p.save() new_message = ContactMessage( user=user, notified=False, text= u"""Congratulations, the order has been created correctly and it is in the state %s. Soon you will receive confirmation of the states changes . Thanks""" % p.state) new_message.save() mod.quitar_of_sale() mod.save() messages.success( request, '¡Order created <b>correctly</b>, thanks!') return HttpResponseRedirect(reverse_lazy('panel')) else: return render(request, 'shop/create_order.html', {'form': form, 'pk': pk}) else: form = NewConcreteOrderForm() return render(request, 'shop/create_order.html', {'form': form, 'pk': pk})