mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2025-10-15 19:54:57 +08:00
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:
@@ -264,9 +264,12 @@ a:hover, a:active, a:focus {
|
|||||||
|
|
||||||
/* Content
|
/* Content
|
||||||
----------------------------------------------------------*/
|
----------------------------------------------------------*/
|
||||||
#main h2, #main h3, #main h4, #main p {
|
#main h2 {
|
||||||
margin:.23em 0 1em;
|
margin:.23em 0 1em;
|
||||||
}
|
}
|
||||||
|
#main h3, #main h4 {
|
||||||
|
margin:.5em 0;
|
||||||
|
}
|
||||||
#main p {
|
#main p {
|
||||||
margin:0 0 1.5em;
|
margin:0 0 1.5em;
|
||||||
}
|
}
|
||||||
@@ -274,7 +277,7 @@ a:hover, a:active, a:focus {
|
|||||||
margin:0 0 1.4em;
|
margin:0 0 1.4em;
|
||||||
}
|
}
|
||||||
#main .meta {
|
#main .meta {
|
||||||
margin:0 0 .4em;
|
margin:-.4em 0 .4em;
|
||||||
}
|
}
|
||||||
#main form {
|
#main form {
|
||||||
margin:.345em 0 1.5em;
|
margin:.345em 0 1.5em;
|
||||||
@@ -317,6 +320,15 @@ span.message {
|
|||||||
background:#fff;
|
background:#fff;
|
||||||
border:1px dashed #D2D6C6;
|
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
|
/* Forms
|
||||||
----------------------------------------------------------*/
|
----------------------------------------------------------*/
|
||||||
@@ -337,6 +349,9 @@ fieldset.bulk.actions label, label.sub {
|
|||||||
label span {
|
label span {
|
||||||
font-weight:normal;
|
font-weight:normal;
|
||||||
}
|
}
|
||||||
|
label input {
|
||||||
|
vertical-align:text-top;
|
||||||
|
}
|
||||||
|
|
||||||
/* todo: (heskew) try to get .text on stuff like #PublishLaterDate and .text-box */
|
/* todo: (heskew) try to get .text on stuff like #PublishLaterDate and .text-box */
|
||||||
select, textarea, input.text, input.text-box, #PublishLaterDate {
|
select, textarea, input.text, input.text-box, #PublishLaterDate {
|
||||||
@@ -512,46 +527,46 @@ ol.actions label {
|
|||||||
|
|
||||||
/* Content item lists
|
/* Content item lists
|
||||||
----------------------------------------------------------*/
|
----------------------------------------------------------*/
|
||||||
ul.contentItems {
|
.contentItems {
|
||||||
background:#FFF;
|
background:#FFF;
|
||||||
border:1px solid #B0B083;
|
border:1px solid #B0B083;
|
||||||
margin:1.4em 0;
|
margin:1.4em 0;
|
||||||
padding:2px;
|
padding:2px;
|
||||||
}
|
}
|
||||||
ul.contentItems li {
|
.contentItems li {
|
||||||
background:#FFF;
|
background:#FFF;
|
||||||
border-bottom:1px solid #EAE9D9;
|
border-bottom:1px solid #EAE9D9;
|
||||||
margin:0;
|
margin:0;
|
||||||
overflow:hidden;
|
overflow:hidden;
|
||||||
padding:.7em 1.4em;
|
padding:.7em 1.4em;
|
||||||
}
|
}
|
||||||
ul.contentItems li.last {
|
.contentItems li.last {
|
||||||
border-bottom:0;
|
border-bottom:0;
|
||||||
}
|
}
|
||||||
#main ul.contentItems li h3 {
|
#main .contentItems li h3 {
|
||||||
border-bottom:0;
|
border-bottom:0;
|
||||||
margin:0 0 .1em;
|
margin-top:0;
|
||||||
}
|
}
|
||||||
#main ul.contentItems li .actions {
|
#main .contentItems li .actions {
|
||||||
color:#EAE9D9;
|
color:#EAE9D9;
|
||||||
height:auto;
|
height:auto;
|
||||||
margin:-1.3em 0 0;
|
margin:-1.3em 0 0;
|
||||||
padding:0 0 .1em;
|
padding:0 0 .1em;
|
||||||
}
|
}
|
||||||
#main ul.contentItems li .actions .ibutton {
|
#main .contentItems li .actions .ibutton {
|
||||||
margin-right:6px;
|
margin-right:6px;
|
||||||
}
|
}
|
||||||
#main ul.contentItems li .actions .destruct .ibutton {
|
#main .contentItems li .actions .destruct .ibutton {
|
||||||
margin-left:8px;
|
margin-left:8px;
|
||||||
margin-right:0;
|
margin-right:0;
|
||||||
}
|
}
|
||||||
#main ul.contentItems li:hover { background:#fafbed; }
|
#main .contentItems li:hover { background:#fafbed; }
|
||||||
#main ul.contentItems li:hover a.ibutton { background-position:0 0; }
|
#main .contentItems li:hover a.ibutton { background-position:0 0; }
|
||||||
#main ul.contentItems li:hover a.ibutton.remove { background-position:-20px 0; }
|
#main .contentItems li:hover a.ibutton.remove { background-position:-20px 0; }
|
||||||
#main ul.contentItems li:hover a.ibutton.view { background-position:-40px 0; }
|
#main .contentItems li:hover a.ibutton.view { background-position:-40px 0; }
|
||||||
#main ul.contentItems li:hover a.ibutton.add.page { background-position:-60px 0; }
|
#main .contentItems li:hover a.ibutton.add.page { background-position:-60px 0; }
|
||||||
#main ul.contentItems li:hover a.ibutton.edit { background-position:-80px 0; }
|
#main .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 a.ibutton.publish { background-position:-100px 0; }
|
||||||
|
|
||||||
/* Tables
|
/* Tables
|
||||||
----------------------------------------------------------*/
|
----------------------------------------------------------*/
|
||||||
@@ -664,7 +679,7 @@ todo: (heskew) pull out into relevant modules where appropriate
|
|||||||
|
|
||||||
#content, #navigation li, button, .button,
|
#content, #navigation li, button, .button,
|
||||||
table, textarea, input.text, input.text-box,
|
table, textarea, input.text, input.text-box,
|
||||||
ul.contentItems, .message {
|
.contentItems, .message {
|
||||||
-moz-border-radius:4px;
|
-moz-border-radius:4px;
|
||||||
-webkit-border-radius:4px;
|
-webkit-border-radius:4px;
|
||||||
border-radius:4px;
|
border-radius:4px;
|
||||||
|
@@ -8,7 +8,7 @@ namespace Orchard.Blogs {
|
|||||||
builder.Add("Blogs", "2",
|
builder.Add("Blogs", "2",
|
||||||
menu => menu
|
menu => menu
|
||||||
.Add("Manage Blogs", "1.0", item => item.Action("ListForAdmin", "Blog", new { area = "Orchard.Blogs" }))
|
.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" })));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -3,18 +3,9 @@
|
|||||||
<%@ Import Namespace="Orchard.Blogs.Extensions"%>
|
<%@ Import Namespace="Orchard.Blogs.Extensions"%>
|
||||||
<%@ Import Namespace="Orchard.Blogs.ViewModels"%>
|
<%@ Import Namespace="Orchard.Blogs.ViewModels"%>
|
||||||
<% Html.Include("AdminHead"); %>
|
<% Html.Include("AdminHead"); %>
|
||||||
<h2>Edit Blog Post</h2>
|
<h2>Edit Post</h2>
|
||||||
<% using (Html.BeginForm()) { %>
|
<% using (Html.BeginForm()) { %>
|
||||||
<%=Html.ValidationSummary() %>
|
<%=Html.ValidationSummary() %>
|
||||||
<%=Html.EditorForModel() %>
|
<%=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"); %>
|
<% Html.Include("AdminFoot"); %>
|
@@ -3,11 +3,11 @@
|
|||||||
<%@ Import Namespace="Orchard.Blogs.ViewModels"%>
|
<%@ Import Namespace="Orchard.Blogs.ViewModels"%>
|
||||||
<div class="sections">
|
<div class="sections">
|
||||||
<div class="primary">
|
<div class="primary">
|
||||||
<h3>Blog Post Content</h3>
|
<h3>Content</h3>
|
||||||
<%-- todo: (heskew) thin out the fieldsets if they become overkill --%>
|
<%-- todo: (heskew) thin out the fieldsets if they become overkill --%>
|
||||||
<fieldset>
|
<fieldset>
|
||||||
<label for="title">Title:</label>
|
<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>
|
||||||
<fieldset>
|
<fieldset>
|
||||||
<label class="sub" for="permalink">Permalink: <span><%=Request.Url.ToRootString() %>/<%=Model.Blog.Slug %>/</span></label>
|
<label class="sub" for="permalink">Permalink: <span><%=Request.Url.ToRootString() %>/<%=Model.Blog.Slug %>/</span></label>
|
||||||
@@ -19,19 +19,28 @@
|
|||||||
<label for="body">Body:</label>
|
<label for="body">Body:</label>
|
||||||
<span><%=Html.TextAreaFor(m => m.Body, new { id = "body", @class = "html" })%></span>
|
<span><%=Html.TextAreaFor(m => m.Body, new { id = "body", @class = "html" })%></span>
|
||||||
</fieldset>
|
</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>
|
||||||
<div class="secondary">
|
<div class="secondary">
|
||||||
<h3>Publish Settings</h3>
|
<h3>Publish Settings</h3>
|
||||||
<fieldset>
|
|
||||||
<label for="Command_PublishNow"><%=Html.RadioButton("Command", "PublishNow", true, new { id = "Command_PublishNow" }) %> Publish Now</label>
|
|
||||||
</fieldset>
|
|
||||||
<%--<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>
|
<label for="Command_PublishLater"><%=Html.RadioButton("Command", "PublishLater", new { id = "Command_PublishLater" }) %> Publish Later</label>
|
||||||
<%=Html.EditorFor(m => m.Published) %>
|
<%=Html.EditorFor(m => m.Published) %>
|
||||||
</fieldset>
|
|
||||||
<fieldset>
|
|
||||||
<label for="Command_SaveDraft"><%=Html.RadioButton("Command", "SaveDraft", new { id = "Command_SaveDraft" }) %> Save Draft</label>
|
|
||||||
</fieldset>--%>
|
</fieldset>--%>
|
||||||
|
<fieldset>
|
||||||
|
<label for="Command_SaveDraft"><%=Html.RadioButton("Command", "SaveDraft", true, new { id = "Command_SaveDraft" }) %> Save Draft</label>
|
||||||
|
</fieldset>
|
||||||
<fieldset>
|
<fieldset>
|
||||||
<input class="button" type="submit" name="submit.Save" value="Save"/>
|
<input class="button" type="submit" name="submit.Save" value="Save"/>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
|
@@ -2,7 +2,7 @@
|
|||||||
<%@ Import Namespace="Orchard.Blogs.ViewModels"%>
|
<%@ Import Namespace="Orchard.Blogs.ViewModels"%>
|
||||||
<div class="sections">
|
<div class="sections">
|
||||||
<div class="primary">
|
<div class="primary">
|
||||||
<h3>Blog Post Content</h3>
|
<h3>Content</h3>
|
||||||
<%-- todo: (heskew) thin out the fieldsets if they become overkill --%>
|
<%-- todo: (heskew) thin out the fieldsets if they become overkill --%>
|
||||||
<fieldset>
|
<fieldset>
|
||||||
<label for="title">Title:</label>
|
<label for="title">Title:</label>
|
||||||
@@ -21,15 +21,15 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="secondary">
|
<div class="secondary">
|
||||||
<h3>Publish Settings</h3>
|
<h3>Publish Settings</h3>
|
||||||
<fieldset>
|
<%--<fieldset>
|
||||||
<label for="Command_PublishNow"><%=Html.RadioButton("Command", "PublishNow", new { id = "Command_PublishNow" }) %> Publish Now</label>
|
<label for="Command_PublishNow"><%=Html.RadioButton("Command", "PublishNow", new { id = "Command_PublishNow" }) %> Publish Now</label>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
<fieldset>
|
<fieldset>
|
||||||
<label for="Command_PublishLater"><%=Html.RadioButton("Command", "PublishLater", new { id = "Command_PublishLater" }) %> Publish Later</label>
|
<label for="Command_PublishLater"><%=Html.RadioButton("Command", "PublishLater", new { id = "Command_PublishLater" }) %> Publish Later</label>
|
||||||
<%=Html.EditorFor(m => m.Published) %>
|
<%=Html.EditorFor(m => m.Published) %>
|
||||||
</fieldset>
|
</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>
|
||||||
<fieldset>
|
<fieldset>
|
||||||
<input class="button" type="submit" name="submit.Save" value="Save"/>
|
<input class="button" type="submit" name="submit.Save" value="Save"/>
|
||||||
|
@@ -8,7 +8,7 @@ namespace Orchard.CmsPages {
|
|||||||
builder.Add("Pages", "1",
|
builder.Add("Pages", "1",
|
||||||
menu => menu
|
menu => menu
|
||||||
.Add("Manage Pages", "1.0", item => item.Action("Index", "Admin", new { area = "Orchard.CmsPages" }))
|
.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))
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -3,97 +3,91 @@
|
|||||||
<%@ Import Namespace="Orchard.Comments.ViewModels"%>
|
<%@ Import Namespace="Orchard.Comments.ViewModels"%>
|
||||||
<%@ Import Namespace="Orchard.Mvc.Html"%>
|
<%@ Import Namespace="Orchard.Mvc.Html"%>
|
||||||
<% Html.Include("AdminHead"); %>
|
<% Html.Include("AdminHead"); %>
|
||||||
|
<h2>Comments for <%= Model.DisplayNameForCommentedItem %></h2>
|
||||||
<% Html.BeginForm(); %>
|
<% Html.BeginForm(); %>
|
||||||
<div class="yui-g">
|
<%=Html.ValidationSummary() %>
|
||||||
<h2 class="separator">Comments for <%= Model.DisplayNameForCommentedItem %></h2>
|
<fieldset class="actions bulk">
|
||||||
<%=Html.ValidationSummary() %>
|
<label for="publishActions">Actions: </label>
|
||||||
<ol class="horizontal actions floatLeft">
|
<select id="publishActions" name="<%=Html.NameOf(m => m.Options.BulkAction)%>">
|
||||||
<li>
|
<%=Html.SelectOption(Model.Options.BulkAction, CommentDetailsBulkAction.None, "Choose action...")%>
|
||||||
<label class="floatLeft" for="publishActions"> Actions:</label>
|
<%=Html.SelectOption(Model.Options.BulkAction, CommentDetailsBulkAction.Delete, "Delete")%>
|
||||||
<select id="publishActions" name="<%=Html.NameOf(m => m.Options.BulkAction)%>">
|
<%=Html.SelectOption(Model.Options.BulkAction, CommentDetailsBulkAction.MarkAsSpam, "Mark as Spam")%>
|
||||||
<%=Html.SelectOption(Model.Options.BulkAction, CommentDetailsBulkAction.None, "Choose action...")%>
|
</select>
|
||||||
<%=Html.SelectOption(Model.Options.BulkAction, CommentDetailsBulkAction.Delete, "Delete")%>
|
<input class="button roundCorners" type="submit" name="submit.BulkEdit" value="Apply" />
|
||||||
<%=Html.SelectOption(Model.Options.BulkAction, CommentDetailsBulkAction.MarkAsSpam, "Mark as Spam")%>
|
</fieldset>
|
||||||
</select>
|
<fieldset class="actions bulk">
|
||||||
</li>
|
<label for="filterResults">Filter: </label>
|
||||||
<li>
|
<select id="filterResults" name="<%=Html.NameOf(m => m.Options.Filter)%>">
|
||||||
<input class="button roundCorners" type="submit" name="submit.BulkEdit" value="Apply" />
|
<%=Html.SelectOption(Model.Options.Filter, CommentDetailsFilter.All, "All Comments")%>
|
||||||
</li>
|
<%=Html.SelectOption(Model.Options.Filter, CommentDetailsFilter.Approved, "Approved Comments")%>
|
||||||
</ol>
|
<%=Html.SelectOption(Model.Options.Filter, CommentDetailsFilter.Spam, "Spam")%>
|
||||||
<ol class="horizontal actions">
|
</select>
|
||||||
<li>
|
<input class="button roundCorners" type="submit" name="submit.Filter" value="Filter"/>
|
||||||
<label class="floatLeft" for="filterResults"></label>
|
</fieldset>
|
||||||
<select id="filterResults" name="<%=Html.NameOf(m => m.Options.Filter)%>">
|
<div class="manage">
|
||||||
<%=Html.SelectOption(Model.Options.Filter, CommentDetailsFilter.All, "All Comments")%>
|
<% if (Model.CommentsClosedOnItem) {
|
||||||
<%=Html.SelectOption(Model.Options.Filter, CommentDetailsFilter.Approved, "Approved Comments")%>
|
%><%=Html.ActionLink("Enable Comments", "Enable", new { commentedItemId = Model.CommentedItemId }, new { @class = "button" })%><%
|
||||||
<%=Html.SelectOption(Model.Options.Filter, CommentDetailsFilter.Spam, "Spam")%>
|
} else {
|
||||||
</select>
|
%><%=Html.ActionLink("Close Comments", "Close", new { commentedItemId = Model.CommentedItemId }, new { @class = "button remove" })%><%
|
||||||
</li>
|
} %>
|
||||||
<li>
|
</div>
|
||||||
<input class="button roundCorners" type="submit" name="submit.Filter" value="Filter"/>
|
<fieldset>
|
||||||
</li>
|
<table summary="This is a table of the comments in your application">
|
||||||
</ol>
|
<colgroup>
|
||||||
<table id="Table1" cellspacing="0" class="roundCorners clearLayout" summary="This is a table of the comments in your application">
|
<col id="Col1" />
|
||||||
<colgroup>
|
<col id="Col2" />
|
||||||
<col id="Col1" />
|
<col id="Col3" />
|
||||||
<col id="Col2" />
|
<col id="Col4" />
|
||||||
<col id="Col3" />
|
<col id="Col5" />
|
||||||
<col id="Col4" />
|
<col id="Col6" />
|
||||||
<col id="Col5" />
|
</colgroup>
|
||||||
<col id="Col6" />
|
<thead>
|
||||||
</colgroup>
|
<tr>
|
||||||
<thead>
|
<th scope="col"> ↓<%-- todo: (heskew) something more appropriate for "this applies to the bulk actions --%></th>
|
||||||
<tr>
|
<th scope="col">Status</th>
|
||||||
<th scope="col"><%--<input type="checkbox" value="" />--%></th>
|
<th scope="col">Author</th>
|
||||||
<th scope="col">Status</th>
|
<th scope="col">Comment</th>
|
||||||
<th scope="col">Author</th>
|
<th scope="col">Date</th>
|
||||||
<th scope="col">Comment</th>
|
<th scope="col"></th>
|
||||||
<th scope="col">Date</th>
|
</tr>
|
||||||
<th scope="col"></th>
|
</thead>
|
||||||
</tr>
|
<%
|
||||||
</thead>
|
int commentIndex = 0;
|
||||||
<%
|
foreach (var commentEntry in Model.Comments) {
|
||||||
int commentIndex = 0;
|
%>
|
||||||
foreach (var commentEntry in Model.Comments) {
|
<tr>
|
||||||
%>
|
<td>
|
||||||
<tr>
|
<input type="hidden" value="<%=Model.Comments[commentIndex].Comment.Id%>" name="<%=Html.NameOf(m => m.Comments[commentIndex].Comment.Id)%>"/>
|
||||||
<td>
|
<input type="checkbox" value="true" name="<%=Html.NameOf(m => m.Comments[commentIndex].IsChecked)%>"/>
|
||||||
<input type="hidden" value="<%=Model.Comments[commentIndex].Comment.Id%>" name="<%=Html.NameOf(m => m.Comments[commentIndex].Comment.Id)%>"/>
|
<input type="hidden" value="<%= Model.DisplayNameForCommentedItem %>" name="DisplayNameForCommentedtem" />
|
||||||
<input type="checkbox" value="true" name="<%=Html.NameOf(m => m.Comments[commentIndex].IsChecked)%>"/>
|
<input type="hidden" value="<%= Model.CommentedItemId %>" name="CommentedItemId" />
|
||||||
<input type="hidden" value="<%= Model.DisplayNameForCommentedItem %>" name="DisplayNameForCommentedtem" />
|
</td>
|
||||||
<input type="hidden" value="<%= Model.CommentedItemId %>" name="CommentedItemId" />
|
<td><% if (commentEntry.Comment.Status == CommentStatus.Spam) {%> Spam <% } %>
|
||||||
</td>
|
<% else {%> Approved <% } %>
|
||||||
<td><% if (commentEntry.Comment.Status == CommentStatus.Spam) {%> Spam <% } %>
|
</td>
|
||||||
<% else {%> Approved <% } %>
|
<td><%= commentEntry.Comment.UserName %></td>
|
||||||
</td>
|
<td>
|
||||||
<td><%= commentEntry.Comment.UserName %></td>
|
<% if (commentEntry.Comment.CommentText != null) {%>
|
||||||
<td>
|
<%= commentEntry.Comment.CommentText.Length > 23 ? commentEntry.Comment.CommentText.Substring(0, 24) : commentEntry.Comment.CommentText %> ...
|
||||||
<% 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>
|
<td>
|
||||||
<td><%= commentEntry.Comment.CommentDate.ToLocalTime() %></td>
|
<%=Html.ActionLink("Edit", "Edit", new {commentEntry.Comment.Id}) %> |
|
||||||
<td>
|
<%=Html.ActionLink("Delete", "Delete", new {id = commentEntry.Comment.Id, redirectToAction = "Details"}) %>
|
||||||
<%=Html.ActionLink("Edit", "Edit", new {commentEntry.Comment.Id}) %> |
|
</td>
|
||||||
<%=Html.ActionLink("Delete", "Delete", new {id = commentEntry.Comment.Id, redirectToAction = "Details"}) %>
|
</tr>
|
||||||
</td>
|
<%
|
||||||
</tr>
|
commentIndex++;
|
||||||
<%
|
} %>
|
||||||
commentIndex++;
|
</table>
|
||||||
} %>
|
</fieldset>
|
||||||
</table>
|
<div class="manage">
|
||||||
<li class="clearLayout">
|
<% if (Model.CommentsClosedOnItem) {
|
||||||
<% if (Model.CommentsClosedOnItem) {%>
|
%><%=Html.ActionLink("Enable Comments", "Enable", new { commentedItemId = Model.CommentedItemId }, new { @class = "button" })%><%
|
||||||
<%=Html.ActionLink("Enable Comments", "Enable",
|
} else {
|
||||||
new {commentedItemId = Model.CommentedItemId},
|
%><%=Html.ActionLink("Close Comments", "Close", new { commentedItemId = Model.CommentedItemId }, new { @class = "button remove" })%><%
|
||||||
new {@class="floatRight topSpacer"}) %>
|
} %>
|
||||||
<%} else {%>
|
</div>
|
||||||
<%=Html.ActionLink("Close Comments", "Close",
|
|
||||||
new {commentedItemId = Model.CommentedItemId},
|
|
||||||
new {@class = "floatRight topSpacer"})%>
|
|
||||||
</li>
|
|
||||||
<% }%>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<% Html.EndForm(); %>
|
<% Html.EndForm(); %>
|
||||||
<% Html.Include("AdminFoot"); %>
|
<% Html.Include("AdminFoot"); %>
|
@@ -1,25 +1,37 @@
|
|||||||
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<HasComments>" %>
|
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<HasComments>" %>
|
||||||
<%@ Import Namespace="Orchard.Comments.Models"%>
|
<%@ Import Namespace="Orchard.Comments.Models"%>
|
||||||
<% if (Model.ContentItem.Id != 0) { %>
|
<% if (Model.ContentItem.Id != 0) { %>
|
||||||
<h3><%= Model.Comments.Count() %> Comments</h3>
|
<h3>Comments</h3>
|
||||||
<ol>
|
<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) {%>
|
<% foreach (var comment in Model.Comments) {%>
|
||||||
<li>
|
<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>
|
||||||
<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>
|
</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}) %>
|
|
||||||
<% } %>
|
<% } %>
|
@@ -1,5 +1,5 @@
|
|||||||
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<ShowDebugLink>" %>
|
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<ShowDebugLink>" %>
|
||||||
<%@ Import Namespace="Orchard.DevTools.Models" %>
|
<%@ Import Namespace="Orchard.DevTools.Models" %>
|
||||||
<div>
|
<div class="debug message">
|
||||||
DevTools: showing
|
DevTools: showing
|
||||||
<%= Html.ActionLink(Model.ContentItem.ContentType + " #" + Model.ContentItem.Id, "details", "content", new { area = "Orchard.DevTools", Model.ContentItem.Id }, new { })%></div>
|
<%= Html.ActionLink(Model.ContentItem.ContentType + " #" + Model.ContentItem.Id, "details", "content", new { area = "Orchard.DevTools", Model.ContentItem.Id }, new { })%></div>
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<ShowDebugLink>" %>
|
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<ShowDebugLink>" %>
|
||||||
<%@ Import Namespace="Orchard.DevTools.Models" %>
|
<%@ Import Namespace="Orchard.DevTools.Models" %>
|
||||||
<div>
|
<div class="debug message">
|
||||||
DevTools: editing
|
DevTools: editing
|
||||||
<%= Html.ActionLink(Model.ContentItem.ContentType + " #" + Model.ContentItem.Id, "details", "content", new { area = "Orchard.DevTools", Model.ContentItem.Id }, new { })%></div>
|
<%= Html.ActionLink(Model.ContentItem.ContentType + " #" + Model.ContentItem.Id, "details", "content", new { area = "Orchard.DevTools", Model.ContentItem.Id }, new { })%></div>
|
||||||
|
@@ -8,7 +8,7 @@ namespace Orchard.Roles {
|
|||||||
builder.Add("Users", "5",
|
builder.Add("Users", "5",
|
||||||
menu => menu
|
menu => menu
|
||||||
.Add("Manage Roles", "2.0", item => item.Action("Index", "Admin", new { area = "Orchard.Roles" }))
|
.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" })));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -2,17 +2,8 @@
|
|||||||
<%@ Import Namespace="Orchard.Mvc.Html"%>
|
<%@ Import Namespace="Orchard.Mvc.Html"%>
|
||||||
<%@ Import Namespace="Orchard.Tags.Models"%>
|
<%@ Import Namespace="Orchard.Tags.Models"%>
|
||||||
<h3>Tags</h3>
|
<h3>Tags</h3>
|
||||||
<% Html.BeginForm("Update", "Home", new { area = "Orchard.Tags" }); %><%= Html.ValidationSummary() %> <div class="yui-g">
|
<formset>
|
||||||
<h2 class="separator">Edit Tags</h2>
|
<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()) %>" />
|
||||||
string tags = "";
|
</formset>
|
||||||
foreach (var tag in Model.CurrentTags) {
|
<%--<% Html.BeginForm("Update", "Home", new { area = "Orchard.Tags" }); %>--%>
|
||||||
tags += tag.TagName;
|
|
||||||
tags += ",";
|
|
||||||
} %>
|
|
||||||
<ol>
|
|
||||||
<li>
|
|
||||||
<input id="Tags" class="inputText inputTextLarge" name="Tags" type="text" value="<%=tags %>" />
|
|
||||||
</li>
|
|
||||||
</ol>
|
|
||||||
</div>
|
|
@@ -8,7 +8,7 @@ namespace Orchard.Users {
|
|||||||
builder.Add("Users", "5",
|
builder.Add("Users", "5",
|
||||||
menu => menu
|
menu => menu
|
||||||
.Add("Manage Users", "1.0", item => item.Action("Index", "Admin", new { area = "Orchard.Users" }))
|
.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" })));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -28,7 +28,7 @@ todo: (heskew) rework how/what pages are assembled when we get into theming --%>
|
|||||||
theme_advanced_buttons2: "",
|
theme_advanced_buttons2: "",
|
||||||
theme_advanced_buttons3: ""
|
theme_advanced_buttons3: ""
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="header" role="banner">
|
<div id="header" role="banner">
|
||||||
|
Reference in New Issue
Block a user