Add campaign articles to sidebar controller (#11879)

* Add campaign articles to sidebar controller

* Fix sidebar additional erb logic
This commit is contained in:
Ben Halpern 2020-12-13 19:44:17 -05:00 committed by GitHub
parent 3308bf5e3d
commit e5cbfe61f4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 18 additions and 1 deletions

View file

@ -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

View file

@ -1,3 +1,5 @@
<div id="sidebar-wrapper-right" class="sidebar-wrapper sidebar-wrapper-right crayons-layout__sidebar-right">
<%= render "sidebars/homepage_content" %>
<% unless user_signed_in? %>
<%= render "sidebars/homepage_content" %>
<% end %>
</div>