summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js/views/form_view.js
diff options
context:
space:
mode:
authorChristophe Simonis <chs@odoo.com>2015-03-25 19:14:46 +0100
committerChristophe Simonis <chs@odoo.com>2015-03-25 19:14:46 +0100
commit2565aa60e06f62e9689a2d139c7c9d9da3f3caa1 (patch)
tree24ba29ee26289539d1f206385c968f0a3a89ae8a /addons/web/static/src/js/views/form_view.js
parent2783f2e0a7727cbf2f67ec23cad83ef61fa45d6d (diff)
parentc2b476686083876df3c27a17885581592303c8f5 (diff)
[MERGE] forward port of branch saas-6 up to c2b4766
Diffstat (limited to 'addons/web/static/src/js/views/form_view.js')
-rw-r--r--addons/web/static/src/js/views/form_view.js10
1 files changed, 10 insertions, 0 deletions
diff --git a/addons/web/static/src/js/views/form_view.js b/addons/web/static/src/js/views/form_view.js
index 6c97c076781..9c4b9add4f1 100644
--- a/addons/web/static/src/js/views/form_view.js
+++ b/addons/web/static/src/js/views/form_view.js
@@ -845,6 +845,16 @@ var FormView = View.extend(common.FieldManagerMixin, {
}
}
}
+ // Heuristic to assign a proper sequence number for new records that
+ // are added in a dataset containing other lines with existing sequence numbers
+ if (!self.datarecord.id && self.fields.sequence &&
+ !_.has(values, 'sequence') && !_.isEmpty(self.dataset.cache)) {
+ // Find current max or min sequence (editable top/bottom)
+ var current = _[prepend_on_create ? "min" : "max"](
+ _.map(self.dataset.cache, function(o){return o.values.sequence})
+ );
+ values['sequence'] = prepend_on_create ? current - 1 : current + 1;
+ }
if (form_invalid) {
self.set({'display_invalid_fields': true});
first_invalid_field.focus();