Bunch more admin UI work around blogs, blog posts and the editing of posts (including aspects like comments/tags). Still more to do in this area but it's shaping up nicely

--HG--
extra : convert_revision : svn%3A5ff7c347-ad56-4c35-b696-ccb81de16e03/trunk%4043147
This commit is contained in:
skewed
2009-12-04 03:55:30 +00:00
parent 1a5a8882ca
commit 6d7c45c0a1
14 changed files with 181 additions and 169 deletions

View File

@@ -264,9 +264,12 @@ a:hover, a:active, a:focus {
/* Content
----------------------------------------------------------*/
#main h2, #main h3, #main h4, #main p {
#main h2 {
margin:.23em 0 1em;
}
#main h3, #main h4 {
margin:.5em 0;
}
#main p {
margin:0 0 1.5em;
}
@@ -274,7 +277,7 @@ a:hover, a:active, a:focus {
margin:0 0 1.4em;
}
#main .meta {
margin:0 0 .4em;
margin:-.4em 0 .4em;
}
#main form {
margin:.345em 0 1.5em;
@@ -317,6 +320,15 @@ span.message {
background:#fff;
border:1px dashed #D2D6C6;
}
.debug.message {
background:#eee;
border:1px dashed #D2D6C6;
color:#7a7a7a;
margin:20px 0 14px 0;
}
.debug.message:before {
content:"DEBUG » ";
}
/* Forms
----------------------------------------------------------*/
@@ -337,6 +349,9 @@ fieldset.bulk.actions label, label.sub {
label span {
font-weight:normal;
}
label input {
vertical-align:text-top;
}
/* todo: (heskew) try to get .text on stuff like #PublishLaterDate and .text-box */
select, textarea, input.text, input.text-box, #PublishLaterDate {
@@ -512,46 +527,46 @@ ol.actions label {
/* Content item lists
----------------------------------------------------------*/
ul.contentItems {
.contentItems {
background:#FFF;
border:1px solid #B0B083;
margin:1.4em 0;
padding:2px;
}
ul.contentItems li {
.contentItems li {
background:#FFF;
border-bottom:1px solid #EAE9D9;
margin:0;
overflow:hidden;
padding:.7em 1.4em;
}
ul.contentItems li.last {
.contentItems li.last {
border-bottom:0;
}
#main ul.contentItems li h3 {
#main .contentItems li h3 {
border-bottom:0;
margin:0 0 .1em;
margin-top:0;
}
#main ul.contentItems li .actions {
#main .contentItems li .actions {
color:#EAE9D9;
height:auto;
margin:-1.3em 0 0;
padding:0 0 .1em;
}
#main ul.contentItems li .actions .ibutton {
#main .contentItems li .actions .ibutton {
margin-right:6px;
}
#main ul.contentItems li .actions .destruct .ibutton {
#main .contentItems li .actions .destruct .ibutton {
margin-left:8px;
margin-right:0;
}
#main ul.contentItems li:hover { background:#fafbed; }
#main ul.contentItems li:hover a.ibutton { background-position:0 0; }
#main ul.contentItems li:hover a.ibutton.remove { background-position:-20px 0; }
#main ul.contentItems li:hover a.ibutton.view { background-position:-40px 0; }
#main ul.contentItems li:hover a.ibutton.add.page { background-position:-60px 0; }
#main ul.contentItems li:hover a.ibutton.edit { background-position:-80px 0; }
#main ul.contentItems li:hover a.ibutton.publish { background-position:-100px 0; }
#main .contentItems li:hover { background:#fafbed; }
#main .contentItems li:hover a.ibutton { background-position:0 0; }
#main .contentItems li:hover a.ibutton.remove { background-position:-20px 0; }
#main .contentItems li:hover a.ibutton.view { background-position:-40px 0; }
#main .contentItems li:hover a.ibutton.add.page { background-position:-60px 0; }
#main .contentItems li:hover a.ibutton.edit { background-position:-80px 0; }
#main .contentItems li:hover a.ibutton.publish { background-position:-100px 0; }
/* Tables
----------------------------------------------------------*/
@@ -664,7 +679,7 @@ todo: (heskew) pull out into relevant modules where appropriate
#content, #navigation li, button, .button,
table, textarea, input.text, input.text-box,
ul.contentItems, .message {
.contentItems, .message {
-moz-border-radius:4px;
-webkit-border-radius:4px;
border-radius:4px;

View File

@@ -8,7 +8,7 @@ namespace Orchard.Blogs {
builder.Add("Blogs", "2",
menu => menu
.Add("Manage Blogs", "1.0", item => item.Action("ListForAdmin", "Blog", new { area = "Orchard.Blogs" }))
.Add("Add Blog", "1.1", item => item.Action("Create", "Blog", new { area = "Orchard.Blogs" })));
.Add("Add New Blog", "1.1", item => item.Action("Create", "Blog", new { area = "Orchard.Blogs" })));
}
}
}

View File

@@ -3,18 +3,9 @@
<%@ Import Namespace="Orchard.Blogs.Extensions"%>
<%@ Import Namespace="Orchard.Blogs.ViewModels"%>
<% Html.Include("AdminHead"); %>
<h2>Edit Blog Post</h2>
<h2>Edit Post</h2>
<% using (Html.BeginForm()) { %>
<%=Html.ValidationSummary() %>
<%=Html.EditorForModel() %>
<fieldset><input class="button" type="submit" value="Save" /></fieldset>
<%foreach (var editor in Model.ItemView.Editors) { %>
<%-- TODO: why is Body in editors? --%>
<%-- TODO: because any content type using the body editor doesn't need
to re-implement the rich editor, media extensions, format filter chain selection, etc --%>
<% if (!String.Equals(editor.Prefix, "Body")) { %>
<%=Html.EditorFor(m=>editor.Model, editor.TemplateName, editor.Prefix) %>
<% } %>
<%} %>
<% } %>
<% Html.Include("AdminFoot"); %>

View File

@@ -3,11 +3,11 @@
<%@ Import Namespace="Orchard.Blogs.ViewModels"%>
<div class="sections">
<div class="primary">
<h3>Blog Post Content</h3>
<h3>Content</h3>
<%-- todo: (heskew) thin out the fieldsets if they become overkill --%>
<fieldset>
<label for="title">Title:</label>
<span><%=Html.TextBoxFor(m => m.Title, new { id = "title", @class = "text" })%></span>
<span><%=Html.TextBoxFor(m => m.Title, new { id = "title", @class = "large text" })%></span>
</fieldset>
<fieldset>
<label class="sub" for="permalink">Permalink: <span><%=Request.Url.ToRootString() %>/<%=Model.Blog.Slug %>/</span></label>
@@ -19,19 +19,28 @@
<label for="body">Body:</label>
<span><%=Html.TextAreaFor(m => m.Body, new { id = "body", @class = "html" })%></span>
</fieldset>
<% foreach (var e in Model.ItemView.Editors) {
var editor = e;
// TODO: why is Body in editors?
// TODO: because any content type using the body editor doesn't need
// to re-implement the rich editor, media extensions, format filter chain selection, etc
if (!String.Equals(editor.Prefix, "Body")) {
%><%=Html.EditorFor(m=>editor.Model, editor.TemplateName, editor.Prefix) %>
<% }
} %>
</div>
<div class="secondary">
<h3>Publish Settings</h3>
<fieldset>
<label for="Command_PublishNow"><%=Html.RadioButton("Command", "PublishNow", true, new { id = "Command_PublishNow" }) %> Publish Now</label>
</fieldset>
<%--<fieldset>
<label for="Command_PublishNow"><%=Html.RadioButton("Command", "PublishNow", new { id = "Command_PublishNow" }) %> Publish Now</label>
</fieldset>
<fieldset>
<label for="Command_PublishLater"><%=Html.RadioButton("Command", "PublishLater", new { id = "Command_PublishLater" }) %> Publish Later</label>
<%=Html.EditorFor(m => m.Published) %>
</fieldset>
<fieldset>
<label for="Command_SaveDraft"><%=Html.RadioButton("Command", "SaveDraft", new { id = "Command_SaveDraft" }) %> Save Draft</label>
</fieldset>--%>
<fieldset>
<label for="Command_SaveDraft"><%=Html.RadioButton("Command", "SaveDraft", true, new { id = "Command_SaveDraft" }) %> Save Draft</label>
</fieldset>
<fieldset>
<input class="button" type="submit" name="submit.Save" value="Save"/>
</fieldset>

View File

@@ -2,7 +2,7 @@
<%@ Import Namespace="Orchard.Blogs.ViewModels"%>
<div class="sections">
<div class="primary">
<h3>Blog Post Content</h3>
<h3>Content</h3>
<%-- todo: (heskew) thin out the fieldsets if they become overkill --%>
<fieldset>
<label for="title">Title:</label>
@@ -21,15 +21,15 @@
</div>
<div class="secondary">
<h3>Publish Settings</h3>
<fieldset>
<%--<fieldset>
<label for="Command_PublishNow"><%=Html.RadioButton("Command", "PublishNow", new { id = "Command_PublishNow" }) %> Publish Now</label>
</fieldset>
<fieldset>
<label for="Command_PublishLater"><%=Html.RadioButton("Command", "PublishLater", new { id = "Command_PublishLater" }) %> Publish Later</label>
<%=Html.EditorFor(m => m.Published) %>
</fieldset>
</fieldset>--%>
<fieldset>
<label for="Command_SaveDraft"><%=Html.RadioButton("Command", "SaveDraft", new { id = "Command_SaveDraft" }) %> Save Draft</label></li>
<label for="Command_SaveDraft"><%=Html.RadioButton("Command", "SaveDraft", true, new { id = "Command_SaveDraft" }) %> Save Draft</label></li>
</fieldset>
<fieldset>
<input class="button" type="submit" name="submit.Save" value="Save"/>

View File

@@ -8,7 +8,7 @@ namespace Orchard.CmsPages {
builder.Add("Pages", "1",
menu => menu
.Add("Manage Pages", "1.0", item => item.Action("Index", "Admin", new { area = "Orchard.CmsPages" }))
.Add("Add a Page", "1.1", item => item.Action("Create", "Admin", new { area = "Orchard.CmsPages" }).Permission(Permissions.CreatePages))
.Add("Add New Page", "1.1", item => item.Action("Create", "Admin", new { area = "Orchard.CmsPages" }).Permission(Permissions.CreatePages))
);
}
}

View File

@@ -3,97 +3,91 @@
<%@ Import Namespace="Orchard.Comments.ViewModels"%>
<%@ Import Namespace="Orchard.Mvc.Html"%>
<% Html.Include("AdminHead"); %>
<h2>Comments for <%= Model.DisplayNameForCommentedItem %></h2>
<% Html.BeginForm(); %>
<div class="yui-g">
<h2 class="separator">Comments for <%= Model.DisplayNameForCommentedItem %></h2>
<%=Html.ValidationSummary() %>
<ol class="horizontal actions floatLeft">
<li>
<label class="floatLeft" for="publishActions"> Actions:</label>
<select id="publishActions" name="<%=Html.NameOf(m => m.Options.BulkAction)%>">
<%=Html.SelectOption(Model.Options.BulkAction, CommentDetailsBulkAction.None, "Choose action...")%>
<%=Html.SelectOption(Model.Options.BulkAction, CommentDetailsBulkAction.Delete, "Delete")%>
<%=Html.SelectOption(Model.Options.BulkAction, CommentDetailsBulkAction.MarkAsSpam, "Mark as Spam")%>
</select>
</li>
<li>
<input class="button roundCorners" type="submit" name="submit.BulkEdit" value="Apply" />
</li>
</ol>
<ol class="horizontal actions">
<li>
<label class="floatLeft" for="filterResults"></label>
<select id="filterResults" name="<%=Html.NameOf(m => m.Options.Filter)%>">
<%=Html.SelectOption(Model.Options.Filter, CommentDetailsFilter.All, "All Comments")%>
<%=Html.SelectOption(Model.Options.Filter, CommentDetailsFilter.Approved, "Approved Comments")%>
<%=Html.SelectOption(Model.Options.Filter, CommentDetailsFilter.Spam, "Spam")%>
</select>
</li>
<li>
<input class="button roundCorners" type="submit" name="submit.Filter" value="Filter"/>
</li>
</ol>
<table id="Table1" cellspacing="0" class="roundCorners clearLayout" summary="This is a table of the comments in your application">
<colgroup>
<col id="Col1" />
<col id="Col2" />
<col id="Col3" />
<col id="Col4" />
<col id="Col5" />
<col id="Col6" />
</colgroup>
<thead>
<tr>
<th scope="col"><%--<input type="checkbox" value="" />--%></th>
<th scope="col">Status</th>
<th scope="col">Author</th>
<th scope="col">Comment</th>
<th scope="col">Date</th>
<th scope="col"></th>
</tr>
</thead>
<%
int commentIndex = 0;
foreach (var commentEntry in Model.Comments) {
%>
<tr>
<td>
<input type="hidden" value="<%=Model.Comments[commentIndex].Comment.Id%>" name="<%=Html.NameOf(m => m.Comments[commentIndex].Comment.Id)%>"/>
<input type="checkbox" value="true" name="<%=Html.NameOf(m => m.Comments[commentIndex].IsChecked)%>"/>
<input type="hidden" value="<%= Model.DisplayNameForCommentedItem %>" name="DisplayNameForCommentedtem" />
<input type="hidden" value="<%= Model.CommentedItemId %>" name="CommentedItemId" />
</td>
<td><% if (commentEntry.Comment.Status == CommentStatus.Spam) {%> Spam <% } %>
<% else {%> Approved <% } %>
</td>
<td><%= commentEntry.Comment.UserName %></td>
<td>
<% if (commentEntry.Comment.CommentText != null) {%>
<%= commentEntry.Comment.CommentText.Length > 23 ? commentEntry.Comment.CommentText.Substring(0, 24) : commentEntry.Comment.CommentText %> ...
<% } %>
</td>
<td><%= commentEntry.Comment.CommentDate.ToLocalTime() %></td>
<td>
<%=Html.ActionLink("Edit", "Edit", new {commentEntry.Comment.Id}) %> |
<%=Html.ActionLink("Delete", "Delete", new {id = commentEntry.Comment.Id, redirectToAction = "Details"}) %>
</td>
</tr>
<%
commentIndex++;
} %>
</table>
<li class="clearLayout">
<% if (Model.CommentsClosedOnItem) {%>
<%=Html.ActionLink("Enable Comments", "Enable",
new {commentedItemId = Model.CommentedItemId},
new {@class="floatRight topSpacer"}) %>
<%} else {%>
<%=Html.ActionLink("Close Comments", "Close",
new {commentedItemId = Model.CommentedItemId},
new {@class = "floatRight topSpacer"})%>
</li>
<% }%>
</div>
<%=Html.ValidationSummary() %>
<fieldset class="actions bulk">
<label for="publishActions">Actions: </label>
<select id="publishActions" name="<%=Html.NameOf(m => m.Options.BulkAction)%>">
<%=Html.SelectOption(Model.Options.BulkAction, CommentDetailsBulkAction.None, "Choose action...")%>
<%=Html.SelectOption(Model.Options.BulkAction, CommentDetailsBulkAction.Delete, "Delete")%>
<%=Html.SelectOption(Model.Options.BulkAction, CommentDetailsBulkAction.MarkAsSpam, "Mark as Spam")%>
</select>
<input class="button roundCorners" type="submit" name="submit.BulkEdit" value="Apply" />
</fieldset>
<fieldset class="actions bulk">
<label for="filterResults">Filter: </label>
<select id="filterResults" name="<%=Html.NameOf(m => m.Options.Filter)%>">
<%=Html.SelectOption(Model.Options.Filter, CommentDetailsFilter.All, "All Comments")%>
<%=Html.SelectOption(Model.Options.Filter, CommentDetailsFilter.Approved, "Approved Comments")%>
<%=Html.SelectOption(Model.Options.Filter, CommentDetailsFilter.Spam, "Spam")%>
</select>
<input class="button roundCorners" type="submit" name="submit.Filter" value="Filter"/>
</fieldset>
<div class="manage">
<% if (Model.CommentsClosedOnItem) {
%><%=Html.ActionLink("Enable Comments", "Enable", new { commentedItemId = Model.CommentedItemId }, new { @class = "button" })%><%
} else {
%><%=Html.ActionLink("Close Comments", "Close", new { commentedItemId = Model.CommentedItemId }, new { @class = "button remove" })%><%
} %>
</div>
<fieldset>
<table summary="This is a table of the comments in your application">
<colgroup>
<col id="Col1" />
<col id="Col2" />
<col id="Col3" />
<col id="Col4" />
<col id="Col5" />
<col id="Col6" />
</colgroup>
<thead>
<tr>
<th scope="col">&nbsp;&darr;<%-- todo: (heskew) something more appropriate for "this applies to the bulk actions --%></th>
<th scope="col">Status</th>
<th scope="col">Author</th>
<th scope="col">Comment</th>
<th scope="col">Date</th>
<th scope="col"></th>
</tr>
</thead>
<%
int commentIndex = 0;
foreach (var commentEntry in Model.Comments) {
%>
<tr>
<td>
<input type="hidden" value="<%=Model.Comments[commentIndex].Comment.Id%>" name="<%=Html.NameOf(m => m.Comments[commentIndex].Comment.Id)%>"/>
<input type="checkbox" value="true" name="<%=Html.NameOf(m => m.Comments[commentIndex].IsChecked)%>"/>
<input type="hidden" value="<%= Model.DisplayNameForCommentedItem %>" name="DisplayNameForCommentedtem" />
<input type="hidden" value="<%= Model.CommentedItemId %>" name="CommentedItemId" />
</td>
<td><% if (commentEntry.Comment.Status == CommentStatus.Spam) {%> Spam <% } %>
<% else {%> Approved <% } %>
</td>
<td><%= commentEntry.Comment.UserName %></td>
<td>
<% if (commentEntry.Comment.CommentText != null) {%>
<%= commentEntry.Comment.CommentText.Length > 23 ? commentEntry.Comment.CommentText.Substring(0, 24) : commentEntry.Comment.CommentText %> ...
<% } %>
</td>
<td><%= commentEntry.Comment.CommentDate.ToLocalTime() %></td>
<td>
<%=Html.ActionLink("Edit", "Edit", new {commentEntry.Comment.Id}) %> |
<%=Html.ActionLink("Delete", "Delete", new {id = commentEntry.Comment.Id, redirectToAction = "Details"}) %>
</td>
</tr>
<%
commentIndex++;
} %>
</table>
</fieldset>
<div class="manage">
<% if (Model.CommentsClosedOnItem) {
%><%=Html.ActionLink("Enable Comments", "Enable", new { commentedItemId = Model.CommentedItemId }, new { @class = "button" })%><%
} else {
%><%=Html.ActionLink("Close Comments", "Close", new { commentedItemId = Model.CommentedItemId }, new { @class = "button remove" })%><%
} %>
</div>
<% Html.EndForm(); %>
<% Html.Include("AdminFoot"); %>

View File

@@ -1,25 +1,37 @@
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<HasComments>" %>
<%@ Import Namespace="Orchard.Comments.Models"%>
<% if (Model.ContentItem.Id != 0) { %>
<h3><%= Model.Comments.Count() %> Comments</h3>
<ol>
<h3>Comments</h3>
<div class="meta">
<% var commentCount = Model.Comments.Count(); %>
<%=Html.ActionLink(
string.Format("{0} comment{1}", commentCount, commentCount == 1 ? "" : "s"),
"Details",
new { Area = "Orchard.Comments", Controller = "Admin", id = Model.ContentItem.Id, returnUrl = Context.Request.Url }
) %>
/ <a href="#">0 pending</a>
</div>
<fieldset>
<label for="Closed"><%=Html.CheckBox("Allow comments", Model.Closed, new { id = "Closed" }) %> Close comments</label>
</fieldset>
<%--
todo: (heskew) would be better to have a ↑ checkbox ↑ instead of a ↓ button ↓
<div class="actions">
<% if (Model.Closed) {
%><%=Html.ActionLink("Enable Comments", "Enable", new { commentedItemId = Model.Closed }, new { @class = "button" })%><%
} else {
%><%=Html.ActionLink("Close Comments", "Close", new { commentedItemId = Model.Closed }, new { @class = "button remove" })%><%
} %>
</div>
--%><%--
todo: (heskew) shouldn't have comments when editing a content item. besides being noisy/distracting it throw other issues like paging into the mix
<ol class="contentItems">
<% foreach (var comment in Model.Comments) {%>
<li>
<%= comment.CommentText %>
<p><%= comment.CommentText %><br />
Posted by <%= comment.UserName %> on <%= comment.CommentDate.ToLocalTime() %><br />
<%=Html.ActionLink("Delete", "Delete", new { Area = "Orchard.Comments", Controller = "Admin", id = comment.Id, returnUrl = Context.Request.Url }, new { @class = "ibutton remove" })%></p>
</li>
<li>
Posted by <%= comment.UserName %> on <%= comment.CommentDate.ToLocalTime() %>
</li>
<li>
<%=Html.ActionLink("Delete", "Delete", new {Area="Orchard.Comments", Controller="Admin", id = comment.Id, returnUrl = Context.Request.Url}) %>
</li>
<hr />
<% } %>
</ol>
<% if (Model.Closed) { %>
<p>Comments have been disabled for this content.</p>
<%= Html.ActionLink("Enable Comments for this content", "Enable", new { Area="Orchard.Comments", Controller="Admin", returnUrl = Context.Request.Url, commentedItemId = Model.ContentItem.Id })%>
<% } else { %>
<%= Html.ActionLink("Close Comments for this content", "Close", new { Area="Orchard.Comments", Controller="Admin", returnUrl = Context.Request.Url, commentedItemId = Model.ContentItem.Id })%>
<% } %> | <%=Html.ActionLink("Go to comments management for this post", "Details", new {Area="Orchard.Comments", Controller="Admin", id = Model.ContentItem.Id, returnUrl = Context.Request.Url}) %>
</ol>--%>
<% } %>

View File

@@ -1,5 +1,5 @@
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<ShowDebugLink>" %>
<%@ Import Namespace="Orchard.DevTools.Models" %>
<div>
<div class="debug message">
DevTools: showing
<%= Html.ActionLink(Model.ContentItem.ContentType + " #" + Model.ContentItem.Id, "details", "content", new { area = "Orchard.DevTools", Model.ContentItem.Id }, new { })%></div>

View File

@@ -1,5 +1,5 @@
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<ShowDebugLink>" %>
<%@ Import Namespace="Orchard.DevTools.Models" %>
<div>
<div class="debug message">
DevTools: editing
<%= Html.ActionLink(Model.ContentItem.ContentType + " #" + Model.ContentItem.Id, "details", "content", new { area = "Orchard.DevTools", Model.ContentItem.Id }, new { })%></div>

View File

@@ -8,7 +8,7 @@ namespace Orchard.Roles {
builder.Add("Users", "5",
menu => menu
.Add("Manage Roles", "2.0", item => item.Action("Index", "Admin", new { area = "Orchard.Roles" }))
.Add("Create a Role", "2.1", item => item.Action("Create", "Admin", new { area = "Orchard.Roles" })));
.Add("Add New Role", "2.1", item => item.Action("Create", "Admin", new { area = "Orchard.Roles" })));
}
}
}

View File

@@ -2,17 +2,8 @@
<%@ Import Namespace="Orchard.Mvc.Html"%>
<%@ Import Namespace="Orchard.Tags.Models"%>
<h3>Tags</h3>
<% Html.BeginForm("Update", "Home", new { area = "Orchard.Tags" }); %><%= Html.ValidationSummary() %> <div class="yui-g">
<h2 class="separator">Edit Tags</h2>
<%
string tags = "";
foreach (var tag in Model.CurrentTags) {
tags += tag.TagName;
tags += ",";
} %>
<ol>
<li>
<input id="Tags" class="inputText inputTextLarge" name="Tags" type="text" value="<%=tags %>" />
</li>
</ol>
</div>
<formset>
<label for="Tags">Tag names:</label>
<input class="large text" id="Tags" name="Tags" type="text" value="<%=string.Join(", ", Model.CurrentTags.Select((t, i) => t.TagName).ToArray()) %>" />
</formset>
<%--<% Html.BeginForm("Update", "Home", new { area = "Orchard.Tags" }); %>--%>

View File

@@ -8,7 +8,7 @@ namespace Orchard.Users {
builder.Add("Users", "5",
menu => menu
.Add("Manage Users", "1.0", item => item.Action("Index", "Admin", new { area = "Orchard.Users" }))
.Add("Create a User", "1.1", item => item.Action("Create", "Admin", new { area = "Orchard.Users" })));
.Add("Add New User", "1.1", item => item.Action("Create", "Admin", new { area = "Orchard.Users" })));
}
}
}

View File

@@ -28,7 +28,7 @@ todo: (heskew) rework how/what pages are assembled when we get into theming --%>
theme_advanced_buttons2: "",
theme_advanced_buttons3: ""
});
</script>
</script>
</head>
<body>
<div id="header" role="banner">