[FIX] web: Form view: make 'Edit' button bounce in readonly

... when the form is clicked.

This commit restores the behavior of saas-15, before the new views.
This commit is contained in:
Deep Patel
2017-09-19 15:04:56 +02:00
committed by Aaron Bohy
parent a79d83e436
commit 90a253bb72
2 changed files with 43 additions and 0 deletions
@@ -12,6 +12,7 @@ var FormRenderer = BasicRenderer.extend({
className: "o_form_view",
events: _.extend({}, BasicRenderer.prototype.events, {
'click .o_notification_box .oe_field_translate': '_onTranslate',
'click .oe_title, .o_group': '_onClick',
}),
/**
* @override
@@ -836,6 +837,16 @@ var FormRenderer = BasicRenderer.extend({
// Handlers
//--------------------------------------------------------------------------
/**
* Makes the Edit button bounce in readonly
*
* @private
*/
_onClick: function () {
if (this.mode === 'readonly') {
this.trigger_up('bounce_edit');
}
},
/**
* @override
* @private
@@ -5888,5 +5888,37 @@ QUnit.module('Views', {
"table is now sorted");
form.destroy();
});
QUnit.test('bounce edit button in readonly mode', function (assert) {
assert.expect(3);
var form = createView({
View: FormView,
model: 'partner',
data: this.data,
arch: '<form>' +
'<div class="oe_title">' +
'<field name="display_name"/>' +
'</div>' +
'</form>',
res_id: 1,
intercepts: {
bounce_edit: function() {
assert.step('bounce');
},
},
});
// in readonly
form.$('[name="display_name"]').click();
assert.verifySteps(['bounce']);
// in edit
form.$buttons.find('.o_form_button_edit').click();
form.$('[name="display_name"]').click();
assert.verifySteps(['bounce']);
form.destroy();
});
});
});