← Back to team overview

openerp-dev-web team mailing list archive

lp:~openerp-dev/openobject-server/trunk-bug-766944-dont-inherit-x-fields-vmt into lp:openobject-server

 

Vo Minh Thu (OpenERP) has proposed merging lp:~openerp-dev/openobject-server/trunk-bug-766944-dont-inherit-x-fields-vmt into lp:openobject-server.

Requested reviews:
  OpenERP Core Team (openerp)
Related bugs:
  Bug #766944 in OpenERP Server: "6.0.2: Custom-Field in res_partner_addresscauses Error  with CRM-Module"
  https://bugs.launchpad.net/openobject-server/+bug/766944

For more details, see:
https://code.launchpad.net/~openerp-dev/openobject-server/trunk-bug-766944-dont-inherit-x-fields-vmt/+merge/62269
-- 
https://code.launchpad.net/~openerp-dev/openobject-server/trunk-bug-766944-dont-inherit-x-fields-vmt/+merge/62269
Your team OpenERP R&D Team is subscribed to branch lp:~openerp-dev/openobject-server/trunk-bug-766944-dont-inherit-x-fields-vmt.
=== modified file 'openerp/osv/osv.py'
--- openerp/osv/osv.py	2011-04-29 08:51:45 +0000
+++ openerp/osv/osv.py	2011-05-25 10:27:29 +0000
@@ -293,6 +293,11 @@
                 nattr = {}
                 for s in ('_columns', '_defaults'):
                     new = copy.copy(getattr(pool.get(parent_name), s))
+                    if s=='_columns':
+                        # Don't _inherit the custom fields.
+                        for c in new.keys() :
+                            if c.startswith('x_'):
+                                del new[c]
                     if hasattr(new, 'update'):
                         new.update(cls.__dict__.get(s, {}))
                     else:
@@ -327,6 +332,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 the custom fields.
+                        for c in new.keys() :
+                            if c.startswith('x_'):
+                                del new[c]
                     if hasattr(new, 'update'):
                         new.update(cls.__dict__.get(s, {}))
                     else: