openerp-dev-web team mailing list archive
-
openerp-dev-web team
-
Mailing list archive
-
Message #07430
lp:~openerp-dev/openobject-server/6.0-bug-766944-dont-inherit-x-fields-vmt into lp:openobject-server/6.0
Vo Minh Thu (OpenERP) has proposed merging lp:~openerp-dev/openobject-server/6.0-bug-766944-dont-inherit-x-fields-vmt into lp:openobject-server/6.0.
Requested reviews:
OpenERP Core Team (openerp)
For more details, see:
https://code.launchpad.net/~openerp-dev/openobject-server/6.0-bug-766944-dont-inherit-x-fields-vmt/+merge/62296
Forgot the --fixes flag:
https://bugs.launchpad.net/openobject-server/+bug/766944
--
https://code.launchpad.net/~openerp-dev/openobject-server/6.0-bug-766944-dont-inherit-x-fields-vmt/+merge/62296
Your team OpenERP R&D Team is subscribed to branch lp:~openerp-dev/openobject-server/6.0-bug-766944-dont-inherit-x-fields-vmt.
=== modified file 'bin/osv/fields.py'
--- bin/osv/fields.py 2011-02-01 13:07:21 +0000
+++ bin/osv/fields.py 2011-05-25 13:29:26 +0000
@@ -63,7 +63,13 @@
_symbol_set = (_symbol_c, _symbol_f)
_symbol_get = None
- def __init__(self, string='unknown', required=False, readonly=False, domain=None, context=None, states=None, priority=0, change_default=False, size=None, ondelete="set null", translate=False, select=False, **args):
+ def __init__(self, string='unknown', required=False, readonly=False, domain=None, context=None, states=None, priority=0, change_default=False, size=None, ondelete="set null", translate=False, select=False, manual=False, **args):
+ """
+
+ The 'manual' kayword argument specify if the field is a custom one. It
+ correspond to the 'state' column in ir_model_fields.
+
+ """
if domain is None:
domain = []
if context is None:
@@ -84,6 +90,7 @@
self.read = False
self.view_load = 0
self.select = select
+ self.manual = manual
self.selectable = True
self.group_operator = args.get('group_operator', False)
for a in args:
=== modified file 'bin/osv/orm.py'
--- bin/osv/orm.py 2011-04-11 10:08:47 +0000
+++ bin/osv/orm.py 2011-05-25 13:29:26 +0000
@@ -2826,6 +2826,7 @@
'size': field['size'],
'ondelete': field['on_delete'],
'translate': (field['translate']),
+ 'manual': True,
#'select': int(field['select_level'])
}
=== modified file 'bin/osv/osv.py'
--- bin/osv/osv.py 2011-01-17 09:47:50 +0000
+++ bin/osv/osv.py 2011-05-25 13:29:26 +0000
@@ -298,6 +298,11 @@
nattr = {}
for s in ('_columns', '_defaults'):
new = copy.copy(getattr(pool.get(parent_name), s))
+ if s == '_columns':
+ # Don't _inherit custom fields.
+ for c in new.keys():
+ if new[c].manual:
+ del new[c]
if hasattr(new, 'update'):
new.update(cls.__dict__.get(s, {}))
else:
@@ -332,6 +337,11 @@
nattr = {}
for s in ('_columns', '_defaults', '_inherits', '_constraints', '_sql_constraints'):
new = copy.copy(getattr(pool.get(parent_name), s))
+ if s == '_columns':
+ # Don't _inherit custom fields.
+ for c in new.keys():
+ if new[c].manual:
+ del new[c]
if hasattr(new, 'update'):
new.update(cls.__dict__.get(s, {}))
else:
Follow ups