From 529b9076effb94f85b82266f8a6224c5b9583ea2 Mon Sep 17 00:00:00 2001 From: Oscar Alvarez Date: Fri, 12 Jun 2020 01:45:40 -0500 Subject: [PATCH] Fix quantity validation when product is none --- app/mainwindow.py | 10 +- app/translations_old/i18n_es.qm | Bin 13013 -> 0 bytes app/translations_old/i18n_es.ts | 823 -------------------------------- 3 files changed, 4 insertions(+), 829 deletions(-) delete mode 100644 app/translations_old/i18n_es.qm delete mode 100644 app/translations_old/i18n_es.ts diff --git a/app/mainwindow.py b/app/mainwindow.py index 0e17a3f..204e702 100644 --- a/app/mainwindow.py +++ b/app/mainwindow.py @@ -778,9 +778,11 @@ class MainWindow(FrontWindow): rec = {} try: quantity = Decimal(eval_value) - if self._sale_line['product'].get('quantity'): - if not self._check_stock_quantity(self._sale_line['product'], quantity): + _product = self._sale_line['product'] + if _product and _product.get('quantity'): + if not self._check_stock_quantity(_product, quantity): return + if self._current_line_id: rec = self.ModSaleLine.faster_set_quantity({ 'id': self._current_line_id, @@ -1379,9 +1381,6 @@ class MainWindow(FrontWindow): ] sales = self.ModSale.find(dom, order=[('id', 'DESC')]) - # for sale in sales: - # if sale['salesman']: - # print(sale['salesman']) self.dialog_search_sales.set_from_values(sales) if self.enviroment == 'retail': @@ -2225,7 +2224,6 @@ class MainWindow(FrontWindow): if value: self.state_line[field] = value - def dialog_product_edit_accepted(self): if not self.state_line: return diff --git a/app/translations_old/i18n_es.qm b/app/translations_old/i18n_es.qm deleted file mode 100644 index 420adf21b7206fc7102123bd5cfb7c724cc3c87d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13013 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 - - - - ButtonsFunction - - - SEARCH - BUSCAR - - - - CUSTOMER - CLIENTE - - - - CANCEL - CANCELAR - - - - PRINT - IMPRIMIR - - - - SALESMAN - VENDEDOR - - - - GLOBAL DISCOUNT - DESCUENTO GLOBAL - - - - ORDER - ENV. ORDEN - - - - NEW SALE - NUEVA VENTA - - - - PAY MODE - MEDIO DE PAGO - - - - PAY TERM - PLAZO DE PAGO - - - - POSITION - POSICION - - - - NOTE - NOTA - - - - TIP - PROPINA - - - - TABLES - MESAS - - - - RESERVATIONS - RESERVACIONES - - - - S. SALE - B. VENTA - - - - WAITER - MESERO - - - - MainWindow - - - SYSTEM READY... - SISTEMA LISTO... - - - - DO YOU WANT TO EXIT? - DESEA SALIR? - - - - PLEASE CONFIRM YOUR PAYMENT TERM AS CREDIT? - POR FAVOR CONFIRMAR SI SU PLAZO DE PAGO ES CREDITO? - - - - SALE ORDER / INVOICE NUMBER NOT FOUND! - ORDER / FACTURA DE VENTA NO ENCONTRADA! - - - - THIS SALE IS CLOSED, YOU CAN NOT TO MODIFY! - ESTA VENTA ESTA CERRADA, Y USTED NO PUEDE MODIFICARLA! - - - - DISCOUNT VALUE IS NOT VALID! - EL DESCUENTO NO ES VALIDO! - - - - YOU CAN NOT ADD PAYMENTS TO SALE ON DRAFT STATE! - NO PUEDE AGREGAR PAGOS A UNA VENTA EN BORRADOR! - - - - ENTER QUANTITY... - INGRESE LA CANTIDAD... - - - - ENTER DISCOUNT... - INGRESE EL DESCUENTO... - - - - ENTER PAYMENT AMOUNT BY: %s - INGRESE EL VALOR DEL PAGO EN: %s - - - - ENTER NEW PRICE... - INGRESE EL NUEVO PRECIO... - - - - ORDER SUCCESUFULLY SENT. - ORDEN ENVIADA EXITOSAMENTE. - - - - FAILED SEND ORDER! - FALLO EL ENVIO DE LA ORDEN! - - - - MISSING AGENT! - FALTA EL AGENTE! - - - - THERE IS NOT SALESMAN FOR THE SALE! - NO SE DEFINIDO EL VENDEDOR EN LA VENTA! - - - - YOU CAN NOT CONFIRM A SALE WITHOUT PRODUCTS! - NO PUEDE CONFIRMAR UNA VENTA SIN PRODUCTOS! - - - - USER WITHOUT PERMISSION FOR SALE POS! - USUARIO SIN PERMISOS PARA VENTA POS! - - - - THE QUANTITY IS NOT VALID...! - LA CANTIDAD NO ES VALIDAD...! - - - - MISSING THE DEFAULT PARTY ON SHOP CONFIGURATION! - FALTA CONFIGURAR EL TERCERO EN LA TIENDA! - - - - MISSING SET THE JOURNAL ON DEVICE! - FALTA EL ESTADO DE CUENTA PARA LA CAJA! - - - - PRODUCT NOT FOUND! - PRODUCTO NO ENCONTRADO! - - - - DO YOU WANT CREATE NEW SALE? - DESEA CREAR UNA NUEVA VENTA? - - - - ARE YOU WANT TO CANCEL SALE? - DESEA CANCELAR LA VENTA? - - - - AGENT NOT FOUND! - AGENTE NO ENCONTRADO! - - - - COMMISSION NOT VALID! - LA COMISIÓN NO ES VÁLIDA! - - - - CREDIT LIMIT FOR CUSTOMER EXCEED! - EL CLIENTE SUPERA SU CUPO DE CREDITO! - - - - THE CUSTOMER CREDIT CAPACITY IS ABOVE 80% - EL CUPO DE CREDITO DEL CLIENTE ESTA SOBRE EL 80% - - - - YOU CAN NOT FORCE ASSIGN! - NO PUEDE FORZAR UNA ASIGACIÓN! - - - - INVOICE: - FACTURA: - - - - INVOICE - FACTURA - - - - PARTY - CLIENTE - - - - DATE - FECHA - - - - SALESMAN - VENDEDOR - - - - PAYMENT TERM - PLAZO DE PAGO - - - - No ORDER - No PEDIDO - - - - POSITION - POSICION - - - - AGENT - AGENTE - - - - DELIVERY CHARGE - CARGO DOMICILIO - - - - SUBTOTAL - SUBTOTAL - - - - TAXES - IMPUESTOS - - - - DISCOUNT - DESCUENTO - - - - TOTAL - TOTAL - - - - PAID - PAGADO - - - - CHANGE - CAMBIO - - - - SHOP - TIENDA - - - - DEVICE - CAJA - - - - DATABASE - BD - - - - USER - USUARIO - - - - PRINTER - IMPRESORA - - - - ID - ID - - - - NUMBER - NUMERO - - - - TOTAL AMOUNT - VALOR TOTAL - - - - SEARCH SALES... - BUSCAR VENTAS... - - - - CODE - CÓDIGO - - - - STOCK - INVENTARIO - - - - NAME - NOMBRE - - - - DESCRIPTION - DESCRIPCIÓN - - - - BRAND - MARCA - - - - PRICE - PRECIO - - - - LOCATION - LOCACIÓN - - - - IMAGE - IMAGEN - - - - ID NUMBER - NUMERO ID - - - - PHONE - TELÉFONO - - - - PAYMENT MODE: - MEDIO DE PAGO: - - - - SELECT PAYMENT MODE: - SELECCIONE EL MEDIO DE PAGO: - - - - WAREHOUSE - BODEGA - - - - QUANTITY - CANTIDAD - - - - STOCK BY PRODUCT: - INVENTARIO POR PRODUCTO: - - - - Id - Id - - - - Salesman - Vendedor - - - - CHOOSE SALESMAN - ESCOGE EL VENDEDOR - - - - CHOOSE TAX - ESCOJA EL IMPUESTO - - - - SELECT PAYMENT TERM - SELECCIONE EL MODO DE PAGO - - - - INVOICE NUMBER - NUMERO DE FACTURA - - - - TYPE - TIPO - - - - ORDER - PEDIDO - - - - INSERT PASSWORD FOR CANCEL - INGRESE LA CONTRASEÑA PARA CANCELAR - - - - GLOBAL DISCOUNT - DESCUENTO GLOBAL - - - - PASSWORD FORCE ASSIGN - CONTRASEÑA PARA FORZAR ASIGNACIÓN - - - - VOUCHER NUMBER - NÚMERO DE VOUCHER - - - - COMMISSION - COMISIÓN - - - - AMOUNT - VALOR - - - - COMMENTS - COMENTARIOS - - - - QUANTITY: - CANTIDAD: - - - - UNIT PRICE: - PRECIO UNITARIO: - - - - COD - COD - - - - UNIT - UND - - - - QTY - CANT - - - - DISC - DESC - - - - NOTE - NOTA - - - - UNIT PRICE W TAX - PRECIO UNIT CON IMP - - - - STATEMENT JOURNAL - ESTADO DE CUENTA - - - - THE USER HAVE NOT PERMISSIONS FOR ACCESS TO DEVICE! - EL USUARIO NO TIENE PERMISOS PARA ACCEDER A CAJA! - - - - THERE IS NOT A STATEMENT OPEN FOR THIS DEVICE! - NO HAY ESTADO DE CUENTA ABIERTOS POR ESTA CAJA! - - - - YOU HAVE NOT PERMISSIONS FOR DELETE THIS SALE! - NO TIENE PERMISOS PARA BORRAR ESTA VENTA! - - - - YOU HAVE NOT PERMISSIONS FOR CANCEL THIS SALE! - NO TIENE PERMISOS PARA CANCELAR LA VENTA! - - - - THE CUSTOMER HAS NOT CREDIT! - EL CLIENTE NO TIENE CREDITO! - - - - CUSTOMER - CLIENTE - - - - COMPANY - COMPAÑIA - - - - ADDRESS - DIRECCION - - - - SEARCH CUSTOMER - BUSCAR CLIENTE - - - - ASSIGNED TABLE - MESA ASIGNADA - - - - FIRST YOU MUST CREATE/LOAD A SALE! - PRIMERO DEBE AGREGAR/CARGAR UNA VENTA! - - - - FRACTION: - FRACCIÓN: - - - - FRAC - FRAC - - - - DO YOU WANT TO CONFIRM THE SEND ORDER? - DESEAS CONFIRMAR EL ENVIO DE LA ORDEN? - - - - ActionButton - - - &ACCEPT - &ACEPTAR - - - - &CANCEL - &CANCELAR - - - - FrontWindow - - - APPLICATION - APLICACION - - - - HelpDialog - - - Keys Shortcuts... - Atajos de Teclado... - - - - Action - Acción - - - - Shortcut - Atajo - - - - Login - - - HOST - SERVIDOR - - - - DATABASE - BASE DE DATOS - - - - USER - USUARIO - - - - PASSWORD - CONTRASEÑA - - - - C&ANCEL - C&ANCELAR - - - - &CONNECT - &CONECTAR - - - - Error: username or password invalid...! - Error: nombre de usuario o contraseña inválido! - - - - MenuButtons - - - Menu... - Menu... - - - - &ACCEPT - &ACCEPT - - - - &BACK - &BACK - - - - QuickDialog - - - Warning... - Advertencia... - - - - Information... - Información... - - - - Action... - Acción... - - - - Help... - Ayuda... - - - - Error... - Error... - - - - Question... - Pregunta... - - - - Selection... - Selección... - - - - Dialog... - Dialogo... - - - - SQLModel - - - Name - - - - - Salary - - - - - SearchDialog - - - Search Products... - Buscar Productos... - - - - SearchWindow - - - SEARCH... - BUSCAR... - - - - FILTER: - FILTRO: - - - - SelectionWindow - - - SEARCH... - BUSCAR... - - - - &ACCEPT - &ACEPTAR - - - - &RETURN - &VOLVER - - - - main - - - Enter your password: - Ingrese su password: - - -