summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js/widgets/domain_selector.js
diff options
context:
space:
mode:
Diffstat (limited to 'addons/web/static/src/js/widgets/domain_selector.js')
-rw-r--r--addons/web/static/src/js/widgets/domain_selector.js21
1 files changed, 20 insertions, 1 deletions
diff --git a/addons/web/static/src/js/widgets/domain_selector.js b/addons/web/static/src/js/widgets/domain_selector.js
index 782128994db..0619cf613c6 100644
--- a/addons/web/static/src/js/widgets/domain_selector.js
+++ b/addons/web/static/src/js/widgets/domain_selector.js
@@ -179,7 +179,16 @@ var DomainTree = DomainNode.extend({
*/
init: function (parent, model, domain, options) {
this._super.apply(this, arguments);
- this._initialize(Domain.prototype.stringToArray(domain));
+ try {
+ domain = Domain.prototype.stringToArray(domain);
+ } catch (err) {
+ // TODO: domain could contain `parent` for example, which is
+ // currently not handled by the DomainSelector
+ this.invalidDomain = true;
+ this.children = [];
+ return;
+ }
+ this._initialize(domain);
},
/**
* @see DomainNode.start
@@ -443,6 +452,16 @@ var DomainSelector = DomainTree.extend({
domain_changed: "_onDomainChange",
}),
+ start: function () {
+ var self = this;
+ return this._super.apply(this, arguments).then(function () {
+ if (self.invalidDomain) {
+ var msg = _t("This domain is not supported.");
+ self.$el.html(msg);
+ }
+ });
+ },
+
//--------------------------------------------------------------------------
// Public
//--------------------------------------------------------------------------