mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2025-04-05 21:01:35 +08:00
Added a "ModerateComments" setting for Orchard.Comments
--HG-- branch : dev
This commit is contained in:
parent
2145f4e544
commit
8e547d0766
@ -47,10 +47,10 @@ namespace Orchard.Comments.Controllers {
|
||||
CommentText = viewModel.CommentText,
|
||||
Email = viewModel.Email,
|
||||
SiteName = viewModel.SiteName,
|
||||
CommentedOn = viewModel.CommentedOn,
|
||||
CommentedOn = viewModel.CommentedOn
|
||||
};
|
||||
|
||||
Comment comment = _commentService.CreateComment(context);
|
||||
Comment comment = _commentService.CreateComment(context, CurrentSite.As<CommentSettings>().Record.ModerateComments);
|
||||
|
||||
if (!String.IsNullOrEmpty(returnUrl)) {
|
||||
return Redirect(returnUrl);
|
||||
|
@ -3,6 +3,7 @@ using Orchard.ContentManagement.Records;
|
||||
namespace Orchard.Comments.Models {
|
||||
public class CommentSettingsRecord : ContentPartRecord {
|
||||
public virtual bool RequireLoginToAddComment { get; set; }
|
||||
public virtual bool ModerateComments { get; set; }
|
||||
public virtual bool EnableSpamProtection { get; set; }
|
||||
public virtual string AkismetKey { get; set; }
|
||||
public virtual string AkismetUrl { get; set; }
|
||||
|
@ -18,7 +18,7 @@ namespace Orchard.Comments.Services {
|
||||
IEnumerable<Comment> GetCommentsForCommentedContent(int id, CommentStatus status);
|
||||
Comment GetComment(int id);
|
||||
ContentItemMetadata GetDisplayForCommentedContent(int id);
|
||||
Comment CreateComment(CreateCommentContext commentRecord);
|
||||
Comment CreateComment(CreateCommentContext commentRecord, bool moderateComments);
|
||||
void UpdateComment(int id, string name, string email, string siteName, string commentText, CommentStatus status);
|
||||
void ApproveComment(int commentId);
|
||||
void PendComment(int commentId);
|
||||
@ -100,7 +100,7 @@ namespace Orchard.Comments.Services {
|
||||
return _contentManager.GetItemMetadata(content);
|
||||
}
|
||||
|
||||
public Comment CreateComment(CreateCommentContext context) {
|
||||
public Comment CreateComment(CreateCommentContext context, bool moderateComments) {
|
||||
var comment = _contentManager.Create<Comment>(CommentDriver.ContentType.Name);
|
||||
|
||||
comment.Record.Author = context.Author;
|
||||
@ -111,7 +111,7 @@ namespace Orchard.Comments.Services {
|
||||
comment.Record.UserName = (CurrentUser == null ? context.Author : CurrentUser.UserName);
|
||||
comment.Record.CommentedOn = context.CommentedOn;
|
||||
|
||||
comment.Record.Status = _commentValidator.ValidateComment(comment) ? CommentStatus.Pending : CommentStatus.Spam;
|
||||
comment.Record.Status = _commentValidator.ValidateComment(comment) ? moderateComments ? CommentStatus.Pending : CommentStatus.Approved : CommentStatus.Spam;
|
||||
|
||||
// store id of the next layer for large-grained operations, e.g. rss on blog
|
||||
//TODO:(rpaquay) Get rid of this (comment aspect takes care of container)
|
||||
|
@ -7,6 +7,11 @@
|
||||
<label class="forcheckbox" for="CommentSettings_RequireLoginToAddComment"><%=_Encoded("Require login to comment")%></label>
|
||||
<%=Html.ValidationMessage("RequireLoginToAddComment", "*")%>
|
||||
</div>
|
||||
<div>
|
||||
<%=Html.EditorFor(m => m.ModerateComments) %>
|
||||
<label class="forcheckbox" for="CommentSettings_ModerateComments"><%=_Encoded("Enable comment moderation")%></label>
|
||||
<%=Html.ValidationMessage("ModerateComments", "*")%>
|
||||
</div>
|
||||
<div>
|
||||
<%=Html.EditorFor(m => m.EnableSpamProtection) %>
|
||||
<label class="forcheckbox" for="CommentSettings_EnableSpamProtection"><%=_Encoded("Enable spam protection") %></label>
|
||||
|
@ -6,7 +6,7 @@ if (Model.CommentsActive == false) { %>
|
||||
<p><%=_Encoded("Comments have been disabled for this content.") %></p><%
|
||||
} else { %>
|
||||
<%-- todo: (heskew) need a comment form for the authenticated user... --%>
|
||||
<% using(Html.BeginForm("Create", "Admin", new { area = "Orchard.Comments" }, FormMethod.Post, new { @class = "comment" })) { %>
|
||||
<% using(Html.BeginForm("Create", "Comment", new { area = "Orchard.Comments" }, FormMethod.Post, new { @class = "comment" })) { %>
|
||||
<%=Html.ValidationSummary() %>
|
||||
<h2>Add a Comment</h2>
|
||||
<fieldset class="who">
|
||||
@ -37,6 +37,4 @@ if (Model.CommentsActive == false) { %>
|
||||
</div>
|
||||
</fieldset><%
|
||||
}
|
||||
} %>
|
||||
|
||||
|
||||
} %>
|
Loading…
Reference in New Issue
Block a user