Needs Approved Reject doesn't Unblock or associated the rejected post with the user

This seems correct as designed – when you reject a first post by a user, you are implicitly rejecting that user, too. This is really a question for @sam since he designed the feature.

I think the workflow you’re using is a bit wrong here. You should accept the post, then delete it or message the user to let them know “that post wasn’t spam, but it isn’t something we want, either”

I told @sam that copy on the page was wrong, the button should say “Delete Spam”, but it was never changed..