Esempio n. 1
0
def compra(request):
    data ={
        'titulo':'Consulta de compras -FULL AUTO MILAGRO',
        'model': 'Compra',
        'ruta':'/compra/compra/',
        'user': request.user.username,
    }
    addUserData(request, data)
    segurid=User.groups.through.objects.get(user_id=request.user.id)

    if segurid.group.name == 'Empleado':
        return redirect('/seguridad/login/')
    if request.method == 'POST':
        if 'action' in request.POST:
            action = request.POST['action']
            try:
                with transaction.atomic():

                    if action == 'elim':
                        compra = Compra.objects.get(pk=int(request.POST['id']))
                        compra.status = False
                        compra.usermodificardor, compra.userfechamodificador= int(request.user.id),datetime.datetime.now()
                        compra.save()

            except Exception as ex:
                messages.error(request, str(ex))
            return redirect('/compra/compra/')
    else:
        # Por primera vez viaja por Get
        if 'action' in request.GET:
            action = request.GET['action']
            data['action'] = action
            if action == 'cargacompra':
                try:
                    with transaction.atomic():
                        comprajson,  compra = json.loads(request.GET['compra']), Compra()


                        compra.proveedor,compra.iva = Proveedor.objects.get(pk=int(comprajson['cliente'])),0
                        compra.subtotal ,compra.total  = round(float(comprajson['subtotal'])), round(float(comprajson['total']))
                        compra.fechacompra,compra.descuento = datetime.datetime.now(),0
                        compra.user,compra.userfecha =request.user,datetime.datetime.now()
                        compra.usermodificardor,compra.userfechamodificador = 0,datetime.datetime.now()
                        compra.save()

                        for item in comprajson['items']:
                            if Articulo.objects.filter(id=int(item['id'])).exists():
                                detalle,arct = Detallecompra(),Articulo.objects.get(pk=int(item['id']))
                                detalle.compra,detalle.articulo,detalle.cantidad= compra, Articulo.objects.get(pk=int(item['id'])),int(item['cantidad'])
                                detalle.total, detalle.preciototal  =float(item['precio']), round(float(item['precio'])*int(item['cantidad']))

                                arct.stock += int(item['cantidad'])
                                arct.save()

                                detalle.save()
                        return HttpResponse(json.dumps({"resp": True}), content_type="application/json")
                except IntegrityError as ex:

                    return HttpResponse(json.dumps({"resp": False, "mensaje": str(ex)}),
                                        content_type="application/json")
            if action == 'add':
                data['proveedo'],data['articul'] = Proveedor.objects.filter(status=True),Articulo.objects.filter(elim=True)
                return render(request, 'compra/compra_form_principal.html', data)

            if action == 'ver':
                id = request.GET['id']
                data['compra'],data['detalle'] = Compra.objects.get(pk=id),Detallecompra.objects.filter(compra=Compra.objects.get(pk=id))

            return render(request, 'compra/compra_form_principal.html', data)
        elif 'imprimeunidad' in request.GET:
            id = request.GET['id']
            v = Compra.objects.get(pk=int(id))
            t = "0"
            for i in range(9 - len(str(v.id))):
                t += "0"
            compra = {

                'compra': Detallecompra.objects.filter(compra=Compra.objects.get(pk=id)).order_by('articulo_id'),
                'empresa': Empresa.objects.first(),
                'facturaa': v,
                'model': 'Compra: ' +t+ str(v.id)
            }
            pdf = render_to_pdf('compra/pdfcompraunidad.html', compra)
            return HttpResponse(pdf, content_type='application/pdf')

        elif 'imprime' in request.GET:

            proveedor = {

                'compra': Compra.objects.all(), 'empresa': Empresa.objects.first(),
                'model': 'Compra'
            }
            pdf = render_to_pdf('compra/pdfcompra.html', proveedor)
            return HttpResponse(pdf, content_type='application/pdf')


        else:
            # Viaja por get
            compra = Compra.objects.all()
            data['compra'] = compra
            return render(request, 'compra/Compra.html', data)
Esempio n. 2
0
def estadistica(request):
    data ={
        'titulo':'Reportes-FULL AUTO MILAGRO',
        'model': 'Reporte',
        'ruta':'/seguridad/estadistica/',
        'user': request.user.username,
    }
    addUserData(request, data)
    segurid=User.groups.through.objects.get(user_id=request.user.id)
    if segurid.group.name == 'Empleado':
        return redirect('/seguridad/login/')
    if request.method == 'POST':
        if 'action' in request.POST:
            action = request.POST['action']
            try:
                with transaction.atomic():
                    if action == 'add':
                        us = User.objects.create_user(username=request.POST['username'],
                                                      first_name=request.POST['first_name'],
                                                      last_name=request.POST['last_name'],
                                                      email=request.POST['email'],
                                                      password=request.POST['password'],
                                                      is_active=True, is_staff=False, is_superuser=False)
                        us.groups.add(Group.objects.get(pk=int(request.POST['group'])))
                        empleado = Empleado()
                        empleado.direcion,empleado.cedula,empleado.celular =request.POST['direcion'], request.POST['cedula'], request.POST['celular']
                        empleado.sucursal, empleado.image,empleado.fecha =  Sucursal.objects.get(pk=int(request.POST['sucursal'])),request.FILES['image'],datetime.datetime.now()
                        empleado.user,empleado.group =us,Group.objects.get(pk=int(request.POST['group']))
                        empleado.save()

                    if action == 'edit':
                        empleado = Empleado.objects.get(pk=int(request.POST['id']))
                        us=User.objects.get(pk=int(empleado.user.id))
                        if (request.POST['chancontr']) == '1':
                            us.set_password(request.POST['password'])
                        us.username, us.email,us.first_name = request.POST['username'],request.POST['email'],request.POST['first_name']
                        us.last_name ,us.username= request.POST['last_name'], request.POST['username']
                        us.save()
                        if not empleado.user.is_superuser:
                            usuario = User.groups.through.objects.get(user=us)
                            usuario.group=Group.objects.get(pk=int(request.POST['group']))
                            usuario.save()
                            empleado.group=Group.objects.get(pk=int(request.POST['group']))
                        empleado.user,empleado.direcion,empleado.cedula   =us,request.POST['direcion'], request.POST['cedula']
                        empleado.celular = request.POST['celular']
                        empleado.sucursal  = Sucursal.objects.get(pk=int(request.POST['sucursal']))
                        if 'image' in request.FILES:
                            empleado.image = request.FILES['image']
                        empleado.save()

                    if action == 'elim':
                        empleado = Empleado.objects.get(pk=int(request.POST['id']))
                        User.objects.get(pk=empleado.user_id)
                        empleado.status = False
                        empleado.save()
                        u=User.objects.get(pk=empleado.user_id)
                        u.is_active=False
                        u.save()


            except Exception as ex:
                messages.error(request, str(ex))
            return redirect('/seguridad/usuariote/')
    else:
        # Por primera vez viaja por Get
        if 'action' in request.GET:
            data['action'] = request.GET['action']
            if not (request.GET['action'] == 'add' or request.GET['action'] == 'verificar'):
                data['id'] = request.GET['id']
                data['empleado'] = Empleado.objects.get(pk=int(request.GET['id']))
            data['sucursal'],data['group'] = Sucursal.objects.filter(elim=True), Group.objects.all()
            if request.GET['action'] == 'verificar':
                try:
                    with transaction.atomic():
                        if 'username' in request.GET:
                            if not User.objects.get(username=request.GET['username']):
                                return HttpResponse(json.dumps({"resp": True}), content_type="application/json")
                            else:
                                return HttpResponse(json.dumps({"resp": False, "mensaje": "contraseña no valida"}),
                                                    content_type="application/json")
                except IntegrityError as ex:
                    return HttpResponse(json.dumps({"resp": False, "mensaje": str(ex)}),
                                        content_type="application/json")
            return render(request, 'seguridad/usuariotemodal.html', data)
        elif 'imprime' in request.GET:

            usuario = {

                'usuario':Empleado.objects.filter(status=True), 'empresa': Empresa.objects.first(),'model':'Usuario'
            }
            pdf = render_to_pdf('seguridad/pdfusuario.html', usuario)
            return HttpResponse(pdf, content_type='application/pdf')

        else:
            # Viaja por get
            data['empleado'] = Empleado.objects.filter(status=True)
            return render(request, 'seguridad/estadistica.html', data)
def venta(request):
    data = {
        'titulo': 'Consulta de ventas -FULL AUTO MILAGRO',
        'model': 'Venta',
        'ruta': '/venta/venta/',
        'user': request.user.username,
    }
    addUserData(request, data)
    if request.method == 'POST':
        if 'action' in request.POST:
            action = request.POST['action']
            try:
                with transaction.atomic():

                    if action == 'elim':
                        venta = Venta.objects.get(pk=int(request.POST['id']))
                        venta.status = False
                        venta.usermodificardor, venta.userfechamodificador = int(
                            request.user.id), datetime.datetime.now()

                        venta.save()
                        e = Empleado.objects.get(user=request.user)

                        for item in DetalleVenta.objects.filter(venta=venta):

                            print(item.articulo.id)
                            if Articulo.objects.filter(
                                    sucursal=Sucursal.objects.get(
                                        pk=e.sucursal.id)).exists():
                                print('entrar')
                                arct = (Articulo.objects.get(
                                    pk=int(item.articulo.id)))
                                #                                arct= Articulo.objects.get(Q(sucursal=Sucursal.objects.filter(pk=e.sucursal.id)) & Q(pk=int(item.articulo.id)))
                                arct.stock += int(item.cantidad)
                                arct.save()

            except Exception as ex:
                messages.error(request, str(ex))
            return redirect('/venta/venta/')
    # Por primera vez viaja por Get
    elif 'action' in request.GET:
        action = request.GET['action']
        data['action'] = action
        if action == 'cargaventa':
            try:
                with transaction.atomic():
                    ventajson = json.loads(request.GET['venta'])
                    vent = Venta()
                    vent.cliente, vent.iva = Cliente.objects.get(
                        pk=int(ventajson['cliente'])), round(
                            float(ventajson['subtotal']) * 0.12)
                    vent.subtotal, vent.total = round(
                        float(ventajson['subtotal'])), round(
                            float(ventajson['total']))
                    vent.fechaventa, vent.descuento = datetime.datetime.now(
                    ), 0
                    vent.user = (request.user)
                    vent.userfecha = datetime.datetime.now()
                    e = Empleado.objects.get(user=request.user)
                    vent.sucursal = Sucursal.objects.get(pk=e.sucursal.id)
                    vent.usermodificardor, vent.userfechamodificador, vent.empresa = 0, datetime.datetime.now(
                    ), Empresa.objects.get(pk=1)
                    vent.save()

                    for item in ventajson['items']:

                        if Articulo.objects.filter(
                                id=int(item['id'])).exists():
                            detalle = DetalleVenta()
                            detalle.venta, detalle.articulo = vent, Articulo.objects.get(
                                pk=int(item['id']))
                            detalle.cantidad, detalle.total = int(
                                item['cantidad']), float(item['precio'])
                            arct = Articulo.objects.get(pk=int(item['id']))
                            arct.stock -= int(item['cantidad'])
                            arct.save()
                            detalle.preciototal = round(
                                float(item['precio']) * int(item['cantidad']))
                            detalle.save()
                    # asunto = 'Compra en Taller Herrera'
                    # email_from = settings.EMAIL_HOST_USER
                    # data['detalle'] = Detallecompra.objects.filter(factura=facturar)
                    # data['empresa'] = Empresa.objects.get(user=request.user)
                    # email_to = [cliente.email]
                    # datos = {
                    #     'factura': facturar,
                    #     'detalle': Detallecompra.objects.filter(factura=facturar),
                    #     'sucursal': Empresa.objects.get(user=request.user),
                    # }
                    # html_message = render_to_string('facturacion/correoenvio.html', datos)
                    # plain_message = strip_tags(html_message)
                    # send_mail(asunto, plain_message, email_from, email_to, html_message=html_message,
                    #           fail_silently=True)
                    return HttpResponse(json.dumps({"resp": True}),
                                        content_type="application/json")
            except IntegrityError as ex:

                return HttpResponse(json.dumps({
                    "resp": False,
                    "mensaje": str(ex)
                }),
                                    content_type="application/json")
        if action == 'add':
            data['cliente'], data['articul'] = Cliente.objects.filter(
                status=True), Articulo.objects.filter(precio__gte=1, elim=True)
            return render(request, 'venta/venta_form.html', data)

        if action == 'ver':
            id = request.GET['id']
            v = Venta.objects.get(pk=id)
            data['venta'], data['detalle'] = v, DetalleVenta.objects.filter(
                venta=Venta.objects.get(pk=id)).order_by('articulo_id')

            return render(request, 'venta/venta_visualizar.html', data)

    elif 'imprimeunidad' in request.GET:
        id = request.GET['id']
        v = Venta.objects.get(pk=int(id))
        t = "0"
        for i in range(9 - len(str(v.id))):
            t += "0"
        factura = {
            'venta':
            DetalleVenta.objects.filter(venta=Venta.objects.get(
                pk=id)).order_by('articulo_id'),
            'empresa':
            Empresa.objects.first(),
            'facturaa':
            v,
            'model':
            'Factura: ' + t + str(v.id)
        }
        pdf = render_to_pdf('venta/pdffacturaunidad.html', factura)
        return HttpResponse(pdf, content_type='application/pdf')

    elif 'imprime' in request.GET:

        cliente = {
            'venta': Venta.objects.all(),
            'empresa': Empresa.objects.first(),
            'model': 'Factura'
        }
        pdf = render_to_pdf('venta/pdfventa.html', cliente)
        return HttpResponse(pdf, content_type='application/pdf')
    else:
        # Viaja por get
        data['venta'] = Venta.objects.all().order_by('id')
        return render(request, 'venta/Venta.html', data)
def cliente(request):
    data = {
        'titulo': 'Consulta de Clientes -FULL AUTO MILAGRO',
        'model': 'Cliente',
        'ruta': '/venta/cliente/',
        'user': request.user.username,
    }
    addUserData(request, data)
    segurid = User.groups.through.objects.get(user_id=request.user.id)

    if segurid.group.name == 'Empleado':
        return redirect('/seguridad/login/')
    if request.method == 'POST':
        if 'action' in request.POST:
            action = request.POST['action']
            try:
                with transaction.atomic():
                    if action == 'add':

                        clien = Cliente()
                        clien.direccion, clien.email, clien.nombre = request.POST[
                            'direccion'], request.POST['email'], request.POST[
                                'nombre']
                        clien.ced_ruc, clien.telefono = request.POST[
                            'ced_ruc'], request.POST['telefono']
                        clien.save()

                    if action == 'edit':

                        clien = Cliente.objects.get(pk=int(request.POST['id']))
                        clien.direccion, clien.email, clien.nombre = request.POST[
                            'direccion'], request.POST['email'], request.POST[
                                'nombre']
                        clien.ced_ruc, clien.telefono = request.POST[
                            'ced_ruc'], request.POST['telefono']
                        clien.save()

                    if action == 'elim':
                        clien = Cliente.objects.get(pk=int(request.POST['id']))
                        clien.status = False
                        clien.save()

            except Exception as ex:
                messages.error(request, str(ex))
            return redirect('/venta/cliente/')
    else:
        # Por primera vez viaja por Get
        if 'action' in request.GET:
            data['action'] = request.GET['action']
            if not request.GET['action'] == 'add':
                data['id'], data['client'] = request.GET[
                    'id'], Cliente.objects.get(pk=int(request.GET['id']))
            return render(request, 'venta/cliente_modal.html', data)
        elif 'imprime' in request.GET:

            cliente = {
                'cliente':
                Cliente.objects.filter(status=True).exclude(
                    nombre__icontains='Consumidor Final'),
                'empresa':
                Empresa.objects.first(),
                'model':
                'Cliente'
            }
            pdf = render_to_pdf('venta/pdfcliente.html', cliente)
            return HttpResponse(pdf, content_type='application/pdf')
        else:
            # Viaja por get
            data['cliente'] = Cliente.objects.filter(status=True)
            return render(request, 'venta/cliente.html', data)
Esempio n. 5
0
def marca(request):
    data = {
        'titulo': 'Consulta de marca -FULL AUTO MILAGRO',
        'model': 'Marca',
        'ruta': '/inventario/marca/',
        'user': request.user.username,
    }
    addUserData(request, data)
    if request.method == 'POST':
        if 'action' in request.POST:
            action = request.POST['action']
            try:
                with transaction.atomic():
                    if action == 'add':
                        marca = Marca()
                        marca.nombre, marca.descripcion = request.POST[
                            'nombre'], request.POST['descripcion']

                        staa = True
                        if not 'status' in request.POST:
                            staa = False
                        marca.status = staa
                        marca.save()
                    if action == 'edit':
                        marca = Marca.objects.select_related().get(
                            pk=request.POST['id'])
                        marca.nombre, marca.descripcion = request.POST[
                            'nombre'], request.POST['descripcion']
                        staa = True
                        if not 'status' in request.POST:
                            staa = False
                        marca.status = staa
                        marca.save()
                    if action == 'elim':
                        id = request.POST['id']
                        marca = Marca.objects.get(pk=int(id))
                        marca.elim = False
                        marca.save()
            except Exception as ex:
                messages.error(request, 'Error, dato ya registrado')
            return redirect('/inventario/marca/')
    else:
        # Por primera vez viaja por Get
        if 'action' in request.GET:
            action = request.GET['action']
            data['action'] = action
            if action == 'edit' or action == 'elim':
                data['id'] = request.GET['id']
                data['marca'] = Marca.objects.get(pk=int(request.GET['id']))
            return render(request, 'inventario/marca_modal.html', data)
        elif 'imprime' in request.GET:

            marca = {
                'marca': Marca.objects.filter(status=True),
                'empresa': Empresa.objects.first(),
                'model': 'Marca'
            }
            pdf = render_to_pdf('inventario/pdfmarca.html', marca)
            return HttpResponse(pdf, content_type='application/pdf')

        else:
            # Viaja por get
            data['marca'] = Marca.objects.filter(elim=True)
            return render(request, 'inventario/marca.html', data)
Esempio n. 6
0
def proveedor(request):
    data = {
        'titulo': 'Consulta de proveedores -FULL AUTO MILAGRO',
        'model': 'Proveedor',
        'ruta': '/compra/proveedor/',
        'user': request.user.username,
    }
    addUserData(request, data)
    segurid = User.groups.through.objects.get(user_id=request.user.id)

    if segurid.group.name == 'Empleado':
        return redirect('/seguridad/login/')
    if request.method == 'POST':
        if 'action' in request.POST:
            action = request.POST['action']
            try:
                with transaction.atomic():
                    if action == 'add':

                        proveedo = Proveedor()
                        proveedo.direccion = request.POST['direccion']
                        proveedo.email = request.POST['email']
                        proveedo.nombre = request.POST['nombre']
                        proveedo.ced_ruc = request.POST['ced_ruc']
                        proveedo.telefono = request.POST['telefono']
                        proveedo.save()

                    if action == 'edit':

                        proveedo = Proveedor.objects.get(
                            pk=int(request.POST['id']))
                        proveedo.direccion = request.POST['direccion']
                        proveedo.email = request.POST['email']
                        proveedo.nombre = request.POST['nombre']
                        proveedo.ced_ruc = request.POST['ced_ruc']
                        proveedo.telefono = request.POST['telefono']
                        proveedo.save()

                    if action == 'elim':
                        proveedo = Proveedor.objects.get(
                            pk=int(request.POST['id']))
                        proveedo.status = False
                        proveedo.save()

            except Exception as ex:
                messages.error(request, str(ex))
            return redirect('/compra/proveedor/')
    else:
        # Por primera vez viaja por Get
        if 'action' in request.GET:
            action = request.GET['action']
            data['action'] = action
            if action == 'edit' or action == 'elim' or action == 'ver':
                id = request.GET['id']
                data['id'] = id
                proveedor = Proveedor.objects.get(pk=id)
                data['proveedo'] = proveedor

            return render(request, 'compra/proveedor_modal.html', data)
        elif 'imprime' in request.GET:

            proveedor = {
                'proveedor': Proveedor.objects.filter(status=True),
                'empresa': Empresa.objects.first(),
                'model': 'Proveedor'
            }
            pdf = render_to_pdf('compra/pdfproveedor.html', proveedor)
            return HttpResponse(pdf, content_type='application/pdf')

        else:
            # Viaja por get
            proveedor = Proveedor.objects.filter(status=True)
            data['proveedor'] = proveedor
            return render(request, 'compra/Proveedor.html', data)
def articulo(request):
    data = {
        'titulo': 'Consulta de artículos -FULL AUTO MILAGRO',
        'model': 'Artículo',
        'ruta': '/inventario/articulo/',
        'user': request.user.username,
    }
    addUserData(request, data)
    if request.method == 'POST':
        if 'action' in request.POST:
            action = request.POST['action']
            try:
                with transaction.atomic():
                    if action == 'add':
                        articulo = Articulo()

                        articulo.marca, articulo.image = Marca.objects.get(
                            pk=int(
                                request.POST['marca'])), request.FILES['image']
                        articulo.nombre, articulo.descripcion = request.POST[
                            'nombre'], request.POST['descripcion']
                        articulo.stock, articulo.iva, articulo.precio = int(
                            request.POST['stock']), float(
                                request.POST['iva']), float(
                                    request.POST['precio'])
                        articulo.descuento, articulo.sucursal, articulo.subtotal = float(
                            request.POST['descuento']), Sucursal.objects.get(
                                pk=int(request.POST['sucursal'])), float(
                                    request.POST['subtotal'])
                        if not 'status' in request.POST:
                            articulo.status = False
                        articulo.save()

                    if action == 'edit':

                        articulo = Articulo.objects.select_related().get(
                            pk=request.POST['id'])
                        articulo.marca = Marca.objects.get(
                            pk=int(request.POST['marca']))
                        articulo.nombre, articulo.descripcion = request.POST[
                            'nombre'], request.POST['descripcion']
                        articulo.stock, articulo.iva, articulo.precio = int(
                            request.POST['stock']), float(
                                request.POST['iva']), float(
                                    request.POST['precio'])
                        articulo.descuento, articulo.sucursal, articulo.subtotal = float(
                            request.POST['descuento']), Sucursal.objects.get(
                                pk=int(request.POST['sucursal'])), float(
                                    request.POST['subtotal'])
                        if 'image' in request.FILES:
                            articulo.image = request.FILES['image']
                        if not 'status' in request.POST:
                            articulo.status = False
                        if 'status' in request.POST:
                            articulo.status = True
                        articulo.save()

                    if action == 'elim':

                        articul = Articulo.objects.get(
                            pk=int(request.POST['id']))
                        articul.elim = False
                        articul.save()
            except Exception as ex:
                messages.error(request, str(ex))
            return redirect('/inventario/articulo/')
    else:
        # Por primera vez viaja por Get
        data['articulo'], data['sucursal'], data[
            'buscarid'] = Articulo.objects.filter(
                elim=True), Sucursal.objects.filter(elim=True), 0
        if 'sucursa' in request.GET:
            if Articulo.objects.filter(
                    sucursal__id=int(request.GET['sucursa'])).exists():
                data['articulo'], data['buscarid'], data[
                    'sucursale'] = Articulo.objects.filter(
                        sucursal=Sucursal.objects.get(
                            pk=int(request.GET['sucursa']))), int(
                                request.GET['sucursa']), Sucursal.objects.get(
                                    pk=int(request.GET['sucursa']))

            elif not (Articulo.objects.filter(
                    sucursal__id=int(request.GET['buscarid'])).exists()) and (
                        int(request.GET['sucursa']) != 0):
                messages.info(request, 'No se hay articulos en esta sucursal')

        elif 'imprime' in request.GET:
            if 'buscarid' in request.GET:
                if Articulo.objects.filter(
                        sucursal__id=int(request.GET['buscarid'])).exists():
                    articulos = Articulo.objects.filter(
                        sucursal=Sucursal.objects.get(
                            pk=int(request.GET['buscarid'])),
                        elim=True)
                    articulo = {
                        'articulo': articulos,
                        'empresa': Empresa.objects.first(),
                        'model': 'Articulo'
                    }
                    pdf = render_to_pdf('inventario/pdfarticulo.html',
                                        articulo)
                    return HttpResponse(pdf, content_type='application/pdf')
                elif int(request.GET['buscarid']) == 0:
                    articulos = Articulo.objects.filter(elim=True)

                    articulo = {
                        'articulo': articulos,
                        'empresa': Empresa.objects.first(),
                        'model': 'Articulo'
                    }
                    pdf = render_to_pdf('inventario/pdfarticulo.html',
                                        articulo)
                    return HttpResponse(pdf, content_type='application/pdf')

        elif 'action' in request.GET:
            data['action'] = request.GET['action']
            if not (request.GET['action'] == 'add'):
                data['id'] = request.GET['id']
                data['articulo'] = Articulo.objects.get(
                    pk=int(request.GET['id']))
            data['marc'], data['sucursa'] = Marca.objects.filter(
                elim=True), Sucursal.objects.filter(elim=True)
            return render(request, 'inventario/articulo_modal.html', data)

        return render(request, 'inventario/articulo.html', data)
Esempio n. 8
0
def sucursal(request):
    data = {
        'titulo': 'Consulta de Sucursales -FULL AUTO MILAGRO',
        'model': 'Sucursal',
        'ruta': '/seguridad/sucursal/',
        'user': request.user.username,
    }
    addUserData(request, data)
    segurid = User.groups.through.objects.get(user_id=request.user.id)
    if segurid.group.name == 'Empleado':
        return redirect('/seguridad/login/')
    if request.method == 'POST':
        if 'action' in request.POST:
            action = request.POST['action']
            try:
                with transaction.atomic():
                    if action == 'add':
                        sucursa = Sucursal()
                        sucursa.razonsocial, sucursa.ruc, sucursa.direcion = request.POST[
                            'razonsocial'], request.POST['ruc'], request.POST[
                                'direcion']
                        sucursa.celular, sucursa.image, sucursa.email = request.POST[
                            'celular'], request.FILES['image'], request.POST[
                                'email']
                        if not 'status' in request.POST:
                            sucursa.status = False
                        sucursa.sucursal_id, sucursa.canton, sucursa.provincia = int(
                            Empresa.objects.count(
                            )), request.POST['canton'].capitalize(
                            ), request.POST['provincia'].capitalize()
                        sucursa.save()
                    if action == 'edit':
                        sucursa = Sucursal.objects.select_related().get(
                            pk=request.POST['id'])
                        sucursa.razonsocial, sucursa.ruc, sucursa.direcion = request.POST[
                            'razonsocial'], request.POST['ruc'], request.POST[
                                'direcion']
                        sucursa.celular, sucursa.email = request.POST[
                            'celular'], request.POST['email']
                        if not 'status' in request.POST:
                            sucursa.status = False
                        if 'status' in request.POST:
                            sucursa.status = True
                        if 'image' in request.FILES:
                            sucursa.image = request.FILES['image']
                        sucursa.sucursal_id, sucursa.canton, sucursa.provincia = int(
                            Empresa.objects.count(
                            )), request.POST['canton'].capitalize(
                            ), request.POST['provincia'].capitalize()
                        sucursa.save()
                    if action == 'elim':
                        id = request.POST['id']

                        sucursa = Sucursal.objects.get(pk=int(id))
                        sucursa.elim = False
                        sucursa.save()

            except Exception as ex:
                messages.error(request, str(ex) + 'Error, dato ya registrado')
            return redirect('/seguridad/sucursal/')
    else:
        # Por primera vez viaja por Get
        if 'action' in request.GET:
            action = request.GET['action']
            data['action'] = action
            if action == 'edit' or action == 'elim' or action == 'ver':

                data['id'] = request.GET['id']
                data['sucursal'] = Sucursal.objects.get(
                    pk=int(request.GET['id']))

            return render(request, 'seguridad/sucrusal_modal.html', data)
        elif 'imprime' in request.GET:

            sucursales = {
                'sucursal': Sucursal.objects.filter(elim=True),
                'empresa': Empresa.objects.first(),
                'model': 'Sucursal'
            }
            pdf = render_to_pdf('seguridad/pdfsucursal.html', sucursales)
            return HttpResponse(pdf, content_type='application/pdf')

        else:
            # La primera vez viaje por get sin criterio: consulta todos los datos
            data['sucursal'] = Sucursal.objects.filter(elim=True)
        return render(request, 'seguridad/sucursal.html', data)