mirror of
https://github.com/discourse/discourse.git
synced 2025-05-22 22:43:33 +08:00
UX: improve handling of users in queued-posts
- Display an icon on already blocked users - Automatically unblock users that you approve
This commit is contained in:
@ -6,7 +6,6 @@
|
|||||||
{{#user-link user=ctrl.post.user}}
|
{{#user-link user=ctrl.post.user}}
|
||||||
{{avatar ctrl.post.user imageSize="large"}}
|
{{avatar ctrl.post.user imageSize="large"}}
|
||||||
{{/user-link}}
|
{{/user-link}}
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class='cooked'>
|
<div class='cooked'>
|
||||||
<div class='names'>
|
<div class='names'>
|
||||||
@ -14,6 +13,9 @@
|
|||||||
{{#user-link user=ctrl.post.user}}
|
{{#user-link user=ctrl.post.user}}
|
||||||
{{ctrl.post.user.username}}
|
{{ctrl.post.user.username}}
|
||||||
{{/user-link}}
|
{{/user-link}}
|
||||||
|
{{#if ctrl.post.user.blocked}}
|
||||||
|
<i class='fa fa-ban' title='{{i18n "user.blocked_tooltip"}}'></i>
|
||||||
|
{{/if}}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div class='post-info'>
|
<div class='post-info'>
|
||||||
|
@ -66,6 +66,10 @@ class QueuedPost < ActiveRecord::Base
|
|||||||
|
|
||||||
creator = PostCreator.new(user, create_options.merge(skip_validations: true))
|
creator = PostCreator.new(user, create_options.merge(skip_validations: true))
|
||||||
created_post = creator.create
|
created_post = creator.create
|
||||||
|
|
||||||
|
if user.blocked?
|
||||||
|
user.update_columns(blocked: false)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
DiscourseEvent.trigger(:approved_post, self)
|
DiscourseEvent.trigger(:approved_post, self)
|
||||||
|
@ -13,7 +13,7 @@ class QueuedPostSerializer < ApplicationSerializer
|
|||||||
:category_id,
|
:category_id,
|
||||||
:can_delete_user
|
:can_delete_user
|
||||||
|
|
||||||
has_one :user, serializer: BasicUserSerializer
|
has_one :user, serializer: AdminUserListSerializer
|
||||||
has_one :topic, serializer: BasicTopicSerializer
|
has_one :topic, serializer: BasicTopicSerializer
|
||||||
|
|
||||||
def category_id
|
def category_id
|
||||||
|
@ -437,6 +437,7 @@ en:
|
|||||||
admin: "{{user}} is an admin"
|
admin: "{{user}} is an admin"
|
||||||
moderator_tooltip: "This user is a moderator"
|
moderator_tooltip: "This user is a moderator"
|
||||||
admin_tooltip: "This user is an admin"
|
admin_tooltip: "This user is an admin"
|
||||||
|
blocked_tooltip: "This user is blocked"
|
||||||
suspended_notice: "This user is suspended until {{date}}."
|
suspended_notice: "This user is suspended until {{date}}."
|
||||||
suspended_reason: "Reason: "
|
suspended_reason: "Reason: "
|
||||||
github_profile: "Github"
|
github_profile: "Github"
|
||||||
|
@ -492,8 +492,17 @@ describe PostsController do
|
|||||||
|
|
||||||
expect(parsed["action"]).to eq("enqueued")
|
expect(parsed["action"]).to eq("enqueued")
|
||||||
|
|
||||||
|
user.reload
|
||||||
expect(user.blocked).to eq(true)
|
expect(user.blocked).to eq(true)
|
||||||
|
|
||||||
|
qp = QueuedPost.first
|
||||||
|
|
||||||
|
mod = Fabricate(:moderator)
|
||||||
|
qp.approve!(mod)
|
||||||
|
|
||||||
|
user.reload
|
||||||
|
expect(user.blocked).to eq(false)
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'creates the post' do
|
it 'creates the post' do
|
||||||
|
Reference in New Issue
Block a user