[MERGE] Merged trunk-trigger-on_record_loaded.
bzr revid: vta@openerp.com-20121010100524-8njbdbkio2ehfebs
This commit is contained in:
commit
d50874c9b6
|
@ -126,6 +126,7 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
|
|||
self.on("change:actual_mode", self, self.init_pager);
|
||||
self.init_pager();
|
||||
});
|
||||
self.on("load_record", self, self.load_record);
|
||||
instance.web.bus.on('clear_uncommitted_changes', this, function(e) {
|
||||
if (!this.can_be_discarded()) {
|
||||
e.preventDefault();
|
||||
|
@ -331,7 +332,9 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
|
|||
fields.push('display_name');
|
||||
return self.dataset.read_index(fields, {
|
||||
context: { 'bin_size': true, 'future_display_name' : true }
|
||||
}).pipe(self.on_record_loaded);
|
||||
}).pipe(function(r) {
|
||||
self.trigger('load_record', r);
|
||||
});
|
||||
});
|
||||
}
|
||||
return shown.pipe(function() {
|
||||
|
@ -354,7 +357,7 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
|
|||
}
|
||||
this._super();
|
||||
},
|
||||
on_record_loaded: function(record) {
|
||||
load_record: function(record) {
|
||||
var self = this, set_values = [];
|
||||
if (!record) {
|
||||
this.set({ 'title' : undefined });
|
||||
|
@ -413,12 +416,14 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
|
|||
* @return {$.Deferred}
|
||||
*/
|
||||
load_defaults: function () {
|
||||
var self = this;
|
||||
var keys = _.keys(this.fields_view.fields);
|
||||
if (keys.length) {
|
||||
return this.dataset.default_get(keys)
|
||||
.pipe(this.on_record_loaded);
|
||||
return this.dataset.default_get(keys).pipe(function(r) {
|
||||
self.trigger('load_record', r);
|
||||
});
|
||||
}
|
||||
return this.on_record_loaded({});
|
||||
return self.trigger('load_record', {});
|
||||
},
|
||||
on_form_changed: function() {
|
||||
this.trigger("view_content_has_changed");
|
||||
|
@ -752,7 +757,7 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
|
|||
this.trigger('history_back');
|
||||
} else {
|
||||
this.to_view_mode();
|
||||
this.on_record_loaded(this.datarecord);
|
||||
this.trigger('load_record', this.datarecord);
|
||||
}
|
||||
}
|
||||
return false;
|
||||
|
@ -952,9 +957,15 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
|
|||
} else {
|
||||
var fields = _.keys(self.fields_view.fields);
|
||||
fields.push('display_name');
|
||||
return self.dataset.read_index(fields, {
|
||||
context : { 'bin_size' : true, 'future_display_name' : true }
|
||||
}).pipe(self.on_record_loaded);
|
||||
return self.dataset.read_index(fields,
|
||||
{
|
||||
context: {
|
||||
'bin_size': true,
|
||||
'future_display_name': true
|
||||
}
|
||||
}).pipe(function(r) {
|
||||
self.trigger('load_record', r);
|
||||
});
|
||||
}
|
||||
});
|
||||
},
|
||||
|
@ -3369,9 +3380,9 @@ instance.web.form.FieldOne2Many = instance.web.form.AbstractField.extend({
|
|||
if (self.get("effective_readonly")) {
|
||||
$(".oe_form_buttons", controller.$el).children().remove();
|
||||
}
|
||||
controller.on_record_loaded.add_last(function() {
|
||||
once.resolve();
|
||||
});
|
||||
controller.on("load_record", self, function(){
|
||||
once.resolve();
|
||||
});
|
||||
controller.on_pager_action.add_first(function() {
|
||||
self.save_any_view();
|
||||
});
|
||||
|
|
|
@ -626,7 +626,7 @@ openerp.web.list_editable = function (instance) {
|
|||
},
|
||||
start: function () {
|
||||
var self = this;
|
||||
var _super = this._super();
|
||||
var _super = this._super();
|
||||
this.form.embedded_view = this._validate_view(
|
||||
this.delegate.edition_view(this));
|
||||
var form_ready = this.form.appendTo(this.$el).then(
|
||||
|
@ -708,10 +708,9 @@ openerp.web.list_editable = function (instance) {
|
|||
var self = this;
|
||||
var form = self.form;
|
||||
var loaded = record
|
||||
? form.on_record_loaded(_.extend({}, record))
|
||||
? form.trigger('load_record', _.extend({}, record))
|
||||
: form.load_defaults();
|
||||
|
||||
return loaded.pipe(function () {
|
||||
return $.when(loaded).pipe(function () {
|
||||
return form.do_show({reload: false});
|
||||
}).pipe(function () {
|
||||
self.record = form.datarecord;
|
||||
|
|
|
@ -239,23 +239,23 @@ instance.web.DiagramView = instance.web.View.extend({
|
|||
title: _t("Open: ") + title
|
||||
}
|
||||
);
|
||||
|
||||
pop.on_write.add(function() {
|
||||
pop.on('on_write_complete', self, function() {
|
||||
self.dataset.read_index(_.keys(self.fields_view.fields)).pipe(self.on_diagram_loaded);
|
||||
});
|
||||
|
||||
|
||||
var form_fields = [self.parent_field];
|
||||
var form_controller = pop.view_form;
|
||||
|
||||
form_controller.on_record_loaded.add_first(function() {
|
||||
form_controller.on("load_record", self, function(){
|
||||
_.each(form_fields, function(fld) {
|
||||
if (!(fld in form_controller.fields)) { return; }
|
||||
var field = form_controller.fields[fld];
|
||||
field.$input.prop('disabled', true);
|
||||
field.$drop_down.unbind();
|
||||
field.$menu_btn.unbind();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
},
|
||||
|
||||
// Creates a popup to add a node to the diagram
|
||||
|
@ -280,7 +280,7 @@ instance.web.DiagramView = instance.web.View.extend({
|
|||
var form_controller = pop.view_form;
|
||||
var form_fields = [this.parent_field];
|
||||
|
||||
form_controller.on_record_loaded.add_last(function() {
|
||||
form_controller.on("load_record", self, function(){
|
||||
_.each(form_fields, function(fld) {
|
||||
if (!(fld in form_controller.fields)) { return; }
|
||||
var field = form_controller.fields[fld];
|
||||
|
@ -303,7 +303,7 @@ instance.web.DiagramView = instance.web.View.extend({
|
|||
title: _t("Open: ") + title
|
||||
}
|
||||
);
|
||||
pop.on_write.add(function() {
|
||||
pop.on('on_write_complete', self, function() {
|
||||
self.dataset.read_index(_.keys(self.fields_view.fields)).pipe(self.on_diagram_loaded);
|
||||
});
|
||||
},
|
||||
|
@ -339,12 +339,13 @@ instance.web.DiagramView = instance.web.View.extend({
|
|||
|
||||
var form_controller = pop.view_form;
|
||||
|
||||
form_controller.on_record_loaded.add_last(function () {
|
||||
|
||||
form_controller.on("load_record", self, function(){
|
||||
form_controller.fields[self.connectors.attrs.source].set_value(node_source_id);
|
||||
form_controller.fields[self.connectors.attrs.source].dirty = true;
|
||||
form_controller.fields[self.connectors.attrs.destination].set_value(node_dest_id);
|
||||
form_controller.fields[self.connectors.attrs.destination].dirty = true;
|
||||
});
|
||||
});
|
||||
},
|
||||
|
||||
on_pager_action: function(action) {
|
||||
|
|
|
@ -23,14 +23,14 @@ openerp.web_tests = function (instance) {
|
|||
on_everything_loaded: function (slice) {
|
||||
var records = slice[0].records;
|
||||
if (!records.length) {
|
||||
this.form.on_record_loaded({});
|
||||
this.form.trigger("load_record", {});
|
||||
return;
|
||||
}
|
||||
this.form.on_record_loaded(records[0]);
|
||||
this.form.trigger("load_record", records[0]);
|
||||
_(records.slice(1)).each(function (record, index) {
|
||||
this.dataset.index = index+1;
|
||||
this.form.reposition($('<div>').appendTo(this.$el));
|
||||
this.form.on_record_loaded(record);
|
||||
this.form.trigger("load_record", record);
|
||||
}, this);
|
||||
}
|
||||
});
|
||||
|
|
Loading…
Reference in New Issue