2017-12-08 5 views
1

Dies ist mein XML-Code. Wenn ich auf eine Schaltfläche klicken zeigt es folgende Fehler:ReferenceError: Instanz ist nicht definiert

ReferenceError: instance is not defined

<?xml version="1.0" encoding="UTF-8"?> 
<templates id="template" xml:space="preserve"> 
    <t t-extend="ListView.buttons"> 
    <t t-jquery="button.o_list_button_add" t-operation="after"> 
     <t t-if="widget.model=='ref.reference'"> 
     <button class="btn btn-sm btn-default" type="button">Enable</button> 
     <button class="btn btn-sm btn-primary disable_ref" type="button">Disable</button> 
     </t> 
    </t> 
    </t> 
</templates> 

Dies ist in Javascript, was falsch in diesem Code:

var ListView = require('web.ListView'); 

ListView.include({ 
    render_buttons: function() { 

     // GET BUTTON REFERENCE 
     this._super.apply(this, arguments) 
     if (this.$buttons) { 
      var btn = this.$buttons.find('.disable_ref') 
     } 

     // PERFORM THE ACTION 
     btn.on('click', this.proxy('do_new_button')) 

    }, 
    do_new_button: function() { 

     instance.web.Model('ref.reference') 
      .call('ref_dis', [[]]) 
    } 
}) 
+0

Ich sehe "Instanz" in Ihrem geposteten Code nirgendwo, außer wo Sie versuchen, darauf zuzugreifen. Bitte geben Sie ein [minimales, vollständiges und überprüfbares Beispiel] (https://stackoverflow.com/help/mcve) – Galen

Antwort

0

es Änderung dieser

js

odoo.define('reference.js', function(require) { 
    'use strict'; 

var ListView = require('web.ListView') 
var Model = require('web.Model') 

    ListView.include({ 
     render_buttons: function() { 
      this._super.apply(this, arguments) 
      if (this.$buttons) { 
       this.$buttons.find('.disable_ref').on('click', this.proxy('do_new_button')) 
      } 
     }, 
     do_new_button: function() { 

      var model = new Model('ref.reference') 
      model.call('ref_dis', [[]]); 
     } 
    }) 
}) 

Modelle

from odoo import fields, models, api 

class ReferenceSource(models.Model): 
    _name = "ref.reference" 

    @api.model 
    def ref_dis(self): 
     some logic... 
+0

dank, aber keine Verarbeitung –