diff --git a/src/main/java/com/erudika/scoold/controllers/QuestionController.java b/src/main/java/com/erudika/scoold/controllers/QuestionController.java index f047a2bd..f44e0a47 100755 --- a/src/main/java/com/erudika/scoold/controllers/QuestionController.java +++ b/src/main/java/com/erudika/scoold/controllers/QuestionController.java @@ -275,13 +275,17 @@ public String modApprove(@PathVariable String id, HttpServletRequest req) { if (utils.isMod(authUser)) { if (showPost instanceof UnapprovedQuestion) { showPost.setType(Utils.type(Question.class)); + showPost.setApprovedby(authUser); pc.create(showPost); // this notification here is redundant //utils.sendNewPostNotifications(showPost, req); + utils.triggerHookEvent("question.approve", showPost); } else if (showPost instanceof UnapprovedReply) { showPost.setType(Utils.type(Reply.class)); + showPost.setApprovedby(authUser); addRepOnReplyOnce(pc.read(showPost.getParentid()), (Profile) pc.read(showPost.getCreatorid()), true); pc.create(showPost); + utils.triggerHookEvent("answer.approve", showPost); } utils.deleteReportsAfterModAction(showPost); } diff --git a/src/main/java/com/erudika/scoold/core/Post.java b/src/main/java/com/erudika/scoold/core/Post.java index 228c5c82..5e801dd5 100755 --- a/src/main/java/com/erudika/scoold/core/Post.java +++ b/src/main/java/com/erudika/scoold/core/Post.java @@ -86,6 +86,7 @@ public abstract class Post extends Sysprop { private transient Profile author; private transient Profile lastEditor; + private transient Profile approvedby; private transient List comments; private transient Pager itemcount; private transient Vote vote; @@ -108,6 +109,14 @@ public void setApprovalTimestamp(Long approvalTimestamp) { this.approvalTimestamp = approvalTimestamp; } + public Profile getApprovedby() { + return approvedby; + } + + public void setApprovedby(Profile approvedby) { + this.approvedby = approvedby; + } + public Boolean getDeprecated() { if (deprecated == null || isReply()) { deprecated = false; diff --git a/src/main/java/com/erudika/scoold/utils/ScooldUtils.java b/src/main/java/com/erudika/scoold/utils/ScooldUtils.java index fe8a5d42..cc7a7fe8 100755 --- a/src/main/java/com/erudika/scoold/utils/ScooldUtils.java +++ b/src/main/java/com/erudika/scoold/utils/ScooldUtils.java @@ -146,8 +146,10 @@ public final class ScooldUtils { "question.create", "question.close", "question.view", + "question.approve", "answer.create", "answer.accept", + "answer.approve", "report.create", "comment.create", "user.signin",