From bd45dfdab61a526b1342b6d28e23fad1cb61faf7 Mon Sep 17 00:00:00 2001 From: Kyle Drake Date: Wed, 12 Jul 2017 09:16:40 -0700 Subject: [PATCH] fix deleted comments not being hidden --- models/event.rb | 12 ++++++++++-- views/_news.erb | 4 ++-- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/models/event.rb b/models/event.rb index 94c4d392..04ad36b8 100644 --- a/models/event.rb +++ b/models/event.rb @@ -3,7 +3,7 @@ class Event < Sequel::Model many_to_one :site many_to_one :follow - many_to_one :tip + many_to_one :tip one_to_one :tag many_to_one :site_change many_to_one :profile_comment @@ -16,6 +16,14 @@ class Event < Sequel::Model GLOBAL_VIEWS_MINIMUM = 5 GLOBAL_VIEWS_SITE_CHANGE_MINIMUM = 3_000 + def undeleted_comments_count + comments_dataset.exclude(is_deleted: true).count + end + + def undeleted_comments + comments_dataset.exclude(is_deleted: true).order(:created_at).all + end + def self.news_feed_default_dataset if SimpleCache.expired?(:excluded_actioning_site_ids) res = DB[%{select distinct(actioning_site_id) from events join sites on actioning_site_id=sites.id where sites.is_banned='t' or sites.is_nsfw='t' or sites.is_deleted='t'}].all.collect {|r| r[:actioning_site_id]} @@ -32,7 +40,7 @@ class Event < Sequel::Model exclude(is_banned: true) unless excluded_actioning_site_ids.empty? - ds.where!("actioning_site_id is null or actioning_site_id not in ?", excluded_actioning_site_ids) + return ds.where("actioning_site_id is null or actioning_site_id not in ?", excluded_actioning_site_ids) end ds diff --git a/views/_news.erb b/views/_news.erb index 18e576a1..15631481 100644 --- a/views/_news.erb +++ b/views/_news.erb @@ -140,10 +140,10 @@ <%== erb :'_news_actions', layout: false, locals: {event: event} %> <% end %> - <% if event.comments_dataset.count > 0 %> + <% if event.undeleted_comments_count > 0 %>
- <% event.comments.each do |comment| %> + <% event.undeleted_comments.each do |comment| %> <% comment_actioning_site = comment.actioning_site_dataset.select(:id, :title, :domain, :username, :stripe_customer_id, :plan_type).first %> <% comment_event_site = comment.event.site_dataset.select(:id, :title, :domain, :username, :stripe_customer_id, :plan_type).first %>