在 Odoo_13 上修改 Crash_manager
Modify Crash_manager on Odoo_13
大家好我正在尝试修改错误发生时odoo显示的错误window只显示按钮查看详细信息并复制到剪贴板给特定的用户组,我试图改变crash_manager.xml 在 web 模块上,但是只有当我在 odoo 中处于开发人员模式时才能看到所做的更改,并且我不了解 JavaScript 来更改 crash_manager.js 但是如果你可以告诉我如何实现这一点,你会帮助我很多。
至patch the crash_manager class, you will need to understand how Odoo manage assets。
您必须将脚本包含在 web.assets_backend
中,其中包含特定于 Web 客户端的代码。
<template id="assets_backend" name="My assets" inherit_id="web.assets_backend">
<xpath expr="." position="inside">
<script type="text/javascript" src="/<Module name>/static/src/js/crash_manager.js"></script>
</xpath>
</template>
在下面的代码中,我们将定义一个新的小部件属性 visibility
,稍后我们可以在模板中使用它来控制按钮的可见性:
odoo.define('<Module name>.CrashManager', function (require) {
"use strict";
var ErrorDialog = require('web.CrashManager').ErrorDialog;
var session = require('web.session');
ErrorDialog.include({
init: function (parent, options, error) {
var self = this;
this._super.apply(this, [parent, options, error]);
// this.visibility = session.is_system?'visible': "hidden";
session.user_has_group('base.group_system').then(function(has_group){
self.visibility = has_group?'visible': "hidden";
});
},
});
});
隐藏 Details
和 Copy
按钮会使消息过时,因此您需要更改它。
在下面的示例中,我们更改 CrashManager.error
模板以定义 Copy the full error to clipboard
和 See details
按钮的 style
属性:
<t t-extend="CrashManager.error">
<t t-jquery="div.float-right" t-operation="attributes">
<attribute name="t-att-style">'visibility: ' + widget.visibility</attribute>
</t>
<t t-jquery="button" t-operation="attributes">
<attribute name="t-att-style">'visibility: ' + widget.visibility</attribute>
</t>
</t>
大家好我正在尝试修改错误发生时odoo显示的错误window只显示按钮查看详细信息并复制到剪贴板给特定的用户组,我试图改变crash_manager.xml 在 web 模块上,但是只有当我在 odoo 中处于开发人员模式时才能看到所做的更改,并且我不了解 JavaScript 来更改 crash_manager.js 但是如果你可以告诉我如何实现这一点,你会帮助我很多。
至patch the crash_manager class, you will need to understand how Odoo manage assets。
您必须将脚本包含在 web.assets_backend
中,其中包含特定于 Web 客户端的代码。
<template id="assets_backend" name="My assets" inherit_id="web.assets_backend">
<xpath expr="." position="inside">
<script type="text/javascript" src="/<Module name>/static/src/js/crash_manager.js"></script>
</xpath>
</template>
在下面的代码中,我们将定义一个新的小部件属性 visibility
,稍后我们可以在模板中使用它来控制按钮的可见性:
odoo.define('<Module name>.CrashManager', function (require) {
"use strict";
var ErrorDialog = require('web.CrashManager').ErrorDialog;
var session = require('web.session');
ErrorDialog.include({
init: function (parent, options, error) {
var self = this;
this._super.apply(this, [parent, options, error]);
// this.visibility = session.is_system?'visible': "hidden";
session.user_has_group('base.group_system').then(function(has_group){
self.visibility = has_group?'visible': "hidden";
});
},
});
});
隐藏 Details
和 Copy
按钮会使消息过时,因此您需要更改它。
在下面的示例中,我们更改 CrashManager.error
模板以定义 Copy the full error to clipboard
和 See details
按钮的 style
属性:
<t t-extend="CrashManager.error">
<t t-jquery="div.float-right" t-operation="attributes">
<attribute name="t-att-style">'visibility: ' + widget.visibility</attribute>
</t>
<t t-jquery="button" t-operation="attributes">
<attribute name="t-att-style">'visibility: ' + widget.visibility</attribute>
</t>
</t>