Author: Mathias Behrle <mathiasb@m9s.biz>
Description: Fix for regression introduced by the patch for CVE-2014-6633.
 Avoid double evaluation from inherit with different model.
 
 This patch is a backport of the original patch from trunk.
 S. https://bugs.tryton.org/issue4228
 S. http://codereview.tryton.org/5681002

--- tryton-server.orig/trytond/model/modelview.py	2014-10-03 16:22:29.000000000 +0200
+++ tryton-server/trytond/model/modelview.py	2014-10-03 16:22:29.000000000 +0200
@@ -453,7 +453,9 @@
         encoder = PYSONEncoder()
         for attr in ('states', 'domain', 'context', 'digits', 'add_remove',
                 'spell', 'colors'):
-            if element.get(attr):
+            if (element.get(attr)
+                    # Avoid double evaluation from inherit with different model
+                    and '__' not in element.get(attr)):
                 element.set(attr, encoder.encode(safe_eval(element.get(attr),
                     CONTEXT)))
 
