summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js/fields
diff options
context:
space:
mode:
Diffstat (limited to 'addons/web/static/src/js/fields')
-rw-r--r--addons/web/static/src/js/fields/relational_fields.js8
-rw-r--r--addons/web/static/src/js/fields/upgrade_fields.js22
2 files changed, 22 insertions, 8 deletions
diff --git a/addons/web/static/src/js/fields/relational_fields.js b/addons/web/static/src/js/fields/relational_fields.js
index b5d779039d6..7df5b390a2c 100644
--- a/addons/web/static/src/js/fields/relational_fields.js
+++ b/addons/web/static/src/js/fields/relational_fields.js
@@ -94,8 +94,12 @@ var FieldMany2One = AbstractField.extend({
this._super.apply(this, arguments);
this.limit = 7;
this.orderer = new concurrency.DropMisordered();
- this.can_create = ('can_create' in this.attrs ? this.attrs.can_create : true) && !this.nodeOptions.no_create;
- this.can_write = 'can_write' in this.attrs ? this.attrs.can_write : true;
+
+ // should normally also be set, except in standalone M20
+ this.can_create = ('can_create' in this.attrs ? JSON.parse(this.attrs.can_create) : true) &&
+ !this.nodeOptions.no_create;
+ this.can_write = 'can_write' in this.attrs ? JSON.parse(this.attrs.can_write) : true;
+
this.nodeOptions = _.defaults(this.nodeOptions, {
quick_create: true,
});
diff --git a/addons/web/static/src/js/fields/upgrade_fields.js b/addons/web/static/src/js/fields/upgrade_fields.js
index 4c3b26b9802..9d61036ab8b 100644
--- a/addons/web/static/src/js/fields/upgrade_fields.js
+++ b/addons/web/static/src/js/fields/upgrade_fields.js
@@ -52,9 +52,9 @@ var AbstractFieldUpgrade = {
*
* @abstract
* @private
- * @param {JQuery} the 'Enterprise' label to insert
+ * @param {jQuery} $enterpriseLabel the 'Enterprise' label to insert
*/
- _insertEnterpriseLabel: function ($enterprise_label) {},
+ _insertEnterpriseLabel: function ($enterpriseLabel) {},
/**
* Opens the Upgrade dialog.
*
@@ -127,6 +127,15 @@ var UpgradeBoolean = FieldBoolean.extend(AbstractFieldUpgrade, {
events: _.extend({}, AbstractField.prototype.events, {
'click input': '_onInputClicked',
}),
+ /**
+ * Re-renders the widget with the label
+ *
+ * @param {jQuery} $label
+ */
+ renderWithLabel: function ($label) {
+ this.$label = $label;
+ this._render();
+ },
//--------------------------------------------------------------------------
// Private
@@ -136,8 +145,9 @@ var UpgradeBoolean = FieldBoolean.extend(AbstractFieldUpgrade, {
* @override
* @private
*/
- _insertEnterpriseLabel: function ($enterprise_label) {
- this.$el.append(' ').append($enterprise_label);
+ _insertEnterpriseLabel: function ($enterpriseLabel) {
+ var $el = this.$label || this.$el;
+ $el.append(' ').append($enterpriseLabel);
},
/**
* @override
@@ -170,8 +180,8 @@ var UpgradeRadio = FieldRadio.extend(AbstractFieldUpgrade, {
* @override
* @private
*/
- _insertEnterpriseLabel: function ($enterprise_label) {
- this.$('label').last().append(' ').append($enterprise_label);
+ _insertEnterpriseLabel: function ($enterpriseLabel) {
+ this.$('label').last().append(' ').append($enterpriseLabel);
},
/**
* @override