# Add "approve new topics unless trust level" setting

**URL:** https://meta.discourse.org/t/add-approve-new-topics-unless-trust-level-setting/50253
**Category:** Feature
**Created:** [9월 16, 2016, 6:58오후 UTC](https://meta.discourse.org/t/add-approve-new-topics-unless-trust-level-setting/50253 "2016-09-16T18:58:54Z")
**Posts on this page:** 12
**Page:** 1

<div class="post-metadata">

### Author: ![pmusaraj](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pmusaraj/32/119489_2.png) [@pmusaraj](https://meta.discourse.org/u/pmusaraj)
#### Post date: [9월 16, 2016, 6:58오후 UTC](https://meta.discourse.org/t/add-approve-new-topics-unless-trust-level-setting/50253/1 "2016-09-16T18:58:54Z")

</div>

I would like to be able to allow trust level 1 users to post responses to existing topics (both posts and replies) without moderation, while new topics should go to an approval queue.

Is this doable with the current settings? If not, would this be a feature request for an upcoming version or would it be something a plugin could/should do? (For example, could this be done by a simple customization that hides the new topic button for a certain user level?)

---

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [9월 16, 2016, 8:52오후 UTC](https://meta.discourse.org/t/add-approve-new-topics-unless-trust-level-setting/50253/2 "2016-09-16T20:52:11Z")

</div>

It’s not a bad idea; we suppressed Reply as Linked Topic for TL0 users to make the topic page a bit less noisy, but that is less relevant now that Reply as Linked Topic is behind the link button on each post.

I don’t know that creating a new topic should be suppressed for TL1 users though.

---

<div class="post-metadata">

### Author: ![pmusaraj](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pmusaraj/32/119489_2.png) [@pmusaraj](https://meta.discourse.org/u/pmusaraj)
#### Post date: [9월 16, 2016, 9:03오후 UTC](https://meta.discourse.org/t/add-approve-new-topics-unless-trust-level-setting/50253/3 "2016-09-16T21:03:28Z")

</div>

The goal (for my case) would be to review new topics before publishing. Suppressing New Topic button is not the right option, I take that back.

---

<div class="post-metadata">

### Author: ![pmusaraj](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pmusaraj/32/119489_2.png) [@pmusaraj](https://meta.discourse.org/u/pmusaraj)
#### Post date: [9월 18, 2016, 3:10오전 UTC](https://meta.discourse.org/t/add-approve-new-topics-unless-trust-level-setting/50253/4 "2016-09-18T03:10:45Z")

</div>

(Apologies for monopolizing this topic…)

I made some progress on this today. I added a second setting called “approve new topics unless trust level” to the Posting screen:

 ![](https://global.discourse-cdn.com/meta/original/3X/4/c/4c7dca488e4b93795b61c02f3c0717694fa38a87.png) 

and then in `/lib/new_post_manager.b` I added the following check to `self.user_needs_approval?` :  
`(manager.args[:title].present? && user.trust_level < SiteSetting.approve_new_topics_unless_trust_level.to_i) ||`

It seems to work well on my initial tests. And I think that having this as an independent setting makes sense; sites can even combine both settings (approval queue for all posts for TL0 users and approval queue of new topics for TL1 users, for example).

If this fits within the team’s plans, I would be honoured to submit a PR.

---

<div class="post-metadata">

### Author: ![erlend\_sh](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/erlend_sh/32/119475_2.png) [@erlend\_sh](https://meta.discourse.org/u/erlend_sh)
#### Post date: [9월 20, 2016, 8:33오전 UTC](https://meta.discourse.org/t/add-approve-new-topics-unless-trust-level-setting/50253/5 "2016-09-20T08:33:12Z")

</div>

> [@pmusaraj](#):
>
> If this fits within the team’s plans, I would be honoured to submit a PR.

Go for it! Just keep in mind we might not get around to reviewing it until early October as we’re about to embark on a team meetup.

---

<div class="post-metadata">

### Author: ![pmusaraj](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pmusaraj/32/119489_2.png) [@pmusaraj](https://meta.discourse.org/u/pmusaraj)
#### Post date: [9월 20, 2016, 2:33오후 UTC](https://meta.discourse.org/t/add-approve-new-topics-unless-trust-level-setting/50253/6 "2016-09-20T14:33:26Z")

</div>

Thanks, already submitted and @zogstrip reviewed it quickly and recommended writing tests. I have not written a test before, so I am not sure if it is expected of me or someone else.

Here is the PR:  
[https://github.com/discourse/discourse/pull/4447](https://github.com/discourse/discourse/pull/4447)

---

<div class="post-metadata">

### Author: ![Mittineague](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mittineague/32/114259_2.png) [@Mittineague](https://meta.discourse.org/u/Mittineague)
#### Post date: [9월 20, 2016, 6:22오후 UTC](https://meta.discourse.org/t/add-approve-new-topics-unless-trust-level-setting/50253/7 "2016-09-20T18:22:26Z")

</div>

> [@pmusaraj](#):
>
> recommended writing tests

I may be off base here.

I agree that rspec and qunit tests are a good thing to have, but I think that the type of “test” Régis meant here is a “conditional test”.

That is, the “OR - AND” logic should test for “fast” and “regex” in there somewhere.

---

<div class="post-metadata">

### Author: ![pmusaraj](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pmusaraj/32/119489_2.png) [@pmusaraj](https://meta.discourse.org/u/pmusaraj)
#### Post date: [9월 23, 2016, 7:39오후 UTC](https://meta.discourse.org/t/add-approve-new-topics-unless-trust-level-setting/50253/8 "2016-09-23T19:39:42Z")

</div>

The PR has been updated with ruby tests.

---

<div class="post-metadata">

### Author: ![pmusaraj](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pmusaraj/32/119489_2.png) [@pmusaraj](https://meta.discourse.org/u/pmusaraj)
#### Post date: [10월 11, 2016, 2:09오후 UTC](https://meta.discourse.org/t/add-approve-new-topics-unless-trust-level-setting/50253/9 "2016-10-11T14:09:02Z")

</div>

PR is now merged, thanks team!

---

<div class="post-metadata">

### Author: ![Juless](https://avatars.discourse-cdn.com/v4/letter/j/43a26b/32.png) [@Juless](https://meta.discourse.org/u/Juless)
#### Post date: [4월 12, 2020, 10:15오후 UTC](https://meta.discourse.org/t/add-approve-new-topics-unless-trust-level-setting/50253/10 "2020-04-12T22:15:44Z")

</div>

저희 인스턴스에서 문제가 발생했습니다. 포럼이 막 시작되었고, 제가 신규 가입한 사용자의 신뢰 수준(trust level)을 4로 설정해 두었는데, 이 사용자들의 게시글이 계속 관리자 게시글 검토 대기열에 쌓이고 있습니다. 제가 뭘 잘못하고 있는지 모르겠습니다. 설정에서는 '신뢰 수준 1 미만 승인’이 1로 되어 있습니다.

---

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [4월 12, 2020, 10:51오후 UTC](https://meta.discourse.org/t/add-approve-new-topics-unless-trust-level-setting/50253/11 "2020-04-12T22:51:48Z")

</div>

@tshenry 님, 이 문제를 재현해 보실 수 있나요?

---

<div class="post-metadata">

### Author: ![tshenry](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/tshenry/32/119495_2.png) [@tshenry](https://meta.discourse.org/u/tshenry)
#### Post date: [4월 13, 2020, 8:02오후 UTC](https://meta.discourse.org/t/add-approve-new-topics-unless-trust-level-setting/50253/14 "2020-04-13T20:02:11Z")

</div>

이 주제에 대해 더 깊이 들어가기 전에, 다음 사이트 설정이 어떻게 구성되어 있는지 알려주실 수 있을까요?

- `approve unless trust level`
- `approve new topics unless trust level`
- `approve post count`

또한, 카테고리별 승인 설정이 `활성화되어 있지 않음`을 확인해 주실 수 있을까요?

 ![category_settings](https://global.discourse-cdn.com/meta/original/3X/0/0/0062d598c1a64097ad187abbf867bbcd96b58b3e.png)
