[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
This commit is contained in:
Xavier Morel 2012-10-19 12:07:25 +02:00
parent 5bfa3c5a7d
commit 3be621b9bc
1 changed files with 25 additions and 0 deletions

View File

@ -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')) {