[ADD] cleanup JS calls/functions for the new page view
bzr revid: rlo@openerp.com-20111201122233-6bh2zilnixvz7m2r
This commit is contained in:
parent
a9a4f65dd3
commit
04ce8687aa
|
@ -960,6 +960,7 @@ openerp.web.ViewEditor = openerp.web.Widget.extend({
|
||||||
var action_manager = new openerp.web.ActionManager(self);
|
var action_manager = new openerp.web.ActionManager(self);
|
||||||
$.when(action_manager.do_action(action)).then(function() {
|
$.when(action_manager.do_action(action)).then(function() {
|
||||||
var controller = action_manager.dialog_viewmanager.views['form'].controller;
|
var controller = action_manager.dialog_viewmanager.views['form'].controller;
|
||||||
|
// TODO NIV: use page view
|
||||||
controller.do_set_readonly.add_last(function(){
|
controller.do_set_readonly.add_last(function(){
|
||||||
action_manager.stop();
|
action_manager.stop();
|
||||||
new_fields_name = new openerp.web.DataSetSearch(self,'ir.model.fields', null, null);
|
new_fields_name = new openerp.web.DataSetSearch(self,'ir.model.fields', null, null);
|
||||||
|
|
|
@ -102,9 +102,6 @@ openerp.web.FormView = openerp.web.View.extend( /** @lends openerp.web.FormView#
|
||||||
});
|
});
|
||||||
|
|
||||||
this.$form_header.find('button.oe_form_button_save').click(this.on_button_save);
|
this.$form_header.find('button.oe_form_button_save').click(this.on_button_save);
|
||||||
this.$form_header.find('button.oe_form_button_new').click(this.on_button_new);
|
|
||||||
this.$form_header.find('button.oe_form_button_duplicate').click(this.on_button_duplicate);
|
|
||||||
this.$form_header.find('button.oe_form_button_delete').click(this.on_button_delete);
|
|
||||||
|
|
||||||
if (!this.sidebar && this.options.sidebar && this.options.sidebar_id) {
|
if (!this.sidebar && this.options.sidebar && this.options.sidebar_id) {
|
||||||
this.sidebar = new openerp.web.Sidebar(this, this.options.sidebar_id);
|
this.sidebar = new openerp.web.Sidebar(this, this.options.sidebar_id);
|
||||||
|
@ -116,9 +113,6 @@ openerp.web.FormView = openerp.web.View.extend( /** @lends openerp.web.FormView#
|
||||||
}
|
}
|
||||||
this.has_been_loaded.resolve();
|
this.has_been_loaded.resolve();
|
||||||
},
|
},
|
||||||
do_set_readonly: function() {
|
|
||||||
return this.readonly ? $.Deferred().resolve() : this.on_toggle_readonly();
|
|
||||||
},
|
|
||||||
do_show: function () {
|
do_show: function () {
|
||||||
var promise;
|
var promise;
|
||||||
if (this.dataset.index === null) {
|
if (this.dataset.index === null) {
|
||||||
|
@ -367,7 +361,10 @@ openerp.web.FormView = openerp.web.View.extend( /** @lends openerp.web.FormView#
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
on_button_save: function() {
|
on_button_save: function() {
|
||||||
return this.do_save().then(this.do_set_readonly);
|
var self = this;
|
||||||
|
return this.do_save().then(function() {
|
||||||
|
self.do_switch_view('page');
|
||||||
|
});
|
||||||
},
|
},
|
||||||
on_button_new: function() {
|
on_button_new: function() {
|
||||||
var self = this;
|
var self = this;
|
||||||
|
@ -375,49 +372,14 @@ openerp.web.FormView = openerp.web.View.extend( /** @lends openerp.web.FormView#
|
||||||
$.when(this.has_been_loaded).then(function() {
|
$.when(this.has_been_loaded).then(function() {
|
||||||
if (self.can_be_discarded()) {
|
if (self.can_be_discarded()) {
|
||||||
var keys = _.keys(self.fields_view.fields);
|
var keys = _.keys(self.fields_view.fields);
|
||||||
$.when(self.do_set_editable()).then(function() {
|
if (keys.length) {
|
||||||
if (keys.length) {
|
self.dataset.default_get(keys).pipe(self.on_record_loaded).then(function() {
|
||||||
self.dataset.default_get(keys).pipe(self.on_record_loaded).then(function() {
|
|
||||||
def.resolve();
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
self.on_record_loaded({}).then(function() {
|
|
||||||
def.resolve();
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
return def.promise();
|
|
||||||
},
|
|
||||||
on_button_duplicate: function() {
|
|
||||||
var self = this;
|
|
||||||
var def = $.Deferred();
|
|
||||||
$.when(this.has_been_loaded).then(function() {
|
|
||||||
if (self.can_be_discarded()) {
|
|
||||||
self.dataset.call('copy', [self.datarecord.id, {}, self.dataset.context]).then(function(new_id) {
|
|
||||||
return self.on_created({ result : new_id });
|
|
||||||
}).then(self.do_set_editable).then(function() {
|
|
||||||
def.resolve();
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
return def.promise();
|
|
||||||
},
|
|
||||||
on_button_delete: function() {
|
|
||||||
var self = this;
|
|
||||||
var def = $.Deferred();
|
|
||||||
$.when(this.has_been_loaded).then(function() {
|
|
||||||
if (self.can_be_discarded() && self.datarecord.id) {
|
|
||||||
if (confirm(_t("Do you really want to delete this record?"))) {
|
|
||||||
self.dataset.unlink([self.datarecord.id]).then(function() {
|
|
||||||
self.on_pager_action('next');
|
|
||||||
def.resolve();
|
def.resolve();
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
setTimeout(function () {
|
self.on_record_loaded({}).then(function() {
|
||||||
def.reject();
|
def.resolve();
|
||||||
}, 0)
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -2111,6 +2073,7 @@ openerp.web.form.FieldOne2Many = openerp.web.form.Field.extend({
|
||||||
controller.set_editable(false);
|
controller.set_editable(false);
|
||||||
} else if (view_type == "form") {
|
} else if (view_type == "form") {
|
||||||
if (self.is_readonly()) {
|
if (self.is_readonly()) {
|
||||||
|
// TODO NIV: use page view do_switch_view('page')
|
||||||
controller.on_toggle_readonly();
|
controller.on_toggle_readonly();
|
||||||
$(controller.$element.find(".oe_form_buttons")[0]).children().remove();
|
$(controller.$element.find(".oe_form_buttons")[0]).children().remove();
|
||||||
}
|
}
|
||||||
|
@ -2749,6 +2712,7 @@ openerp.web.form.FormOpenPopup = openerp.web.OldWidget.extend(/** @lends openerp
|
||||||
}
|
}
|
||||||
this.view_form.appendTo(this.$element.find("#" + this.element_id + "_view_form"));
|
this.view_form.appendTo(this.$element.find("#" + this.element_id + "_view_form"));
|
||||||
var once = $.Deferred().then(function() {
|
var once = $.Deferred().then(function() {
|
||||||
|
// TODO NIV: do_switch_view('page')
|
||||||
if (self.options.readonly) {
|
if (self.options.readonly) {
|
||||||
self.view_form.on_toggle_readonly();
|
self.view_form.on_toggle_readonly();
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,9 +7,48 @@ openerp.web.page = function (openerp) {
|
||||||
this._super.apply(this, arguments);
|
this._super.apply(this, arguments);
|
||||||
this.registry = openerp.web.form.readonly;
|
this.registry = openerp.web.form.readonly;
|
||||||
},
|
},
|
||||||
do_set_editable: function() {
|
on_loaded: function(data) {
|
||||||
return !this.readonly ? $.Deferred().resolve() : this.on_toggle_readonly();
|
this._super(data);
|
||||||
|
this.$form_header.find('button.oe_form_button_new').click(this.on_button_new);
|
||||||
|
this.$form_header.find('button.oe_form_button_duplicate').click(this.on_button_duplicate);
|
||||||
|
this.$form_header.find('button.oe_form_button_delete').click(this.on_button_delete);
|
||||||
|
|
||||||
|
},
|
||||||
|
on_button_new: function() {
|
||||||
|
this.dataset.index = null;
|
||||||
|
return this.do_switch_view('form');
|
||||||
},
|
},
|
||||||
|
on_button_duplicate: function() {
|
||||||
|
var self = this;
|
||||||
|
var def = $.Deferred();
|
||||||
|
$.when(this.has_been_loaded).then(function() {
|
||||||
|
self.dataset.call('copy', [self.datarecord.id, {}, self.dataset.context]).then(function(new_id) {
|
||||||
|
return self.on_created({ result : new_id });
|
||||||
|
}).then(function() {
|
||||||
|
return this.do_switch_view('form');
|
||||||
|
}).then(function() {
|
||||||
|
def.resolve();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
return def.promise();
|
||||||
|
},
|
||||||
|
on_button_delete: function() {
|
||||||
|
var self = this;
|
||||||
|
var def = $.Deferred();
|
||||||
|
$.when(this.has_been_loaded).then(function() {
|
||||||
|
if (self.datarecord.id && confirm(_t("Do you really want to delete this record?"))) {
|
||||||
|
self.dataset.unlink([self.datarecord.id]).then(function() {
|
||||||
|
self.on_pager_action('next');
|
||||||
|
def.resolve();
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
setTimeout(function () {
|
||||||
|
def.reject();
|
||||||
|
}, 0)
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return def.promise();
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
openerp.web.form.FieldReadonly = openerp.web.form.Field.extend({
|
openerp.web.form.FieldReadonly = openerp.web.form.Field.extend({
|
||||||
|
|
Loading…
Reference in New Issue