def post(self, request, *args, **kwargs): data = {} action = request.POST['action'] try: if action == 'add': f = ClienteForm(request.POST) if User.objects.filter(email=f.data['email']): data['error'] = 'Ya existe un cliente con este correo' else: data = self.save_data(f) elif action == 'edit': pk = request.POST['id'] cliente = User.objects.get(pk=int(pk)) f = ClienteForm(request.POST, instance=cliente) if User.objects.filter(email=f.data['email']): data['error'] = 'Ya existe un cliente con este correo' else: data = self.save_data(f) elif action == 'delete': pk = request.POST['id'] cli = User.objects.get(pk=pk) cli.delete() data['resp'] = True else: data['error'] = 'No ha seleccionado ninguna opción' except Exception as e: data['error'] = str(e) return HttpResponse(json.dumps(data), content_type='application/json')
def crearcli(request): data = {} f = ClienteForm(request.POST) try: if request.method == 'POST': if Proveedor.objects.filter(documento=0, numero_documento=request.POST['cedula']): f.add_error("cedula", "Numero de Cedula ya exitente en los Proveedores") data['error'] = f.errors elif Empleado.objects.filter(cedula=request.POST['cedula']): f.add_error("cedula", "Numero de Cedula ya exitente en los Empleados") data['error'] = f.errors elif verificar(request.POST['cedula']): with transaction.atomic(): if f.is_valid(): var = f.save() data['resp'] = True data['cliente'] = var.toJSON() return JsonResponse(data) else: data['error'] = f.errors else: f.add_error("cedula", "Numero de Cedula no valido para Ecuador") data['error'] = f.errors except Exception as e: gs = goslate.Goslate() data['error'] = gs.translate(str(e), 'es') return JsonResponse(data)
def crear(request): f = ClienteForm(request.POST) data = { 'icono': opc_icono, 'entidad': opc_entidad, 'crud': crud, 'boton': 'Guardar Cliente', 'action': 'add', 'titulo': 'Nuevo Registro de un Cliente' } action = request.POST['action'] data['action'] = action if request.method == 'POST' and 'action' in request.POST: if action == 'add': f = ClienteForm(request.POST) if f.is_valid(): f.save(commit=False) if Proveedor.objects.filter(documento=0, numero_documento=f.data['cedula']): data[ 'error'] = 'Numero de Cedula ya exitente en los Proveedores' data['form'] = f elif Empleado.objects.filter(cedula=f.data['cedula']): data[ 'error'] = 'Numero de Cedula ya exitente en los Empleados' data['form'] = f elif verificar(f.data['cedula']): f.save() return HttpResponseRedirect('/cliente/lista') else: data['error'] = 'Numero de Cedula no valido para Ecuador' data['form'] = f else: data['form'] = f return render(request, 'front-end/cliente/cliente_form.html', data)
def post(self, request): print "registrado" try: cliente_instance = Cliente.objects.get(dni=request.POST['Cliente']) form = RecetaForm(request.POST, request.FILES) if form.is_valid(): receta = form.save(commit=False) receta.cliente = cliente_instance receta.save() form.save_m2m() form = RecetaForm() cliente_form = ClienteForm() return redirect("/receta/historialcliente?dni=" + str(cliente_instance.dni)) else: print form.errors cliente_form = ClienteForm messages.error( request, 'No se pudo registrar, se produjeron algunos errores.') return render(self.request, self.template_name, locals()) except Cliente.DoesNotExist: messages.error( request, 'No se pudo registrar, el cliente seleccionado no existe.') form = RecetaForm() cliente_form = ClienteForm return render(self.request, self.template_name, locals())
def nuevo(request): data = { 'icono': opc_icono, 'entidad': opc_entidad, 'crud': crud, 'empresa': empresa, 'boton': 'Guardar Cliente', 'action': 'add', 'titulo': 'Nuevo Registro de un Cliente', } if request.method == 'GET': data['form'] = ClienteForm() return render(request, 'front-end/cliente/cliente_form.html', data)
def post(self, request, *args, **kwargs): data = {} action = request.POST['action'] try: print(action) if action == 'add': f = ClienteForm(request.POST) datos = request.POST data = self.save_data(f, datos) elif action == 'edit': pk = request.POST['id'] cliente = User.objects.get(pk=int(pk)) f = ClienteForm(request.POST, instance=cliente) if f.is_valid(): f.edit() else: data['error'] = f.errors elif action == 'delete': pk = request.POST['id'] cli = Cliente.objects.get(pk=pk) cli.delete() data['resp'] = True else: data['error'] = 'No ha seleccionado ninguna opción' except Exception as e: data['error'] = str(e) return HttpResponse(json.dumps(data), content_type='application/json')
def cliente_view(request): if request.method == 'POST': form = clienteForm(request.POST) if form.is_valid(): form.save() return redirect('cliente:index') else: form = ClienteForm() return render(request, 'cliente/cliente_form.html', {'form': form})
def get(self,request): cliente_form = ClienteForm() venta_form = VentaForm() ProductoForm = DetalleVentaForm() LenteForm = DetalleLenteForm() nro_venta = get_venta() nro_pedido = get_nota_pedido() nro_bloque_venta = BloqueVenta_last_id() nro_bloque_pedido = BloquePedido_last_id() return render(request,self.template_name,locals())
def get_context_data(self, **kwargs): data = super().get_context_data(**kwargs) data['icono'] = opc_icono data['entidad'] = opc_entidad data['titulo'] = 'Nueva Confeccion' data['empresa'] = empresa data['form'] = TransaccionForm() data['form2'] = Detalle_confeccionform() data['detalle'] = [] user = Cliente.objects.get(cedula=self.request.user.cedula) data['formc'] = ClienteForm(instance=user) return data
def cliente_edit(request, id_cliente): cliente = Cliente.objects.get(id=id_cliente) if request.method == 'GET': form = ClienteForm(instance=cliente) else: form = ClienteForm(request.POST, instance=cliente) if form.is_valid(): form.save() return redirect('cliente:cliente_listar') return render(request, 'cliente/cliente_form.html', {'form': form})
def formulario_view(request): if request.method == 'POST': form = ClienteForm(request.POST) if form.is_valid(): form.save() else: form = ClienteForm() return render(request, 'cliente/index.html', {'form': form})
def get_context_data(self, **kwargs): data = super().get_context_data(**kwargs) data['icono'] = opc_icono data['entidad'] = opc_entidad data['titulo'] = 'Nuevo Alquiler' data['empresa'] = empresa data['form'] = TransaccionForm() data['form2'] = Detalle_AlquilerForm() data['detalle'] = [] user = User.objects.get(id=self.request.user.id) data['formc'] = ClienteForm(instance=user) return data
def get_context_data(self, **kwargs): data = super().get_context_data(**kwargs) data['icono'] = opc_icono data['entidad'] = opc_entidad data['boton'] = 'Guardar Venta' data['titulo'] = 'Nueva Venta' data['nuevo'] = '/venta/nuevo' data['empresa'] = empresa data['form'] = TransaccionForm() data['form2'] = Detalle_VentaForm() data['detalle'] = [] data['formc'] = ClienteForm() return data
def post(self, request, *args, **kwargs): data = {} action = request.POST['action'] try: if action == 'add': datos = json.loads(request.POST['confeccion']) if datos: with transaction.atomic(): asig = Asig_recurso() asig.fecha_asig = datos['inicio_produccion'] asig.fecha_fin = datos['fin_produccion'] asig.user_id = datos['cliente'] asig.save() c = Transaccion() c.fecha_trans = datos['fecha_venta'] c.user_id = datos['cliente'] c.subtotal = float(datos['subtotal']) c.iva = float(datos['iva']) c.total = float(datos['total']) c.tipo = 3 c.save() v = Confeccion() v.transaccion_id = c.id v.confeccion_id = asig.id v.save() if datos['productos']: for i in datos['productos']: dtp = Detalle_produccion() dtp.asignacion_id = asig.id dtp.producto_id = int(i['id']) dtp.cantidad = int(i['cantidad_venta']) dtp.save() dv = Detalle_confeccion() dv.producto_id = dtp.id dv.pvp_by_confec = float(i['pvp']) dv.subtotal = float(i['subtotal']) dv.save() data['id'] = v.id data['resp'] = True else: data['resp'] = False data['error'] = "Datos Incompletos" elif action == 'add_cliente': f = ClienteForm(request.POST) datos = request.POST data = self.save_data(f, datos) else: data['error'] = 'No ha seleccionado ninguna opción' except Exception as e: data['error'] = str(e) return HttpResponse(json.dumps(data), content_type='application/json')
def get_context_data(self, **kwargs): data = super().get_context_data(**kwargs) data['icono'] = opc_icono data['entidad'] = opc_entidad data['boton'] = 'Guardar' data['titulo'] = 'Ventas' data['titulo_lista'] = 'Listado de Ventas' data['titulo_modal_person'] = 'Agregar Cliente' data['empresa'] = empresa data['form'] = VentaForm data['form2'] = Detalle_VentaForm() # data['detalle'] = [] data['formp'] = ClienteForm() return data
def post(self, request, *args, **kwargs): data = {} action = request.POST['action'] pk = request.POST['id'] try: if action == 'add': datos = json.loads(request.POST['ventas']) if datos: with transaction.atomic(): c = Transaccion() c.fecha_trans = datos['fecha_venta'] c.user_id = datos['cliente'] c.subtotal = float(datos['subtotal']) c.iva = float(datos['iva']) c.total = float(datos['total']) c.tipo = 2 c.save() v = Alquiler() v.transaccion_id = c.id v.fecha_salida = datos['fecha_salida'] v.save() if datos['productos']: for i in datos['productos']: stock = Producto.objects.get(id=i['id']) dv = Detalle_alquiler() dv.alquiler_id = v.id dv.inventario_id = int(i['id']) dv.cantidad = int(i['cantidad_venta']) dv.pvp_by_alquiler = stock.pvp_alq dv.subtotal = float(i['subtotal']) dv.save() stock.stock -= int(i['cantidad_venta']) stock.save() data['id'] = v.id data['resp'] = True elif action == 'add_user': f = ClienteForm(request.POST) datos = request.POST data = self.save_data(f, datos) else: data['resp'] = False data['error'] = "Datos Incompletos" except Exception as e: data['error'] = str(e) return HttpResponse(json.dumps(data), content_type='application/json')
def post(self, request, *args, **kwargs): data = {} action = request.POST['action'] try: if action == 'add': f = ClienteForm(request.POST) data = self.save_data(f) if action == 'file': f = FileForm(request.POST, request.FILES) if f.is_valid(): var = f.save() num = pd.read_excel(var.archivo.path) data_dict = num.to_dict('list') celulares = data_dict['celular'] key_to_lookup = 'nombre' if key_to_lookup in data_dict: nombres = data_dict['nombre'] combo = zip(nombres, celulares) for nombre, celular in combo: c = Cliente() c.nombres = nombre c.telefono = '+' + str(celular) c.save() else: for numero in celulares: c = Cliente() c.nombres = 'Sin nombre' c.telefono = '+' + str(numero) c.save() else: data['error'] = f.errors elif action == 'edit': pk = request.POST['id'] cliente = Cliente.objects.get(pk=int(pk)) f = ClienteForm(request.POST, instance=cliente) data = self.save_data(f) elif action == 'delete': pk = request.POST['id'] cli = Cliente.objects.get(pk=pk) cli.delete() data['resp'] = True else: data['error'] = 'No ha seleccionado ninguna opción' except Exception as e: data['error'] = str(e) return HttpResponse(json.dumps(data), content_type='application/json')
def get_context_data(self, **kwargs): data = super().get_context_data(**kwargs) data['icono'] = opc_icono data['entidad'] = opc_entidad data['boton'] = 'Guardar Venta' data['titulo'] = 'Nueva Venta' data['nuevo'] = '/venta/nuevo' data['empresa'] = empresa data['form'] = VentaForm() data['form2'] = Detalle_VentaForm() data['detalle'] = [] data['formc'] = UserForm() data['formp'] = ClienteForm() data['titulo_modal_person'] = 'Registro de un nuevo Cliente' data['boton_fac'] = 'Facturar Venta' data['titulo_lista'] = 'Detalle de productos' data['titulo_detalle'] = 'Datos de la factura' return data
def post(self, request, *args, **kwargs): data = {} action = request.POST['action'] pk = request.POST['id'] try: if action == 'add': datos = json.loads(request.POST['reparacion']) if datos: with transaction.atomic(): c = Transaccion() c.fecha_trans = datos['fecha_venta'] c.user_id = datos['cliente'] c.subtotal = float(datos['subtotal']) c.iva = float(datos['iva']) c.total = float(datos['total']) c.tipo = 1 c.save() v = Reparacion() v.transaccion_id = c.id v.fecha_ingreso = datos['fecha_ingreso'] v.save() if datos['productos']: for i in datos['productos']: dv = Detalle_reparacion() dv.reparacion_id = v.id dv.producto_id = int(i['id']) dv.cantidad = int(i['cantidad_venta']) dv.pvp_rep_by_prod = float(i['pvp']) dv.subtotal = float(i['subtotal']) dv.save() data['id'] = v.id data['resp'] = True else: data['resp'] = False data['error'] = "Datos Incompletos" elif action == 'save_user': f = ClienteForm(request.POST) datos = request.POST data = self.save_data(f, datos) else: data['error'] = 'No ha seleccionado ninguna opción' except Exception as e: data['error'] = str(e) return HttpResponse(json.dumps(data), content_type='application/json')
def nuevo(request): data = { 'icono': opc_icono, 'entidad': opc_entidad, 'crud': '../venta/get_producto', 'crudserv': '../venta/get_servicio', 'empresa': empresa, 'boton': 'Guardar Venta', 'action': 'add', 'titulo': 'Nuevo Registro de una Venta', 'key': '' } if request.method == 'GET': data['form'] = VentaForm() data['form2'] = Detalle_VentaForm() data['form3'] = Detalle_VentaForm_serv() data['formc'] = ClienteForm() data['detalle'] = [] return render(request, 'front-end/venta/venta_form.html', data)
def editar(request, id): cargo = Cliente.objects.get(id=id) crud = '/cliente/editar/' + str(id) data = { 'icono': opc_icono, 'crud': crud, 'entidad': opc_entidad, 'empresa': empresa, 'boton': 'Guardar Edicion', 'titulo': 'Editar Registro de un Cliente', 'option': 'editar' } if request.method == 'GET': form = ClienteForm(instance=cargo) data['form'] = form else: form = ClienteForm(request.POST, instance=cargo) if form.is_valid(): form.save() else: data['form'] = form return HttpResponseRedirect('/cliente/lista') return render(request, 'front-end/cliente/cliente_form.html', data)
def post(self,request): venta_form = VentaForm(request.POST) if venta_form.is_valid(): venta = venta_form.save(commit=False) if request.POST['Cliente']: #El if verifica si existe un cliente cliente = Cliente.objects.get(pk=request.POST['Cliente']) if cliente: venta.dni_cliente = cliente venta.save() total = Decimal(0) #variable para calcular el total nro_productos = int(request.POST['NumeroProductos']) + 1 for i in range(1,nro_productos): producto_codigo = "producto-codigo-" + str(i) producto_precio = "producto-precio-" + str(i) producto_cantidad = "producto-cantidad-" + str(i) detalle = DetalleVenta() producto = Producto.objects.get(pk=request.POST[producto_codigo]) producto.stock_actual = producto.stock_actual - int(request.POST[producto_cantidad]) producto.save() detalle.producto = producto detalle.nro_venta = venta detalle.cantidad = int(request.POST[producto_cantidad]) detalle.precio = Decimal(request.POST[producto_precio]) detalle.save() total = total + Decimal(detalle.precio)*Decimal(detalle.cantidad) nro_lentes = int(request.POST['NumeroLentes']) + 1 for i in range(1,nro_lentes): #Guardar Detalles Lentes lente_codigo = "lente-codigo-" + str(i) lente_complementos = "lente-complementos-" + str(i) lente_precio = "lente-precio-" + str(i) item = DetalleLente() item.nro_venta = venta item.lente = Lente.objects.get( pk=str(request.POST[lente_codigo]) ) item.precio = Decimal(request.POST[lente_precio]) item.save() id_detalle = item.id longitud = len(request.POST.getlist(lente_complementos)) lista = request.POST.getlist(lente_complementos) item = DetalleLente.objects.get(pk=id_detalle) for i in range(0,longitud): item.complementos.add(Aditivos.objects.get( pk = lista[i])) item.save() total = total + Decimal(item.precio) venta = Venta.objects.get(pk=venta.id) #Actualizar venta venta.nro = get_venta() venta.bloque = BloqueVenta_last_id() flag = str(request.POST['tipo_recibo']) if flag == "True": #Boleta de Venta venta.cancelado = True venta.importe = Decimal(request.POST['importe']) venta.total = Decimal(total) venta.saldo = total-venta.importe venta.save() else: #Nota de Pedido nota = NotaPedido() nota.nro = get_nota_pedido() nota.bloque = BloquePedido_last_id() nota.venta = venta nota.importe = Decimal(request.POST['importe']) nota.saldo = total - Decimal(request.POST['importe']) nota.save() venta.cancelado = False venta.importe = Decimal(request.POST['importe']) venta.total = total venta.saldo = total - venta.importe venta.save() messages.success(request, 'La venta número '+ str(venta.nro) +' se registro con éxito') return redirect('reporte/'+str(venta.id)) else: messages.error(request, 'No se pudo registrar la venta, ocurrio un error en el formulario de venta.') cliente_form = ClienteForm() venta_form = VentaForm() ProductoForm = DetalleVentaForm() LenteForm = DetalleLenteForm() nro_venta = get_venta() nro_pedido = get_nota_pedido() nro_bloque_venta = BloqueVenta_last_id() nro_bloque_pedido = BloquePedido_last_id() return render(request,self.template_name,locals())