在odoo js Building Dashboard中调用模型的特定表单视图

时间:2019-06-30 19:05:25

标签: odoo odoo-11 qweb odoo-view

当一个特定的div类单击以能够对该类调用操作时,我正在构建仪表板,但是我的问题是要为该js函数调用特定的表单视图。这是代码。

 action_my_profile: function(event) {
  var self = this;
  event.stopPropagation();
  event.preventDefault();
  this.do_action({
    name: _t("My Profile"),
    type: 'ir.actions.act_window',
    res_model: 'hr.employee',
    res_id: self.employee_data.id,
    view_mode: 'form',
    view_type: 'form',
    views: [[view_id, 'form']],
    context: {'edit': true},
    domain: [],
    target: 'inline'
  },{on_reverse_breadcrumb: function(){ return self.reload();}})
},

这里是一个问题,当调用此函数默认情况下打开hr.employee(view_employee_form),但是我想打开为同一模型创建新表单的自定义表单时,无法解决该问题。请帮帮我,谢谢。

1 个答案:

答案 0 :(得分:0)

尝试这种方式,您将获得特定的视图ID并根据您的请求返回以对其进行查看。

action_my_profile: function(event) {
          var self = this;
          event.stopPropagation();
          event.preventDefault();
          self._rpc({
                    model: 'ir.model.data',
                    method: 'xmlid_to_res_id',
                    kwargs: {xmlid: 'youre_form_id'},
                }).then(function (res_id) {
                      self.do_action({
                            name: _t("My Profile"),
                            type: 'ir.actions.act_window',
                            res_model: 'hr.employee',
                            res_id: self.employee_data.id,
                            view_mode: 'form',
                            view_type: 'form',
                            views: [[res_id, 'form']],
                            context: {'edit': true},
                            domain: [],
                            target: 'current'
                          },{on_reverse_breadcrumb: function(){ return self.reload();}})

                },
            },