adrielso 6 лет назад
Родитель
Сommit
2c13c6087a

+ 1 - 0
__openerp__.py

@@ -8,6 +8,7 @@
     'depends': [
         'account',
         'eiru_assets',
+        'currency_utility',
     ],
     'data': [
         'views/template.xml',

+ 1 - 1
models/account_bank_statement_utility.py

@@ -44,7 +44,7 @@ class AccountBankStatementUtility(models.Model):
             'typeStatement': bankStatement.type_statement.id,
             'typeStatementName': bankStatement.type_statement.name,
             'state': bankStatement.state,
-            'amount': amount,
+            'amount': round(amount,decimal_precision),
             'currencystatement': {
                 'id': bankStatement.currency.id,
                 'symbol': bankStatement.currency.symbol,

+ 9 - 3
static/src/js/eiru_statement_cashbox_deleted.js

@@ -21,7 +21,7 @@
         },
         /* start */
         start: function () {
-            var self = this
+            var self = this;
             this.$el.click(function() {
                 // self.showModal()
                 self.fetchInitial();
@@ -202,6 +202,9 @@
                 tableOutput.removeClass('table-row-select');
 
                 if (this.checked) {
+                    if (cashOutputSelected)
+                        cashOutputSelected.checked = false
+
                     if (!(_.contains(self.statementConfig[0].delete_input_user_ids, self.resUser[0].id))){
                         $('.expired-account-modal').find('.warning-message').css('display','flex');
                         $('.expired-account-modal').find('.message-error').text("No tienes autorización para eliminar las entradas de dinero..");
@@ -231,6 +234,9 @@
                 tableOutput.removeClass('table-row-select');
 
                 if (this.checked) {
+                    if (cashInputSelected)
+                        cashInputSelected.checked = false
+
                     if (!(_.contains(self.statementConfig[0].delete_output_user_ids, self.resUser[0].id))){
                         $('.expired-account-modal').find('.warning-message').css('display','flex');
                         $('.expired-account-modal').find('.message-error').text("No tienes autorización para eliminar las salidas de dinero.");
@@ -258,7 +264,7 @@
 
                 if (!!rowSelected) {
                     casboxRef.val(rowSelected.ref);
-                    casboxAmount.val(accounting.formatNumber(rowSelected.amount, rowSelected.statement.currency.decimalPlaces, rowSelected.statement.currency.thousandsSeparator,rowSelected.statement.currency.decimalSeparator));
+                    casboxAmount.val(instanceWeb.formatCurrency(rowSelected.amount, rowSelected.statement.currency));
                     buttonDeleted.removeAttr("disabled");
                 }
             });
@@ -279,7 +285,7 @@
 
                 if (!!rowSelected) {
                     casboxRef.val(rowSelected.ref);
-                    casboxAmount.val(accounting.formatNumber(rowSelected.amount, rowSelected.statement.currency.decimalPlaces, rowSelected.statement.currency.thousandsSeparator,rowSelected.statement.currency.decimalSeparator));
+                    casboxAmount.val(instanceWeb.formatCurrency(rowSelected.amount, rowSelected.statement.currency));
                     buttonDeleted.removeAttr("disabled");
                 }
             });

+ 14 - 8
static/src/js/eiru_statement_cashbox_input.js

@@ -19,7 +19,7 @@
         },
         /* start */
         start: function () {
-            var self = this
+            var self = this;
             this.$el.click(function() {
                 self.fetchInitial();
             });
@@ -145,8 +145,13 @@
 
             /*Monto del chque */
             amountCashBox.keyup(function(e) {
-                var amount_add = Math.abs(accounting.unformat(amountCashBox.val(),currency.decimalSeparator));
-                amountCashBox.val(accounting.formatNumber(amount_add, 0, currency.thousandsSeparator, currency.decimalSeparator));
+                if (e.key === currency.decimalSeparator && currency.decimalPlaces > 0)
+                    return false ;
+
+                var amount = instanceWeb.unFormatCurrency(amountCashBox.val());
+                amount = instanceWeb.formatCurrency(amount,currency)
+                amountCashBox.val(amount);
+
                 amountCashBox.css('border-color','#ccc');
                 if (e.keyCode === 13)
                     buttonCashBox.focus();
@@ -154,9 +159,10 @@
 
             /*Monto del cheque */
             amountCashBox.focusout(function(e) {
-                var amount_add = (accounting.unformat(amountCashBox.val(),currency.decimalSeparator));
-                if (amount_add <=  0) {
-                    instanceWeb.notification.do_warn("Atencion", "El monto no puede ser 0.");
+
+                var amount_add = instanceWeb.unFormatCurrency(amountCashBox.val());
+                if (amount_add <=  0.00) {
+                    instanceWeb.notification.do_warn("Atencion", "Monto incorrecto");
                     amountCashBox.css('border-color','red');
                     amountCashBox.focus();
                     return false;
@@ -164,7 +170,7 @@
             });
             /*Click buttonSave*/
             buttonCashBox.click(function(e) {
-                var amount = (accounting.unformat(amountCashBox.val(),currency.decimalSeparator));
+                var amount = instanceWeb.unFormatCurrency(amountCashBox.val());
                 /* Ref transfer */
                 if (!refCashBox.val()) {
                     instanceWeb.notification.do_warn("Atencion", "Debes de ingresar un motivo.");
@@ -175,7 +181,7 @@
                 refCashBox.css('border-color','#ccc');
 
                 /* ammount transfer*/
-                if (amount <= 0) {
+                if (amount <= 0.00) {
                     instanceWeb.notification.do_warn("Atencion", "El valor debe ser mayor a cero.");
                     amountCashBox.css('border-color','red');
                     amountCashBox.focus();

+ 11 - 8
static/src/js/eiru_statement_cashbox_output.js

@@ -134,7 +134,7 @@
             if (!!bankStatement) {
                 currency = bankStatement.currencystatement;
                 statement = [{
-                    'amount': accounting.formatNumber(bankStatement.amount, currency.decimalPlaces, currency.thousandsSeparator, currency.decimalSeparator),
+                    'amount': instanceWeb.formatCurrency(bankStatement.amount, currency),
                     'symbol': bankStatement.currencystatement.symbol
                 }];
             }
@@ -160,16 +160,20 @@
             });
             /*Monto del chque */
             amountCashBox.keyup(function(e) {
-                var amount_add = Math.abs(accounting.unformat(amountCashBox.val(),currency.decimalSeparator));
-                amountCashBox.val(accounting.formatNumber(amount_add, 0, currency.thousandsSeparator, currency.decimalSeparator));
+                if (e.key === currency.decimalSeparator && currency.decimalPlaces > 0)
+                    return false ;
+
+                var amount_add = Math.abs(instanceWeb.unFormatCurrency(amountCashBox.val()));
+                amountCashBox.val(instanceWeb.formatCurrency(amount_add, currency));
+
                 amountCashBox.css('border-color','#ccc');
                 if (e.keyCode === 13)
                     buttonCashBox.focus();
             });
             /*Monto del cheque */
             amountCashBox.focusout(function(e) {
-                var amount_add = (accounting.unformat(amountCashBox.val(),currency.decimalSeparator));
-                var amountTotal = (accounting.unformat(amountTotalCash.val(),currency.decimalSeparator));
+                var amount_add = instanceWeb.unFormatCurrency(amountCashBox.val());
+                var amountTotal = instanceWeb.unFormatCurrency(amountTotalCash.val());
 
                 if (amount_add <=  0) {
                     instanceWeb.notification.do_warn("Atencion", "El monto no puede ser 0.");
@@ -194,12 +198,11 @@
                     }
                 }
                 amountCashBox.css('border-color','#ccc');
-                amountCashBox.val(accounting.formatNumber(amount_add, currency.decimalPlaces, currency.thousandsSeparator, currency.decimalSeparator));
             });
             /*Click buttonSave*/
             buttonCashBox.click(function(e) {
-                var amount = (accounting.unformat(amountCashBox.val(),currency.decimalSeparator));
-                var amountTotal = (accounting.unformat(amountTotalCash.val(),currency.decimalSeparator));
+                var amount = instanceWeb.unFormatCurrency(amountCashBox.val());
+                var amountTotal = instanceWeb.unFormatCurrency(amountTotalCash.val());
 
                 /* Ref transfer */
                 if (!refCashBox.val()) {

+ 31 - 29
static/src/js/eiru_statement_confirm.js

@@ -161,9 +161,9 @@
             var transferSelected = null;
 
             amountSymbol.text(currency.symbol);
-            amountCashbox.val(accounting.formatNumber(self.bankStatement[0].amount, currency.decimalPlaces, currency.thousandsSeparator, currency.decimalSeparator));
-            amountReal.val(accounting.formatNumber(self.bankStatement[0].amount, currency.decimalPlaces, currency.thousandsSeparator, currency.decimalSeparator));
-            amountOpen.val(accounting.formatNumber(self.bankStatement[0].amount, currency.decimalPlaces, currency.thousandsSeparator, currency.decimalSeparator));
+            amountCashbox.val(instanceWeb.formatCurrency(self.bankStatement[0].amount, currency));
+            amountReal.val(instanceWeb.formatCurrency(self.bankStatement[0].amount, currency));
+            amountOpen.val(instanceWeb.formatCurrency(self.bankStatement[0].amount, currency));
             amountDiffer.val(0);
             amountTransfer.val('0');
 
@@ -200,13 +200,16 @@
 
             /* Amount Real .keyup*/
             amountReal.keyup(function(e) {
-                var cashBoxAmount = accounting.unformat(amountCashbox.val(),currency.decimalSeparator);
-                var realAmount = accounting.unformat(amountReal.val(),currency.decimalSeparator);
+                if (e.key === currency.decimalSeparator && currency.decimalPlaces > 0)
+                    return false ;
+
+                var cashBoxAmount = instanceWeb.unFormatCurrency(amountCashbox.val());
+                var realAmount = instanceWeb.unFormatCurrency(amountReal.val());
                 var differenceAmount = (realAmount - cashBoxAmount);
 
-                amountReal.val(accounting.formatNumber(realAmount,0, currency.thousandsSeparator, currency.decimalSeparator));
-                amountDiffer.val(accounting.formatNumber(differenceAmount,0, currency.thousandsSeparator, currency.decimalSeparator));
-                amountOpen.val(accounting.formatNumber(realAmount,0, currency.thousandsSeparator, currency.decimalSeparator));
+                amountReal.val(instanceWeb.formatCurrency(realAmount, currency));
+                amountDiffer.val(instanceWeb.formatCurrency(differenceAmount, currency));
+                amountOpen.val(instanceWeb.formatCurrency(realAmount, currency));
                 amountReal.css('border-color','#ccc');
 
                 amountDiffer.css('color','#555');
@@ -219,8 +222,8 @@
             });
 
             amountReal.focusout(function(e) {
-                var realAmount = accounting.unformat(amountReal.val(),currency.decimalSeparator);
-                var cashBoxAmount = accounting.unformat(amountCashbox.val(),currency.decimalSeparator);
+                var realAmount = instanceWeb.unFormatCurrency(amountReal.val());
+                var cashBoxAmount = instanceWeb.unFormatCurrency(amountCashbox.val());
 
                 if ((realAmount <= 0) && !(_.contains(self.statementConfig[0].statement_confirm_negative_amount, self.resUser[0].id))) {
                     instanceWeb.notification.do_warn("Atencion", "El valor de cierre debes de ser mayo que 0.");
@@ -235,17 +238,13 @@
                 amountDiffer.css('color','#555');
                 if (differenceAmount < 0 )
                     amountDiffer.css('color','red');
-
-                amountDiffer.val(accounting.formatNumber(differenceAmount,currency.decimalPlaces, currency.thousandsSeparator, currency.decimalSeparator));
-                amountReal.val(accounting.formatNumber( realAmount,currency.decimalPlaces, currency.thousandsSeparator, currency.decimalSeparator));
-                amountOpen.val(accounting.formatNumber( realAmount,currency.decimalPlaces, currency.thousandsSeparator, currency.decimalSeparator));
             });
             /**
             * [Transferencia]
             */
             transferCasbox.click(function(e){
-                var realAmount = accounting.unformat(amountReal.val(),currency.decimalSeparator);
-                amountOpen.val(accounting.formatNumber(realAmount,currency.decimalPlaces, currency.thousandsSeparator, currency.decimalSeparator));
+                var realAmount = instanceWeb.unFormatCurrency(amountReal.val());
+                amountOpen.val(instanceWeb.formatCurrency(realAmount,currency));
                 amountTransfer.val('0');
 
                 transferSelected = e.target;
@@ -257,30 +256,33 @@
                 if (this.checked) {
                     $('.expired-account-modal').find('.is-transfer-confirm').css('display','flex');
                     selectedTrnasfer = true;
-                    amountTransfer.val(accounting.formatNumber(realAmount,currency.decimalPlaces, currency.thousandsSeparator, currency.decimalSeparator));
+                    amountTransfer.val(instanceWeb.formatCurrency(realAmount,currency));
                     amountOpen.val('0');
                 }
             })
 
             cashboxTransfer.change(function(e) {
-                var realAmount = accounting.unformat(amountReal.val(),currency.decimalSeparator);
+                var realAmount = instanceWeb.unFormatCurrency(amountReal.val());
             })
             /* amount transfer Keyup */
             amountTransfer.keyup(function(e){
-                var realAmount = accounting.unformat(amountReal.val(),currency.decimalSeparator);
-                var transferAmount = accounting.unformat(amountTransfer.val(),currency.decimalSeparator);
+                if (e.key === currency.decimalSeparator && currency.decimalPlaces > 0)
+                    return false ;
+
+                var realAmount = instanceWeb.unFormatCurrency(amountReal.val());
+                var transferAmount = instanceWeb.unFormatCurrency(amountTransfer.val());
                 var amount = (realAmount - transferAmount);
 
-                amountTransfer.val(accounting.formatNumber(transferAmount,currency.decimalPlaces, currency.thousandsSeparator, currency.decimalSeparator));
-                amountOpen.val(accounting.formatNumber(amount,currency.decimalPlaces, currency.thousandsSeparator, currency.decimalSeparator));
+                amountTransfer.val(instanceWeb.formatCurrency(transferAmount,currency));
+                amountOpen.val(instanceWeb.formatCurrency(amount,currency));
 
                 if (e.keyCode === 13)
                     buttonSave.focus();
             });
             /* amount transfer focus */
             amountTransfer.focusout(function(e) {
-                var realAmount = accounting.unformat(amountReal.val(),currency.decimalSeparator);
-                var transferAmount = accounting.unformat(amountTransfer.val(),currency.decimalSeparator);
+                var realAmount = instanceWeb.unFormatCurrency(amountReal.val());
+                var transferAmount = instanceWeb.unFormatCurrency(amountTransfer.val());
 
                 if (transferAmount <= 0) {
                     instanceWeb.notification.do_warn("Atencion", "El monto a transferir no puede ser 0");
@@ -299,15 +301,15 @@
 
                 var amount = (realAmount - transferAmount);
 
-                amountTransfer.val(accounting.formatNumber(transferAmount,currency.decimalPlaces, currency.thousandsSeparator, currency.decimalSeparator));
-                amountOpen.val(accounting.formatNumber(amount,currency.decimalPlaces, currency.thousandsSeparator, currency.decimalSeparator));
+                // amountTransfer.val(instanceWeb.formatCurrency(transferAmount,currency));
+                amountOpen.val(instanceWeb.formatCurrency(amount,currency));
             });
 
             /*Click buttonSave*/
             buttonSave.click(function(e) {
-                var cashBoxAmount = accounting.unformat(amountCashbox.val(),currency.decimalSeparator);
-                var realAmount = accounting.unformat(amountReal.val(),currency.decimalSeparator);
-                var transferAmount = accounting.unformat(amountTransfer.val(),currency.decimalSeparator);
+                var cashBoxAmount = instanceWeb.unFormatCurrency(amountCashbox.val());
+                var realAmount = instanceWeb.unFormatCurrency(amountReal.val());
+                var transferAmount = instanceWeb.unFormatCurrency(amountTransfer.val());
                 var amount_negative =  _.contains(self.statementConfig[0].statement_confirm_negative_amount, self.resUser[0].id)
 
                 // amountReal

+ 19 - 21
static/src/js/eiru_statement_transfer.js

@@ -21,7 +21,6 @@
             this._super(parent);
             this.buttons = parent.$buttons;
         },
-
         /* start */
         start: function () {
             var self = this
@@ -43,24 +42,20 @@
                     self.$el.css('display','flex');
             });
         },
-
         /* Actualizar Id de la visat actual  */
         updateId: function(id) {
             var self = this;
             self.id = id;
         },
-
         /* Reload Page*/
         reloadPage: function() {
              openerp.parentInstanceStatementTransfer.reload();
         },
-
         /* Description: Función para remover el modal */
         removeModal: function() {
             $('.expired-account-modal').remove();
             $('.modal-backdrop').remove();
         },
-
         /*Get User*/
         fetchGetUserLogin: function(){
             var bankStatementUser = new instanceWeb.Model('account.bank.statement');
@@ -75,7 +70,6 @@
             var statementConfig = new openerp.web.Model('account.bank.statement.config');
             return statementConfig.query(fields).filter(domain).all();
         },
-
         /* Método inicial */
         fetchInitial: function() {
             var self = this;
@@ -197,7 +191,7 @@
             var currency = self.bankStatement[0].currencystatement;
 
             /* Monto */
-            statementAmount.val(accounting.formatNumber(self.bankStatement[0].amount, currency.decimalPlaces, currency.thousandsSeparator, currency.decimalSeparator));
+            statementAmount.val(instanceWeb.formatCurrency(self.bankStatement[0].amount,currency));
             /* Symbol */
             statementAmountSymbol.text(currency.symbol);
             amountTransferSymbol.text(currency.symbol);
@@ -214,20 +208,24 @@
                     statementOpen.append('<option value="' + item.id + '">' + item.statementname + '</option>');
                 });
             });
-
-            /* amountTransfer.keyup*/
+            /* amountTransfer.keyup */
             amountTransfer.keyup(function(e) {
-                var amount = accounting.unformat(amountTransfer.val(),currency.decimalSeparator);
-                amountTransfer.val(accounting.formatNumber(amount,0, currency.thousandsSeparator, currency.decimalSeparator));
+                if (e.key === currency.decimalSeparator && currency.decimalPlaces > 0)
+                    return false ;
+
+                var amount = instanceWeb.unFormatCurrency(amountTransfer.val());
+                amount = instanceWeb.formatCurrency(amount,currency)
+                amountTransfer.val(amount);
+
                 amountTransfer.css('border-color','#ccc');
 
                 if (e.keyCode === 13)
                     refTransfer.focus();
             });
-            /* amountTransfer. focusout*/
+            /* amountTransfer.focusout*/
             amountTransfer.focusout(function(e) {
-                var amountAvailable = accounting.unformat(statementAmount.val(),currency.decimalSeparator);
-                var amount = Math.abs(accounting.unformat(amountTransfer.val(),currency.decimalSeparator));
+                var amountAvailable = instanceWeb.unFormatCurrency(statementAmount.val());
+                var amount = Math.abs(instanceWeb.unFormatCurrency(amountTransfer.val()));
 
                 if (amountAvailable < amount && !self.statementConfig[0].transfer_negative_amount) {
                     instanceWeb.notification.do_warn("Atencion", "El valor a transferir supera el saldo disponible de la caja.");
@@ -235,14 +233,13 @@
                     amountTransfer.focus();
                     return false;
                 }
-
-                amountTransfer.val(accounting.formatNumber( amount,currency.decimalPlaces, currency.thousandsSeparator, currency.decimalSeparator));
+                amountTransfer.css('border-color','#ccc');
+                amountTransfer.val(instanceWeb.formatCurrency(amount,currency))
             });
-
-            /*Click buttonSave*/
+            /* Click buttonSave */
             buttonSave.click(function(e){
-                var amountAvailable = accounting.unformat(statementAmount.val(),currency.decimalSeparator);
-                var amount = accounting.unformat(amountTransfer.val(),currency.decimalSeparator);
+                var amountAvailable = instanceWeb.unFormatCurrency(statementAmount.val());
+                var amount = instanceWeb.unFormatCurrency(amountTransfer.val());
 
                 /* Journal */
                 if (!selectedJournal.val()) {
@@ -262,7 +259,7 @@
                 statementOpen.css('border-color','#ccc');
 
                 /* ammount transfer*/
-                if (amount <= 0) {
+                if (amount <= 0.00) {
                     instanceWeb.notification.do_warn("Atencion", "El valor a transferir debe ser mayor a cero.");
                     amountTransfer.css('border-color','red');
                     amountTransfer.focus();
@@ -314,6 +311,7 @@
                 defer.resolve(results);
 
             });
+
             /* Click Cerrar */
             $('.expired-account-modal').on('hidden.bs.modal', function(e) {
                 results = false;