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:
Sam 2015-08-04 12:56:20 +10:00
parent 6fdd53e3d6
commit 3c8ae643b2
5 changed files with 18 additions and 2 deletions

View File

@ -6,7 +6,6 @@
{{#user-link user=ctrl.post.user}}
{{avatar ctrl.post.user imageSize="large"}}
{{/user-link}}
</div>
<div class='cooked'>
<div class='names'>
@ -14,6 +13,9 @@
{{#user-link user=ctrl.post.user}}
{{ctrl.post.user.username}}
{{/user-link}}
{{#if ctrl.post.user.blocked}}
<i class='fa fa-ban' title='{{i18n "user.blocked_tooltip"}}'></i>
{{/if}}
</span>
</div>
<div class='post-info'>

View File

@ -66,6 +66,10 @@ class QueuedPost < ActiveRecord::Base
creator = PostCreator.new(user, create_options.merge(skip_validations: true))
created_post = creator.create
if user.blocked?
user.update_columns(blocked: false)
end
end
DiscourseEvent.trigger(:approved_post, self)

View File

@ -13,7 +13,7 @@ class QueuedPostSerializer < ApplicationSerializer
:category_id,
:can_delete_user
has_one :user, serializer: BasicUserSerializer
has_one :user, serializer: AdminUserListSerializer
has_one :topic, serializer: BasicTopicSerializer
def category_id

View File

@ -437,6 +437,7 @@ en:
admin: "{{user}} is an admin"
moderator_tooltip: "This user is a moderator"
admin_tooltip: "This user is an admin"
blocked_tooltip: "This user is blocked"
suspended_notice: "This user is suspended until {{date}}."
suspended_reason: "Reason: "
github_profile: "Github"

View File

@ -492,8 +492,17 @@ describe PostsController do
expect(parsed["action"]).to eq("enqueued")
user.reload
expect(user.blocked).to eq(true)
qp = QueuedPost.first
mod = Fabricate(:moderator)
qp.approve!(mod)
user.reload
expect(user.blocked).to eq(false)
end
it 'creates the post' do