diff --git a/src/Umbraco.Web.UI.Client/src/common/resources/entity.resource.js b/src/Umbraco.Web.UI.Client/src/common/resources/entity.resource.js
index 7852180dfa..9cf1181cfa 100644
--- a/src/Umbraco.Web.UI.Client/src/common/resources/entity.resource.js
+++ b/src/Umbraco.Web.UI.Client/src/common/resources/entity.resource.js
@@ -104,21 +104,26 @@ function entityResource($q, $http, umbRequestHelper) {
*
* @param {Int} id Id of node to return the public url to
* @param {string} type Object type name
+ * @param {string} culture Culture
* @returns {Promise} resourcePromise object containing the url.
*
*/
- getUrl: function (id, type) {
+ getUrl: function (id, type, culture) {
if (id === -1 || id === "-1") {
return "";
}
+ if (!culture) {
+ culture = "";
+ }
+
return umbRequestHelper.resourcePromise(
$http.get(
umbRequestHelper.getApiUrl(
"entityApiBaseUrl",
"GetUrl",
- [{ id: id }, {type: type }])),
+ [{ id: id }, {type: type }, {culture: culture }])),
'Failed to retrieve url for id:' + id);
},
diff --git a/src/Umbraco.Web/Editors/EntityController.cs b/src/Umbraco.Web/Editors/EntityController.cs
index 5e094534d2..0513017b70 100644
--- a/src/Umbraco.Web/Editors/EntityController.cs
+++ b/src/Umbraco.Web/Editors/EntityController.cs
@@ -211,17 +211,20 @@ namespace Umbraco.Web.Editors
///
/// Int id of the entity to fetch URL for
/// The type of entity such as Document, Media, Member
+ /// The culture to fetch the URL for
/// The URL or path to the item
///
/// We are not restricting this with security because there is no sensitive data
///
- public HttpResponseMessage GetUrl(int id, UmbracoEntityTypes type)
+ public HttpResponseMessage GetUrl(int id, UmbracoEntityTypes type, string culture = null)
{
+ culture = culture ?? ClientCulture();
+
var returnUrl = string.Empty;
if (type == UmbracoEntityTypes.Document)
{
- var foundUrl = UmbracoContext.Url(id);
+ var foundUrl = UmbracoContext.Url(id, culture);
if (string.IsNullOrEmpty(foundUrl) == false && foundUrl != "#")
{
returnUrl = foundUrl;