I'm attempting to add information to the template stock_barcode_lines_template.  I have the xml for the template written and showing in the view. 
    <?xml version="1.0" encoding="utf-8"?>
        <templates id="template" xml:space="preserve">
              <t t-extend="stock_barcode_lines_template">
                    <t t-jquery='.o_barcode_line_details' t-operation='append'>
                          <div>
                                <span class="o_line_rack_name" t-esc="'Rack: '"/>
                                <span class="o_line_rack_value" t-esc="line.rack"/>
                                <span class="o_line_shelf_name" t-esc="'Shelf: '"/>
                                <span class="o_line_shelf_value" t-esc="line.shelf"/>
                                <span class="o_line_bin_name" t-esc="'Bin: '"/>
                                <span class="o_line_bin_value" t-esc="line.bin"/>
                          </div>
                    </t>
              </t>
    </templates>
    
and the following Javascript will add the information into the line dict
      LinesWidget.include({
          getProductLines: function(lines){
            var self = this
            lines.forEach(function(line){
                  self._rpc({
                        model: 'stock.move.line',
                        method: 'get_rack_bin',
                        args: [line,line.id],
                  }).then(function(result){
                        line.rack = result.rack;
                        line.shelf = result.shelf;
                        line.bin = result.bin;
                  });
            });
            return self._super(lines)
          }
    });
however when I put `<t t-log="line.bin"/>` (or rack or shelf) in the template it is logging as undefined however when I put `<t t-log="line"/>` in the template, the new data is in the dict. 
 
    bin: "11"
    display_name: "[HJ-PCKRD-100-03] Hi Juku - Puckered (3 mg)"
    dummy_id: false
    id: 149541
    location_dest_id: {id: 9, display_name: "Partner Locations/Customers"}
    location_id: {id: 49, display_name: "ModFu/Stock"}
    lot_id: false
    lot_name: false
    owner_id: false
    package_id: false
    product_barcode: "853668007979"
    product_id: {id: 5429, barcode: "853668007979", tracking: "none"}
    product_uom_id: (2) [1, "Unit(s)"]
    length: 2
    __proto__: Array(0)
    product_uom_qty: 30
    qty_done: 0
    rack: "38.11"
    result_package_id: false
    shelf: "B"
How can I successfully pull the information from the dict?
Odoo is the world's easiest all-in-one management software.
 It includes hundreds of business apps:
- CRM
- e-Commerce
- Contabilità
- Magazzino
- PoS
- Project
- MRP
La domanda è stata contrassegnata
It's because the self._rpc request is a promise request (not provided immediately while the code is running.
As workaround I use name each span with a unique id then once the _rpc request is fullfiled you update the value.
try:
<?xml version="1.0" encoding="utf-8"?>
        <templates id="template" xml:space="preserve">
              <t t-extend="stock_barcode_lines_template">
                    <t t-jquery='.o_barcode_line_details' t-operation='append'>
                          <div>
                                <span class="o_line_rack_name" t-esc="'Rack: '"/>
                                <span class="o_line_rack_value" t-esc="line.rack" t-att-id="'rack' + line.id"/>
                                <span class="o_line_shelf_name" t-esc="'Shelf: '"/>
                                <span class="o_line_shelf_value" t-esc="line.shelf" t-att-id="'shelf' + line.id"/>
                                <span class="o_line_bin_name" t-esc="'Bin: '"/>
                                <span class="o_line_bin_value" t-esc="line.bin" t-att-id="'bin' + line.id"/>
                          </div>
                    </t>
              </t>
 </templates>
Then for javascript:
LinesWidget.include({ 
     getProductLines: function(lines){ 
     var self = this 
     lines.forEach(function(line){ 
         self._rpc({ 
             model: 'stock.move.line', 
             method: 'get_rack_bin', 
             args: [line,line.id], 
         }).then(function(result){ 
var span_rack = document.getElementById('rack' + line.id);
span_rack.innerHTML = result.rack
var span_shelf = document.getElementById('shelf' + line.id);
span_shelf.innerHTML = result.shelf
             var span_bin = document.getElementById('bin' + line.id);
span_bin.innerHTML = result.bin
         }); 
     }); 
     return self._super(lines) 
     } 
 }); 
Ti stai godendo la conversazione? Non leggere soltanto, partecipa anche tu!
Crea un account oggi per scoprire funzionalità esclusive ed entrare a far parte della nostra fantastica community!
Registrati| Post correlati | Risposte | Visualizzazioni | Attività | |
|---|---|---|---|---|
|  | 0 ago 20  | 3931 | ||
|  | 1 feb 22  | 3429 | ||
|  | 1 apr 21  | 10063 | ||
| 
            
                t-att-href url get error
            
            
                    Risolto
            
         |  | 2 apr 23  | 9450 | |
|  | 2 ott 22  | 6199 | 
