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), })
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), })
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, })
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 })
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), })