@@ -1002,7 +1002,7 @@
-
+
diff --git a/odoo/addons/base/ir/ir_http.py b/odoo/addons/base/ir/ir_http.py
index 1d942e75a86..df15e45df22 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 = '"%s"' % hashlib.md5(last_update).hexdigest()
+ retag = '"%s"' % hashlib.md5(content).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/test_new_api/tests/test_new_fields.py b/odoo/addons/test_new_api/tests/test_new_fields.py
index 5fa6238eb43..94bc0e23c55 100644
--- a/odoo/addons/test_new_api/tests/test_new_fields.py
+++ b/odoo/addons/test_new_api/tests/test_new_fields.py
@@ -687,6 +687,30 @@ class TestFields(common.TransactionCase):
self.assertEqual(len(discussion.important_messages), 2)
self.assertEqual(len(discussion.very_important_messages), 2)
+ def test_70_x2many_write(self):
+ discussion = self.env.ref('test_new_api.discussion_0')
+ Message = self.env['test_new_api.message']
+ # There must be 3 messages, 0 important
+ self.assertEqual(len(discussion.messages), 3)
+ self.assertEqual(len(discussion.important_messages), 0)
+ self.assertEqual(len(discussion.very_important_messages), 0)
+ discussion.important_messages = [(0, 0, {
+ 'body': 'What is the answer?',
+ 'important': True,
+ })]
+ # There must be 4 messages, 1 important
+ self.assertEqual(len(discussion.messages), 4)
+ self.assertEqual(len(discussion.important_messages), 1)
+ self.assertEqual(len(discussion.very_important_messages), 1)
+ discussion.very_important_messages |= Message.new({
+ 'body': '42',
+ 'important': True,
+ })
+ # There must be 5 messages, 2 important
+ self.assertEqual(len(discussion.messages), 5)
+ self.assertEqual(len(discussion.important_messages), 2)
+ self.assertEqual(len(discussion.very_important_messages), 2)
+
class TestHtmlField(common.TransactionCase):
|