def baja_material(request, materia_id): materia = get_object_or_404(MateriaPrima, pk=materia_id) materia.estado = False materia.save() admin_log_change(request, materia, 'Materia Dado de Baja') messages.warning(request, 'Materia Prima dado de baja') return HttpResponseRedirect(reverse(index))
def activate_materia(request, materia_id): materia = get_object_or_404(MateriaPrima, pk=materia_id) materia.estado = True materia.save() admin_log_change(request, materia, 'Material Activado') messages.info(request, 'Material Activado') return HttpResponseRedirect(reverse(index))
def activate_proveedor(request, proveedor_id): proveedor = get_object_or_404(Proveedor, pk=proveedor_id) proveedor.estado = True proveedor.save() admin_log_change(request, proveedor, 'Proveedor Activado') messages.info(request, 'Proveedor Activado') return HttpResponseRedirect(reverse(index_proveedor))
def realizar_orden(request, pedido_id): pedido = get_object_or_404(Pedido, pk=pedido_id) pedido.estado = False pedido.save() admin_log_change(request, pedido, 'Orden de Produccion Realizado') messages.success(request, 'Orden de Produccion Realizado') return HttpResponseRedirect(reverse(list_orden_produccion))
def add_material(request, venta_id): venta = get_object_or_404(Venta, pk=venta_id) if request.method == 'POST': form = DetalleVentaForm(request.POST) if form.is_valid(): clavo = form.cleaned_data['materiaprima'] precioclavo = PrecioClavos.objects.get(id=clavo.id) detalle = form.save(commit=False) detalle.venta = venta detalle.costo_t = detalle.cantidad * detalle.costo_u detalle.precio_id = precioclavo.id #detalle.tipo = detalle.material detalle.save() venta.costo = venta.costo + detalle.costo_t venta.save() precioclavo.stock = precioclavo.stock - detalle.cantidad precioclavo.save() admin_log_addition(request, detalle, 'Detalle Venta Creado') admin_log_change(request, venta, 'Costo Modificado') messages.success(request, 'Material Agredado Correctemente') return HttpResponseRedirect( reverse(new_detail_venta, args={ venta.id, })) else: form = DetalleVentaForm() return render(request, 'ventas/add_material.html', { 'venta': venta, 'form': form, })
def update_material(request, pedido_id, detalle_id): detalle = get_object_or_404(DetallePedido, pk = detalle_id) colors = MateriaPrima.objects.filter(estado=True, stock__gte = 1) pedido = get_object_or_404(Pedido, pk = pedido_id) if request.method == 'POST': form = DetallePedidoForm(request.POST, detalle) if form.is_valid(): stock = 0 color = form.cleaned_data['color'] materia_id = form.cleaned_data['anchocalamina'] precioc = form.cleaned_data['calamina'] umedida = form.cleaned_data['unidad'] largo = float(form.cleaned_data['largo']) cantidad = form.cleaned_data['cantidad'] totalm = float(form.cleaned_data['total_m']) costo_u = float(form.cleaned_data['costo_u']) costo_t = float(form.cleaned_data['costo_t']) tipo = materia_id.tipo #m = MateriaPrima.objects.get(id = int(materia_id)) materials = MateriaPrima.objects.filter(estado=True, color=color, stock__gte=float(totalm), ancho=materia_id.ancho) if not materials: messages.error(request, 'No Exite Materia Prima Disponible') return HttpResponseRedirect(reverse(new_detail_pedido, args={pedido.id, })) else: pedido.costo = pedido.costo - detalle.costo_t pedido.save() detalle.costo_t = 0 detalle.costo_u = 0 detalle.largo = 0 detalle.totalm = 0 detalle.cantidad = 0 detalle.save() detalle.costo_u = costo_u detalle.costo_t = costo_t detalle.cantidad = cantidad detalle.totalm = totalm detalle.largo = largo #mejorar control for materia in materials: stock += materia.stock if stock >= totalm: detalle.material.add(materia) materia.salida = materia.salida + totalm materia.stock = materia.stock - totalm materia.save() break detalle.save() pedido.costo = pedido.costo + detalle.costo_t pedido.save() admin_log_addition(request, detalle, 'Detalle Creado') admin_log_change(request, pedido, 'Costo Modificado') messages.success(request, 'Material Agredado Correctemente') return HttpResponseRedirect(reverse(new_detail_pedido, args={pedido.id, })) else: form = DetallePedidoForm(instance=detalle) return render(request, 'pedidos/update_material.html', { 'pedido':pedido, 'form':form, 'materiales':colors, })
def baja_cliente(request, cliente_id): cliente = get_object_or_404(Cliente, pk=cliente_id) cliente.estado = False cliente.save() admin_log_change(request, cliente, 'Cliente Dado de Baja') messages.warning(request, 'Cliente Dado de Baja') return HttpResponseRedirect(reverse(index))
def deactivate_superuser(request, user_id): user = get_object_or_404(User, pk=user_id) user.is_superuser = False user.save() admin_log_change(request, user, 'Administrador Desactivado') messages.warning(request, 'Administrador Desactivado Correctamente') return HttpResponseRedirect(reverse(lista_usuarios))
def activate_user(request, user_id): user = get_object_or_404(User, pk=user_id) user.is_active = True user.save() admin_log_change(request, user, 'Usuario Activado') messages.success(request, 'Usuario Activado Correctamente') return HttpResponseRedirect(reverse(lista_usuarios))
def baja_user(request, user_id): user = get_object_or_404(User, pk=user_id) user.is_active = False user.save() admin_log_change(request, user, 'Usuario Dado de Baja') messages.warning(request, 'Usuario Dado de Baja') return HttpResponseRedirect(reverse(lista_usuarios))
def baja_proveedor(request, proveedor_id): proveedor = get_object_or_404(Proveedor, pk=proveedor_id) proveedor.estado = False proveedor.save() admin_log_change(request, proveedor, 'Proveedor Dado de Baja') messages.error(request, 'Proveedor Dado de Baja') return HttpResponseRedirect(reverse(index_proveedor))
def activate_cliente(request, cliente_id): cliente = get_object_or_404(Cliente, pk=cliente_id) cliente.estado = True cliente.save() admin_log_change(request, cliente, 'Cliente Activado') messages.info(request, 'Cliente Activado') return HttpResponseRedirect(reverse(baja_clientes))
def add_new_material_calamina(request, venta_id): venta = get_object_or_404(Venta, pk=venta_id) if request.method == 'POST': stock = 0 codigo = request.POST['preciocalamina_id'] # PrecioCalamina_id preciocalamina = get_object_or_404(PrecioCalamina, pk=codigo) cantidad = request.POST['cantidad_id'] largo = request.POST['largo_id'] totalm = float(cantidad) * float(largo) materials = MateriaPrima.objects.filter( estado=True, color=preciocalamina.color.color, ancho=preciocalamina.ancho, stock__gte=float(totalm)) # =color, stock__gte=float(totalm), ancho=materia_id.ancho) if not materials: messages.error(request, 'No Exite Materia Prima Disponible') return HttpResponseRedirect( reverse(calamina_new_detail_venta, args={ venta.id, })) else: detalle = DetalleVenta.objects.create( preciocalamina=preciocalamina, venta=venta, costo_t=int(cantidad) * float(largo) * preciocalamina.precio, precio_id=preciocalamina.precio, tipo=preciocalamina.tipo.tipo, cantidad=int(cantidad), costo_u=preciocalamina.precio, largo=largo, unidad='Calamina', descripcion=preciocalamina.tipo.tipo, totalm=totalm, ) for materia in materials: stock += materia.stock stock += materia.stock if stock >= totalm: detalle.material.add(materia) materia.salida = materia.salida + totalm materia.stock = materia.stock - totalm materia.save() break detalle.save() venta.costo = venta.costo + detalle.costo_t venta.save() admin_log_addition(request, detalle, 'Detalle Venta Creado') admin_log_change(request, venta, 'Costo Modificado') messages.success(request, 'Material Agredado Correctemente') return HttpResponseRedirect( reverse(calamina_new_detail_venta, args={ venta.id, })) else: return HttpResponseRedirect( reverse(calamina_new_detail_venta, args={ venta.id, }))
def baja_precio_clavo(request, precio_id): precio = get_object_or_404(PrecioClavos, pk=precio_id) precio.estado = False precio.save() admin_log_change(request, precio, 'Precio Dado De Baja') sms = 'Precio dado de baja correctamente' messages.error(request, sms) return HttpResponseRedirect(reverse(index_precios_clavos))
def active_precio_clavo(request, precio_id): precio = get_object_or_404(PrecioClavos, pk=precio_id) precio.estado = True precio.save() admin_log_change(request, precio, 'Precio Activado Correctamente') sms = 'Precio activado correctamente' messages.success(request, sms) return HttpResponseRedirect(reverse(precios_baja_clavo))
def remove_grupo(request, grupo_id, user_id): grupo = get_object_or_404(Group, pk=grupo_id) user = get_object_or_404(User, pk=user_id) user.groups.remove(grupo) admin_log_change(request, user, 'Permiso %s Retirado' % grupo.name) messages.warning(request, 'Permiso %s Retirado' % grupo.name) return HttpResponseRedirect(reverse(permisos, args={ user_id, }))
def add_grupo(request, grupo_id, user_id): grupo = get_object_or_404(Group, pk=grupo_id) user = get_object_or_404(User, pk=user_id) user.groups.add(grupo) admin_log_change(request, user, 'Permiso %s Agregado' % grupo.name) messages.info(request, 'Permiso %s Agregado' % grupo.name) return HttpResponseRedirect(reverse(permisos, args={ user_id, }))
def calamina_add_material(request, venta_id): colors = MateriaPrima.objects.filter(estado=True, stock__gte=1) venta = get_object_or_404(Venta, pk=venta_id) if request.method == 'POST': form = DetallePedidoForm(request.POST) if form.is_valid(): stock = 0 color = form.cleaned_data['color'] materia_id = form.cleaned_data['anchocalamina'] precioc = form.cleaned_data['calamina'] umedida = form.cleaned_data['unidad'] largo = float(form.cleaned_data['largo']) cantidad = form.cleaned_data['cantidad'] totalm = float(form.cleaned_data['total_m']) costo_u = float(form.cleaned_data['costo_u']) costo_t = float(form.cleaned_data['costo_t']) print(type(materia_id.ancho)) tipo = materia_id.tipo #m = MateriaPrima.objects.get(id = int(materia_id)) materials = MateriaPrima.objects.filter(estado=True, color=color, stock__gte=float(totalm), ancho=materia_id.ancho) if not materials: messages.error(request, 'No Exite Materia Prima Disponible') else: detalle = DetalleVenta.objects.create( material='Largo: %s ml- Ancho: %s ml' % (largo, materia_id.ancho), descripcion=precioc.descripcion, cantidad=cantidad, costo_u=costo_u, costo_t=costo_t, venta=venta, unidad=umedida, largo=largo, tipo=tipo, materia_id=materia_id, ) detalle.save() venta.costo = venta.costo + detalle.costo_t venta.save() admin_log_addition(request, detalle, 'Detalle Creado') admin_log_change(request, venta, 'Costo Modificado') messages.success(request, 'Material Agredado Correctemente') return HttpResponseRedirect( reverse(calamina_new_detail_venta, args={ venta.id, })) else: form = DetallePedidoForm() return render(request, 'ventas/calamina/add_material.html', { 'venta': venta, 'form': form, 'materiales': colors, })
def delete_material(request, detalle_id): detalle = get_object_or_404(DetallePedido, pk = detalle_id) pedido = Pedido.objects.get(pk = detalle.pedido.id) detallem = detalle.material.first() material = MateriaPrima.objects.get(id = detallem.id) material.stock = material.stock + detalle.totalm material.save() pedido.costo = pedido.costo - detalle.costo_t pedido.save() detalle.delete() admin_log_change(request, pedido, 'Costo Modificado') messages.error(request, 'Material Eliminado') return HttpResponseRedirect(reverse(new_detail_pedido, args={pedido.id, }))
def update_codigo_clavo(request, codclavos_id): codigoprecioclavo = get_object_or_404(CodigoClavo, pk=codclavos_id) if request.method == 'POST': form = CodigoClavoForm(request.POST, instance=codigoprecioclavo) if form.is_valid(): cpcl = form.save() admin_log_change(request, ctcl, 'Codigo Modificado') messages.warning(request, 'Codigo Modificado Correctamente') return render(request, 'close_popup.html', {}) else: form = CodigoClavoForm(instance=codigoprecioclavo) return render(request, 'configuracion/update_codigo_clavo-popup.html', { 'form': form, })
def update_tipo_calamina(request, codtipos_id): codigotipocalamina = get_object_or_404(TipoCalamina, pk=codtipos_id) if request.method == 'POST': form = TipoCalaminaForm(request.POST, instance=codigotipocalamina) if form.is_valid(): ctc = form.save() admin_log_change(request, ctc, 'Codigo Modificado') messages.warning(request, 'Codigo Modificado Correctamente') return render(request, 'close_popup.html', {}) else: form = TipoCalaminaForm(instance=codigotipocalamina) return render(request, 'configuracion/update_tipo_calamina-popup.html', { 'form': form, })
def update_proveedor_popup(request, proveedor_id): proveedor = get_object_or_404(Proveedor, pk=proveedor_id) if request.method == 'POST': form = ProveedorForm(request.POST, instance=proveedor) if form.is_valid(): pro = form.save() admin_log_change(request, pro, 'Proveedor Modificado') messages.warning(request, 'Proveedor Modificado Correctamente') return render(request, 'close_popup.html', {}) else: form = ProveedorForm(instance=proveedor) return render(request, 'proveedores/update_proveedor_popup.html', { 'form': form, })
def delete_material(request, detalle_id): detalle = get_object_or_404(DetalleVenta, pk=detalle_id) venta = Venta.objects.get(pk=detalle.venta.id) venta.costo = venta.costo - detalle.costo_t venta.save() precioclavo = PrecioClavos.objects.get(id=detalle.precio_id) precioclavo.stock = precioclavo.stock + detalle.cantidad precioclavo.save() detalle.delete() admin_log_change(request, venta, 'Costo Modificado') messages.error(request, 'Material Eliminado') return HttpResponseRedirect(reverse(new_detail_venta, args={ venta.id, }))
def update_proveedor(request, proveedor_id): proveedor = get_object_or_404(Proveedor, pk=proveedor_id) if request.method == 'POST': form = ProveedorForm(request.POST, instance=proveedor) if form.is_valid(): pro = form.save() admin_log_change(request, pro, 'Proveedor Modificado') sms = 'Proveedor Modificado Correctamente' messages.warning(request, sms) return HttpResponseRedirect(reverse(index_proveedor)) else: form = ProveedorForm(instance=proveedor) return render(request, 'proveedores/update.html', { 'form': form, })
def update_precio_clavo(request, precio_id): precio = get_object_or_404(PrecioClavos, pk=precio_id) if request.method == 'POST': form = PrecioClavoForm(request.POST, instance=precio) if form.is_valid(): precio = form.save() admin_log_change(request, precio, 'Precio Modificado') sms = 'Precio Modificado Correctamente' messages.warning(request, sms) return HttpResponseRedirect(reverse(index_precios_clavos)) else: form = PrecioClavoForm(instance=precio) return render(request, 'clavos/update_precio.html', { 'form': form, })
def update(request, materia_id): materia = get_object_or_404(MateriaPrima, pk=materia_id) colores = Color.objects.all() if request.method == 'POST': form = MateriaPForm(request.POST, instance=materia) if form.is_valid(): m = form.save() admin_log_change(request, m, 'Materia Prima Modificada') messages.warning(request, 'Materia Prima Modificada Correctamente') return HttpResponseRedirect(reverse(index)) else: form = MateriaPForm(instance=materia) return render(request, 'materiap/update.html', { 'form': form, 'colores': colores, })
def update_codigo_materia_prima(request, codprimas_id): codigomateriaprima = get_object_or_404(CodigoMateriaPrima, pk=codprimas_id) if request.method == 'POST': form = CodigoMateriaPrimaForm(request.POST, instance=codigomateriaprima) if form.is_valid(): cpm = form.save() admin_log_change(request, cpm, 'Codigo Modificado') messages.warning(request, 'Codigo Modificado Correctamente') return render(request, 'close_popup.html', {}) else: form = CodigoMateriaPrimaForm(instance=codigomateriaprima) return render(request, 'configuracion/update_codigo_materia_prima_popup.html', { 'form': form, })
def update_color(request, color_id): color = get_object_or_404(Color, pk=color_id) if request.method == 'POST': form = ColorForm(request.POST, instance=color) if form.is_valid(): color = form.save(commit=False) color.codigo = form.cleaned_data['hex'] color.save() admin_log_change(request, color, 'Color Modificado') sms = 'Color %s modificado correctamente' % color.color messages.warning(request, sms) return HttpResponseRedirect(reverse(index_colores)) else: form = ColorForm(instance=color) return render(request, 'color/update.html', { 'form': form, })
def update_precio_precio_popup(request, precio_id): colores = Color.objects.all() precio = get_object_or_404(PrecioCalamina, pk=precio_id) if request.method == 'POST': form = PrecioCalaminaPrecioForm(request.POST, instance=precio) if form.is_valid(): precio = form.save() admin_log_change(request, precio, 'Costo Modificado') sms = 'Costo Modificado Correctamente' messages.success(request, sms) return render(request, 'close_popup.html', {}) else: form = PrecioCalaminaPrecioForm(instance=precio) return render(request, 'materiap/update_precio_precio_popup.html', { 'form': form, 'colores': colores, })
def update_precio(request, precio_id): colores = Color.objects.all() precio = get_object_or_404(PrecioCalamina, pk=precio_id) if request.method == 'POST': form = PrecioCalaminaForm(request.POST, instance=precio) if form.is_valid(): precio = form.save() admin_log_change(request, precio, 'Precio Modificado') sms = 'Precio Modificado Correctamente' messages.warning(request, sms) return HttpResponseRedirect(reverse(index_precios)) else: form = PrecioCalaminaForm(instance=precio) return render(request, 'materiap/update_precio.html', { 'form': form, 'colores': colores, })