[imp] made o2m work
bzr revid: nicolas.vanhoren@openerp.com-20110531133817-vps6mfgsju1wadni
This commit is contained in:
parent
fd9c0f359e
commit
7cbb2c3084
|
@ -988,17 +988,6 @@ openerp.base.form.FieldMany2One = openerp.base.form.Field.extend({
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
openerp.base.form.FieldOne2ManyDatasSet = openerp.base.DataSetStatic.extend({
|
|
||||||
/*start: function() {
|
|
||||||
},
|
|
||||||
write: function (id, data, callback) {
|
|
||||||
this._super(id, data, callback);
|
|
||||||
},
|
|
||||||
unlink: function() {
|
|
||||||
this.notification.notify('Unlinking o2m ' + this.ids);
|
|
||||||
}*/
|
|
||||||
});
|
|
||||||
|
|
||||||
openerp.base.form.FieldOne2ManyViewManager = openerp.base.ViewManager.extend({
|
openerp.base.form.FieldOne2ManyViewManager = openerp.base.ViewManager.extend({
|
||||||
init: function(session, element_id, dataset, views) {
|
init: function(session, element_id, dataset, views) {
|
||||||
this._super(session, element_id, dataset, views);
|
this._super(session, element_id, dataset, views);
|
||||||
|
@ -1014,9 +1003,7 @@ openerp.base.form.FieldOne2Many = openerp.base.form.Field.extend({
|
||||||
start: function() {
|
start: function() {
|
||||||
this._super.apply(this, arguments);
|
this._super.apply(this, arguments);
|
||||||
var views = [ [false,"list"], [false,"form"] ];
|
var views = [ [false,"list"], [false,"form"] ];
|
||||||
this.dataset = new openerp.base.form.FieldOne2ManyDatasSet(this.session, this.field.relation);
|
this.dataset = new openerp.base.DataSetStatic(this.session, this.field.relation);
|
||||||
this.dataset.ids = [];
|
|
||||||
this.dataset.count = 0;
|
|
||||||
this.viewmanager = new openerp.base.form.FieldOne2ManyViewManager(this.view.session,
|
this.viewmanager = new openerp.base.form.FieldOne2ManyViewManager(this.view.session,
|
||||||
this.element_id, this.dataset, views);
|
this.element_id, this.dataset, views);
|
||||||
this.viewmanager.start();
|
this.viewmanager.start();
|
||||||
|
@ -1034,16 +1021,21 @@ openerp.base.form.FieldOne2Many = openerp.base.form.Field.extend({
|
||||||
},
|
},
|
||||||
set_value: function(value) {
|
set_value: function(value) {
|
||||||
if(value != false) {
|
if(value != false) {
|
||||||
this.dataset.ids = value;
|
this.dataset.set_ids(value);
|
||||||
this.dataset.count = value.length;
|
|
||||||
this.is_setted = true;
|
this.is_setted = true;
|
||||||
this.check_load();
|
this.check_load();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
check_load: function() {
|
||||||
|
if(this.is_started && this.is_setted) {
|
||||||
|
var view = this.viewmanager.views[this.viewmanager.active_view].controller;
|
||||||
|
view.reload_content();
|
||||||
|
}
|
||||||
|
},
|
||||||
get_value: function(value) {
|
get_value: function(value) {
|
||||||
//TODO
|
//TODO
|
||||||
return [];
|
return [];
|
||||||
},
|
}
|
||||||
/*update_dom: function() {
|
/*update_dom: function() {
|
||||||
this._super.apply(this, arguments);
|
this._super.apply(this, arguments);
|
||||||
this.$element.toggleClass('disabled', this.readonly);
|
this.$element.toggleClass('disabled', this.readonly);
|
||||||
|
@ -1051,12 +1043,6 @@ openerp.base.form.FieldOne2Many = openerp.base.form.Field.extend({
|
||||||
},
|
},
|
||||||
on_ui_change: function() {
|
on_ui_change: function() {
|
||||||
},*/
|
},*/
|
||||||
check_load: function() {
|
|
||||||
if(this.is_started && this.is_setted) {
|
|
||||||
var view = this.viewmanager.views[this.viewmanager.active_view].controller;
|
|
||||||
view.reload_view();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
||||||
openerp.base.form.FieldMany2Many = openerp.base.form.Field.extend({
|
openerp.base.form.FieldMany2Many = openerp.base.form.Field.extend({
|
||||||
|
@ -1077,8 +1063,6 @@ openerp.base.form.FieldMany2Many = openerp.base.form.Field.extend({
|
||||||
'selectable': false,
|
'selectable': false,
|
||||||
'addable': 'Add'
|
'addable': 'Add'
|
||||||
});
|
});
|
||||||
this.list_view.groups.datagroup = (
|
|
||||||
new openerp.base.StaticDataGroup(this.dataset));
|
|
||||||
var self = this;
|
var self = this;
|
||||||
this.list_view.m2m_field = this;
|
this.list_view.m2m_field = this;
|
||||||
this.list_view.start();
|
this.list_view.start();
|
||||||
|
|
|
@ -55,6 +55,10 @@ openerp.base.ListView = openerp.base.View.extend( /** @lends openerp.base.ListVi
|
||||||
this.flags = this.view_manager.action.flags;
|
this.flags = this.view_manager.action.flags;
|
||||||
|
|
||||||
this.set_groups(new openerp.base.ListView.Groups(this));
|
this.set_groups(new openerp.base.ListView.Groups(this));
|
||||||
|
|
||||||
|
if (this.dataset instanceof openerp.base.DataSetStatic) {
|
||||||
|
this.groups.datagroup = new openerp.base.StaticDataGroup(this.dataset);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
/**
|
/**
|
||||||
* Set a custom Group construct as the root of the List View.
|
* Set a custom Group construct as the root of the List View.
|
||||||
|
|
Loading…
Reference in New Issue