diff --git a/src/Umbraco.Web.UI/umbraco/config/lang/en.xml b/src/Umbraco.Web.UI/umbraco/config/lang/en.xml
index 79fad32639..8f493d2582 100644
--- a/src/Umbraco.Web.UI/umbraco/config/lang/en.xml
+++ b/src/Umbraco.Web.UI/umbraco/config/lang/en.xml
@@ -53,7 +53,7 @@
Domain '%0%' has been updatedEdit Current Domains One-level paths in domains are supported, eg. "example.com/en". However, they
+ "https://www.example.com/". One-level paths in domains are supported, eg. "example.com/en". However, they
should be avoided. Better use the culture setting above.]]>InheritCulture
diff --git a/src/Umbraco.Web.UI/umbraco/config/lang/en_us.xml b/src/Umbraco.Web.UI/umbraco/config/lang/en_us.xml
index 4da1607c4b..69c7e605da 100644
--- a/src/Umbraco.Web.UI/umbraco/config/lang/en_us.xml
+++ b/src/Umbraco.Web.UI/umbraco/config/lang/en_us.xml
@@ -53,7 +53,7 @@
Domain '%0%' has been updatedEdit Current Domains One-level paths in domains are supported, eg. "example.com/en". However, they
+ "https://www.example.com/". One-level paths in domains are supported, eg. "example.com/en". However, they
should be avoided. Better use the culture setting above.]]>InheritCulture
diff --git a/src/Umbraco.Web.UI/umbraco/dialogs/AssignDomain2.aspx b/src/Umbraco.Web.UI/umbraco/dialogs/AssignDomain2.aspx
index 9a69576706..3346927b0f 100644
--- a/src/Umbraco.Web.UI/umbraco/dialogs/AssignDomain2.aspx
+++ b/src/Umbraco.Web.UI/umbraco/dialogs/AssignDomain2.aspx
@@ -40,6 +40,7 @@
+ <%=umbraco.ui.Text("assignDomain", "domainHelp") %>
@@ -51,7 +52,7 @@
-
+
@@ -60,7 +61,6 @@
- <%=umbraco.ui.Text("assignDomain", "domainHelp") %>
diff --git a/src/Umbraco.Web.UI/umbraco_client/Dialogs/AssignDomain2.js b/src/Umbraco.Web.UI/umbraco_client/Dialogs/AssignDomain2.js
index cfd33541cb..b49e72fcc7 100644
--- a/src/Umbraco.Web.UI/umbraco_client/Dialogs/AssignDomain2.js
+++ b/src/Umbraco.Web.UI/umbraco_client/Dialogs/AssignDomain2.js
@@ -63,9 +63,17 @@
return ret;
}, self._opts.invalidDomain);
+ function getDuplicateMessage(val, el) {
+ var other = $(el).nextAll('input').val();
+ var msg = self._opts.duplicateDomain
+ if (other != "" && other != "!!!")
+ msg = msg + ' (' + other + ')';
+ return msg;
+ }
+
$.validator.addMethod("duplicate", function (value, element, param) {
- return $(element).nextAll('input').val() == 0 && !self._isRepeated($(element));
- }, self._opts.duplicateDomain);
+ return $(element).nextAll('input').val() == "" && !self._isRepeated($(element));
+ }, getDuplicateMessage);
$.validator.addClassRules({
domain: { domain: true },
@@ -80,7 +88,7 @@
$('form input.domain').live('focus', function(event) {
if (event.type != 'focusin') return;
- $(this).nextAll('input').val(0);
+ $(this).nextAll('input').val("");
});
// force validation *now*
@@ -105,14 +113,14 @@
}
else {
var inputs = $('form input.domain');
- inputs.each(function() { $(this).nextAll('input').val(0); });
+ inputs.each(function() { $(this).nextAll('input').val(""); });
for (var i = 0; i < json.Domains.length; i++) {
var d = json.Domains[i];
- if (d.Duplicate == 1)
+ if (d.Duplicate)
inputs.each(function() {
var input = $(this);
if (input.val() == d.Name)
- input.nextAll('input').val(1);
+ input.nextAll('input').val(d.Other ? d.Other : "!!!");
});
}
$('form').valid();
diff --git a/src/Umbraco.Web/WebServices/DomainsApiController.cs b/src/Umbraco.Web/WebServices/DomainsApiController.cs
index 6446e0152d..4f3509845d 100644
--- a/src/Umbraco.Web/WebServices/DomainsApiController.cs
+++ b/src/Umbraco.Web/WebServices/DomainsApiController.cs
@@ -3,6 +3,7 @@ using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
+using System.Text;
using System.Web.Http;
using System.Web.Services.Description;
using Umbraco.Core;
@@ -113,7 +114,25 @@ namespace Umbraco.Web.WebServices
if (domain != null)
domain.LanguageId = language.Id;
else if (Services.DomainService.Exists(domainModel.Name))
+ {
domainModel.Duplicate = true;
+ var xdomain = Services.DomainService.GetByName(domainModel.Name);
+ var xrcid = xdomain.RootContentId;
+ if (xrcid.HasValue)
+ {
+ var xcontent = Services.ContentService.GetById(xrcid.Value);
+ var xnames = new List();
+ while (xcontent != null)
+ {
+ xnames.Add(xcontent.Name);
+ if (xcontent.ParentId < -1)
+ xnames.Add("Recycle Bin");
+ xcontent = xcontent.Parent();
+ }
+ xnames.Reverse();
+ domainModel.Other = "/" + string.Join("/", xnames);
+ }
+ }
else
{
// yet there is a race condition here...
@@ -159,6 +178,7 @@ namespace Umbraco.Web.WebServices
public string Name { get; private set; }
public int Lang { get; private set; }
public bool Duplicate { get; set; }
+ public string Other { get; set; }
}
#endregion