Reviewers: ,


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

Affected files:
  M trytond/tests/test_wizard.py
  M trytond/wizard/wizard.py


Index: trytond/tests/test_wizard.py
===================================================================
--- a/trytond/tests/test_wizard.py
+++ b/trytond/tests/test_wizard.py
@@ -35,6 +35,7 @@
             session = Session(self.wizard, session_id)
             self.assertEqual(session.start.name, False)
             session.start.name = 'Test'
+            self.assertEqual(session.start.user.id, False)
             session.start.user = USER
             session.start.groups = [
                 {'name': 'Group A'},
Index: trytond/wizard/wizard.py
===================================================================
--- a/trytond/wizard/wizard.py
+++ b/trytond/wizard/wizard.py
@@ -16,6 +16,7 @@
 from trytond.protocols.jsonrpc import object_hook, JSONEncoder
 from trytond.model.fields import states_validate
 from trytond.pyson import PYSONEncoder
+from trytond.model.browse import BrowseRecordNull


 class Button(object):
@@ -159,12 +160,12 @@
             return self.__cache[name]
         field = self._model._columns[name]
         data = self._data.get(name, False)
+        target_obj = None
+        if hasattr(field, 'model_name'):
+            target_obj = Pool().get(field.model_name)
+        elif hasattr(field, 'get_target'):
+            target_obj = field.get_target()
         if data:
-            target_obj = None
-            if hasattr(field, 'model_name'):
-                target_obj = Pool().get(field.model_name)
-            elif hasattr(field, 'get_target'):
-                target_obj = field.get_target()
             if target_obj:
                 def instance(data):
                     if isinstance(data, dict):
@@ -174,6 +175,8 @@
                     data = [instance(x) for x in data]
                 else:
                     data = instance(data)
+        elif target_obj:
+            return BrowseRecordNull()
         self.__cache[name] = data
         return data



--
[email protected] mailing list

Reply via email to