[FIX] Fix form and page buttons
bzr revid: fme@openerp.com-20111205135037-g9y8obto3y8rsuki
This commit is contained in:
parent
04ce8687aa
commit
986ff55624
|
@ -41,8 +41,9 @@ openerp.web.FormView = openerp.web.View.extend( /** @lends openerp.web.FormView#
|
|||
this.has_been_loaded = $.Deferred();
|
||||
this.$form_header = null;
|
||||
this.translatable_fields = [];
|
||||
_.defaults(this.options, {"always_show_new_button": true,
|
||||
"not_interactible_on_create": false});
|
||||
_.defaults(this.options, {
|
||||
"not_interactible_on_create": false
|
||||
});
|
||||
this.mutating_lock = $.Deferred();
|
||||
this.initial_mutating_lock = this.mutating_lock;
|
||||
this.on_change_lock = $.Deferred().resolve();
|
||||
|
@ -102,6 +103,7 @@ 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_cancel').click(this.on_button_cancel);
|
||||
|
||||
if (!this.sidebar && this.options.sidebar && this.options.sidebar_id) {
|
||||
this.sidebar = new openerp.web.Sidebar(this, this.options.sidebar_id);
|
||||
|
@ -139,17 +141,6 @@ openerp.web.FormView = openerp.web.View.extend( /** @lends openerp.web.FormView#
|
|||
if (!record) {
|
||||
throw("Form: No record received");
|
||||
}
|
||||
if (!record.id) {
|
||||
this.$form_header.find('.oe_form_on_create').show();
|
||||
this.$form_header.find('.oe_form_on_update').hide();
|
||||
if (!this.options["always_show_new_button"]) {
|
||||
this.$form_header.find('button.oe_form_button_new').hide();
|
||||
}
|
||||
} else {
|
||||
this.$form_header.find('.oe_form_on_create').hide();
|
||||
this.$form_header.find('.oe_form_on_update').show();
|
||||
this.$form_header.find('button.oe_form_button_new').show();
|
||||
}
|
||||
this.datarecord = record;
|
||||
|
||||
_(this.fields).each(function (field, f) {
|
||||
|
@ -366,6 +357,9 @@ openerp.web.FormView = openerp.web.View.extend( /** @lends openerp.web.FormView#
|
|||
self.do_switch_view('page');
|
||||
});
|
||||
},
|
||||
on_button_cancel: function() {
|
||||
return this.do_switch_view('page');
|
||||
},
|
||||
on_button_new: function() {
|
||||
var self = this;
|
||||
var def = $.Deferred();
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
openerp.web.page = function (openerp) {
|
||||
|
||||
var _t = openerp.web._t;
|
||||
var QWeb = openerp.web.qweb;
|
||||
|
||||
openerp.web.views.add('page', 'openerp.web.PageView');
|
||||
openerp.web.PageView = openerp.web.FormView.extend({
|
||||
form_template: "PageView",
|
||||
|
@ -9,12 +12,15 @@ openerp.web.page = function (openerp) {
|
|||
},
|
||||
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_edit').click(this.on_button_edit);
|
||||
this.$form_header.find('button.oe_form_button_create').click(this.on_button_create);
|
||||
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() {
|
||||
on_button_edit: function() {
|
||||
return this.do_switch_view('form');
|
||||
},
|
||||
on_button_create: function() {
|
||||
this.dataset.index = null;
|
||||
return this.do_switch_view('form');
|
||||
},
|
||||
|
@ -25,7 +31,7 @@ openerp.web.page = function (openerp) {
|
|||
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');
|
||||
return self.do_switch_view('form');
|
||||
}).then(function() {
|
||||
def.resolve();
|
||||
});
|
||||
|
@ -50,7 +56,6 @@ openerp.web.page = function (openerp) {
|
|||
return def.promise();
|
||||
}
|
||||
});
|
||||
|
||||
openerp.web.form.FieldReadonly = openerp.web.form.Field.extend({
|
||||
|
||||
});
|
||||
|
|
|
@ -263,7 +263,7 @@ session.web.ViewManager = session.web.Widget.extend(/** @lends session.web.View
|
|||
}
|
||||
|
||||
this.$element
|
||||
.find('.views-switchers button').removeAttr('disabled')
|
||||
.find('.oe_vm_switch button').removeAttr('disabled')
|
||||
.filter('[data-view-type="' + view_type + '"]')
|
||||
.attr('disabled', true);
|
||||
|
||||
|
|
|
@ -653,10 +653,8 @@
|
|||
<t t-name="FormView">
|
||||
<div class="oe_form_header">
|
||||
<div class="oe_form_buttons" t-if="widget.options.action_buttons !== false">
|
||||
<button type="button" class="oe_form_button_save oe_form_on_editable">Save</button>
|
||||
<button type="button" class="oe_form_button_toggle">
|
||||
<span class="oe_form_on_editable">Cancel</span>
|
||||
</button>
|
||||
<button type="button" class="oe_form_button_save">Save</button>
|
||||
<button type="button" class="oe_form_button_cancel">Cancel</button>
|
||||
</div>
|
||||
<div class="oe_form_pager" t-if="widget.options.pager !== false">
|
||||
<button type="button" data-pager-action="first">First</button>
|
||||
|
@ -672,12 +670,10 @@
|
|||
</t>
|
||||
<t t-name="PageView" t-extend="FormView">
|
||||
<t t-jquery=".oe_form_buttons" t-operation="inner">
|
||||
<button type="button" class="oe_form_button_toggle">
|
||||
<span class="oe_form_on_readonly">Edit</span>
|
||||
</button>
|
||||
<button type="button" class="oe_form_button_new oe_form_on_readonly">Create</button>
|
||||
<button type="button" class="oe_form_button_duplicate oe_form_on_readonly">Duplicate</button>
|
||||
<button type="button" class="oe_form_button_delete oe_form_on_readonly">Delete</button>
|
||||
<button type="button" class="oe_form_button_edit">Edit</button>
|
||||
<button type="button" class="oe_form_button_create">Create</button>
|
||||
<button type="button" class="oe_form_button_duplicate">Duplicate</button>
|
||||
<button type="button" class="oe_form_button_delete">Delete</button>
|
||||
</t>
|
||||
</t>
|
||||
<t t-name="FormView.sidebar.attachments">
|
||||
|
|
Loading…
Reference in New Issue