diff --git a/src/Orchard.Web/Core/Common/Extensions/HtmlHelperExtensions.cs b/src/Orchard.Web/Core/Common/Extensions/HtmlHelperExtensions.cs
index 3961b92a3..5101081f4 100644
--- a/src/Orchard.Web/Core/Common/Extensions/HtmlHelperExtensions.cs
+++ b/src/Orchard.Web/Core/Common/Extensions/HtmlHelperExtensions.cs
@@ -1,15 +1,26 @@
using System;
+using System.Web;
using System.Web.Mvc;
+using Orchard.DisplayManagement;
using Orchard.Localization;
using Orchard.Mvc.Html;
namespace Orchard.Core.Common.Extensions {
- public static class HtmlHelperExtensions {
- public static LocalizedString PublishedState(this HtmlHelper htmlHelper, DateTime? versionPublishedUtc, Localizer T) {
- return htmlHelper.DateTime(versionPublishedUtc, T("Draft"));
+ public class Shapes {
+ public Shapes() {
+ T = NullLocalizer.Instance;
}
- public static LocalizedString PublishedWhen(this HtmlHelper htmlHelper, DateTime? versionPublishedUtc, Localizer T) {
- return htmlHelper.DateTimeRelative(versionPublishedUtc, T("as a Draft"), T);
+
+ public Localizer T { get; set; }
+
+ [Shape]
+ public IHtmlString PublishedState(HtmlHelper Html, DateTime? versionPublishedUtc) {
+ return Html.DateTime(versionPublishedUtc, T("Draft"));
+ }
+
+ [Shape]
+ public IHtmlString PublishedWhen(dynamic Display, HtmlHelper Html, DateTime? versionPublishedUtc) {
+ return Display.DateTimeRelative(dateTime: versionPublishedUtc, defaultIfNull: T("as a Draft"));
}
}
-}
\ No newline at end of file
+}
diff --git a/src/Orchard.Web/Core/Common/Views/Parts/Common.Metadata.Summary.cshtml b/src/Orchard.Web/Core/Common/Views/Parts/Common.Metadata.Summary.cshtml
index e5ca1cad4..bd7444ce2 100644
--- a/src/Orchard.Web/Core/Common/Views/Parts/Common.Metadata.Summary.cshtml
+++ b/src/Orchard.Web/Core/Common/Views/Parts/Common.Metadata.Summary.cshtml
@@ -1,2 +1,2 @@
@using Orchard.Core.Common.Extensions;
-
@Html.PublishedState((DateTime?)Model.ContentPart.VersionPublishedUtc, T)
\ No newline at end of file
+@Display.PublishedState(versionPublishedUtc: (DateTime?)Model.ContentPart.VersionPublishedUtc)
\ No newline at end of file
diff --git a/src/Orchard.Web/Core/Common/Views/Parts/Common.Metadata.cshtml b/src/Orchard.Web/Core/Common/Views/Parts/Common.Metadata.cshtml
index e5ca1cad4..bd7444ce2 100644
--- a/src/Orchard.Web/Core/Common/Views/Parts/Common.Metadata.cshtml
+++ b/src/Orchard.Web/Core/Common/Views/Parts/Common.Metadata.cshtml
@@ -1,2 +1,2 @@
@using Orchard.Core.Common.Extensions;
-@Html.PublishedState((DateTime?)Model.ContentPart.VersionPublishedUtc, T)
\ No newline at end of file
+@Display.PublishedState(versionPublishedUtc: (DateTime?)Model.ContentPart.VersionPublishedUtc)
\ No newline at end of file
diff --git a/src/Orchard.Web/Themes/Corporate/Views/DisplayTemplates/Parts/Blogs.BlogPost.Metadata.ascx b/src/Orchard.Web/Themes/Corporate/Views/DisplayTemplates/Parts/Blogs.BlogPost.Metadata.ascx
index 03bb4f709..486f49d5e 100644
--- a/src/Orchard.Web/Themes/Corporate/Views/DisplayTemplates/Parts/Blogs.BlogPost.Metadata.ascx
+++ b/src/Orchard.Web/Themes/Corporate/Views/DisplayTemplates/Parts/Blogs.BlogPost.Metadata.ascx
@@ -3,5 +3,5 @@
<%@ Import Namespace="Orchard.Blogs.Models"%>
<%
if (Model.Creator != null) {
- %><%=_Encoded(" | Posted by {0} {1}", Model.Creator.UserName, Html.PublishedWhen(Model)) %><%
+ %><%=_Encoded(" | Posted by {0} {1}", Model.Creator.UserName, Display.PublishedWhen(versionPublishedUtc: Model))%><%
} %>
diff --git a/src/Orchard.Web/Themes/Green/Views/DisplayTemplates/Items/Blogs.BlogPost.Summary.ascx b/src/Orchard.Web/Themes/Green/Views/DisplayTemplates/Items/Blogs.BlogPost.Summary.ascx
index 2d2a553bd..97f642984 100644
--- a/src/Orchard.Web/Themes/Green/Views/DisplayTemplates/Items/Blogs.BlogPost.Summary.ascx
+++ b/src/Orchard.Web/Themes/Green/Views/DisplayTemplates/Items/Blogs.BlogPost.Summary.ascx
@@ -4,7 +4,7 @@
<%@ Import Namespace="Orchard.Blogs.Models"%>
<%@ Import Namespace="Orchard.Core.Common.Extensions" %>
<%: Html.Link(Model.Item.Title, Url.BlogPost(Model.Item)) %>
-<%: Html.PublishedState(Model.Item, T) %> | <%Html.Zone("meta");%>
+<%: Display.PublishedState(versionPublishedUtc: Model.Item)%> | <%Html.Zone("meta");%>
<% Html.Zone("primary"); %>
\ No newline at end of file
diff --git a/src/Orchard.Web/Themes/Green/Views/DisplayTemplates/Parts/Blogs.BlogPost.Metadata.ascx b/src/Orchard.Web/Themes/Green/Views/DisplayTemplates/Parts/Blogs.BlogPost.Metadata.ascx
index 55c302473..07dfa4e19 100644
--- a/src/Orchard.Web/Themes/Green/Views/DisplayTemplates/Parts/Blogs.BlogPost.Metadata.ascx
+++ b/src/Orchard.Web/Themes/Green/Views/DisplayTemplates/Parts/Blogs.BlogPost.Metadata.ascx
@@ -3,5 +3,5 @@
<%@ Import Namespace="Orchard.Blogs.Models"%>
<%@ Import Namespace="Orchard.Core.Common.Extensions" %><%
if (Model.Creator != null) {
- %><%: T("Posted by {0} {1}", Model.Creator.UserName, Html.PublishedWhen(Model, T)) %><%
+ %><%: T("Posted by {0} {1}", Model.Creator.UserName, Display.PublishedWhen(versionPublishedUtc: Model))%><%
} %>
\ No newline at end of file
diff --git a/src/Orchard.Web/Themes/TheThemeMachine/Views/Items/BlogPost.Summary.cshtml b/src/Orchard.Web/Themes/TheThemeMachine/Views/Items/BlogPost.Summary.cshtml
index f63938d75..249e3f202 100644
--- a/src/Orchard.Web/Themes/TheThemeMachine/Views/Items/BlogPost.Summary.cshtml
+++ b/src/Orchard.Web/Themes/TheThemeMachine/Views/Items/BlogPost.Summary.cshtml
@@ -8,7 +8,7 @@
- @Html.PublishedState(new CommonMetadataViewModel((CommonPart)Model.ContentItem.Get(typeof(CommonPart))), T)
+ @Display.PublishedState(versionPublishedUtc: new CommonMetadataViewModel((CommonPart)Model.ContentItem.Get(typeof(CommonPart))))
@Display(Model.meta)