Reviewers: ,


Please review this at http://codereview.tryton.org/370003/

Affected files:
  M tryton/gui/window/view_form/screen/screen.py


Index: tryton/gui/window/view_form/screen/screen.py
===================================================================

--- a/tryton/gui/window/view_form/screen/screen.py
+++ b/tryton/gui/window/view_form/screen/screen.py
@@ -17,7 +17,7 @@
 from tryton.exceptions import TrytonServerError, TrytonServerUnavailable
 from tryton.jsonrpc import JSONEncoder
 from tryton.common.domain_parser import DomainParser
-from tryton.common import RPCExecute, RPCException
+from tryton.common import RPCExecute, RPCException, node_attributes


 class Screen(SignalEvent):
@@ -104,8 +104,16 @@
                     continue
                 props['selection'] = self.get_selection(props)

-            self.domain_parser = DomainParser(
-                self.fields_view_tree['fields'])
+            # Filter only fields in XML view
+            xml_dom = xml.dom.minidom.parseString(
+                self.fields_view_tree['arch'])
+            root_node, = xml_dom.childNodes
+            xml_fields = set(node_attributes(node).get('name')
+                for node in root_node.childNodes)
+ fields = dict((name, props) for name, props in fields.iteritems()
+                if name in xml_fields)
+
+            self.domain_parser = DomainParser(fields)

             self.screen_container.set_screen(self)
             self.screen_container.show_filter()



--
tryton-dev@googlegroups.com mailing list

Reply via email to