# Pending post feature

**URL:** <https://meta.discourse.org/t/pending-post-feature/15386>\
**Category:** Feature\
**Tags:** approval\
**Created:** [May 7, 2014, 9:11am UTC](https://meta.discourse.org/t/pending-post-feature/15386 "2014-05-07T09:11:19Z")\
**Posts on this page:** 1\
**Showing post:** 12

<div class="post-metadata">

**Author:** ![riking](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/riking/32/170938_2.png) [@riking](https://meta.discourse.org/u/riking)\
**Post date:** [May 7, 2014, 7:18pm UTC](https://meta.discourse.org/t/pending-post-feature/15386/12 "2014-05-07T19:18:56Z")

</div>

> [@davemaxwell](#):
>
> We’ve actually got a hacked solution now which prevents posting without three posts in the forum first, but we still moderate the post so a human can review their reviews and ensure it is more than “Hey! Looks good” or “Nah, don’t like it”.

It sounds to me like you could turn this into a group with automatic entry, and it would be pretty similar to what you had before.

Here’s my mediocre design:

```
Category: Reviews
Security:
  staff can create/reply/see
  reviewers can create/reply/see
  everyone can reply/see

```

```plaintext
def after_create_post(post):
   u = post.user
   return if in_reviewers_group?(u)
   return if post.category != reviews_category

   count = count_review_posts(u)
   if count >= 3
      Jobs.enqueue_in(18.hours, :promote_to_reviewer, {user: u})
   end
end

```

The code is just a rough overview of what you would need to do.

The “promote to reviewer” job would check to make sure that this third post didn’t have some kind of negative response, then give the user the “reviewer” group, which would allow them to create topics.

---

_[View the full topic](https://meta.discourse.org/t/pending-post-feature/15386)._
