update customize

This commit is contained in:
ivan deng
2021-03-31 17:55:01 +08:00
parent 45daf52e22
commit 66248c3615
13 changed files with 120 additions and 46 deletions

View File

@@ -22,8 +22,8 @@
# description:
{
'name': 'odoo Customize OEM(Boost, Data reset)',
'version': '14.21.03.03',
'name': 'odoo 14,13 Customize OEM(Boost, Data reset)',
'version': '14.21.03.31',
'author': 'Sunpop.cn',
'category': 'Productivity',
'website': 'https://www.sunpop.cn',
@@ -72,11 +72,13 @@
29. Apps version compare. Add Install version in App list. Add Local updatable filter in app list.
30. 1 key export app translate file like .po file.
31. Show or hide odoo Referral in the top menu.
32. Fix odoo bug of complete name bug of product category and stock location.
32. Fix odoo bug of complete name bug of product category and stock location..
33. Add Demo Ribbon Setting.
34. Add Remove all quality data(for odoo Enterprise).
35. Add odoo 14 Support.
34. Add Remove all quality data.
35. Fixed for odoo 14.
36. Add refresh translate for multi module.
37. Easy noupdate manage for External Identifiers(xml_id)
38. Add Draggable Dialog enable.
This module can help to white label the Odoo.
Also helpful for training and support for your odoo end-user.
@@ -117,9 +119,11 @@
31. 显示或去除 odoo 推荐
32. 增加修复品类及区位名的操作
33. 增加 Demo 的显示设置
34. 增加清除质检数据 (企业版)
34. 增加清除质检数据
35. 优化至odoo14适用
36. 可为多个模块强制更新翻译
37. noupdate字段的快速管理主要针对 xml_id
38. 对话框可拖拽
""",
'images': ['static/description/banner.gif'],
'depends': [
@@ -143,6 +147,7 @@
'views/ir_ui_menu_views.xml',
'views/ir_ui_view_views.xml',
'views/ir_model_fields_views.xml',
'views/ir_model_data_views.xml',
# data
'data/ir_config_parameter_data.xml',
'data/ir_module_module_data.xml',

View File

@@ -44,11 +44,11 @@
</record>
<record id="app_documentation_url" model="ir.config_parameter">
<field name="key">app_documentation_url</field>
<field name="value">https://www.sunpop.cn/documentation/user/12.0/zh_CN/index.html</field>
<field name="value">https://www.sunpop.cn/documentation/user/13.0/zh_CN/index.html</field>
</record>
<record id="app_documentation_dev_url" model="ir.config_parameter">
<field name="key">app_documentation_dev_url</field>
<field name="value">https://www.sunpop.cn/documentation/12.0/index.html</field>
<field name="value">https://www.sunpop.cn/documentation/13.0/index.html</field>
</record>
<record id="app_support_url" model="ir.config_parameter">
<field name="key">app_support_url</field>

View File

@@ -4,10 +4,10 @@
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 13.0+e\n"
"Project-Id-Version: Odoo Server 14.0+e-20200628\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-08-21 06:23+0000\n"
"PO-Revision-Date: 2020-08-21 06:23+0000\n"
"POT-Creation-Date: 2021-03-31 08:16+0000\n"
"PO-Revision-Date: 2021-03-31 08:16+0000\n"
"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
@@ -17,7 +17,6 @@ msgstr ""
#. module: app_odoo_customize
#. openerp-web
#: code:addons/app_common13/app_odoo_customize/static/src/xml/res_config_edition.xml:0
#: code:addons/app_odoo_customize/static/src/xml/res_config_edition.xml:0
#, python-format
msgid "(Sunpop.cn Professional Edition)"
@@ -71,7 +70,7 @@ msgstr "<span class=\"col-3 col-lg-2 text-left\">采购</span>"
#. module: app_odoo_customize
#: model_terms:ir.ui.view,arch_db:app_odoo_customize.view_app_theme_config_settings
msgid "<span class=\"col-3 col-lg-2 text-left\">Quality</span>"
msgstr "<span class=\"col-3 col-lg-2 text-left\">质</span>"
msgstr "<span class=\"col-3 col-lg-2 text-left\">质</span>"
#. module: app_odoo_customize
#: model_terms:ir.ui.view,arch_db:app_odoo_customize.view_app_theme_config_settings
@@ -90,7 +89,6 @@ msgstr "<span>设置为 False 则不显示</span>"
#. module: app_odoo_customize
#. openerp-web
#: code:addons/app_common13/app_odoo_customize/static/src/xml/customize_user_menu.xml:0
#: code:addons/app_odoo_customize/static/src/xml/customize_user_menu.xml:0
#, python-format
msgid "Activate the developer mode"
@@ -98,7 +96,6 @@ msgstr "激活开发者模式"
#. module: app_odoo_customize
#. openerp-web
#: code:addons/app_common13/app_odoo_customize/static/src/xml/customize_user_menu.xml:0
#: code:addons/app_odoo_customize/static/src/xml/customize_user_menu.xml:0
#, python-format
msgid "Activate the developer mode (with assets)"
@@ -147,7 +144,6 @@ msgstr "数据清理(请谨慎操作!)"
#. module: app_odoo_customize
#. openerp-web
#: code:addons/app_common13/app_odoo_customize/static/src/xml/customize_user_menu.xml:0
#: code:addons/app_odoo_customize/static/src/xml/customize_user_menu.xml:0
#, python-format
msgid "Deactivate the developer mode"
@@ -213,7 +209,12 @@ msgstr "删除所有询价单、采购单,采购招标"
#. module: app_odoo_customize
#: model_terms:ir.ui.view,arch_db:app_odoo_customize.view_app_theme_config_settings
msgid "Delete All Quality"
msgstr ""
msgstr "删除所有质检单据"
#. module: app_odoo_customize
#: model_terms:ir.ui.view,arch_db:app_odoo_customize.view_app_theme_config_settings
msgid "Delete All Quality Setting"
msgstr "删除所有质检设置"
#. module: app_odoo_customize
#: model_terms:ir.ui.view,arch_db:app_odoo_customize.view_app_theme_config_settings
@@ -242,7 +243,6 @@ msgstr "开发者手册链接"
#. module: app_odoo_customize
#. openerp-web
#: code:addons/app_common13/app_odoo_customize/static/src/xml/customize_user_menu.xml:0
#: code:addons/app_odoo_customize/static/src/xml/customize_user_menu.xml:0
#, python-format
msgid "Developer Manual"
@@ -316,9 +316,9 @@ msgid "Powered by <span>odooApp</span>"
msgstr "技术支持 <span>Sunpop.cn</span>"
#. module: app_odoo_customize
#: model:ir.actions.act_window,name:app_odoo_customize.action_server_module_multi_refresh_po
msgid "Refresh Module Translation"
msgstr "更新模块翻译"
#: model:ir.actions.server,name:app_odoo_customize.action_server_module_multi_refresh_po
msgid "Refresh Translation"
msgstr "刷新翻译"
#. module: app_odoo_customize
#: model_terms:ir.ui.view,arch_db:app_odoo_customize.view_app_theme_config_settings
@@ -509,12 +509,11 @@ msgstr "启用后,会显示快速调试菜单"
#. module: app_odoo_customize
#: model_terms:ir.ui.view,arch_db:app_odoo_customize.view_app_theme_config_settings
msgid "Odoo Customize Setting"
msgid "White Label Setting"
msgstr "个性化odoo设置"
#. module: app_odoo_customize
#. openerp-web
#: code:addons/app_common13/app_odoo_customize/static/src/xml/res_config_edition.xml:0
#: code:addons/app_odoo_customize/static/src/xml/res_config_edition.xml:0
#: model:ir.ui.menu,name:app_odoo_customize.menu_app_group
#, python-format

View File

@@ -116,6 +116,9 @@ class ResConfigSettings(models.TransientModel):
# 清数据o=对象, s=序列
def remove_app_data(self, o, s=[]):
for line in o:
# 检查是否存在
if not self.env['ir.model']._get(line):
continue
obj_name = line
obj = self.pool.get(obj_name)
if not obj:
@@ -125,14 +128,20 @@ class ResConfigSettings(models.TransientModel):
t_name = obj._table
sql = "delete from %s" % t_name
# 增加多公司处理
if hasattr(self.env[obj_name], 'company_id'):
field = self.env[obj_name]._fields['company_id']
if not field.related or field.store:
sql = "%s where company_id=%d" % (sql, self.env.company.id)
_logger.warning('remove_app_data where add company_id: %s' % obj_name)
try:
self._cr.execute(sql)
self._cr.commit()
# self._cr.commit()
except Exception as e:
_logger.error('remove data error: %s,%s', line, e)
# 更新序号
for line in s:
domain = [('code', '=ilike', line + '%')]
domain = ['|', ('code', '=ilike', line + '%'), ('prefix', '=ilike', line + '%')]
try:
seqs = self.env['ir.sequence'].sudo().search(domain)
if seqs.exists():
@@ -262,7 +271,7 @@ class ResConfigSettings(models.TransientModel):
# 清除库存单据
'stock.quant',
'stock.move.line',
'stock.package.level',
'stock.package_level',
'stock.quantity.history',
'stock.quant.package',
'stock.move',
@@ -280,6 +289,7 @@ class ResConfigSettings(models.TransientModel):
seqs = [
'stock.',
'picking.',
'procurement.group',
'WH/',
]
return self.remove_app_data(to_removes, seqs)
@@ -306,6 +316,7 @@ class ResConfigSettings(models.TransientModel):
# extra 更新序号
domain = [
('company_id', '=', self.env.company.id),
'|', ('code', '=ilike', 'account.%'),
'|', ('prefix', '=ilike', 'BNK1/%'),
'|', ('prefix', '=ilike', 'CSH1/%'),
@@ -326,10 +337,11 @@ class ResConfigSettings(models.TransientModel):
return res
def remove_account_chart(self):
company_id = self.env.company.id
self = self.with_context(force_company=company_id, company_id=company_id)
to_removes = [
# 清除财务科目,用于重设
'res.partner.bank',
'res.bank',
'account.move.line',
'account.invoice',
'account.payment',
@@ -344,17 +356,18 @@ class ResConfigSettings(models.TransientModel):
# todo: 要做 remove_hr因为工资表会用到 account
# 更新account关联很多是多公司字段故只存在 ir_property故在原模型只能用update
try:
# reset default tax不管多公司
field1 = self.env['ir.model.fields']._get('product.template', "taxes_id").id
field2 = self.env['ir.model.fields']._get('product.template', "supplier_taxes_id").id
sql = ("delete from ir_default where field_id = %s or field_id = %s") % (field1, field2)
sql2 = ("update account_journal set bank_account_id=NULL;")
sql = "delete from ir_default where (field_id = %s or field_id = %s) and company_id=%d" \
% (field1, field2, company_id)
sql2 = "update account_journal set bank_account_id=NULL where company_id=%d;" % company_id
self._cr.execute(sql)
self._cr.execute(sql2)
self._cr.commit()
except Exception as e:
pass
_logger.error('remove data error: %s,%s', 'account_chart: set tax and account_journal', e)
try:
# 增加对 pos的处理
sql = ("update pos_config set journal_id=NULL;")
@@ -383,7 +396,7 @@ class ResConfigSettings(models.TransientModel):
'property_stock_valuation_account_id': None,
})
except Exception as e:
pass
pass # raise Warning(e)
try:
rec = self.env['stock.location'].search([])
for r in rec:
@@ -392,10 +405,12 @@ class ResConfigSettings(models.TransientModel):
'valuation_out_account_id': None,
})
except Exception as e:
pass
pass # raise Warning(e)
seqs = []
return self.remove_app_data(to_removes, seqs)
res = self.remove_app_data(to_removes, seqs)
self.env.company.write({'chart_template_id': False})
return res
def remove_project(self):
to_removes = [
@@ -481,14 +496,14 @@ class ResConfigSettings(models.TransientModel):
def remove_all_biz(self):
self.remove_account()
self.remove_quality()
self.remove_inventory()
self.remove_mrp()
self.remove_purchase()
self.remove_mrp()
self.remove_sales()
self.remove_project()
self.remove_pos()
self.remove_expense()
self.remove_quality()
self.remove_message()
return True

View File

@@ -1,7 +1,7 @@
##App Odoo Customize(Debranding Title,Language,Documentation,Quick Debug,Quick Data Clear)
============
White label odoo.
Support Odoo 14,13,12, 11, 10, 9. Including communicate and enterprise version.
Support Odoo 13,12, 11, 10, 9. Including communicate and enterprise version.
You can config odoo, make it look like your own platform.
1. Deletes Odoo label in footer
2. Replaces "Odoo" in Windows title

View File

@@ -47,6 +47,9 @@
<div class="oe_span12">
<h2 class="oe_slogan">This is a Long Term Support Apps.</h2>
<div class="oe_demo" style=" margin: 30px auto 0; padding: 0 15px 0 0; border:none; width: 96%;">
<h3>Update: v14.21.03.31</h3>
<p>38. Add Draggable Dialog enable.</p>
<p>37. Easy noupdate manage for External Identifiers(xml_id).</p>
<h3>Update: v14.21.03.03</h3>
<p>Fixed odoo Title.</p>
<h3>Update: v14.20.12.29</h3>
@@ -133,7 +136,6 @@
<li class="list-group-item">33. Add Demo Ribbon Setting.</li>
<li class="list-group-item">34. Add Remove all quality data.</li>
<li class="list-group-item">35. Fixed for odoo 14.</li>
<li class="list-group-item">36. Add refresh translate for multi module.</li>
</ul>
<p>
This module can help to white label the Odoo.

View File

@@ -0,0 +1,17 @@
odoo.define('app_odoo_customize.dialog', function (require) {
'use strict';
var Dialog = require('web.Dialog');
Dialog.include({
open: function () {
this._super.apply(this, arguments);
this._opened.then(function(){
$(".modal-content").draggable({
handle: ".modal-header"
});
});
return this;
},
});
});

View File

@@ -0,0 +1,7 @@
.modal {
.modal-content {
.modal-header.ui-draggable-handle {
cursor: move;
}
}
}

View File

@@ -4,11 +4,13 @@
<xpath expr="//link[last()]" position="after">
<link rel="stylesheet" type="text/scss" href="/app_odoo_customize/static/src/scss/app.scss"/>
<link rel="stylesheet" type="text/scss" href="/app_odoo_customize/static/src/scss/ribbon.scss"/>
<link rel="stylesheet" type="text/scss" href="/app_odoo_customize/static/src/scss/dialog.scss"/>
</xpath>
<xpath expr="script[last()]" position="after">
<script type="text/javascript" src="/app_odoo_customize/static/src/js/app_window_title.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/ribbon.js"></script>
<script type="text/javascript" src="/app_odoo_customize/static/src/js/dialog.js"></script>
</xpath>
</template>

View File

@@ -144,8 +144,12 @@
</div>
<div class="col-12 col-lg-12 mb4">
<span class="col-3 col-lg-2 text-left">Accounting</span>
<span class="fa fa-lg fa-building-o" title="Values set here are company-specific." groups="base.group_multi_company"/>
<button string="Delete All Voucher/Invoice/Bill" type="object" name="remove_account"
confirm="Please confirm to delete the select data?" class="oe_highlight"/>
|
<button string="Clean and reset Account Chart" type="object" name="remove_account_chart"
confirm="Please confirm to delete the select data?" class="oe_highlight"/>
</div>
<div class="col-12 col-lg-12 mb4">
<span class="col-3 col-lg-2 text-left">Project</span>
@@ -179,9 +183,6 @@
<button string="Delete All Workflow" type="object" name="remove_workflow"
confirm="Please confirm to delete the select data?" class="oe_highlight"/>
|
<button string="Clean and reset Account Chart" type="object" name="remove_account_chart"
confirm="Please confirm to delete the select data?" class="oe_highlight"/>
|
<button string="Reset Category And Location Complete Name" type="object" name="reset_cat_loc_name" class="oe_highlight"/>
</div>
<div class="col-12 col-lg-12 mb4">

View File

@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="app_view_model_data_list" model="ir.ui.view">
<field name="name">app.ir.model.data.tree</field>
<field name="model">ir.model.data</field>
<field name="inherit_id" ref="base.view_model_data_list"/>
<field name="arch" type="xml">
<field name="res_id" position="after">
<field name="noupdate"/>
</field>
</field>
</record>
<record id="app_view_model_data_search" model="ir.ui.view">
<field name="name">app.ir.model.data.search</field>
<field name="model">ir.model.data</field>
<field name="inherit_id" ref="base.view_model_data_search"/>
<field name="arch" type="xml">
<filter name="updatable" position="after">
<filter string="No Updatable" name="noupdatable" domain="[('noupdate', '=', True)]"/>
</filter>
</field>
</record>
</odoo>

View File

@@ -10,8 +10,11 @@
<attribute name="groups"/>
</field>
<field name="installed_version" position="after">
<field name="latest_version"/>
<field name="local_updatable"/>
<field name="latest_version" optional="hide"/>
<field name="local_updatable" optional="show"/>
</field>
<field name="website" position="attributes">
<attribute name="optional">hide</attribute>
</field>
</field>
</record>

View File

@@ -14,7 +14,7 @@
</record>
<record id="action_server_module_multi_refresh_po" model="ir.actions.server">
<field name="name">Refresh Module Translation</field>
<field name="name">Refresh Translation</field>
<field name="type">ir.actions.server</field>
<field name="binding_model_id" ref="base.model_ir_module_module" />
<field name="model_id" ref="base.model_ir_module_module" />