From f36ba9f5e2b711ec8b834fa73c65c7020e1ff663 Mon Sep 17 00:00:00 2001 From: Oliver Yuan Date: Sun, 23 Apr 2023 21:39:25 +0800 Subject: [PATCH] [IMP] Improve ospp_base module --- addons/ospp_base/__manifest__.py | 8 +++ addons/ospp_base/models/models.py | 13 ++++ addons/ospp_base/static/description/icon.png | Bin 0 -> 13628 bytes .../static/description/icon_timing.png | Bin 0 -> 8995 bytes addons/ospp_base/static/src/img/favicon.png | Bin 0 -> 6949 bytes addons/ospp_base/static/src/img/logo.svg | 68 ++++++++++++++++++ addons/ospp_base/static/src/js/user_menu.js | 43 +++++++++++ addons/ospp_base/static/src/js/web_title.js | 15 ++++ 8 files changed, 147 insertions(+) create mode 100755 addons/ospp_base/static/description/icon.png create mode 100755 addons/ospp_base/static/description/icon_timing.png create mode 100644 addons/ospp_base/static/src/img/favicon.png create mode 100644 addons/ospp_base/static/src/img/logo.svg create mode 100755 addons/ospp_base/static/src/js/user_menu.js create mode 100755 addons/ospp_base/static/src/js/web_title.js diff --git a/addons/ospp_base/__manifest__.py b/addons/ospp_base/__manifest__.py index 4641a9a..242e305 100644 --- a/addons/ospp_base/__manifest__.py +++ b/addons/ospp_base/__manifest__.py @@ -30,6 +30,14 @@ 'views/views.xml', 'views/templates.xml', ], + + 'assets': { + 'web.assets_backend': [ + 'ospp_base/static/src/js/web_title.js', + 'ospp_base/static/src/js/user_menu.js' + ], + }, + # only loaded in demonstration mode 'demo': [ 'demo/demo.xml', diff --git a/addons/ospp_base/models/models.py b/addons/ospp_base/models/models.py index e4eaadf..0601dc5 100644 --- a/addons/ospp_base/models/models.py +++ b/addons/ospp_base/models/models.py @@ -4,6 +4,19 @@ import uuid from odoo import models, fields, api, _ +class View(models.Model): + _inherit = 'ir.ui.view' + + @api.model + def _render_template(self, template, values=None): + if template in ['web.login', 'web.webclient_bootstrap']: + if not values: + values = {} + values["title"] = _("Newbiz") + values["disable_footer"] = self.env['ir.config_parameter'].sudo().get_param("disable_footer", "") or True + return super(View, self)._render_template(template, values) + + class ResPartner(models.Model): _inherit = 'res.partner' diff --git a/addons/ospp_base/static/description/icon.png b/addons/ospp_base/static/description/icon.png new file mode 100755 index 0000000000000000000000000000000000000000..f2bde0a23a6e5ff728ec3cb07266903a4057dd9b GIT binary patch literal 13628 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

YuA2R_IcgWqn? zQ~j2!AUoXVwt>fX98h$!-_q4QhrjE4Znqz3F zEZ%U6f}49V$Z5Gl*A`<>LCO>=82IyHB(hE;{|{N*opkEcnJ>`RG};2hlGO*<+;KJe zcq5n-ZV^>3!1tuzfXj|+cx%FG%WlNLZW&Vy{2_qE3=x+qp$!5r0%*lk&cZu#P-U|* zXo+hX(Z_ASLAehBsFD{*Tk*)6#xQ+FZox&pmna@GC&1={;cws80i$U?pA_p_e9Z}E zr=BQX9XNjVlH^7Ac`w)of1qZCmZsbVjdWeKj+?Dy=vmiA&H!VE;5->`9tIC5lf<_N z|LP*}MlbS_owUR<5jnqu#5P=tf0~A<|2 zzBnxfHu%`xQ0;j@Rk@Jz$Z6Dve`CoxZy^*6SKVE#OeRnh_(%I^~3wq=OELlv@%^ z3)K$uhE(v*z?WT~ij4~WL;c9h_Aj{3N_u*l#>)^Zh@fsIvvT*yvwE@U)4l$e%(@~s zT$k#mu~t8UcFMjAl@IbHRd7Dy5ZpgqffFcG?{UjonM##f;5Hv++VD1xnJOGL2gh&xHXG-c)o)(d zy_EVa=)fpMw|F2vg}TeJSP*uq=S(?MYBeKnIq+h zK{-!Z1N$&DX2Sh|-f}u7|ESu>Vp5n+l@C#m)9VqsUn1h3?P0!6xkLrbWv&)Ic_HWC zIOvLarJ2)H1q}(4eBmEUS|?MJT)qqrfqyeUt6?5`#gX;w2V;%}yZEPH zWroQg3%QsI*0XBA8vh|@L8UvSsVo($%8Nuj>w57eID}*l z8BGXPWkdCWV?b4e;AibyM;yy1Bp_|V0USsbQat6YZ8@|A4LY=APj)6 znm`CA;S?(oD)V~tP%Yr(lZDBZn1Ba1U1oOBnBAM$SCLl7M8mK+^5H4f3-n)67|QY* Ka+NZs!T$q=JxU({ literal 0 HcmV?d00001 diff --git a/addons/ospp_base/static/description/icon_timing.png b/addons/ospp_base/static/description/icon_timing.png new file mode 100755 index 0000000000000000000000000000000000000000..8dc6fcc0923ab1a72c6e52a1e8052739ac0cb65f GIT binary patch literal 8995 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 JPDHLkV1kQf*cAW( literal 0 HcmV?d00001 diff --git a/addons/ospp_base/static/src/img/favicon.png b/addons/ospp_base/static/src/img/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..7885a52a03ffe8abf33c66dd2b33082c03823d0d GIT binary patch literal 6949 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 数字实训 + + + + \ No newline at end of file diff --git a/addons/ospp_base/static/src/js/user_menu.js b/addons/ospp_base/static/src/js/user_menu.js new file mode 100755 index 0000000..fc71427 --- /dev/null +++ b/addons/ospp_base/static/src/js/user_menu.js @@ -0,0 +1,43 @@ +/** @odoo-module **/ + +import { registry } from "@web/core/registry"; +import { preferencesItem } from "@web/webclient/user_menu/user_menu_items"; +import {browser} from "@web/core/browser/browser"; + +function documentationItem1(env) { + const documentationURL = "https://www.newbizpaas.cn/documentation"; + return { + type: "item", + id: "documentation1", + description: env._t("Documentation"), + href: documentationURL, + callback: () => { + browser.open(documentationURL, "_blank"); + }, + sequence: 10, + }; +} + +function supportItem1(env) { + const supportURL = "https://www.newbizpaas.cn/forum/1"; + return { + type: "item", + id: "support1", + description: env._t("Support"), + href: supportURL, + callback: () => { + browser.open(supportURL, "_blank"); + }, + sequence: 20, + }; +} + + +registry.category("user_menuitems").remove('documentation', { force: true }) +registry.category("user_menuitems").add('documentation1', documentationItem1) + +registry.category("user_menuitems").remove('support', { force: true }) +registry.category("user_menuitems").add('support1', supportItem1) + + +registry.category("user_menuitems").remove('odoo_account', { force: true }) diff --git a/addons/ospp_base/static/src/js/web_title.js b/addons/ospp_base/static/src/js/web_title.js new file mode 100755 index 0000000..dd9e2de --- /dev/null +++ b/addons/ospp_base/static/src/js/web_title.js @@ -0,0 +1,15 @@ +/** @odoo-module **/ + +import { WebClient } from "@web/webclient/webclient"; +import {patch} from "@web/core/utils/patch"; + +var core = require('web.core'); +var _lt = core._lt; + +patch(WebClient.prototype, "Web Window Title", { + setup() { + const title = _lt("Newbiz"); + this._super(); + this.title.setParts({ zopenerp: title }); + } +});