diff --git a/app/models/post_approval.rb b/app/models/post_approval.rb index 3300c90e8..f93d66875 100644 --- a/app/models/post_approval.rb +++ b/app/models/post_approval.rb @@ -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 diff --git a/app/models/post_disapproval.rb b/app/models/post_disapproval.rb index 4141abd4e..3f5d31fcd 100644 --- a/app/models/post_disapproval.rb +++ b/app/models/post_disapproval.rb @@ -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 diff --git a/db/migrate/20190410022203_readd_post_disapprovals.rb b/db/migrate/20190410022203_readd_post_disapprovals.rb new file mode 100644 index 000000000..947a830ed --- /dev/null +++ b/db/migrate/20190410022203_readd_post_disapprovals.rb @@ -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 diff --git a/db/structure.sql b/db/structure.sql index 79f280de5..ad6f5e616 100644 --- a/db/structure.sql +++ b/db/structure.sql @@ -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');