Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <form role="form" action="{% url 'productos:crear_producto' %}" method="post" enctype="multipart/form-data" autocomplete="off">
- ...
- </form>
- class CrearProducto(SuccessMessageMixin,CreateView):
- model = Producto
- form_class = ProductoForm
- template_name = "administrador/crear_producto.html"
- success_url = reverse_lazy("productos:administrar_productos")
- def get_context_data(self, **kwargs):
- from django.conf import settings
- CODIGO_INICIAL_AUTOMATICO = settings.CODIGO_INICIAL_AUTOMATICO
- try:
- producto = Producto.objects.latest('id')
- codigo = int(producto.cod_auxiliar) + 1
- except Producto.DoesNotExist:
- codigo = CODIGO_INICIAL_AUTOMATICO
- context = super(CrearProducto, self).get_context_data(**kwargs)
- context['codigo_producto'] = str(codigo).zfill(13)
- return context
- def post(self, request, *args, **kwargs):
- if self.request.POST:
- form = ProductoForm(request.POST)
- self.object = form.save()
- producto_actual = Producto.objects.get(nombre=self.object.nombre)
- movimiento = Movimientos(
- tipo = 1,
- proveedor = self.object.proveedor,
- producto = self.object,
- bodega = self.object.bodega,
- vunitario_promedio = float(self.object.precio),
- responsable = request.user,
- vunitario_compra = float(self.object.precio),
- cant_ingreso = self.object.cantidad,
- tot_ingreso = float(self.object.cantidad) * float(self.object.precio),
- tot_saldo = float(self.object.cantidad) * float(self.object.precio),
- cant_saldo = self.object.cantidad,
- )
- movimiento.save()
- messages.add_message(request, messages.SUCCESS, 'Registro creado con éxito')
- return redirect('productos:administrar_productos')
- class CrearProducto(SuccessMessageMixin,CreateView):
- model = Producto
- form_class = ProductoForm
- template_name = "administrador/crear_producto.html"
- success_url = reverse_lazy("productos:administrar_productos")
- nombre = models.CharField(max_length=300)
- imagen = models.ImageField(upload_to='productos/', null=True, blank=True)
- ..
- ...
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement