Add fix up post disapproval things after revert

This commit is contained in:
Kira 2019-04-09 19:39:08 -07:00 committed by Zwagoth
parent 4a46874a50
commit 86adf1eea4
4 changed files with 83 additions and 18 deletions

View File

@ -3,7 +3,6 @@ class PostApproval < ApplicationRecord
belongs_to :post, inverse_of: :approvals
validate :validate_approval
after_create :approve_post
def validate_approval
post.lock!
@ -19,18 +18,8 @@ class PostApproval < ApplicationRecord
if post.uploader == user
errors.add(:base, "You cannot approve a post you uploaded")
end
if post.approved_by?(user)
errors.add(:base, "You have previously approved this post and cannot approve it again")
end
end
def approve_post
ModAction.log("undeleted post ##{post_id}",:post_undelete) if post.is_deleted
post.flags.each(&:resolve!)
post.update(approver: user, is_flagged: false, is_pending: false, is_deleted: false)
end
concerning :SearchMethods do
class_methods do

View File

@ -37,10 +37,4 @@ class PostDisapproval < ApplicationRecord
)
end
end
def create_downvote
if %w(breaks_rules poor_quality).include?(reason)
PostVote.create(:score => -1, :post_id => post_id)
end
end
end

View File

@ -0,0 +1,18 @@
class ReaddPostDisapprovals < ActiveRecord::Migration[5.2]
def self.up
create_table :post_disapprovals do |t|
t.column :user_id, :integer, :null => false
t.column :post_id, :integer, :null => false
t.column :reason, :string, :default => "legacy"
t.column :message, :text
t.timestamps
end
add_index :post_disapprovals, :user_id
add_index :post_disapprovals, :post_id
end
def self.down
drop_table :post_disapprovals
end
end

View File

@ -1448,6 +1448,40 @@ CREATE SEQUENCE public.post_approvals_id_seq
ALTER SEQUENCE public.post_approvals_id_seq OWNED BY public.post_approvals.id;
--
-- Name: post_disapprovals; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE public.post_disapprovals (
id bigint NOT NULL,
user_id integer NOT NULL,
post_id integer NOT NULL,
reason character varying DEFAULT 'legacy'::character varying,
message text,
created_at timestamp without time zone NOT NULL,
updated_at timestamp without time zone NOT NULL
);
--
-- Name: post_disapprovals_id_seq; Type: SEQUENCE; Schema: public; Owner: -
--
CREATE SEQUENCE public.post_disapprovals_id_seq
START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1;
--
-- Name: post_disapprovals_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
--
ALTER SEQUENCE public.post_disapprovals_id_seq OWNED BY public.post_disapprovals.id;
--
-- Name: post_flags; Type: TABLE; Schema: public; Owner: -
--
@ -2713,6 +2747,13 @@ ALTER TABLE ONLY public.post_appeals ALTER COLUMN id SET DEFAULT nextval('public
ALTER TABLE ONLY public.post_approvals ALTER COLUMN id SET DEFAULT nextval('public.post_approvals_id_seq'::regclass);
--
-- Name: post_disapprovals id; Type: DEFAULT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.post_disapprovals ALTER COLUMN id SET DEFAULT nextval('public.post_disapprovals_id_seq'::regclass);
--
-- Name: post_flags id; Type: DEFAULT; Schema: public; Owner: -
--
@ -3185,6 +3226,14 @@ ALTER TABLE ONLY public.post_approvals
ADD CONSTRAINT post_approvals_pkey PRIMARY KEY (id);
--
-- Name: post_disapprovals post_disapprovals_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.post_disapprovals
ADD CONSTRAINT post_disapprovals_pkey PRIMARY KEY (id);
--
-- Name: post_flags post_flags_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--
@ -3966,6 +4015,20 @@ CREATE INDEX index_post_approvals_on_post_id ON public.post_approvals USING btre
CREATE INDEX index_post_approvals_on_user_id ON public.post_approvals USING btree (user_id);
--
-- Name: index_post_disapprovals_on_post_id; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX index_post_disapprovals_on_post_id ON public.post_disapprovals USING btree (post_id);
--
-- Name: index_post_disapprovals_on_user_id; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX index_post_disapprovals_on_user_id ON public.post_disapprovals USING btree (user_id);
--
-- Name: index_post_flags_on_creator_id; Type: INDEX; Schema: public; Owner: -
--
@ -4694,6 +4757,7 @@ INSERT INTO "schema_migrations" (version) VALUES
('20190324111703'),
('20190331193644'),
('20190403174011'),
('20190409195837');
('20190409195837'),
('20190410022203');