mirror of
https://github.com/guohuadeng/app-odoo.git
synced 2025-02-23 04:11:36 +02:00
add app-odoo
This commit is contained in:
13
app_odoo_customize/static/src/js/app_window_title.js
Normal file
13
app_odoo_customize/static/src/js/app_window_title.js
Normal file
@@ -0,0 +1,13 @@
|
||||
/** @odoo-module **/
|
||||
|
||||
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);
|
||||
const app_system_name = session.app_system_name || 'odooApp';
|
||||
this.title.setParts({ zopenerp: app_system_name }); // zopenerp is easy to grep
|
||||
}
|
||||
});
|
||||
23
app_odoo_customize/static/src/js/dialog.js
Normal file
23
app_odoo_customize/static/src/js/dialog.js
Normal file
@@ -0,0 +1,23 @@
|
||||
/** @odoo-module **/
|
||||
|
||||
import { Dialog } from "@web/core/dialog/dialog";
|
||||
import { patch } from "@web/core/utils/patch";
|
||||
import { session } from "@web/session";
|
||||
|
||||
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"
|
||||
// });
|
||||
// },
|
||||
});
|
||||
|
||||
63
app_odoo_customize/static/src/js/ribbon.js
Normal file
63
app_odoo_customize/static/src/js/ribbon.js
Normal file
@@ -0,0 +1,63 @@
|
||||
/* Copyright 2015 Sylvain Calador <sylvain.calador@akretion.com>
|
||||
Copyright 2015 Javi Melendez <javi.melendez@algios.com>
|
||||
Copyright 2016 Antonio Espinosa <antonio.espinosa@tecnativa.com>
|
||||
Copyright 2017 Thomas Binsfeld <thomas.binsfeld@acsone.eu>
|
||||
Copyright 2017 Xavier Jiménez <xavier.jimenez@qubiq.es>
|
||||
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). */
|
||||
|
||||
odoo.define("web_environment_ribbon.ribbon", function(require) {
|
||||
"use strict";
|
||||
|
||||
var rpc = require("web.rpc");
|
||||
var core = require("web.core");
|
||||
|
||||
// Code from: http://jsfiddle.net/WK_of_Angmar/xgA5C/
|
||||
function validStrColour(strToTest) {
|
||||
if (strToTest === "") {
|
||||
return false;
|
||||
}
|
||||
if (strToTest === "inherit") {
|
||||
return true;
|
||||
}
|
||||
if (strToTest === "transparent") {
|
||||
return true;
|
||||
}
|
||||
var image = document.createElement("img");
|
||||
image.style.color = "rgb(0, 0, 0)";
|
||||
image.style.color = strToTest;
|
||||
if (image.style.color !== "rgb(0, 0, 0)") {
|
||||
return true;
|
||||
}
|
||||
image.style.color = "rgb(255, 255, 255)";
|
||||
image.style.color = strToTest;
|
||||
return image.style.color !== "rgb(255, 255, 255)";
|
||||
}
|
||||
|
||||
core.bus.on("web_client_ready", null, function() {
|
||||
var ribbon = $('<div class="test-ribbon hidden"/>');
|
||||
$("body").append(ribbon);
|
||||
ribbon.hide();
|
||||
// Get ribbon data from backend
|
||||
rpc.query({
|
||||
model: "web.environment.ribbon.backend",
|
||||
method: "get_environment_ribbon",
|
||||
}).then(function(ribbon_data) {
|
||||
// Ribbon name
|
||||
if (ribbon_data.name && ribbon_data.name !== "False") {
|
||||
ribbon.html(ribbon_data.name);
|
||||
ribbon.show();
|
||||
}
|
||||
// Ribbon color
|
||||
if (ribbon_data.color && validStrColour(ribbon_data.color)) {
|
||||
ribbon.css("color", ribbon_data.color);
|
||||
}
|
||||
// Ribbon background color
|
||||
if (
|
||||
ribbon_data.background_color &&
|
||||
validStrColour(ribbon_data.background_color)
|
||||
) {
|
||||
ribbon.css("background-color", ribbon_data.background_color);
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
116
app_odoo_customize/static/src/js/user_menu.js
Normal file
116
app_odoo_customize/static/src/js/user_menu.js
Normal 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,
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user