diff --git a/trytond/tests/__init__.py b/trytond/tests/__init__.py index b8d54f94e2..342409d409 100644 --- a/trytond/tests/__init__.py +++ b/trytond/tests/__init__.py @@ -8,7 +8,6 @@ except ImportError: from ..pool import Pool -from .modelview import * from .mptt import * from . import import_data from .export_data import * @@ -20,6 +19,7 @@ from .history import * from .field_context import * from . import model from . import modelstorage +from . import modelview from . import modelsql from . import field_boolean from . import field_integer @@ -48,13 +48,6 @@ from . import copy_ def register(): Pool.register( - ModelViewChangedValues, - ModelViewChangedValuesTarget, - ModelViewButton, - ModelViewButtonDepends, - ModelViewRPC, - ModelViewEmptyPage, - ModelViewCircularDepends, MPTT, ExportDataTarget, ExportData, @@ -77,6 +70,7 @@ def register(): access.register('tests') model.register('tests') modelstorage.register('tests') + modelview.register('tests') modelsql.register('tests') field_boolean.register('tests') field_integer.register('tests') diff --git a/trytond/tests/modelview.py b/trytond/tests/modelview.py index 529793708a..0b23c1f189 100644 --- a/trytond/tests/modelview.py +++ b/trytond/tests/modelview.py @@ -1,19 +1,8 @@ # This file is part of Tryton. The COPYRIGHT file at the top level of # this repository contains the full copyright notices and license terms. - -from trytond.model import ModelView, fields - - -__all__ = [ - 'ModelViewChangedValues', - 'ModelViewChangedValuesTarget', - 'ModelViewButton', - 'ModelViewButtonDepends', - 'ModelViewRPC', - 'ModelViewEmptyPage', - 'ModelViewCircularDepends', - ] +from trytond.model import ModelView, ModelSQL, fields +from trytond.pool import Pool class ModelViewChangedValues(ModelView): @@ -21,6 +10,8 @@ class ModelViewChangedValues(ModelView): __name__ = 'test.modelview.changed_values' name = fields.Char('Name') target = fields.Many2One('test.modelview.changed_values.target', 'Target') + stored_target = fields.Many2One( + 'test.modelview.changed_values.stored_target', "Stored Target") ref_target = fields.Reference('Target Reference', [ ('test.modelview.changed_values.target', 'Target'), ]) @@ -37,6 +28,12 @@ class ModelViewChangedValuesTarget(ModelView): parent = fields.Many2One('test.modelview.changed_values', 'Parent') +class ModelViewChangedValuesStoredTarget(ModelSQL): + "ModelSQL Changed Values Target" + __name__ = 'test.modelview.changed_values.stored_target' + name = fields.Char("Name") + + class ModelViewButton(ModelView): 'ModelView Button' __name__ = 'test.modelview.button' @@ -143,3 +140,16 @@ class ModelViewCircularDepends(ModelView): foo = fields.Char("Char", depends=['bar']) bar = fields.Char("Char", depends=['foobar']) foobar = fields.Char("Char", depends=['foo']) + + +def register(module): + Pool.register( + ModelViewChangedValues, + ModelViewChangedValuesTarget, + ModelViewChangedValuesStoredTarget, + ModelViewButton, + ModelViewButtonDepends, + ModelViewRPC, + ModelViewEmptyPage, + ModelViewCircularDepends, + module=module, type_='model') diff --git a/trytond/tests/test_modelview.py b/trytond/tests/test_modelview.py index 533f8f5540..1d382745c9 100644 --- a/trytond/tests/test_modelview.py +++ b/trytond/tests/test_modelview.py @@ -89,6 +89,24 @@ class ModelView(unittest.TestCase): }, }) + @with_transaction() + def test_changed_values_rec_name(self): + "Test rec_name of ModelStorage is added" + pool = Pool() + Model = pool.get('test.modelview.changed_values') + Target = pool.get('test.modelview.changed_values.stored_target') + + target, = Target.create([{'name': "Target"}]) + record = Model() + record.stored_target = target + + self.assertEqual(record._changed_values, { + 'stored_target': target.id, + 'stored_target.': { + 'rec_name': "Target", + }, + }) + @with_transaction(context={'_check_access': True}) def test_button_access(self): 'Test Button Access'