diff --git a/addons/calendar/security/calendar_security.xml b/addons/calendar/security/calendar_security.xml
index 80eb79553a0..4636ec94bc8 100644
--- a/addons/calendar/security/calendar_security.xml
+++ b/addons/calendar/security/calendar_security.xml
@@ -23,5 +23,15 @@
+
+
+ Private events
+ ['|', ('class', '!=', 'private'), '&', ('class', '=', 'private'), ('partner_ids', 'in', user.partner_id.id)]
+
+
+
+
+
+
diff --git a/doc/cla/individual/dansanti.md b/doc/cla/individual/dansanti.md
new file mode 100644
index 00000000000..a13d64b6e27
--- /dev/null
+++ b/doc/cla/individual/dansanti.md
@@ -0,0 +1,9 @@
+Chile, 2016-05-31
+
+I hereby agree to the terms of the Odoo Individual Contributor License Agreement v1.0.
+
+I declare that I am authorized and able to make this agreement and sign this declaration.
+
+Signed,
+
+Daniel Santibáñez Polanco dansanti@gmail.com https://github.com/dansanti
\ No newline at end of file
diff --git a/openerp/addons/test_new_api/tests/test_onchange.py b/openerp/addons/test_new_api/tests/test_onchange.py
index 88e481c3052..9876d631044 100644
--- a/openerp/addons/test_new_api/tests/test_onchange.py
+++ b/openerp/addons/test_new_api/tests/test_onchange.py
@@ -307,7 +307,12 @@ class TestOnChange(common.TransactionCase):
# When one2many domain contains non-computed field, things are ok
self.assertEqual(result['value']['important_messages'],
- [(5,)] + [(4, msg.id) for msg in discussion.important_messages])
+ [(5,)] + [(1, msg.id, {
+ 'name': msg.name,
+ 'body': msg.body,
+ 'author': (msg.author.id, msg.author.display_name),
+ 'size': msg.size
+ }) for msg in discussion.important_messages])
# But here with commit 5676d81, we get value of: [(2, email.id)]
self.assertEqual(
diff --git a/openerp/fields.py b/openerp/fields.py
index 9440e62d24b..613dc39b2a9 100644
--- a/openerp/fields.py
+++ b/openerp/fields.py
@@ -1961,9 +1961,8 @@ class One2many(_RelationalMulti):
_column_limit = property(attrgetter('limit'))
def convert_to_onchange(self, value, record, fnames=()):
- if fnames:
- # do not serialize self's inverse field
- fnames = [name for name in fnames if name != self.inverse_name]
+ fnames = set(fnames or value.fields_view_get()['fields'])
+ fnames.discard(self.inverse_name)
return super(One2many, self).convert_to_onchange(value, record, fnames)