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
