mirror of
https://github.com/discourse/discourse.git
synced 2024-11-25 18:03:43 +08:00
Don't show the link to "Needs Approval" unless approval is enabled.
Note that any plugin that extends the NewPostMananger to support enqueuing will enable it.
This commit is contained in:
parent
dd3953bf19
commit
26693c16ac
|
@ -30,7 +30,7 @@
|
|||
<li>{{#link-to 'users'}}{{i18n "directory.title"}}{{/link-to}}</li>
|
||||
{{/if}}
|
||||
|
||||
{{#if currentUser.staff}}
|
||||
{{#if currentUser.show_queued_posts}}
|
||||
<li>
|
||||
{{#link-to 'queued-posts'}}
|
||||
{{i18n "queue.title"}}
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
require_dependency 'new_post_manager'
|
||||
|
||||
class CurrentUserSerializer < BasicUserSerializer
|
||||
|
||||
attributes :name,
|
||||
|
@ -27,7 +29,8 @@ class CurrentUserSerializer < BasicUserSerializer
|
|||
:muted_category_ids,
|
||||
:dismissed_banner_key,
|
||||
:is_anonymous,
|
||||
:post_queue_new_count
|
||||
:post_queue_new_count,
|
||||
:show_queued_posts
|
||||
|
||||
def include_site_flagged_posts_count?
|
||||
object.staff?
|
||||
|
@ -116,4 +119,12 @@ class CurrentUserSerializer < BasicUserSerializer
|
|||
object.staff?
|
||||
end
|
||||
|
||||
def show_queued_posts
|
||||
true
|
||||
end
|
||||
|
||||
def include_show_queued_posts?
|
||||
object.staff? && NewPostManager.queue_enabled?
|
||||
end
|
||||
|
||||
end
|
||||
|
|
|
@ -26,6 +26,12 @@ class NewPostManager
|
|||
end
|
||||
end
|
||||
|
||||
def self.queue_enabled?
|
||||
SiteSetting.approve_post_count > 0 ||
|
||||
SiteSetting.approve_unless_trust_level.to_i > 0 ||
|
||||
handlers.size > 1
|
||||
end
|
||||
|
||||
add_handler {|manager| default_handler(manager) }
|
||||
|
||||
def initialize(user, args)
|
||||
|
|
|
@ -28,6 +28,7 @@ describe NewPostManager do
|
|||
|
||||
it "doesn't return a result action" do
|
||||
result = NewPostManager.default_handler(manager)
|
||||
expect(NewPostManager.queue_enabled?).to eq(false)
|
||||
expect(result).to eq(nil)
|
||||
end
|
||||
end
|
||||
|
@ -38,6 +39,7 @@ describe NewPostManager do
|
|||
end
|
||||
it "will return an enqueue result" do
|
||||
result = NewPostManager.default_handler(manager)
|
||||
expect(NewPostManager.queue_enabled?).to eq(true)
|
||||
expect(result.action).to eq(:enqueued)
|
||||
end
|
||||
end
|
||||
|
@ -48,6 +50,7 @@ describe NewPostManager do
|
|||
end
|
||||
it "will return an enqueue result" do
|
||||
result = NewPostManager.default_handler(manager)
|
||||
expect(NewPostManager.queue_enabled?).to eq(true)
|
||||
expect(result.action).to eq(:enqueued)
|
||||
end
|
||||
end
|
||||
|
@ -79,6 +82,10 @@ describe NewPostManager do
|
|||
NewPostManager.handlers.delete(@queue_handler)
|
||||
end
|
||||
|
||||
it "has a queue enabled" do
|
||||
expect(NewPostManager.queue_enabled?).to eq(true)
|
||||
end
|
||||
|
||||
it "calls custom handlers" do
|
||||
manager = NewPostManager.new(topic.user, raw: 'this post increases counter', topic_id: topic.id)
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user