update customize

This commit is contained in:
ivan deng
2021-10-08 01:15:45 +08:00
parent 2d503b8c79
commit f642e8c93e
11 changed files with 245 additions and 92 deletions

View File

@@ -1,12 +1,13 @@
odoo.define('app_odoo_customize.app_system_name', function (require) {
"use strict";
/** @odoo-module **/
var WebClient = require('web.WebClient');
WebClient.include({
init: function() {
import { WebClient } from "@web/webclient/webclient";
import { patch } from "@web/core/utils/patch";
import { session } from "@web/session";
patch(WebClient.prototype, "app_odoo_customize.WebClient", {
setup() {
this._super.apply(this, arguments);
this.set('title_part', {"zopenerp": document.title});
const app_system_name = session.app_system_name || 'odooApp';
this.title.setParts({ zopenerp: app_system_name }); // zopenerp is easy to grep
}
});
});

View File

@@ -1,17 +1,23 @@
odoo.define('app_odoo_customize.dialog', function (require) {
'use strict';
/** @odoo-module **/
var Dialog = require('web.Dialog');
import { Dialog } from "@web/core/dialog/dialog";
import { patch } from "@web/core/utils/patch";
import { session } from "@web/session";
Dialog.include({
open: function () {
this._super.apply(this, arguments);
this._opened.then(function(){
$(".modal-content").draggable({
handle: ".modal-header"
});
});
return this;
},
});
patch(Dialog.prototype, "app_odoo_customize.Dialog", {
setup() {
this._super.apply(this, arguments);
const app_system_name = session.app_system_name || "odooApp";
this.title = app_system_name;
},
// mounted() {
// //todo: 没用,不能用 jq的处理方式
// this._super.apply(this, arguments);
// var $dl = this.__owl__.vnode ? this.__owl__.vnode.elm : null;
// var $ml = $dl.children[0].children[0].children[0];
// $ml.draggable({
// handle: ".modal-header"
// });
// },
});

View File

@@ -0,0 +1,116 @@
/** @odoo-module **/
import { UserMenu } from "@web/webclient/user_menu/user_menu";
import { routeToUrl } from "@web/core/browser/router_service";
import { patch } from "@web/core/utils/patch";
import { browser } from "@web/core/browser/browser";
import { registry } from "@web/core/registry";
import { session } from "@web/session";
const userMenuRegistry = registry.category("user_menuitems");
patch(UserMenu.prototype, "app_odoo_customize.UserMenu", {
setup() {
this._super.apply(this, arguments);
userMenuRegistry.remove("documentation");
userMenuRegistry.remove("support");
userMenuRegistry.remove("odoo_account");
userMenuRegistry.add("debug", debugItem)
.add("asset_asset", activateAssetsDebugging)
.add("leave_debug", leaveDebugMode)
.add("separator0", separator8)
.add("documentation", documentationItem)
.add("support", supportItem)
.add("odoo_account", odooAccountItem);
},
// getElements() {
// var ret = this._super.apply(this, arguments);
// return ret;
// },
});
function debugItem(env) {
const url_debug = $.param.querystring(window.location.href, 'debug=1');
return {
type: "item",
id: "debug",
description: env._t("Activate the developer mode"),
href: url_debug,
callback: () => {
browser.open(url_debug, "_self");
},
sequence: 5,
};
}
function activateAssetsDebugging(env) {
return {
type: "item",
description: env._t("Activate Assets Debugging"),
callback: () => {
browser.location.search = "?debug=assets";
},
sequence: 6,
};
}
function leaveDebugMode(env) {
return {
type: "item",
description: env._t("Leave the Developer Tools"),
callback: () => {
const route = env.services.router.current;
route.search.debug = "";
browser.location.href = browser.location.origin + routeToUrl(route);
},
sequence: 7,
};
}
function separator8() {
return {
type: "separator",
sequence: 8,
};
}
function documentationItem(env) {
const documentationURL = session.app_documentation_url;
return {
type: "item",
id: "documentation",
description: env._t("Documentation"),
href: documentationURL,
callback: () => {
browser.open(documentationURL, "_blank");
},
sequence: 10,
};
}
function supportItem(env) {
const url = session.app_support_url;
return {
type: "item",
id: "support",
description: env._t("Support"),
href: url,
callback: () => {
browser.open(url, "_blank");
},
sequence: 20,
};
}
function odooAccountItem(env) {
const app_account_title = session.app_account_title;
const app_account_url = session.app_account_url;
return {
type: "item",
id: "account",
description: env._t(app_account_title),
href: app_account_url,
callback: () => {
browser.open(app_account_url, "_blank");
},
sequence: 60,
};
}

View File

@@ -1,6 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<templates xml:space="preserve">
<t t-extend="UserMenu.Actions">
<!--owl 处理继承继承-->
<t t-name="UserMenu" t-inherit="web.UserMenu" t-inherit-mode="extension" owl="1">
<xpath expr="//td[hasclass('client-line-email')]" position="after">
<t t-jquery="a[data-menu='documentation']" t-operation="before">
<switch-lang/>
<a role="menuitem" href="#" data-menu="debug" class="dropdown-item">Activate the developer mode</a>