summaryrefslogtreecommitdiff
path: root/addons/web/static/src
diff options
context:
space:
mode:
authorXavier Morel <xmo@openerp.com>2012-10-19 12:07:25 +0200
committerXavier Morel <xmo@openerp.com>2012-10-19 12:07:25 +0200
commit3be621b9bc43cb03bd7355661e47f2dc80f64fb6 (patch)
treebe553d5aff4eb22ddc0f7bff2bfe04667bdd0e85 /addons/web/static/src
parent5bfa3c5a7d9ae2f0bcb8b3ad34a60d0bf9c47007 (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.js25
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')) {