From e5cbfe61f4ab5e940821cd7dee9ee15fc67fda31 Mon Sep 17 00:00:00 2001 From: Ben Halpern Date: Sun, 13 Dec 2020 19:44:17 -0500 Subject: [PATCH] Add campaign articles to sidebar controller (#11879) * Add campaign articles to sidebar controller * Fix sidebar additional erb logic --- app/controllers/sidebars_controller.rb | 15 +++++++++++++++ app/views/articles/_sidebar_additional.html.erb | 4 +++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/app/controllers/sidebars_controller.rb b/app/controllers/sidebars_controller.rb index 76fb31165..2fb04c9b3 100644 --- a/app/controllers/sidebars_controller.rb +++ b/app/controllers/sidebars_controller.rb @@ -3,6 +3,21 @@ class SidebarsController < ApplicationController before_action :set_cache_control_headers, only: %i[show] def show + get_latest_campaign_articles set_surrogate_key_header "home-sidebar" end + + private + + def get_latest_campaign_articles + campaign_articles_scope = Article.tagged_with(Campaign.current.featured_tags, any: true) + .where("published_at > ? AND score > ?", 4.weeks.ago, 0) + .order(hotness_score: :desc) + + requires_approval = Campaign.current.articles_require_approval? + campaign_articles_scope = campaign_articles_scope.where(approved: true) if requires_approval + + @campaign_articles_count = campaign_articles_scope.count + @latest_campaign_articles = campaign_articles_scope.limit(5).pluck(:path, :title, :comments_count, :created_at) + end end diff --git a/app/views/articles/_sidebar_additional.html.erb b/app/views/articles/_sidebar_additional.html.erb index c9dcac424..7b8cc3d35 100644 --- a/app/views/articles/_sidebar_additional.html.erb +++ b/app/views/articles/_sidebar_additional.html.erb @@ -1,3 +1,5 @@