post disapprovals: fix tests and API create action.

* Fix tests.
* Fix create action in API (couldn't redirect to show action).
* Clean up user initialization.
This commit is contained in:
evazion
2020-02-19 15:20:39 -06:00
parent 0aa05a116f
commit f54470ddfb
5 changed files with 6 additions and 10 deletions

View File

@@ -3,7 +3,6 @@ class PostDisapproval < ApplicationRecord
belongs_to :post
belongs_to :user
after_initialize :initialize_attributes, if: :new_record?
validates_uniqueness_of :post_id, :scope => [:user_id], :message => "have already hidden this post"
validates_inclusion_of :reason, :in => %w(legacy breaks_rules poor_quality disinterest)
@@ -13,10 +12,6 @@ class PostDisapproval < ApplicationRecord
scope :poor_quality, -> {where(:reason => "poor_quality")}
scope :disinterest, -> {where(:reason => ["disinterest", "legacy"])}
def initialize_attributes
self.user_id ||= CurrentUser.user.id
end
def self.prune!
PostDisapproval.where("post_id in (select _.post_id from post_disapprovals _ where _.created_at < ?)", DELETION_THRESHOLD.ago).delete_all
end