[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);
|
||||
$.when(action_manager.do_action(action)).then(function() {
|
||||
var controller = action_manager.dialog_viewmanager.views['form'].controller;
|
||||
// TODO NIV: use page view
|
||||
controller.do_set_readonly.add_last(function(){
|
||||
action_manager.stop();
|
||||
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_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) {
|
||||
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();
|
||||
},
|
||||
do_set_readonly: function() {
|
||||
return this.readonly ? $.Deferred().resolve() : this.on_toggle_readonly();
|
||||
},
|
||||
do_show: function () {
|
||||
var promise;
|
||||
if (this.dataset.index === null) {
|
||||
|
@ -367,7 +361,10 @@ openerp.web.FormView = openerp.web.View.extend( /** @lends openerp.web.FormView#
|
|||
}
|
||||
},
|
||||
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() {
|
||||
var self = this;
|
||||
|
@ -375,7 +372,6 @@ openerp.web.FormView = openerp.web.View.extend( /** @lends openerp.web.FormView#
|
|||
$.when(this.has_been_loaded).then(function() {
|
||||
if (self.can_be_discarded()) {
|
||||
var keys = _.keys(self.fields_view.fields);
|
||||
$.when(self.do_set_editable()).then(function() {
|
||||
if (keys.length) {
|
||||
self.dataset.default_get(keys).pipe(self.on_record_loaded).then(function() {
|
||||
def.resolve();
|
||||
|
@ -385,40 +381,6 @@ openerp.web.FormView = openerp.web.View.extend( /** @lends openerp.web.FormView#
|
|||
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();
|
||||
});
|
||||
} else {
|
||||
setTimeout(function () {
|
||||
def.reject();
|
||||
}, 0)
|
||||
}
|
||||
}
|
||||
});
|
||||
return def.promise();
|
||||
|
@ -2111,6 +2073,7 @@ openerp.web.form.FieldOne2Many = openerp.web.form.Field.extend({
|
|||
controller.set_editable(false);
|
||||
} else if (view_type == "form") {
|
||||
if (self.is_readonly()) {
|
||||
// TODO NIV: use page view do_switch_view('page')
|
||||
controller.on_toggle_readonly();
|
||||
$(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"));
|
||||
var once = $.Deferred().then(function() {
|
||||
// TODO NIV: do_switch_view('page')
|
||||
if (self.options.readonly) {
|
||||
self.view_form.on_toggle_readonly();
|
||||
}
|
||||
|
|
|
@ -7,9 +7,48 @@ openerp.web.page = function (openerp) {
|
|||
this._super.apply(this, arguments);
|
||||
this.registry = openerp.web.form.readonly;
|
||||
},
|
||||
do_set_editable: function() {
|
||||
return !this.readonly ? $.Deferred().resolve() : this.on_toggle_readonly();
|
||||
on_loaded: function(data) {
|
||||
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({
|
||||
|
|
Loading…
Reference in New Issue