diff options
| author | Christophe Simonis <chs@odoo.com> | 2018-11-16 19:30:20 +0100 |
|---|---|---|
| committer | Christophe Simonis <chs@odoo.com> | 2018-11-16 19:30:20 +0100 |
| commit | 6faad524cf5e4db02855cb213277c40aee14c42a (patch) | |
| tree | 383c984dc1461a03481baa9fbdce8c156ca97e2e /odoo/addons | |
| parent | 3657dc77c2ddb4275f07d1271b93e7f25e09913a (diff) | |
| parent | bc744a1da46efda6f1eb5c341f2fa5df30c9c7ad (diff) | |
[MERGE] forward port branch 12.0 up to bc744a1da46
Diffstat (limited to 'odoo/addons')
| -rw-r--r-- | odoo/addons/base/rng/calendar_view.rng | 2 | ||||
| -rw-r--r-- | odoo/addons/base/static/src/js/res_config_settings.js | 9 | ||||
| -rw-r--r-- | odoo/addons/base/static/tests/base_settings_tests.js | 4 | ||||
| -rw-r--r-- | odoo/addons/base/views/ir_module_views.xml | 4 | ||||
| -rw-r--r-- | odoo/addons/base/views/res_partner_views.xml | 10 | ||||
| -rw-r--r-- | odoo/addons/test_main_flows/static/src/js/tour.js | 2 | ||||
| -rw-r--r-- | odoo/addons/test_new_api/ir.model.access.csv | 4 | ||||
| -rw-r--r-- | odoo/addons/test_new_api/models.py | 35 | ||||
| -rw-r--r-- | odoo/addons/test_new_api/tests/test_new_fields.py | 20 |
9 files changed, 80 insertions, 10 deletions
diff --git a/odoo/addons/base/rng/calendar_view.rng b/odoo/addons/base/rng/calendar_view.rng index 949c3f48318..500a61b3389 100644 --- a/odoo/addons/base/rng/calendar_view.rng +++ b/odoo/addons/base/rng/calendar_view.rng @@ -32,7 +32,7 @@ <rng:ref name="field"/> </rng:zeroOrMore> <rng:optional> - <rng:element name="template"> + <rng:element name="templates"> <rng:oneOrMore> <rng:ref name="any"/> </rng:oneOrMore> diff --git a/odoo/addons/base/static/src/js/res_config_settings.js b/odoo/addons/base/static/src/js/res_config_settings.js index 855b03452ae..9514d431141 100644 --- a/odoo/addons/base/static/src/js/res_config_settings.js +++ b/odoo/addons/base/static/src/js/res_config_settings.js @@ -354,6 +354,15 @@ var BaseSettingController = FormController.extend({ this.disableAutofocus = true; this.renderer.activeSettingTab = this.initialState.context.module; }, + /** + * Settings view should always be in edit mode, so we have to override + * default behaviour + * + * @override + */ + willRestore: function () { + this.mode = 'edit'; + }, }); var BaseSettingsModel = BasicModel.extend({ diff --git a/odoo/addons/base/static/tests/base_settings_tests.js b/odoo/addons/base/static/tests/base_settings_tests.js index e0ee5dd6380..eb9726b9fa6 100644 --- a/odoo/addons/base/static/tests/base_settings_tests.js +++ b/odoo/addons/base/static/tests/base_settings_tests.js @@ -87,7 +87,7 @@ QUnit.module('base_settings_tests', { }); QUnit.test('settings views does not read existing id when coming back in breadcrumbs', function (assert) { - assert.expect(7); + assert.expect(8); var actions = [{ id: 1, @@ -127,6 +127,8 @@ QUnit.module('base_settings_tests', { actionManager.doAction(1); actionManager.$('button[name="4"]').click(); $('.o_control_panel .breadcrumb-item a').click(); + assert.ok(actionManager.$('.o_form_view').hasClass('o_form_editable'), + 'settings view should still be in edit mode'); assert.verifySteps([ 'load_views', // initial setting action 'default_get', // this is a setting view => create new record diff --git a/odoo/addons/base/views/ir_module_views.xml b/odoo/addons/base/views/ir_module_views.xml index ebf6700ecea..7f1bb9727a9 100644 --- a/odoo/addons/base/views/ir_module_views.xml +++ b/odoo/addons/base/views/ir_module_views.xml @@ -37,8 +37,8 @@ <search string="Search modules"> <field name="name" filter_domain="['|', '|', ('summary', 'ilike', self), ('shortdesc', 'ilike', self), ('name', 'ilike', self)]" string="Module"/> - <filter name="app" string="Apps" domain="[('application', '=', 1)]"/> - <filter name="extra" string="Extra" domain="[('application', '=', 0)]"/> + <filter name="app" string="Apps" domain="[('application', '=', True)]"/> + <filter name="extra" string="Extra" domain="[('application', '=', False)]"/> <separator/> <filter name="installed" string="Installed" domain="[('state', 'in', ['installed', 'to upgrade', 'to remove'])]"/> <filter name="not_installed" string="Not Installed" domain="[('state', 'in', ['uninstalled', 'uninstallable', 'to install'])]"/> diff --git a/odoo/addons/base/views/res_partner_views.xml b/odoo/addons/base/views/res_partner_views.xml index 9a86939782b..1880589a326 100644 --- a/odoo/addons/base/views/res_partner_views.xml +++ b/odoo/addons/base/views/res_partner_views.xml @@ -449,15 +449,15 @@ <search string="Search Partner"> <field name="name" filter_domain="['|','|',('display_name','ilike',self),('ref','=',self),('email','ilike',self)]"/> - <field name="parent_id" domain="[('is_company','=',1)]" operator="child_of"/> + <field name="parent_id" domain="[('is_company','=',True)]" operator="child_of"/> <filter name="filter_my_partners" help="My Contacts" domain="[('user_id','=',uid)]"/> <separator/> - <filter string="Individuals" name="type_person" domain="[('is_company','=',0)]"/> - <filter string="Companies" name="type_company" domain="[('is_company','=',1)]"/> + <filter string="Individuals" name="type_person" domain="[('is_company','=',False)]"/> + <filter string="Companies" name="type_company" domain="[('is_company','=',True)]"/> <separator/> - <filter string="Customers" name="customer" domain="[('customer','=',1), ('parent_id', '=', False)]"/> - <filter string="Vendors" name="supplier" domain="[('supplier','=',1), ('parent_id', '=', False)]"/> + <filter string="Customers" name="customer" domain="[('customer','=',True), ('parent_id', '=', False)]"/> + <filter string="Vendors" name="supplier" domain="[('supplier','=',True), ('parent_id', '=', False)]"/> <filter string="Archived" name="inactive" domain="[('active','=',False)]"/> <separator/> <field name="category_id" string="Tag" filter_domain="[('category_id','ilike', self)]"/> diff --git a/odoo/addons/test_main_flows/static/src/js/tour.js b/odoo/addons/test_main_flows/static/src/js/tour.js index 717c9d81884..d79036346b2 100644 --- a/odoo/addons/test_main_flows/static/src/js/tour.js +++ b/odoo/addons/test_main_flows/static/src/js/tour.js @@ -671,7 +671,7 @@ tour.register('main_flow_tour', { position: 'bottom', }, { edition: "enterprise", - trigger: '.o_app[data-menu-xmlid="account.menu_finance"]', + trigger: '.o_app[data-menu-xmlid="account_accountant.menu_accounting"]', content: _t('Go to Accounting'), position: 'bottom', }, { diff --git a/odoo/addons/test_new_api/ir.model.access.csv b/odoo/addons/test_new_api/ir.model.access.csv index c825fb51c59..77c881dcc4d 100644 --- a/odoo/addons/test_new_api/ir.model.access.csv +++ b/odoo/addons/test_new_api/ir.model.access.csv @@ -22,3 +22,7 @@ access_test_new_api_multi_compute_inverse,access_test_new_api_multi_compute_inve access_test_new_api_recursive,access_test_new_api_recursive,model_test_new_api_recursive,,1,1,1,1 access_test_new_api_cascade,access_test_new_api_cascade,model_test_new_api_cascade,,1,1,1,1 access_test_new_api_binary_svg,access_test_new_api_binary_svg,model_test_new_api_binary_svg,,1,1,1,1 +access_test_new_api_monetary_base,access_test_new_api_monetary_base,model_test_new_api_monetary_base,,1,1,1,1 +access_test_new_api_monetary_related,access_test_new_api_monetary_related,model_test_new_api_monetary_related,,1,1,1,1 +access_test_new_api_monetary_custom,access_test_new_api_monetary_custom,model_test_new_api_monetary_custom,,1,1,1,1 +access_test_new_api_monetary_inherits,access_test_new_api_monetary_inherits,model_test_new_api_monetary_inherits,,1,1,1,1 diff --git a/odoo/addons/test_new_api/models.py b/odoo/addons/test_new_api/models.py index 043ee8a0b7d..7d7ad777b44 100644 --- a/odoo/addons/test_new_api/models.py +++ b/odoo/addons/test_new_api/models.py @@ -468,3 +468,38 @@ class BinarySvg(models.Model): name = fields.Char(required=True) image_attachment = fields.Binary(attachment=True) image_wo_attachment = fields.Binary(attachment=False) + + +class MonetaryBase(models.Model): + _name = 'test_new_api.monetary_base' + _description = 'Monetary Base' + + base_currency_id = fields.Many2one('res.currency') + amount = fields.Monetary(currency_field='base_currency_id') + + +class MonetaryRelated(models.Model): + _name = 'test_new_api.monetary_related' + _description = 'Monetary Related' + + monetary_id = fields.Many2one('test_new_api.monetary_base') + currency_id = fields.Many2one('res.currency', related='monetary_id.base_currency_id') + amount = fields.Monetary(related='monetary_id.amount') + + +class MonetaryCustom(models.Model): + _name = 'test_new_api.monetary_custom' + _description = 'Monetary Related Custom' + + monetary_id = fields.Many2one('test_new_api.monetary_base') + x_currency_id = fields.Many2one('res.currency', related='monetary_id.base_currency_id') + x_amount = fields.Monetary(related='monetary_id.amount') + + +class MonetaryInherits(models.Model): + _name = 'test_new_api.monetary_inherits' + _description = 'Monetary Inherits' + _inherits = {'test_new_api.monetary_base': 'monetary_id'} + + monetary_id = fields.Many2one('test_new_api.monetary_base', required=True, ondelete='cascade') + currency_id = fields.Many2one('res.currency') diff --git a/odoo/addons/test_new_api/tests/test_new_fields.py b/odoo/addons/test_new_api/tests/test_new_fields.py index caa4eedf4bf..9b3da038c5c 100644 --- a/odoo/addons/test_new_api/tests/test_new_fields.py +++ b/odoo/addons/test_new_api/tests/test_new_fields.py @@ -1054,6 +1054,26 @@ class TestFields(common.TransactionCase): ]) self.assertEqual(attachment.mimetype, 'text/plain') + def test_93_monetary_related(self): + """ Check the currency field on related monetary fields. """ + # check base field + field = self.env['test_new_api.monetary_base']._fields['amount'] + self.assertEqual(field.currency_field, 'base_currency_id') + + # related fields must use the field 'currency_id' or 'x_currency_id' + field = self.env['test_new_api.monetary_related']._fields['amount'] + self.assertEqual(field.related, ('monetary_id', 'amount')) + self.assertEqual(field.currency_field, 'currency_id') + + field = self.env['test_new_api.monetary_custom']._fields['x_amount'] + self.assertEqual(field.related, ('monetary_id', 'amount')) + self.assertEqual(field.currency_field, 'x_currency_id') + + # inherited field must use the same field as its parent field + field = self.env['test_new_api.monetary_inherits']._fields['amount'] + self.assertEqual(field.related, ('monetary_id', 'amount')) + self.assertEqual(field.currency_field, 'base_currency_id') + class TestX2many(common.TransactionCase): def test_search_many2many(self): |
