diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js
index e2a254773ae..f39740863f3 100644
--- a/addons/web/static/src/js/view_form.js
+++ b/addons/web/static/src/js/view_form.js
@@ -1908,6 +1908,7 @@ instance.web.form.AbstractField = instance.web.form.FormWidget.extend(instance.w
this.field = this.field_manager.get_field(this.name);
this.widget = this.node.attrs.widget;
this.string = this.node.attrs.string || this.field.string || this.name;
+ this.options = JSON.parse(this.node.attrs.options || '{}');
this.set({'value': false});
this.set({required: this.modifiers['required'] === true});
@@ -1993,16 +1994,6 @@ instance.web.form.AbstractField = instance.web.form.FormWidget.extend(instance.w
focus: function() {
return false;
},
- /**
- * Utility method to get the widget options defined in the field xml description.
- */
- get_definition_options: function() {
- if (!this.definition_options) {
- var str = this.node.attrs.options || '{}';
- this.definition_options = JSON.parse(str);
- }
- return this.definition_options;
- },
set_input_id: function(id) {
this.id_for_label = id;
},
@@ -2667,7 +2658,7 @@ instance.web.form.CompletionFieldMixin = {
var slow_create = function () {
self._search_create_popup("form", undefined, {"default_name": name});
};
- if (self.get_definition_options().quick_create === undefined || self.get_definition_options().quick_create) {
+ if (self.options.quick_create === undefined || self.options.quick_create) {
new instance.web.DataSet(this, this.field.relation, self.build_context())
.name_create(name, function(data) {
self.add_id(data[0]);
@@ -2924,7 +2915,7 @@ instance.web.form.FieldMany2One = instance.web.form.AbstractField.extend(instanc
var lines = _.escape(str).split("\n");
var link = "";
var follow = "";
- if (! this.get_definition_options().highlight_first_line) {
+ if (! this.options.highlight_first_line) {
link = lines.join("
");
} else {
link = lines[0];
@@ -2935,7 +2926,7 @@ instance.web.form.FieldMany2One = instance.web.form.AbstractField.extend(instanc
var $link = this.$element.find('.oe_form_uri')
.unbind('click')
.html(link);
- if (! this.get_definition_options().no_open)
+ if (! this.options.no_open)
$link.click(function () {
self.do_action({
type: 'ir.actions.act_window',
@@ -2954,7 +2945,7 @@ instance.web.form.FieldMany2One = instance.web.form.AbstractField.extend(instanc
var self = this;
if (value_ instanceof Array) {
this.display_value = {};
- if (! this.get_definition_options().always_reload) {
+ if (! this.options.always_reload) {
this.display_value["" + value_[0]] = value_[1];
}
value_ = value_[0];
@@ -4683,10 +4674,6 @@ instance.web.form.FieldStatus = instance.web.form.AbstractField.extend({
if (this.$element.parent().is('header')) {
this.$element.after('