Bladeren bron

[ADD] multi currency

Rodney Enciso Arias 7 jaren geleden
bovenliggende
commit
9c9df4c7bb
2 gewijzigde bestanden met toevoegingen van 37 en 3 verwijderingen
  1. 36 2
      static/src/js/voucher.js
  2. 1 1
      static/src/json/print_voucher.json

+ 36 - 2
static/src/js/voucher.js

@@ -8,6 +8,8 @@
         template : "partner_print_voucher.PrintVoucher",
         resVoucher:[],
         resPartner:[],
+        resCompany:[],
+        resCurrency:[],
         jsonDoc:[],
         // Init
         init:function(parent){
@@ -32,6 +34,9 @@
                 return self.fetchCompany();
             }).then(function(company){
                 self.resCompany = company;
+                return self.fetchCurrency();
+            }).then(function(currency){
+                self.resCurrency = currency;
                 return self.drawJSON();
             }).then(function(jsondoc){
                 self.jsonDoc= jsondoc
@@ -42,7 +47,7 @@
         // Consultar Pagos
         fecthVoucher: function(id){
             var defer = $.Deferred();
-            var fields=['id','number','journal_id','partner_id','amount','date','reference','company_id'];
+            var fields=['id','number','journal_id','partner_id','amount','date','reference','company_id','currency_id'];
             var domain=[['id','=', id]];
             var Voucher = new openerp.web.Model('account.voucher');
             Voucher.query(fields).filter(domain).order_by('id').all().then(function(results){
@@ -80,6 +85,21 @@
             });
             return defer;
         },
+        // Consultar Clientes
+        fetchCurrency: function () {
+            var self = this;
+            var defer = $.Deferred();
+            var currency_id = _.flatten(_.map(self.resVoucher,function(map){
+                return map.currency_id[0];
+            }));
+            var fields=['id','name','symbol'];
+            var domain=[['id','=', currency_id]];
+            var Currency = new openerp.web.Model('res.currency');
+            Currency.query(fields).filter(domain).order_by('id').all().then(function(results){
+                defer.resolve(results);
+            });
+            return defer;
+        },
         valorNull:function(dato){
             var valor ="";
             if (dato){
@@ -111,14 +131,27 @@
                 return item.id === company_id;
             }).shift();
         },
+        getCurrency: function(currency_id){
+            var self = this;
+            return _.filter(self.resCurrency,function(item){
+                return item.id === currency_id;
+            }).shift();
+        },
         // Generar el PDF
         drawPDF:function(){
             var self = this;
             var doc=[];
+            var currency_name;
             var pdfDoc = new jsPDF();
             var resVoucher = self.resVoucher;
             var partner = self.getPartner(resVoucher[0].partner_id[0]);
             var company = self.getCompany(resVoucher[0].company_id[0]);
+            var currency = self.getCurrency(resVoucher[0].currency_id[0]);
+            if(currency.name = "PYG"){
+                currency_name = "Guaranies"
+            }else{
+                currency_name = "Dolares"
+            }
             doc.push({
                 number : resVoucher[0].number,
                 date : moment(resVoucher[0].date).format("DD/MM/YYYY"),
@@ -128,7 +161,8 @@
                 partner_id : partner.name,
                 company_id : resVoucher[0].company_id[1],
                 customer_address : self.valorNull(partner.state_id[1])+", "+self.valorNull(partner.country_id[1]),
-                company_address : self.valorNull(company.state_id[1])+", "+self.valorNull(company.country_id[1])
+                company_address : self.valorNull(company.state_id[1])+", "+self.valorNull(company.country_id[1]),
+                currency_name : currency_name
             });
             console.log(doc);
             if(doc){

+ 1 - 1
static/src/json/print_voucher.json

@@ -56,7 +56,7 @@
         "fontStyle" : "normal"
     },
     "acta":{
-        "content": "Recibido de <%=partner_id%> con direccion en <%=customer_address%>, el monto de <%=amount%> guaranies, metodo de pago <%=journal_id%> referente a la factura Nº <%=reference%>",
+        "content": "Recibido de <%=partner_id%> con direccion en <%=customer_address%>, el monto de <%=amount%> <%=currency_name%>, metodo de pago <%=journal_id%> referente a la factura Nº <%=reference%>",
         "size": 10,
         "x": 15,
         "y": 50,