[ADD] Added duplicate feature to FormView
bzr revid: fme@openerp.com-20110915081241-3q4us9bweru4iyx1
This commit is contained in:
parent
b612f2563f
commit
6af24261ba
|
@ -89,6 +89,7 @@ openerp.web.FormView = openerp.web.View.extend( /** @lends openerp.web.FormView#
|
|||
this.$form_header.find('button.oe_form_button_save_edit').click(this.do_save_edit);
|
||||
this.$form_header.find('button.oe_form_button_cancel').click(this.do_cancel);
|
||||
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);
|
||||
|
||||
if (this.options.sidebar && this.options.sidebar_id) {
|
||||
this.sidebar = new openerp.web.Sidebar(this, this.options.sidebar_id);
|
||||
|
@ -307,6 +308,20 @@ openerp.web.FormView = openerp.web.View.extend( /** @lends openerp.web.FormView#
|
|||
});
|
||||
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(function() {
|
||||
def.resolve();
|
||||
});
|
||||
}
|
||||
});
|
||||
return def.promise();
|
||||
},
|
||||
can_be_discarded: function() {
|
||||
return !this.dirty_for_user || confirm(_t("Warning, the record has been modified, your changes will be discarded."));
|
||||
},
|
||||
|
|
|
@ -661,6 +661,7 @@
|
|||
</button>
|
||||
<!--<button type="button" class="oe_form_button_cancel">Cancel</button>-->
|
||||
<button type="button" class="oe_form_button_new">New</button>
|
||||
<button type="button" class="oe_form_button_duplicate oe_form_on_update">Duplicate</button>
|
||||
</div>
|
||||
<div class="oe_form_pager" t-if="view.options.pager !== false">
|
||||
<button type="button" data-pager-action="first">First</button>
|
||||
|
|
Loading…
Reference in New Issue