From 66248c3615b4f8f5c5ff6229b34d5b442d3a2e64 Mon Sep 17 00:00:00 2001 From: ivan deng Date: Wed, 31 Mar 2021 17:55:01 +0800 Subject: [PATCH] update customize --- app_odoo_customize/__manifest__.py | 21 ++++++---- .../data/ir_config_parameter_data.xml | 4 +- app_odoo_customize/i18n/zh_CN.po | 29 +++++++------ .../models/res_config_settings.py | 41 +++++++++++++------ app_odoo_customize/readme.md | 2 +- .../static/description/index.html | 4 +- app_odoo_customize/static/src/js/dialog.js | 17 ++++++++ .../static/src/scss/dialog.scss | 7 ++++ .../views/app_odoo_customize_views.xml | 2 + .../views/app_theme_config_settings_views.xml | 7 ++-- .../views/ir_model_data_views.xml | 23 +++++++++++ .../views/ir_module_module_views.xml | 7 +++- app_odoo_customize/views/ir_views.xml | 2 +- 13 files changed, 120 insertions(+), 46 deletions(-) create mode 100644 app_odoo_customize/static/src/js/dialog.js create mode 100644 app_odoo_customize/static/src/scss/dialog.scss create mode 100644 app_odoo_customize/views/ir_model_data_views.xml diff --git a/app_odoo_customize/__manifest__.py b/app_odoo_customize/__manifest__.py index be68bdbe..d1e1434b 100644 --- a/app_odoo_customize/__manifest__.py +++ b/app_odoo_customize/__manifest__.py @@ -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', @@ -35,7 +35,7 @@ customize my odoo. odoo customize, odoo oem. """, 'description': """ - + App Customize Odoo (Change Title,Language,Documentation,Quick Debug) ============ White label odoo. @@ -72,12 +72,14 @@ 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. The user can get the help document just by one click. @@ -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', diff --git a/app_odoo_customize/data/ir_config_parameter_data.xml b/app_odoo_customize/data/ir_config_parameter_data.xml index cad9ac57..500112a6 100644 --- a/app_odoo_customize/data/ir_config_parameter_data.xml +++ b/app_odoo_customize/data/ir_config_parameter_data.xml @@ -44,11 +44,11 @@ app_documentation_url - https://www.sunpop.cn/documentation/user/12.0/zh_CN/index.html + https://www.sunpop.cn/documentation/user/13.0/zh_CN/index.html app_documentation_dev_url - https://www.sunpop.cn/documentation/12.0/index.html + https://www.sunpop.cn/documentation/13.0/index.html app_support_url diff --git a/app_odoo_customize/i18n/zh_CN.po b/app_odoo_customize/i18n/zh_CN.po index e5f5e426..32690784 100644 --- a/app_odoo_customize/i18n/zh_CN.po +++ b/app_odoo_customize/i18n/zh_CN.po @@ -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 "采购" #. module: app_odoo_customize #: model_terms:ir.ui.view,arch_db:app_odoo_customize.view_app_theme_config_settings msgid "Quality" -msgstr "质量" +msgstr "质检" #. module: app_odoo_customize #: model_terms:ir.ui.view,arch_db:app_odoo_customize.view_app_theme_config_settings @@ -90,7 +89,6 @@ msgstr "设置为 False 则不显示" #. 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 odooApp" msgstr "技术支持 Sunpop.cn" #. 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 diff --git a/app_odoo_customize/models/res_config_settings.py b/app_odoo_customize/models/res_config_settings.py index dd9a4e0c..cda5a0c9 100644 --- a/app_odoo_customize/models/res_config_settings.py +++ b/app_odoo_customize/models/res_config_settings.py @@ -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 diff --git a/app_odoo_customize/readme.md b/app_odoo_customize/readme.md index 78c89856..573c734c 100644 --- a/app_odoo_customize/readme.md +++ b/app_odoo_customize/readme.md @@ -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 diff --git a/app_odoo_customize/static/description/index.html b/app_odoo_customize/static/description/index.html index 88ff4d19..535756f8 100644 --- a/app_odoo_customize/static/description/index.html +++ b/app_odoo_customize/static/description/index.html @@ -47,6 +47,9 @@

This is a Long Term Support Apps.

+

Update: v14.21.03.31

+

38. Add Draggable Dialog enable.

+

37. Easy noupdate manage for External Identifiers(xml_id).

Update: v14.21.03.03

Fixed odoo Title.

Update: v14.20.12.29

@@ -133,7 +136,6 @@
  • 33. Add Demo Ribbon Setting.
  • 34. Add Remove all quality data.
  • 35. Fixed for odoo 14.
  • -
  • 36. Add refresh translate for multi module.
  • This module can help to white label the Odoo. diff --git a/app_odoo_customize/static/src/js/dialog.js b/app_odoo_customize/static/src/js/dialog.js new file mode 100644 index 00000000..2cc20f82 --- /dev/null +++ b/app_odoo_customize/static/src/js/dialog.js @@ -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; + }, + }); +}); diff --git a/app_odoo_customize/static/src/scss/dialog.scss b/app_odoo_customize/static/src/scss/dialog.scss new file mode 100644 index 00000000..ad828ffc --- /dev/null +++ b/app_odoo_customize/static/src/scss/dialog.scss @@ -0,0 +1,7 @@ +.modal { + .modal-content { + .modal-header.ui-draggable-handle { + cursor: move; + } + } +} \ No newline at end of file diff --git a/app_odoo_customize/views/app_odoo_customize_views.xml b/app_odoo_customize/views/app_odoo_customize_views.xml index ce0d018c..b1778dff 100644 --- a/app_odoo_customize/views/app_odoo_customize_views.xml +++ b/app_odoo_customize/views/app_odoo_customize_views.xml @@ -4,11 +4,13 @@ + + diff --git a/app_odoo_customize/views/app_theme_config_settings_views.xml b/app_odoo_customize/views/app_theme_config_settings_views.xml index 7d3ff36e..89a5cb7d 100644 --- a/app_odoo_customize/views/app_theme_config_settings_views.xml +++ b/app_odoo_customize/views/app_theme_config_settings_views.xml @@ -144,8 +144,12 @@

    Accounting +
    Project @@ -179,9 +183,6 @@
    diff --git a/app_odoo_customize/views/ir_model_data_views.xml b/app_odoo_customize/views/ir_model_data_views.xml new file mode 100644 index 00000000..1b86be8d --- /dev/null +++ b/app_odoo_customize/views/ir_model_data_views.xml @@ -0,0 +1,23 @@ + + + + app.ir.model.data.tree + ir.model.data + + + + + + + + + app.ir.model.data.search + ir.model.data + + + + + + + + diff --git a/app_odoo_customize/views/ir_module_module_views.xml b/app_odoo_customize/views/ir_module_module_views.xml index 8198f231..f5e4072f 100644 --- a/app_odoo_customize/views/ir_module_module_views.xml +++ b/app_odoo_customize/views/ir_module_module_views.xml @@ -10,8 +10,11 @@ - - + + + + + hide diff --git a/app_odoo_customize/views/ir_views.xml b/app_odoo_customize/views/ir_views.xml index 8c918341..5021a8bc 100644 --- a/app_odoo_customize/views/ir_views.xml +++ b/app_odoo_customize/views/ir_views.xml @@ -14,7 +14,7 @@ - Refresh Module Translation + Refresh Translation ir.actions.server