From 3232ce8265a72a8cca6058fbcf1e670d41dd158f Mon Sep 17 00:00:00 2001 From: Arpit Jalan <arpit@techapj.com> Date: Fri, 24 Jun 2016 14:06:27 +0530 Subject: [PATCH] FIX: better error message when trying to approve post for closed/deleted topic --- app/controllers/queued_posts_controller.rb | 16 ++++++++++------ app/models/queued_post.rb | 2 +- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/app/controllers/queued_posts_controller.rb b/app/controllers/queued_posts_controller.rb index d13de9708..6b225b5e6 100644 --- a/app/controllers/queued_posts_controller.rb +++ b/app/controllers/queued_posts_controller.rb @@ -25,13 +25,17 @@ class QueuedPostsController < ApplicationController end state = params[:queued_post][:state] - if state == 'approved' - qp.approve!(current_user) - elsif state == 'rejected' - qp.reject!(current_user) - if params[:queued_post][:delete_user] == 'true' && guardian.can_delete_user?(qp.user) - UserDestroyer.new(current_user).destroy(qp.user, user_deletion_opts) + begin + if state == 'approved' + qp.approve!(current_user) + elsif state == 'rejected' + qp.reject!(current_user) + if params[:queued_post][:delete_user] == 'true' && guardian.can_delete_user?(qp.user) + UserDestroyer.new(current_user).destroy(qp.user, user_deletion_opts) + end end + rescue StandardError => e + return render_json_error e.message end render_serialized(qp, QueuedPostSerializer, root: :queued_posts) diff --git a/app/models/queued_post.rb b/app/models/queued_post.rb index 9dd479a73..351187a2e 100644 --- a/app/models/queued_post.rb +++ b/app/models/queued_post.rb @@ -70,7 +70,7 @@ class QueuedPost < ActiveRecord::Base created_post = creator.create unless created_post && creator.errors.blank? - raise StandardError, "Failed to create post #{raw[0..100]} #{creator.errors.full_messages.inspect}" + raise StandardError.new(creator.errors.full_messages.join(" ")) end end