diff --git a/app_common/__manifest__.py b/app_common/__manifest__.py
index 6022592f..449ab23f 100644
--- a/app_common/__manifest__.py
+++ b/app_common/__manifest__.py
@@ -33,7 +33,7 @@
{
'name': "Sunpop Odooapp Common Func",
- 'version': '13.21.08.21',
+ 'version': '13.21.08.26',
'author': 'Sunpop.cn',
'category': 'Base',
'website': 'https://www.sunpop.cn',
diff --git a/app_common/i18n/zh_CN.po b/app_common/i18n/zh_CN.po
index a4f04c96..f1e36e3e 100644
--- a/app_common/i18n/zh_CN.po
+++ b/app_common/i18n/zh_CN.po
@@ -1,31 +1,14 @@
# Translation of Odoo Server.
-# This file contains the translation of the following modules:
-# * app_common
#
msgid ""
msgstr ""
-"Project-Id-Version: Odoo Server 13.0+e\n"
+"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-08-19 09:28+0000\n"
-"PO-Revision-Date: 2021-08-19 09:28+0000\n"
-"Last-Translator: \n"
+"POT-Creation-Date: 2018-01-08 14:28+0000\n"
+"PO-Revision-Date: 2018-01-08 14:28+0000\n"
+"Last-Translator: <>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"
-
-#. module: app_common
-#: model:ir.model.fields,field_description:app_common.field_ir_cron__trigger_user_id
-msgid "Last Trigger User"
-msgstr "手动运行用户"
-
-#. module: app_common
-#: model:ir.model,name:app_common.model_ir_cron
-msgid "Scheduled Actions"
-msgstr "安排的动作"
-
-#. module: app_common
-#: model:ir.model,name:app_common.model_ir_ui_view
-msgid "View"
-msgstr "查看"
diff --git a/app_common/models/__init__.py b/app_common/models/__init__.py
index b9904014..e64a9280 100644
--- a/app_common/models/__init__.py
+++ b/app_common/models/__init__.py
@@ -24,7 +24,8 @@
from . import base
from . import fields
-from . import view_validation
+# from . import validator
from . import ir_ui_view
-from . import ir_cron
+from . import res_users
+
diff --git a/app_common/models/base.py b/app_common/models/base.py
index 26d72f9a..a621ed65 100644
--- a/app_common/models/base.py
+++ b/app_common/models/base.py
@@ -9,56 +9,9 @@ from io import BytesIO
from datetime import date, datetime, time
import pytz
-import logging
-
-_logger = logging.getLogger(__name__)
-
-# 常规的排除的fields
-EXCLU_FIELDS = [
- '__last_update',
- 'access_token',
- 'access_url',
- 'access_warning',
- 'activity_date_deadline',
- 'activity_exception_decoration',
- 'activity_exception_icon',
- 'activity_ids',
- 'activity_state',
- 'activity_summary',
- 'activity_type_id',
- 'activity_user_id',
- 'display_name',
- 'message_attachment_count',
- 'message_channel_ids',
- 'message_follower_ids',
- 'message_has_error',
- 'message_has_error_counter',
- 'message_has_sms_error',
- 'message_ids',
- 'message_is_follower',
- 'message_main_attachment_id',
- 'message_needaction',
- 'message_needaction_counter',
- 'message_partner_ids',
- 'message_unread',
- 'message_unread_counter',
- 'website_message_ids',
- 'write_date',
- 'write_uid',
-]
-
-
class Base(models.AbstractModel):
_inherit = 'base'
- @api.model
- def _get_normal_fields(self):
- f_list = []
- for k, v in self._fields.items():
- if k not in EXCLU_FIELDS:
- f_list.append(k)
- return f_list
-
@api.model
def _app_get_m2o_default(self, fieldname, domain=[]):
if hasattr(self, fieldname) and self._fields[fieldname].type == 'many2one':
@@ -71,17 +24,16 @@ class Base(models.AbstractModel):
def _app_dt2local(self, value, return_format=DEFAULT_SERVER_DATETIME_FORMAT):
"""
- 将value中时间,按格式转为用户本地时间.注意只处理in str为字符串类型,如果是时间类型直接用 datetime.now(tz)
+ 将value中时间,按格式转为用户本地时间
"""
if not value:
return value
if isinstance(value, datetime):
value = value.strftime(return_format)
dt = datetime.strptime(value, return_format)
- user_tz = pytz.timezone(self.env.user.tz or 'Etc/GMT-8')
- _logger.warning('============= user2 tz: %s' % user_tz)
+ pytz_timezone = pytz.timezone(self.env.user.tz or 'Etc/GMT-8')
dt = dt.replace(tzinfo=pytz.timezone('UTC'))
- return dt.astimezone(user_tz).strftime(return_format)
+ return dt.astimezone(pytz_timezone).strftime(return_format)
def _app_dt2utc(self, value, return_format=DEFAULT_SERVER_DATETIME_FORMAT):
"""
@@ -92,9 +44,9 @@ class Base(models.AbstractModel):
if isinstance(value, datetime):
value = value.strftime(return_format)
dt = datetime.strptime(value, return_format)
- pytz_timezone = pytz.timezone('Etc/GMT+8')
+ user_tz = pytz.timezone(self.env.user.tz or 'Etc/GMT+8')
dt = dt.replace(tzinfo=pytz.timezone('UTC'))
- return dt.astimezone(pytz_timezone).strftime(return_format)
+ return dt.astimezone(user_tz).strftime(return_format)
@api.model
def get_image_from_url(self, url):
diff --git a/app_common/models/ir_ui_view.py b/app_common/models/ir_ui_view.py
index a864de21..bed01195 100644
--- a/app_common/models/ir_ui_view.py
+++ b/app_common/models/ir_ui_view.py
@@ -22,7 +22,7 @@ def app_relaxng(view_type):
""" Return a validator for the given view type, or None. """
if view_type not in _relaxng_cache:
# tree, search 特殊
- if view_type in ['tree', 'search', 'pivot']:
+ if view_type in ['tree', 'search']:
_file = get_resource_path('app_common', 'rng', '%s_view.rng' % view_type)
else:
_file = get_resource_path('base', 'rng', '%s_view.rng' % view_type)
diff --git a/app_common/models/res_users.py b/app_common/models/res_users.py
new file mode 100644
index 00000000..1c18b7ad
--- /dev/null
+++ b/app_common/models/res_users.py
@@ -0,0 +1,10 @@
+# -*- coding: utf-8 -*-
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+
+from odoo import api, fields, models, tools, _
+
+
+class ResUsers(models.Model):
+ _inherit = 'res.users'
+
+ login = fields.Char(index=True)
diff --git a/app_common/rng/common.rng b/app_common/rng/common.rng
index 5aff83fc..a62f159a 100644
--- a/app_common/rng/common.rng
+++ b/app_common/rng/common.rng
@@ -268,7 +268,6 @@
-
@@ -277,16 +276,7 @@
-
-
-
-
-
-
-
-
-
-
+
diff --git a/app_common/rng/tree_view.rng b/app_common/rng/tree_view.rng
index fd800c55..f295cdf7 100644
--- a/app_common/rng/tree_view.rng
+++ b/app_common/rng/tree_view.rng
@@ -46,16 +46,6 @@
-
-
-
-
-
-
-
-
-
-