diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index ae074df9e7b..91c457660c4 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -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(); diff --git a/addons/web/static/src/js/view_page.js b/addons/web/static/src/js/view_page.js index 1d3c009e57f..63722dc8cfd 100644 --- a/addons/web/static/src/js/view_page.js +++ b/addons/web/static/src/js/view_page.js @@ -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({ }); @@ -189,4 +194,4 @@ openerp.web.page = function (openerp) { 'integer': 'openerp.web.form.FieldCharReadonly', 'float_time': 'openerp.web.form.FieldCharReadonly' }); -}; \ No newline at end of file +}; diff --git a/addons/web/static/src/js/views.js b/addons/web/static/src/js/views.js index 5a26ef58b03..9f471f44507 100644 --- a/addons/web/static/src/js/views.js +++ b/addons/web/static/src/js/views.js @@ -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); diff --git a/addons/web/static/src/xml/base.xml b/addons/web/static/src/xml/base.xml index 577c6b52368..fd4e623b926 100644 --- a/addons/web/static/src/xml/base.xml +++ b/addons/web/static/src/xml/base.xml @@ -653,10 +653,8 @@
- - + +
@@ -672,12 +670,10 @@ - - - - + + + +