示例#1
0
def new(request):
    usuario = Usr.objects.filter(id=request.user.pk)[0]
    frm = FrmOrdenDeCompra(request.POST or None)
    if 'POST' == request.method:
        if frm.is_valid():
            obj = frm.save(commit=False)
            obj.identificador = newIdentificadorForOrdenDeCompra()
            obj.created_by = usuario
            obj.updated_by = usuario
            obj.save()
            for pza in Pieza.objects.all():
                cant = request.POST.get("pza-cant-{}".format(pza.pk))
                if cant and float(cant) > 0:
                    Piezas_OrdenDeCompra.objects.create(
                        pieza=pza,
                        ordendecompra=obj,
                        cantidad=truncate(cant),
                        created_by=usuario,
                        updated_by=usuario
                    )
        return HttpResponseRedirect(reverse(
            'ordendecompra_see', kwargs={'pk': obj.pk}))
    return render(request, 'inventario/ordendecompra/form.html', {
        'menu_main': usuario.main_menu_struct(),
        'titulo': 'Órden de Compra',
        'titulo_descripcion': 'Nueva',
        'frm': frm,
        'piezas': list(Pieza.objects.all()),
        'proveedores': list(Proveedor.objects.all()),
        'req_ui': requires_jquery_ui(request),
    })
示例#2
0
def update(request, pk):
    usuario = Usr.objects.filter(id=request.user.pk)[0]
    if not OrdenDeCompra.objects.filter(pk=pk).exists():
        return HttpResponseRedirect(reverse(
            'item_no_encontrado'))
    obj = OrdenDeCompra.objects.get(pk=pk)
    frm = FrmOrdenDeCompra(instance=obj, data=request.POST or None)
    if 'POST' == request.method:
        if frm.is_valid():
            obj = frm.save(commit=False)
            obj.updated_by = usuario
            obj.save()
            Piezas_OrdenDeCompra.objects.filter(ordendecompra=obj).delete()
            for pza in Pieza.objects.all():
                cant = request.POST.get("pza-cant-{}".format(pza.pk))
                if cant and float(cant) > 0:
                    Piezas_OrdenDeCompra.objects.create(
                        pieza=pza,
                        ordendecompra=obj,
                        cantidad=truncate(cant),
                        created_by=usuario,
                        updated_by=usuario
                    )
        return HttpResponseRedirect(reverse(
            'ordendecompra_see', kwargs={'pk': obj.pk}))
    return render(request, 'inventario/ordendecompra/form.html', {
        'menu_main': usuario.main_menu_struct(),
        'titulo': 'Órden de Compra',
        'titulo_descripcion': obj,
        'frm': frm,
        'piezas': list(Pieza.objects.all()),
        'proveedores': list(Proveedor.objects.all()),
        'piezas_requeridas': list(obj.piezas_requeridas.all()),
        'req_ui': requires_jquery_ui(request),
    })
示例#3
0
def index(request):
    usuario = Usr.objects.filter(id=request.user.pk)[0]
    search_value = ""
    data = list(Cliente.objects.all())
    if "POST" == request.method:
        if "add-note" == request.POST.get('action'):
            obj = Cliente.objects.get(pk=request.POST.get('nota_cte'))
            add_nota(obj,
                     request.POST.get('nota').strip(),
                     request.POST.get('fecha_notificacion'), usuario)
        elif "add-alert" == request.POST.get('action'):
            cte = Cliente.objects.get(pk=request.POST.get('alert_cte'))
            add_alert(
                request.POST.get('nota').strip(),
                request.POST.get('fecha_notificacion'), cte, usuario)
        elif "search" == request.POST.get('action'):
            search_value = hipernormalize(request.POST.get('valor'))
            data = [
                reg for reg in data
                if (search_value in hipernormalize(reg.usuario)
                    or search_value in hipernormalize(reg.email)
                    or search_value in hipernormalize(reg.telefono)
                    or search_value in hipernormalize(reg.celular)
                    or search_value in hipernormalize(reg.telefono_oficina)
                    or search_value in hipernormalize(reg.first_name)
                    or search_value in hipernormalize(reg.last_name)
                    or search_value in hipernormalize(reg.apellido_materno)
                    or search_value in hipernormalize(reg.razon_social)
                    or search_value in hipernormalize(reg.rfc))
            ]
    toolbar = []
    if usuario.has_perm_or_has_perm_child('cliente.agregar_clientes_user'):
        toolbar.append({
            'type': 'link',
            'view': 'cliente_new',
            'label': '<i class="far fa-file"></i> Nuevo'
        })
    toolbar.append({'type': 'search'})
    return render(
        request, 'app/cliente/index.html', {
            'menu_main': usuario.main_menu_struct(),
            'titulo': 'Clientes',
            'data': data,
            'toolbar': toolbar,
            'req_ui': requires_jquery_ui(request),
            'search_value': search_value,
        })
示例#4
0
def see(request, pk):
    usuario = Usr.objects.filter(id=request.user.pk)[0]
    if not OrdenDeCompra.objects.filter(pk=pk).exists():
        return HttpResponseRedirect(reverse(
            'item_no_encontrado'))
    obj = OrdenDeCompra.objects.get(pk=pk)
    frm = FrmOrdenDeCompraSee(instance=obj)
    toolbar = []
    if usuario.has_perm_or_has_perm_child('pieza.ordenes_de_compra_pieza'):
        toolbar.append({
            'type': 'link',
            'view': 'ordendecompra_index',
            'label': '<i class="fas fa-list-ul"></i> Ver todas'})
    if usuario.has_perm_or_has_perm_child(
            'ordendecompra.actualizar_ordenes_de_compra_orden de compra'):
        toolbar.append({
            'type': 'link_pk',
            'view': 'ordendecompra_update',
            'label': '<i class="far fa-edit"></i> Actualizar',
            'pk': pk})
    if usuario.has_perm_or_has_perm_child(
            'ordendecompra.eliminar_ordenes_de_compra_orden de compra'):
        toolbar.append({
            'type': 'link_pk',
            'view': 'ordendecompra_delete',
            'label': '<i class="far fa-trash-alt"></i> Eliminar',
            'pk': pk})
    return render(request, 'inventario/ordendecompra/see.html', {
        'menu_main': usuario.main_menu_struct(),
        'titulo': 'Órden de Compra',
        'titulo_descripcion': obj,
        'read_only': True,
        'frm': frm,
        'toolbar': toolbar,
        'piezas': list(obj.piezas_requeridas.all()),
        'req_ui': requires_jquery_ui(request),
        'obj': obj
        })
示例#5
0
def see(request, pk):
    usuario = Usr.objects.filter(id=request.user.pk)[0]
    if not Cliente.objects.filter(pk=pk).exists():
        return HttpResponseRedirect(reverse('item_no_encontrado'))
    obj = Cliente.objects.get(pk=pk)
    if 'POST' == request.method:
        if 'add-home-add' == request.POST.get('action'):
            frm = FrmDireccion(request.POST)
            dir = frm.save()
            obj.direccion_casa = dir
            obj.direccion_casa.created_by = usuario
            obj.direccion_casa.updated_by = usuario
            obj.save()
        elif 'upd-home-add' == request.POST.get('action'):
            frm = FrmDireccion(instance=obj.direccion_casa, data=request.POST)
            obj.direccion_casa.updated_by = usuario
            dir = frm.save()
        elif 'add-office-add' == request.POST.get('action'):
            frm = FrmDireccion(request.POST)
            dir = frm.save()
            obj.direccion_oficina = dir
            obj.direccion_oficina.created_by = usuario
            obj.direccion_oficina.updated_by = usuario
            obj.save()
        elif 'upd-office-add' == request.POST.get('action'):
            frm = FrmDireccion(instance=obj.direccion_oficina,
                               data=request.POST)
            obj.direccion_oficina.updated_by = usuario
            dir = frm.save()
        elif "add-note" == request.POST.get('action'):
            add_nota(obj,
                     request.POST.get('nota').strip(),
                     request.POST.get('fecha_notificacion'), usuario)
        elif "add-alert" == request.POST.get("action"):
            add_alert(
                request.POST.get('nota').strip(),
                request.POST.get('fecha_notificacion'), obj, usuario)
    frmUsr = FrmClienteUsr(instance=obj)
    frmContacto = FrmClienteContacto(instance=obj)
    frmFacturacion = FrmClienteFacturacion(instance=obj)
    toolbar = []
    if usuario.has_perm_or_has_perm_child('cliente.clientes_user'):
        toolbar.append({
            'type': 'link',
            'view': 'cliente_index',
            'label': '<i class="fas fa-list-ul"></i> Ver todos'
        })
    if usuario.has_perm_or_has_perm_child('nota.ver_notas_del_cliente_nota'):
        toolbar.append({
            'type': 'button',
            'label': '<i class="far fa-comment-alt"></i> Notas',
            'onclick': 'Cte.showNotasSglCte()',
        })
    if usuario.has_perm_or_has_perm_child('nota.ver_notas_del_cliente_nota'):
        toolbar.append({
            'type': 'button',
            'label': '<i class="far fa-bell"></i> Alerta',
            'onclick': 'Cte.showAlertsSglCte()',
        })
    if usuario.has_perm_or_has_perm_child('cliente.actualizar_clientes_user'):
        toolbar.append({
            'type': 'link_pk',
            'view': 'cliente_update',
            'label': '<i class="far fa-edit"></i> Actualizar',
            'pk': pk
        })
    if usuario.has_perm_or_has_perm_child('cliente.eliminar_clientes_user'):
        toolbar.append({
            'type': 'link_pk',
            'view': 'cliente_delete',
            'label': '<i class="far fa-trash-alt"></i> Eliminar',
            'pk': pk
        })
    return render(
        request, 'app/cliente/see.html', {
            'menu_main':
            usuario.main_menu_struct(),
            'titulo':
            'Cliente',
            'titulo_descripcion':
            obj,
            'read_only':
            True,
            'titulo_frm_1':
            'Usuario',
            'frm':
            frmUsr,
            'titulo_frm_2':
            'Contacto',
            'frm2':
            frmContacto,
            'titulo_frm_4':
            'Facturación',
            'frm4':
            frmFacturacion,
            'fotografia':
            obj.fotografia,
            'toolbar':
            toolbar,
            'direccion_casa':
            obj.direccion_casa,
            'direccion_oficina':
            obj.direccion_oficina,
            'frm_direccion_casa':
            FrmDireccion(instance=obj.direccion_casa),
            'frm_direccion_oficina':
            FrmDireccion(instance=obj.direccion_oficina),
            'vehiculos':
            list(obj.vehiculos.all()),
            'cte':
            obj,
            'can_add_note':
            usuario.has_perm_or_has_perm_child(
                'nota.ver_notas_del_cliente_nota'),
            'can_add_alert':
            usuario.has_perm_or_has_perm_child(
                'alerta.agregar_alertas_al_cliente_alerta'),
            'req_ui':
            requires_jquery_ui(request),
        })