diff --git a/app/assets/javascripts/discourse/templates/queued-posts.hbs b/app/assets/javascripts/discourse/templates/queued-posts.hbs index 400937caf5f..5fc07e042b6 100644 --- a/app/assets/javascripts/discourse/templates/queued-posts.hbs +++ b/app/assets/javascripts/discourse/templates/queued-posts.hbs @@ -6,7 +6,6 @@ {{#user-link user=ctrl.post.user}} {{avatar ctrl.post.user imageSize="large"}} {{/user-link}} -
@@ -14,6 +13,9 @@ {{#user-link user=ctrl.post.user}} {{ctrl.post.user.username}} {{/user-link}} + {{#if ctrl.post.user.blocked}} + + {{/if}}
diff --git a/app/models/queued_post.rb b/app/models/queued_post.rb index 39c51a3544a..b61cab8c377 100644 --- a/app/models/queued_post.rb +++ b/app/models/queued_post.rb @@ -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) diff --git a/app/serializers/queued_post_serializer.rb b/app/serializers/queued_post_serializer.rb index 86b36bbda19..43892fa2928 100644 --- a/app/serializers/queued_post_serializer.rb +++ b/app/serializers/queued_post_serializer.rb @@ -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 diff --git a/config/locales/client.en.yml b/config/locales/client.en.yml index 0c57a88f207..844729482e3 100644 --- a/config/locales/client.en.yml +++ b/config/locales/client.en.yml @@ -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" diff --git a/spec/controllers/posts_controller_spec.rb b/spec/controllers/posts_controller_spec.rb index 183045d427c..7e1c617fdf3 100644 --- a/spec/controllers/posts_controller_spec.rb +++ b/spec/controllers/posts_controller_spec.rb @@ -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