diff options
| author | Xavier Morel <xmo@openerp.com> | 2012-10-19 12:07:25 +0200 |
|---|---|---|
| committer | Xavier Morel <xmo@openerp.com> | 2012-10-19 12:07:25 +0200 |
| commit | 3be621b9bc43cb03bd7355661e47f2dc80f64fb6 (patch) | |
| tree | be553d5aff4eb22ddc0f7bff2bfe04667bdd0e85 /addons/web/static/src | |
| parent | 5bfa3c5a7d9ae2f0bcb8b3ad34a60d0bf9c47007 (diff) | |
[IMP] hack-ish hack to make reorderable lists non-reorderable in readonly o2m
* Technically this is done by the the setup_reseq override
* the filtering added to FieldOne2Many is for UI improvement
bzr revid: xmo@openerp.com-20121019100725-izotstggoxpfjk6k
Diffstat (limited to 'addons/web/static/src')
| -rw-r--r-- | addons/web/static/src/js/view_form.js | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index d096e15b51d..9588ad757a6 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -3351,6 +3351,23 @@ instance.web.form.FieldOne2Many = instance.web.form.AbstractField.extend({ controller.on('edit:before', self, function (e) { e.cancel = true; }); + var has_handle = _(controller.columns).find(function (column) { + if (!column instanceof instance.web.list.Handle) { + return false; + } + column.modifiers.tree_invisible = true; + column.invisible = '1'; + // remove from visibles + controller.visible_columns.splice( + controller.visible_columns.indexOf(column), + 1); + return true; + }); + if (has_handle) { + // recompute aggregates + controller.aggregate_columns = + _(controller.visible_columns).invoke('to_aggregate'); + } } } else if (view_type === "form") { if (self.get("effective_readonly")) { @@ -3586,6 +3603,7 @@ instance.web.form.One2ManyListView = instance.web.ListView.extend({ _template: 'One2Many.listview', init: function (parent, dataset, view_id, options) { this._super(parent, dataset, view_id, _.extend(options || {}, { + GroupsType: instance.web.form.One2ManyGroups, ListType: instance.web.form.One2ManyList })); this.on('edit:before', this, this.proxy('_before_edit')); @@ -3766,6 +3784,13 @@ instance.web.form.One2ManyListView = instance.web.ListView.extend({ }); } }); +instance.web.form.One2ManyGroups = instance.web.ListView.Groups.extend({ + setup_resequence_rows: function () { + if (!this.view.o2m.get('effective_readonly')) { + this._super.apply(this, arguments); + } + } +}); instance.web.form.One2ManyList = instance.web.ListView.List.extend({ pad_table_to: function (count) { if (!this.view.is_action_enabled('create')) { |
