From e56a3b5a70bfc6799ddc6d241d04c33140cd7a1d Mon Sep 17 00:00:00 2001 From: Stephane Wirtel Date: Tue, 24 Nov 2009 10:15:43 +0100 Subject: [PATCH] [IMP] Add the support for the override of any attribute. You can override an attribute of an xml view with the tag Example: res.partner.form res.partner form top Regards, bzr revid: stephane@openerp.com-20091124091543-wsxu48hx117e0w6h --- bin/addons/base/rng/view.rng | 16 ++++++++++++++++ bin/osv/orm.py | 7 +++++++ 2 files changed, 23 insertions(+) diff --git a/bin/addons/base/rng/view.rng b/bin/addons/base/rng/view.rng index 41f10afa690..37f681de92f 100644 --- a/bin/addons/base/rng/view.rng +++ b/bin/addons/base/rng/view.rng @@ -20,6 +20,7 @@ + @@ -48,6 +49,7 @@ + @@ -182,6 +184,7 @@ + @@ -219,6 +222,7 @@ + @@ -265,6 +269,15 @@ + + + + + + + + + @@ -314,6 +327,7 @@ + @@ -348,6 +362,7 @@ + @@ -413,6 +428,7 @@ + diff --git a/bin/osv/orm.py b/bin/osv/orm.py index 0ce305c2142..e417d6371c7 100644 --- a/bin/osv/orm.py +++ b/bin/osv/orm.py @@ -1242,6 +1242,13 @@ class orm_template(object): for child in node2: node.addprevious(child) node.getparent().remove(node) + elif pos == 'attributes': + for child in node2.getiterator('attribute'): + attribute = (child.get('name'), child.text and child.text.encode('utf8') or None) + if attribute[1]: + node.set(attribute[0], attribute[1]) + else: + del(node.attrib[attribute[0]]) else: sib = node.getnext() for child in node2: