示例#1
0
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))
示例#2
0
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))
示例#3
0
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))
示例#4
0
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))
示例#5
0
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,
    })
示例#6
0
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,
    })
示例#7
0
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))
示例#8
0
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))
示例#9
0
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))
示例#10
0
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))
示例#11
0
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))
示例#12
0
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))
示例#13
0
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,
            }))
示例#14
0
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))
示例#15
0
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))
示例#16
0
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,
    }))
示例#17
0
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,
    }))
示例#18
0
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,
    })
示例#19
0
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, }))
示例#20
0
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,
    })
示例#21
0
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,
    })
示例#22
0
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,
    })
示例#23
0
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,
    }))
示例#24
0
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,
    })
示例#25
0
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,
    })
示例#26
0
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,
    })
示例#27
0
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,
                  })
示例#28
0
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,
    })
示例#29
0
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,
    })
示例#30
0
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,
    })