diff options
| author | Christophe Simonis <chs@odoo.com> | 2016-09-16 11:03:50 +0200 |
|---|---|---|
| committer | Christophe Simonis <chs@odoo.com> | 2016-09-16 11:03:50 +0200 |
| commit | f4fc3985b6b8857e573b8aea35986cf1dfd552de (patch) | |
| tree | 9d44d633b6d71472fdfb4d491d1e89a8a506dc31 /odoo/addons | |
| parent | d4b878af534d8770794664f560ba2268d4fa373d (diff) | |
| parent | 10cde43fd4c0f85e86c21a15dcd3f39e10c87d96 (diff) | |
[MERGE] forward port branch saas-12 up to 10cde43
Diffstat (limited to 'odoo/addons')
| -rw-r--r-- | odoo/addons/base/ir/ir_http.py | 2 | ||||
| -rw-r--r-- | odoo/addons/base/res/res_partner_view.xml | 1 | ||||
| -rw-r--r-- | odoo/addons/test_new_api/models.py | 9 | ||||
| -rw-r--r-- | odoo/addons/test_new_api/tests/test_onchange.py | 27 | ||||
| -rw-r--r-- | odoo/addons/test_new_api/views.xml | 1 |
5 files changed, 39 insertions, 1 deletions
diff --git a/odoo/addons/base/ir/ir_http.py b/odoo/addons/base/ir/ir_http.py index c63bd2f7226..6bca1edee58 100644 --- a/odoo/addons/base/ir/ir_http.py +++ b/odoo/addons/base/ir/ir_http.py @@ -324,7 +324,7 @@ class IrHttp(models.AbstractModel): # cache etag = hasattr(request, 'httprequest') and request.httprequest.headers.get('If-None-Match') - retag = hashlib.md5(last_update).hexdigest() + retag = '"%s"' % hashlib.md5(last_update).hexdigest() status = status or (304 if etag == retag else 200) headers.append(('ETag', retag)) headers.append(('Cache-Control', 'max-age=%s' % (STATIC_CACHE if unique else 0))) diff --git a/odoo/addons/base/res/res_partner_view.xml b/odoo/addons/base/res/res_partner_view.xml index f5d1e819ded..92d4c41db55 100644 --- a/odoo/addons/base/res/res_partner_view.xml +++ b/odoo/addons/base/res/res_partner_view.xml @@ -140,6 +140,7 @@ <field name="image" widget='image' class="oe_avatar" options='{"preview_image": "image_medium", "size": [90, 90]}'/> <div class="oe_title"> <field name="is_company" invisible="1"/> + <field name="commercial_partner_id" invisible="1"/> <field name="company_type" widget="radio" class="oe_edit_only" options="{'horizontal': true}"/> diff --git a/odoo/addons/test_new_api/models.py b/odoo/addons/test_new_api/models.py index 513fe06ca8c..5fc58ea976a 100644 --- a/odoo/addons/test_new_api/models.py +++ b/odoo/addons/test_new_api/models.py @@ -13,6 +13,7 @@ class Category(models.Model): name = fields.Char(required=True) color = fields.Integer('Color Index') parent = fields.Many2one('test_new_api.category') + root_categ = fields.Many2one(_name, compute='_compute_root_categ') display_name = fields.Char(compute='_compute_display_name', inverse='_inverse_display_name') dummy = fields.Char(store=False) discussions = fields.Many2many('test_new_api.discussion', 'test_new_api_discussion_category', @@ -26,6 +27,14 @@ class Category(models.Model): else: self.display_name = self.name + @api.depends('parent') + def _compute_root_categ(self): + for cat in self: + current = cat + while current.parent: + current = current.parent + cat.root_categ = current + @api.one def _inverse_display_name(self): names = self.display_name.split('/') diff --git a/odoo/addons/test_new_api/tests/test_onchange.py b/odoo/addons/test_new_api/tests/test_onchange.py index 16d122c712c..87fc8229b7c 100644 --- a/odoo/addons/test_new_api/tests/test_onchange.py +++ b/odoo/addons/test_new_api/tests/test_onchange.py @@ -75,6 +75,33 @@ class TestOnChange(common.TransactionCase): result = self.Message.onchange(values, 'body', field_onchange) self.assertNotIn('name', result['value']) + def test_onchange_many2one(self): + Category = self.env['test_new_api.category'] + + field_onchange = Category._onchange_spec() + self.assertEqual(field_onchange.get('parent'), '1') + + root = Category.create(dict(name='root')) + + values = { + 'name': 'test', + 'parent': root.id, + 'root_categ': False, + } + + self.env.invalidate_all() + result = Category.onchange(values, 'parent', field_onchange).get('value', {}) + self.assertIn('root_categ', result) + self.assertEqual(result['root_categ'], root.name_get()[0]) + + values.update(result) + values['parent'] = False + + self.env.invalidate_all() + result = Category.onchange(values, 'parent', field_onchange).get('value', {}) + self.assertIn('root_categ', result) + self.assertIs(result['root_categ'], False) + def test_onchange_one2many(self): """ test the effect of onchange() on one2many fields """ BODY = "What a beautiful day!" diff --git a/odoo/addons/test_new_api/views.xml b/odoo/addons/test_new_api/views.xml index b8c0f5bfa8b..0b053635319 100644 --- a/odoo/addons/test_new_api/views.xml +++ b/odoo/addons/test_new_api/views.xml @@ -205,6 +205,7 @@ <group> <field name="name"/> <field name="parent"/> + <field name="root_categ"/> <field name="dummy"/> </group> </sheet> |
