mirror of
https://github.com/guohuadeng/app-odoo.git
synced 2025-02-23 04:11:36 +02:00
update to 11
This commit is contained in:
@@ -15,8 +15,8 @@
|
||||
# http://www.sunpop.cn/odoo10_developer_document_offline/
|
||||
# description:
|
||||
{
|
||||
'name': 'App Odoo Customize(Backend Debranding Title,Language,Documentation,Quick Debug,Delete clear)',
|
||||
'version': '10.0.2.4',
|
||||
'name': 'App Odoo Customize(Backend Debranding Title,Language,Documentation,Quick Debug,Clear Data)',
|
||||
'version': '11.0.3.3',
|
||||
'author': 'Sunpop.cn',
|
||||
'category': 'Productivity',
|
||||
'website': 'http://www.sunpop.cn',
|
||||
@@ -28,6 +28,7 @@
|
||||
App Odoo Customize(Debranding Title,Language,Documentation,Quick Debug)
|
||||
============
|
||||
White label odoo.
|
||||
Support Odoo 11, 10, 9.
|
||||
You can config odoo, make it look like your own platform.
|
||||
1. Deletes Odoo label in footer
|
||||
2. Replaces "Odoo" in Windows title
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
import ir_ui_view
|
||||
import app_theme_config_settings
|
||||
import ir_ui_view
|
||||
import base_language_install
|
||||
import mail_thread
|
||||
|
||||
@@ -33,7 +33,7 @@ class AppThemeConfigSettings(models.TransientModel):
|
||||
app_account_url = fields.Char('My Odoo.com Account Url')
|
||||
|
||||
@api.model
|
||||
def get_default_all(self, fields):
|
||||
def get_values(self):
|
||||
ir_config = self.env['ir.config_parameter']
|
||||
app_system_name = ir_config.get_param('app_system_name', default='odooApp')
|
||||
|
||||
@@ -76,7 +76,7 @@ class AppThemeConfigSettings(models.TransientModel):
|
||||
)
|
||||
|
||||
@api.multi
|
||||
def set_default_all(self):
|
||||
def set_values(self):
|
||||
self.ensure_one()
|
||||
ir_config = self.env['ir.config_parameter']
|
||||
ir_config.set_param("app_system_name", self.app_system_name or "")
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
##App Odoo Customize(Debranding Title,Language,Documentation,Quick Debug,Quick Data Clear)
|
||||
============
|
||||
White label odoo.
|
||||
Support Odoo 11, 10, 9.
|
||||
You can config odoo, make it look like your own platform.
|
||||
1. Deletes Odoo label in footer
|
||||
2. Replaces "Odoo" in Windows title
|
||||
|
||||
@@ -9,7 +9,8 @@
|
||||
<a class="btn btn-primary mb16" href="https://www.odoo.com/apps/modules/10.0/app_ui_enhance/">App UI enhance</a>
|
||||
</h1>
|
||||
<br>
|
||||
<h3>Lastest update: v10.0.2.4, 2018-02-04</h3>
|
||||
<h3>Lastest update: v11.0.3.3, 2018-03-03</h3>
|
||||
<h3>Add Odoo 11 Support</h3>
|
||||
<ul>
|
||||
<li>1. Deletes Odoo label in footer</li>
|
||||
<li>2. Replaces "Odoo" in Windows title</li>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
odoo.define('app_system_name', function (require) {
|
||||
odoo.define('app_odoo_customize.app_system_name', function (require) {
|
||||
"use strict";
|
||||
|
||||
var WebClient = require('web.WebClient');
|
||||
|
||||
@@ -1,117 +1,165 @@
|
||||
odoo.define('app_odoo_customize.customize_user_menu', function (require) {
|
||||
odoo.define('app_odoo_customize.UserMenu', function (require) {
|
||||
"use strict";
|
||||
var Model = require('web.Model');
|
||||
var session = require('web.session');
|
||||
|
||||
/**
|
||||
* This widget is appended by the webclient to the right of the navbar.
|
||||
* It displays the avatar and the name of the logged user (and optionally the
|
||||
* db name, in debug mode).
|
||||
* If clicked, it opens a dropdown allowing the user to perform actions like
|
||||
* editing its preferences, accessing the documentation, logging out...
|
||||
*/
|
||||
|
||||
var UserMenu = require('web.UserMenu');
|
||||
var documentation_url;
|
||||
//避免错误,要再定义
|
||||
var session2 = require('web.session');
|
||||
var documentation_url = 'http://www.sina.com.cn';
|
||||
var documentation_dev_url;
|
||||
var support_url;
|
||||
var account_title;
|
||||
var account_url;
|
||||
UserMenu.include({
|
||||
on_menu_debug: function () {
|
||||
window.location = $.param.querystring(window.location.href, 'debug');
|
||||
},
|
||||
on_menu_debugassets: function () {
|
||||
window.location = $.param.querystring(window.location.href, 'debug=assets');
|
||||
},
|
||||
on_menu_quitdebug: function () {
|
||||
window.location.search = "?";
|
||||
},
|
||||
on_menu_documentation: function () {
|
||||
window.open(documentation_url, '_blank');
|
||||
},
|
||||
on_menu_documentation_dev: function () {
|
||||
window.open(documentation_dev_url, '_blank');
|
||||
},
|
||||
on_menu_support: function () {
|
||||
window.open(support_url, '_blank');
|
||||
},
|
||||
on_menu_account: function () {
|
||||
window.open(account_url, '_blank');
|
||||
},
|
||||
});
|
||||
|
||||
$(document).ready(function () {
|
||||
var self = this;
|
||||
documentation_url = 'http://www.sunpop.cn/documentation/user/10.0/zh_CN/index.html';
|
||||
documentation_dev_url = 'http://www.sunpop.cn/documentation/10.0/index.html';
|
||||
support_url = 'http://www.sunpop.cn/trial';
|
||||
account_title = 'My Online Account';
|
||||
account_url = 'http://www.sunpop.cn/my-account';
|
||||
setTimeout(function () {
|
||||
new Model('ir.config_parameter').call('search_read', [[['key', '=', 'app_show_debug']], ['value']]).then(function (show) {
|
||||
if (show.length >= 1 && (show[0]['value'] == "False")) {
|
||||
UserMenu.include({
|
||||
init: function () {
|
||||
this._super.apply(this, arguments);
|
||||
var self = this
|
||||
var session = this.getSession();
|
||||
var lang_list = '';
|
||||
|
||||
self._rpc({
|
||||
model: 'res.lang',
|
||||
method: 'search_read',
|
||||
domain: [],
|
||||
fields: ['name', 'code'],
|
||||
lazy: false,
|
||||
}).then(function (res) {
|
||||
_.each(res, function (lang) {
|
||||
var a = '';
|
||||
if (lang['code'] === session.user_context.lang) {
|
||||
a = '<i class="fa fa-check"></i>';
|
||||
} else {
|
||||
a = '';
|
||||
}
|
||||
lang_list += '<li><a href="#" data-lang-menu="lang" data-lang-id="' + lang['code'] + '"><img class="flag" src="app_odoo_customize/static/src/img/flags/' + lang['code'] + '.png"/>' + lang['name'] + a + '</a></li>';
|
||||
});
|
||||
lang_list += '<li class="divider"></li>';
|
||||
$('switch-lang').replaceWith(lang_list);
|
||||
})
|
||||
|
||||
//取参数
|
||||
self._rpc({
|
||||
model: 'ir.config_parameter',
|
||||
method: 'search_read',
|
||||
domain: [['key', '=like', 'app_%']],
|
||||
fields: ['key', 'value'],
|
||||
lazy: false,
|
||||
}).then(function (res) {
|
||||
$.each(res, function (key, val) {
|
||||
if (val.key == 'app_documentation_url')
|
||||
documentation_url = val.value;
|
||||
if (val.key == 'app_documentation_dev_url')
|
||||
documentation_dev_url = val.value;
|
||||
if (val.key == 'app_support_url')
|
||||
support_url = val.value;
|
||||
if (val.key == 'app_account_title')
|
||||
account_title = val.value;
|
||||
if (val.key == 'app_account_url')
|
||||
account_url = val.value;
|
||||
// 控制显示
|
||||
if (val.key == 'app_show_lang' && val.value == "False") {
|
||||
$('switch-lang').hide();
|
||||
}
|
||||
if (val.key == 'app_show_debug' && val.value == "False") {
|
||||
$('[data-menu="debug"]').parent().hide();
|
||||
$('[data-menu="debugassets"]').parent().hide();
|
||||
$('[data-menu="quitdebug"]').parent().hide();
|
||||
}
|
||||
});
|
||||
new Model('ir.config_parameter').call('search_read', [[['key', '=', 'app_show_documentation']], ['value']]).then(function (show) {
|
||||
if (show.length >= 1 && (show[0]['value'] == "False"))
|
||||
if (val.key == 'app_show_documentation' && val.value == "False") {
|
||||
$('[data-menu="documentation"]').parent().hide();
|
||||
else {
|
||||
new Model('ir.config_parameter').call('search_read', [[['key', '=', 'app_documentation_url']], ['value']]).then(function (res) {
|
||||
if (res.length >= 1) {
|
||||
_.each(res, function (item) {
|
||||
documentation_url = item['value'];
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
new Model('ir.config_parameter').call('search_read', [[['key', '=', 'app_show_documentation_dev']], ['value']]).then(function (show) {
|
||||
if (show.length >= 1 && (show[0]['value'] == "False"))
|
||||
if (val.key == 'app_show_documentation_dev' && val.value == "False") {
|
||||
$('[data-menu="documentation_dev"]').parent().hide();
|
||||
else {
|
||||
new Model('ir.config_parameter').call('search_read', [[['key', '=', 'app_documentation_dev_url']], ['value']]).then(function (res) {
|
||||
if (res.length >= 1) {
|
||||
_.each(res, function (item) {
|
||||
documentation_dev_url = item['value'];
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
new Model('ir.config_parameter').call('search_read', [[['key', '=', 'app_show_support']], ['value']]).then(function (show) {
|
||||
if (show.length >= 1 && (show[0]['value'] == "False"))
|
||||
if (val.key == 'app_show_support' && val.value == "False") {
|
||||
$('[data-menu="support"]').parent().hide();
|
||||
else {
|
||||
new Model('ir.config_parameter').call('search_read', [[['key', '=', 'app_support_url']], ['value']]).then(function (res) {
|
||||
if (res.length >= 1) {
|
||||
_.each(res, function (item) {
|
||||
support_url = item['value'];
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
new Model('ir.config_parameter').call('search_read', [[['key', '=', 'app_show_account']], ['value']]).then(function (show) {
|
||||
if (show.length >= 1 && (show[0]['value'] == "False"))
|
||||
if (val.key == 'app_show_account' && val.value == "False") {
|
||||
$('[data-menu="account"]').parent().hide();
|
||||
else {
|
||||
new Model('ir.config_parameter').call('search_read', [[['key', '=', 'app_account_title']], ['value']]).then(function (res) {
|
||||
if (res.length >= 1) {
|
||||
_.each(res, function (item) {
|
||||
account_title = item['value'];
|
||||
});
|
||||
}
|
||||
if (val.key == 'app_account_title' && val.value) {
|
||||
$('[data-menu="account"]').html(account_title);
|
||||
});
|
||||
}
|
||||
});
|
||||
new Model('ir.config_parameter').call('search_read', [[['key', '=', 'app_account_url']], ['value']]).then(function (res) {
|
||||
if (res.length >= 1) {
|
||||
_.each(res, function (item) {
|
||||
account_url = item['value'];
|
||||
});
|
||||
}
|
||||
});
|
||||
new Model('ir.config_parameter').call('search_read', [[['key', '=', 'app_show_poweredby']], ['value']]).then(function (show) {
|
||||
if (show.length >= 1 && (show[0]['value'] == "False"))
|
||||
if (val.key == 'app_show_poweredby' && val.value == "False") {
|
||||
$('.o_sub_menu_footer').hide();
|
||||
}
|
||||
});
|
||||
}, 2500);
|
||||
})
|
||||
},
|
||||
/**
|
||||
* @override
|
||||
* 由于odoo11 没传ev到事件,所以要重载
|
||||
*/
|
||||
start: function () {
|
||||
var self = this;
|
||||
return this._super.apply(this, arguments).then(function () {
|
||||
//语言切换特殊处理
|
||||
self.$el.on('click', 'li a[data-lang-menu]', function (ev) {
|
||||
ev.preventDefault();
|
||||
var f = self['_onMenuLang']
|
||||
f.call(self, $(this));
|
||||
});
|
||||
})
|
||||
//控制debug显示
|
||||
var mMode = 'normal';
|
||||
if (window.location.href.indexOf('debug') != -1)
|
||||
mMode = 'debug';
|
||||
if (window.location.href.indexOf('debug=assets') != -1)
|
||||
mMode = 'assets';
|
||||
if (mMode == 'normal')
|
||||
$('[data-menu="quitdebug"]').parent().hide();
|
||||
if (mMode == 'debug')
|
||||
$('[data-menu="debug"]').parent().hide();
|
||||
if (mMode == 'assets')
|
||||
$('[data-menu="debugassets"]').parent().hide();
|
||||
});
|
||||
},
|
||||
_onMenuAccount: function () {
|
||||
window.open(account_url, '_blank');
|
||||
},
|
||||
_onMenuDocumentation: function () {
|
||||
window.open(documentation_url, '_blank');
|
||||
},
|
||||
_onMenuSupport: function () {
|
||||
window.open(support_url, '_blank');
|
||||
},
|
||||
//增加的方法
|
||||
_onMenuDebug: function () {
|
||||
window.location = $.param.querystring(window.location.href, 'debug');
|
||||
},
|
||||
_onMenuDebugassets: function () {
|
||||
window.location = $.param.querystring(window.location.href, 'debug=assets');
|
||||
},
|
||||
_onMenuQuitdebug: function () {
|
||||
window.location.search = "?";
|
||||
},
|
||||
_onMenuDocumentation_dev: function () {
|
||||
window.open(documentation_dev_url, '_blank');
|
||||
},
|
||||
_onMenuLang: function (ev) {
|
||||
var self = this;
|
||||
var lang = ($(ev).data("lang-id"));
|
||||
var session = this.getSession();
|
||||
return this._rpc({
|
||||
model: 'res.users',
|
||||
method: 'write',
|
||||
args: [session.uid, {'lang': lang}],
|
||||
}).then(function (result) {
|
||||
self.do_action({
|
||||
type: 'ir.actions.client',
|
||||
res_model: 'res.users',
|
||||
tag: 'reload_context',
|
||||
target: 'current',
|
||||
});
|
||||
});
|
||||
},
|
||||
})
|
||||
|
||||
});
|
||||
|
||||
@@ -1,49 +0,0 @@
|
||||
odoo.define('app_odoo_customize.switch_language', function (require) {
|
||||
"use strict";
|
||||
|
||||
var Model = require('web.Model');
|
||||
var session = require('web.session');
|
||||
var UserMenu = require('web.UserMenu');
|
||||
|
||||
UserMenu.include({
|
||||
on_menu_lang: function (ev) {
|
||||
var self = this;
|
||||
var lang = ($(ev).data("lang-id"));
|
||||
new Model('res.users').call('write', [[session.uid], {'lang': lang}]).then(function () {
|
||||
self.do_action({
|
||||
type: 'ir.actions.client',
|
||||
res_model: 'res.users',
|
||||
tag: 'reload_context',
|
||||
target: 'current'
|
||||
});
|
||||
});
|
||||
return false;
|
||||
},
|
||||
});
|
||||
//
|
||||
$(document).ready(function () {
|
||||
var self = this;
|
||||
var lang_list = '';
|
||||
setTimeout(function () {
|
||||
new Model('ir.config_parameter').call('search_read', [[['key', '=', 'app_show_lang']], ['value']]).then(function (show) {
|
||||
if (show.length >= 1 && (show[0]['value'] == "False"))
|
||||
$('switch-lang').hide();
|
||||
else {
|
||||
new Model('res.lang').call('search_read', [[], ['name', 'code']]).then(function (res) {
|
||||
_.each(res, function (lang) {
|
||||
var a = '';
|
||||
if (lang['code'] === session.user_context.lang) {
|
||||
a = '<i class="fa fa-check"></i>';
|
||||
} else {
|
||||
a = '';
|
||||
}
|
||||
lang_list += '<li><a href="#" data-menu="lang" data-lang-id="' + lang['code'] + '"><img class="flag" src="app_odoo_customize/static/src/img/flags/' + lang['code'] + '.png"/>' + lang['name'] + a + '</a></li>';
|
||||
});
|
||||
lang_list += '<li class="divider"></li>';
|
||||
$('switch-lang').replaceWith(lang_list);
|
||||
});
|
||||
}
|
||||
});
|
||||
}, 2500);
|
||||
});
|
||||
});
|
||||
@@ -3,13 +3,13 @@
|
||||
<t t-extend="UserMenu">
|
||||
<t t-jquery=".dropdown-menu" t-operation="prepend">
|
||||
<switch-lang/>
|
||||
<li t-if="widget.session.debug != true">
|
||||
<li>
|
||||
<a href="#" data-menu="debug">Activate the developer mode</a>
|
||||
</li>
|
||||
<li t-if="widget.session.debug != 'assets'">
|
||||
<li>
|
||||
<a href="#" data-menu="debugassets">Activate the developer mode (with assets)</a>
|
||||
</li>
|
||||
<li t-if="widget.session.debug != false">
|
||||
<li>
|
||||
<a href="#" data-menu="quitdebug">Deactivate the developer mode</a>
|
||||
</li>
|
||||
<li>
|
||||
|
||||
@@ -4,9 +4,8 @@
|
||||
<template id="switch_language" name="switch_language assets" inherit_id="web.assets_backend">
|
||||
<xpath expr="." position="inside">
|
||||
<link rel="stylesheet" href="/app_odoo_customize/static/src/css/app.css"/>
|
||||
<script type="text/javascript" src="/app_odoo_customize/static/src/js/switch_language.js"></script>
|
||||
<script type="text/javascript" src="/app_odoo_customize/static/src/js/customize_user_menu.js"></script>
|
||||
<script type="text/javascript" src="/app_odoo_customize/static/src/js/app_window_title.js"/>
|
||||
<script type="text/javascript" src="/app_odoo_customize/static/src/js/customize_user_menu.js"></script>
|
||||
</xpath>
|
||||
</template>
|
||||
<!-- some odoo version not support, please remove this if you are using odoo9 -->
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<odoo>
|
||||
<data>
|
||||
<record id="view_app_theme_config_settings" model="ir.ui.view">
|
||||
<field name="name">App Odoo Customize Settings</field>
|
||||
@@ -60,7 +60,7 @@
|
||||
<field name="app_show_poweredby"/>
|
||||
<label for="app_show_poweredby"/>
|
||||
</div>
|
||||
<div>
|
||||
<div invisible="1">
|
||||
<field name="app_stop_subscribe"/>
|
||||
<label for="app_stop_subscribe"/>
|
||||
</div>
|
||||
@@ -161,4 +161,4 @@
|
||||
action="action_app_theme_config"
|
||||
groups="base.group_system"/>
|
||||
</data>
|
||||
</openerp>
|
||||
</odoo>
|
||||
|
||||
Reference in New Issue
Block a user