mirror of
https://github.com/guohuadeng/app-odoo.git
synced 2025-02-23 04:11:36 +02:00
fix #I1E17T【app_base_chinese】对英文名的快速支持
fix data
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
from . import base
|
||||
from . import res_partner
|
||||
from . import res_currency
|
||||
from . import product_category
|
||||
|
||||
46
app_base_chinese/models/base.py
Normal file
46
app_base_chinese/models/base.py
Normal file
@@ -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)
|
||||
@@ -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') # 简称
|
||||
|
||||
|
||||
Reference in New Issue
Block a user