繁体   English   中英

在 javascript Odoo 10 中获取 active_id

[英]Get active_id in javascript Odoo 10

您好,我正在尝试将我的 active_id 从 res.partner 传递给 JS。 但没有运气。 我尝试使用数据集 active_id 但它始终未定义。 我在文档中找不到任何解决方案。 这是我的 JS 文件:

odoo.define('melax_category.my_dialog_partner', function(require){"user strict";
  var core = require('web.core');
  var session = require('web.session');
  var qweb = core.qweb;
  var mixins = core.mixins;
//   var Widget = require('web.Widget');
  var Model = require('web.Model');
  var Dialog = require('web.Dialog');
  var model_category = new Model('res.partner');
//   var dataset = this.dataset;
//   var active_id = dataset.ids[dataset.index];

function ActionBuildTreeBuyerPartner(parent, action){
    console.log(this.id)
    var dialog = new Dialog(document.body, {
                    title: "Categories Web Acheteur",
                    subtitle: '<input id="search-tree-buyer" type="text">',
                    size: 'big',
                    $content: '\
                               <div id="tree-buyer-container"></div>\
                               ',
                });

    TREE = $('#tree-buyer-container')
    dialog.open();
    DESTROY_TREE($('#tree-buyer-container'))
    BUILD_TREE_PARTNER_MODE(model_category, $('#tree-buyer-container'))

}

function ActionBuildTreeSellerPartner(parent, action){
    var dialog = new Dialog(document.body, {
                    title: "Categories Web Vendeur",
                    // subtitle: "Tree Builder Partner Sub Title!",
                    size: 'big',
                    $content: '<div id="tree-seller-container"></div>',
                });

    TREE = $('#tree-seller-container')
    dialog.open();
    // DESTROY_TREE($('#tree-seller-container'))
    // BUILD_TREE_PARTNER_MODE(model_category, $('#tree-buyer-container'))

}
    core.action_registry.add("build_tree_buyer_partner", ActionBuildTreeBuyerPartner);
    core.action_registry.add("build_tree_seller_partner", ActionBuildTreeSellerPartner);
});

这是我的 python 文件,例如我正在尝试传递我的 active_id(self.id):

@api.multi
def build_tree_buyer_partner(self):
    _logger.error(self)
    # My active Id
    _logger.error(self.id)       
    return {
        'type':'ir.actions.client',
        'tag': 'build_tree_buyer_partner'
    }

是的,您可以使用以下方法获取当前 ID:

var dataset = this.dataset;
var active_id = dataset.ids[dataset.index];

Python

@api.model 
def _get_active_id(self):
    return self._context.get('active_id')

deploy_config_id = fields.Many2one('res.partner', string='Customer', required=True, default=_get_active_id)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM