diff --git a/app_base_chinese/__manifest__.py b/app_base_chinese/__manifest__.py
index 032b8c77..f1769889 100644
--- a/app_base_chinese/__manifest__.py
+++ b/app_base_chinese/__manifest__.py
@@ -18,7 +18,7 @@
{
'name': "App base chinese,中国化基本模块增强",
- 'version': '13.20.03.19',
+ 'version': '13.20.04.11',
'author': 'Sunpop.cn',
'category': 'Base',
'website': 'https://www.sunpop.cn',
@@ -29,6 +29,7 @@
'summary': """
Chinese enhance. Out of the box use in china.
Set all chinese default value.
+ Add quick set of english name.
Default country, timezone, currency, partner...
""",
'description': """
@@ -45,7 +46,8 @@
9. 时间格式年月日为 2019-12-30,时间为 22:10
10. 国家增加排序,中国排第一
11. 收款相关显示中国习惯
- 12. 翻译导出默认中文,默认po
+ 12. 翻译导出默认中文,默认po
+ 13. 在 base 模型增加 name_en_US 字段,赋值后同时改翻译值
21. todo:中文演示数据(只有demo模式才加载)
""",
'pre_init_hook': 'pre_init_hook',
@@ -65,7 +67,6 @@
'views/templates.xml',
'wizard/sale_make_invoice_advance_views.xml',
'data/ir_default_data.xml',
- 'data/ir_sequence_data.xml',
'data/base_data.xml',
'data/res_country_data.xml',
'data/res_currency_data.xml',
diff --git a/app_base_chinese/data/ir_sequence_data.xml b/app_base_chinese/data/ir_sequence_data.xml
deleted file mode 100644
index 20ef70f3..00000000
--- a/app_base_chinese/data/ir_sequence_data.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
- 产品目录常规编号规则
- product.category.seq.normal
- CAT
- 4
-
-
-
diff --git a/app_base_chinese/i18n/zh_CN.po b/app_base_chinese/i18n/zh_CN.po
index 58e7475e..f254f57e 100644
--- a/app_base_chinese/i18n/zh_CN.po
+++ b/app_base_chinese/i18n/zh_CN.po
@@ -6,15 +6,24 @@ msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 13.0+e\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-01-18 15:21+0000\n"
-"PO-Revision-Date: 2020-01-18 23:22+0800\n"
+"POT-Creation-Date: 2020-04-10 18:20+0000\n"
+"PO-Revision-Date: 2020-04-10 18:20+0000\n"
"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
+"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"
-"X-Generator: Poedit 1.7.7\n"
+
+#. module: app_base_chinese
+#: model:ir.model.fields,field_description:app_base_chinese.field_account_tax_group__active
+msgid "Active"
+msgstr "激活"
+
+#. module: app_base_chinese
+#: model:ir.model,name:app_base_chinese.model_base
+msgid "Base"
+msgstr "基础"
#. module: app_base_chinese
#: model:ir.model.fields,field_description:app_base_chinese.field_product_category__complete_name
@@ -41,11 +50,23 @@ msgstr "币种"
msgid "Determine the display order. Sort ascending."
msgstr "决定显示顺序,数字越小排序越前"
+#. module: app_base_chinese
+#: model:ir.model.fields,field_description:app_base_chinese.field_res_partner__name_en_US
+#: model:ir.model.fields,field_description:app_base_chinese.field_res_users__name_en_US
+msgid "English Name"
+msgstr "英文名"
+
#. module: app_base_chinese
#: model_terms:ir.ui.view,arch_db:app_base_chinese.app_view_sale_advance_payment_inv
msgid "FaPiao / Invoice Orders"
msgstr "创建收据/发票"
+#. module: app_base_chinese
+#: model:ir.model.fields,field_description:app_base_chinese.field_res_partner__fax
+#: model:ir.model.fields,field_description:app_base_chinese.field_res_users__fax
+msgid "Fax"
+msgstr "传真"
+
#. module: app_base_chinese
#: model:ir.model.fields,field_description:app_base_chinese.field_stock_location__complete_name
msgid "Full Location Name"
@@ -80,15 +101,30 @@ msgstr "过帐"
#. module: app_base_chinese
#: model:ir.model,name:app_base_chinese.model_product_category
msgid "Product Category"
-msgstr "品类"
+msgstr "产品类别"
#. module: app_base_chinese
#: model:ir.model.fields,field_description:app_base_chinese.field_res_currency__sequence
msgid "Sequence"
msgstr "单号规则"
+#. module: app_base_chinese
+#: model:ir.model.fields,help:app_base_chinese.field_account_tax_group__active
+msgid "Set active to false to hide the tax without removing it."
+msgstr "请不要删除指定税率,可以将其归档。"
+
#. module: app_base_chinese
#: model:ir.model.fields,field_description:app_base_chinese.field_res_partner__short_name
#: model:ir.model.fields,field_description:app_base_chinese.field_res_users__short_name
msgid "Short Name"
msgstr "简称"
+
+#. module: app_base_chinese
+#: model:ir.model,name:app_base_chinese.model_account_tax_group
+msgid "Tax Group"
+msgstr "税组"
+
+#. module: app_base_chinese
+#: model:ir.sequence,name:app_base_chinese.sequence_product_category_normal
+msgid "产品目录常规编号规则"
+msgstr ""
diff --git a/app_base_chinese/models/__init__.py b/app_base_chinese/models/__init__.py
index 423324f5..9ab3b890 100644
--- a/app_base_chinese/models/__init__.py
+++ b/app_base_chinese/models/__init__.py
@@ -1,5 +1,6 @@
# -*- coding: utf-8 -*-
+from . import base
from . import res_partner
from . import res_currency
from . import product_category
diff --git a/app_base_chinese/models/base.py b/app_base_chinese/models/base.py
new file mode 100644
index 00000000..a1fa4774
--- /dev/null
+++ b/app_base_chinese/models/base.py
@@ -0,0 +1,46 @@
+# -*- coding: utf-8 -*-
+
+import logging
+
+from odoo import api, fields, models, _
+
+_logger = logging.getLogger(__name__)
+
+
+class Base(models.AbstractModel):
+ _inherit = 'base'
+
+ # name_en_US 只要某个模型有此字段,且放在界面上,就会进行此处理
+ # 无此字段不处理
+
+ # todo: 为了性能,暂时不在 create 时处理
+ # todo: create_multi ?
+ # todo: 在 ir.translation 中处理以提高性能, 或反向写回
+ @api.model
+ def create(self, vals):
+ name_field = self._fields.get("name")
+ name_en_field = self._fields.get("name_en_US")
+ name_en_US = None
+ if name_field and name_field.translate and name_field.type in ["char", "text"] \
+ and name_en_field and name_en_field.type in["char", "text"] and 'name_en_US' in vals:
+ name_en_US = vals.get('name_en_US')
+ rec = super(Base, self).create(vals)
+ if name_en_US:
+ try:
+ rec.with_context(lang='en_US').name = name_en_US
+ except Exception as e:
+ pass
+ return rec
+
+ def write(self, vals):
+ name_field = self._fields.get("name")
+ name_en_field = self._fields.get("name_en_US")
+ if name_field and name_field.translate and name_field.type in ["char", "text"] \
+ and name_en_field and name_en_field.type in["char", "text"] and 'name_en_US' in vals:
+ name_en_US = vals.get('name_en_US')
+ if name_en_US != None:
+ try:
+ self.with_context(lang='en_US').write(dict(name=name_en_US))
+ except Exception as e:
+ pass
+ return super(Base, self).write(vals)
diff --git a/app_base_chinese/models/res_partner.py b/app_base_chinese/models/res_partner.py
index e932ab3f..310cf4c7 100644
--- a/app_base_chinese/models/res_partner.py
+++ b/app_base_chinese/models/res_partner.py
@@ -8,6 +8,7 @@ class ResPartner(models.Model):
_inherit = 'res.partner'
name = fields.Char(index=True, translate=True)
+ name_en_US = fields.Char('English Name')
short_name = fields.Char('Short Name') # 简称
fax = fields.Char('Fax') # 简称
diff --git a/app_base_chinese/views/res_partner_views.xml b/app_base_chinese/views/res_partner_views.xml
index 25ab25d2..5b5a22b1 100644
--- a/app_base_chinese/views/res_partner_views.xml
+++ b/app_base_chinese/views/res_partner_views.xml
@@ -13,6 +13,7 @@
+
diff --git a/app_product_brand/__manifest__.py b/app_product_brand/__manifest__.py
index f092ff26..f4b8783e 100644
--- a/app_product_brand/__manifest__.py
+++ b/app_product_brand/__manifest__.py
@@ -41,7 +41,7 @@
{
'name': 'Product Brand Manager',
- 'version': '13.19.12.12',
+ 'version': '13.20.04.11',
'author': 'Sunpop.cn',
'category': 'Product',
'website': 'https://www.sunpop.cn',
diff --git a/app_product_brand/report/__init__.py b/app_product_brand/report/__init__.py
new file mode 100644
index 00000000..633f8661
--- /dev/null
+++ b/app_product_brand/report/__init__.py
@@ -0,0 +1,2 @@
+# -*- coding: utf-8 -*-
+
diff --git a/app_product_brand/reports/account_invoice_report.py b/app_product_brand/reports/account_invoice_report.py
index 5b08ced2..c2168cdc 100644
--- a/app_product_brand/reports/account_invoice_report.py
+++ b/app_product_brand/reports/account_invoice_report.py
@@ -7,10 +7,7 @@ from odoo import fields, models
class AccountInvoiceReport(models.Model):
_inherit = "account.invoice.report"
- product_brand_id = fields.Many2one(
- comodel_name='product.product_brand_id',
- string='Brand',
- )
+ product_brand_id = fields.Many2one('product.brand', string='Brand')
def _select(self):
select_str = super()._select()
diff --git a/app_product_brand/reports/sale_report.py b/app_product_brand/reports/sale_report.py
index 2cd20d02..f6edf470 100644
--- a/app_product_brand/reports/sale_report.py
+++ b/app_product_brand/reports/sale_report.py
@@ -7,10 +7,7 @@ from odoo import fields, models
class SaleReport(models.Model):
_inherit = "sale.report"
- product_brand_id = fields.Many2one(
- comodel_name='product.brand',
- string='Brand',
- )
+ product_brand_id = fields.Many2one('product.brand', string='Brand')
# pylint:disable=dangerous-default-value
def _query(self, with_clause='', fields={}, groupby='', from_clause=''):