diff --git a/app/models/related_content.rb b/app/models/related_content.rb index 4fbb1f48d..c1c70b2c7 100644 --- a/app/models/related_content.rb +++ b/app/models/related_content.rb @@ -1,4 +1,6 @@ class RelatedContent < ActiveRecord::Base + include Flaggable + RELATED_CONTENTS_REPORT_THRESHOLD = Setting['related_contents_report_threshold'].to_i RELATIONABLE_MODELS = %w{proposals debates}.freeze @@ -15,10 +17,10 @@ class RelatedContent < ActiveRecord::Base after_create :create_opposite_related_content, unless: proc { opposite_related_content.present? } after_destroy :destroy_opposite_related_content, if: proc { opposite_related_content.present? } - scope :not_hidden, -> { where('times_reported <= ?', RELATED_CONTENTS_REPORT_THRESHOLD) } + scope :not_hidden, -> { where('flags_count <= ?', RELATED_CONTENTS_REPORT_THRESHOLD) } def hidden_by_reports? - times_reported > RELATED_CONTENTS_REPORT_THRESHOLD + flags_count > RELATED_CONTENTS_REPORT_THRESHOLD end private diff --git a/db/migrate/20171215152244_change_related_content_times_reported_column.rb b/db/migrate/20171215152244_change_related_content_times_reported_column.rb new file mode 100644 index 000000000..7da58bba5 --- /dev/null +++ b/db/migrate/20171215152244_change_related_content_times_reported_column.rb @@ -0,0 +1,5 @@ +class ChangeRelatedContentTimesReportedColumn < ActiveRecord::Migration + def change + rename_column :related_contents, :times_reported, :flags_count + end +end diff --git a/db/schema.rb b/db/schema.rb index c3e107aae..609f59c0f 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -11,7 +11,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 20171212193323) do +ActiveRecord::Schema.define(version: 20171215152244) do # These are extensions that must be enabled in order to support this database enable_extension "plpgsql" @@ -862,7 +862,7 @@ ActiveRecord::Schema.define(version: 20171212193323) do t.integer "related_content_id" t.datetime "created_at" t.datetime "updated_at" - t.integer "times_reported", default: 0 + t.integer "flags_count", default: 0 end add_index "related_contents", ["child_relationable_type", "child_relationable_id"], name: "index_related_contents_on_child_relationable", using: :btree diff --git a/spec/models/relation_spec.rb b/spec/models/relation_spec.rb index 86bbe2c14..c2411a158 100644 --- a/spec/models/relation_spec.rb +++ b/spec/models/relation_spec.rb @@ -51,18 +51,18 @@ describe RelatedContent do # TODO: Move this into a Relationable shared context describe '#report_related_content' do - it 'increments both relation and opposite relation times_reported counters' do + it 'increments both relation and opposite relation flags_count counters' do related_content = create(:related_content, parent_relationable: parent_relationable, child_relationable: child_relationable) parent_relationable.report_related_content(child_relationable) - expect(related_content.reload.times_reported).to eq(1) - expect(related_content.reload.opposite_related_content.times_reported).to eq(1) + expect(related_content.reload.flags_count).to eq(1) + expect(related_content.reload.opposite_related_content.flags_count).to eq(1) end end describe '#relationed_contents' do before do - create(:related_content, parent_relationable: parent_relationable, child_relationable: create(:proposal), times_reported: 6) + create(:related_content, parent_relationable: parent_relationable, child_relationable: create(:proposal), flags_count: 6) create(:related_content, parent_relationable: parent_relationable, child_relationable: child_relationable) end