[MERGE] forward port branch saas-11 up to 6169018c33

This commit is contained in:
Christophe Simonis
2017-01-18 16:21:55 +01:00
5 changed files with 34 additions and 15 deletions
@@ -23,5 +23,15 @@
<field name="groups" eval="[(4, ref('base.group_portal'))]"/>
</record>
<record id="calendar_event_rule_private" model="ir.rule">
<field ref="model_calendar_event" name="model_id"/>
<field name="name">Private events</field>
<field name="domain_force">['|', ('class', '!=', 'private'), '&amp;', ('class', '=', 'private'), ('partner_ids', 'in', user.partner_id.id)]</field>
<field name="perm_read" eval="False"/>
<field name="perm_write" eval="True"/>
<field name="perm_create" eval="True"/>
<field name="perm_unlink" eval="True"/>
</record>
</data>
</odoo>
+7 -11
View File
@@ -1493,20 +1493,16 @@ ListView.Groups = Class.extend({
});
},
setup_resequence_rows: function (list, dataset) {
var sequence_field = _(this.columns).findWhere({'widget': 'handle'});
var seqname = sequence_field ? sequence_field.name : 'sequence';
// drag and drop enabled if list is not sorted (unless it is sorted by
// sequence (ASC)), and there is a visible column with @widget=handle
// or "sequence" column in the view.
if ((dataset.sort && dataset.sort() && dataset.sort() !== 'sequence'
&& dataset.sort() !== 'sequence ASC')
|| !_(this.columns).any(function (column) {
return column.widget === 'handle'
|| column.name === 'sequence'; })) {
// its sequence field (ASC)), and there is a visible column with
// @widget=handle or "sequence" column in the view.
if ((dataset.sort && [seqname, seqname + 'ASC', ''].indexOf(dataset.sort()) === -1)
|| !_(this.columns).findWhere({'name': seqname})) {
return;
}
var sequence_field = _(this.columns).find(function (c) {
return c.widget === 'handle';
});
var seqname = sequence_field ? sequence_field.name : 'sequence';
// ondrop, move relevant record & fix sequences
list.$current.sortable({
+9
View File
@@ -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
@@ -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(
+2 -3
View File
@@ -2132,9 +2132,8 @@ class One2many(_RelationalMulti):
_description_relation_field = property(attrgetter('inverse_name'))
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)
def check_schema(self, model):