Skip ke Konten
Menu
Pertanyaan ini telah diberikan tanda
1 Balas
6910 Tampilan


I'm trying to overwrite Orderline price in POS Odoo


**My price.js**


    get_unit_display_price: function(){    

        var self = this;           

        var line = self.export_as_JSON();
        var product = this.pos.db.get_product_by_id(line.product_id);     

        fields.product_id  = line.product_id;
        fields.pricelist_id   = this.pos.config.pricelist_id[0];
        fields.uom = product.uom_id;
        fields.line_qty = line.qty;
        fields.price_unit = line.price_unit;
        var model = new Model('pos.order');
         this.total_price = model.call('calculate_price',         

                  [0, fields]).done(function(result){       

              total_price = result['total_price'];
                     return  result['total_price'];
                });
             }


**price.xml**



            <t t-jquery=".price" t-operation="append">              

           <t t-esc="widget.format_currency(line.get_unit_display_price)"/>     

            </t>


I'm getting value **total_price** from Model (price.py)

But returning is **undefined** in get_unit_display_price in xml file.
How to set value in xml from js after execution of new model function (js value from model) ?.

Avatar
Buang
Jawaban Terbai

If you want to return value in result['total_price'].
Frist create a var price_new in function get_unit_display_price.
Store result['total_price'] to price_new inside the python call function.

Return price_new after python call function.

Your code should look like:

    get_unit_display_price: function(){    

        var self = this;           

        var price_new;

        var line = self.export_as_JSON();
        var product = this.pos.db.get_product_by_id(line.product_id);     

        fields.product_id  = line.product_id;
        fields.pricelist_id   = this.pos.config.pricelist_id[0];
        fields.uom = product.uom_id;
        fields.line_qty = line.qty;
        fields.price_unit = line.price_unit;
        var model = new Model('pos.order');
         this.total_price = model.call('calculate_price',         

                  [0, fields]).done(function(result){       

                      total_price = result['total_price'];
                      price_new =  result['total_price'];
                });

                 return price_new
             }

Avatar
Buang
Post Terkait Replies Tampilan Aktivitas
4
Nov 19
4565
0
Jun 18
3300
1
Des 17
4705
0
Feb 17
3723
0
Apr 25
921