From 4de31249fd6f96027abaa338f0b860b55b6dbaee Mon Sep 17 00:00:00 2001 From: Shannon Date: Mon, 5 Jan 2015 10:01:58 +1100 Subject: [PATCH] removes some usages of singletons --- .../Models/Mapping/ContentModelMapper.cs | 2 +- .../Routing/UrlProviderExtensions.cs | 17 +++++++++++------ 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/src/Umbraco.Web/Models/Mapping/ContentModelMapper.cs b/src/Umbraco.Web/Models/Mapping/ContentModelMapper.cs index 5b528d18b2..48634ede4e 100644 --- a/src/Umbraco.Web/Models/Mapping/ContentModelMapper.cs +++ b/src/Umbraco.Web/Models/Mapping/ContentModelMapper.cs @@ -68,7 +68,7 @@ namespace Umbraco.Web.Models.Mapping expression => expression.MapFrom(content => UmbracoContext.Current == null ? new[] {"Cannot generate urls without a current Umbraco Context"} - : content.GetContentUrls())) + : content.GetContentUrls(UmbracoContext.Current))) .ForMember(display => display.Properties, expression => expression.Ignore()) .ForMember(display => display.TreeNodeUrl, expression => expression.Ignore()) .ForMember(display => display.Notifications, expression => expression.Ignore()) diff --git a/src/Umbraco.Web/Routing/UrlProviderExtensions.cs b/src/Umbraco.Web/Routing/UrlProviderExtensions.cs index 5a8af640da..501c15b375 100644 --- a/src/Umbraco.Web/Routing/UrlProviderExtensions.cs +++ b/src/Umbraco.Web/Routing/UrlProviderExtensions.cs @@ -1,4 +1,5 @@ -using System.Collections.Generic; +using System; +using System.Collections.Generic; using Umbraco.Core.Models; using umbraco; @@ -10,22 +11,26 @@ namespace Umbraco.Web.Routing /// Gets the URLs for the content item /// /// + /// /// /// /// Use this when displaying URLs, if there are errors genertaing the urls the urls themselves will /// contain the errors. /// - public static IEnumerable GetContentUrls(this IContent content) + public static IEnumerable GetContentUrls(this IContent content, UmbracoContext umbracoContext) { + if (content == null) throw new ArgumentNullException("content"); + if (umbracoContext == null) throw new ArgumentNullException("umbracoContext"); + var urls = new List(); if (content.HasPublishedVersion() == false) { - urls.Add(ui.Text("content", "itemNotPublished", UmbracoContext.Current.Security.CurrentUser)); + urls.Add(ui.Text("content", "itemNotPublished", umbracoContext.Security.CurrentUser)); return urls; } - var urlProvider = UmbracoContext.Current.RoutingContext.UrlProvider; + var urlProvider = umbracoContext.RoutingContext.UrlProvider; var url = urlProvider.GetUrl(content.Id); if (url == "#") { @@ -39,9 +44,9 @@ namespace Umbraco.Web.Routing while (parent != null && parent.Published); if (parent == null) // oops - internal error - urls.Add(ui.Text("content", "parentNotPublishedAnomaly", UmbracoContext.Current.Security.CurrentUser)); + urls.Add(ui.Text("content", "parentNotPublishedAnomaly", umbracoContext.Security.CurrentUser)); else - urls.Add(ui.Text("content", "parentNotPublished", parent.Name, UmbracoContext.Current.Security.CurrentUser)); + urls.Add(ui.Text("content", "parentNotPublished", parent.Name, umbracoContext.Security.CurrentUser)); } else {