diff --git a/app/controllers/sidebars_controller.rb b/app/controllers/sidebars_controller.rb index 2fb04c9b3..3b9e2fe93 100644 --- a/app/controllers/sidebars_controller.rb +++ b/app/controllers/sidebars_controller.rb @@ -11,7 +11,7 @@ class SidebarsController < ApplicationController 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) + .where("published_at > ? AND score > ?", SiteConfig.campaign_articles_expiry_time.weeks.ago, 0) .order(hotness_score: :desc) requires_approval = Campaign.current.articles_require_approval? diff --git a/app/controllers/stories_controller.rb b/app/controllers/stories_controller.rb index 740a7d54c..6d1b23579 100644 --- a/app/controllers/stories_controller.rb +++ b/app/controllers/stories_controller.rb @@ -63,7 +63,7 @@ class StoriesController < ApplicationController 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) + .where("published_at > ? AND score > ?", SiteConfig.campaign_articles_expiry_time.weeks.ago, 0) .order(hotness_score: :desc) requires_approval = Campaign.current.articles_require_approval? diff --git a/app/lib/constants/site_config.rb b/app/lib/constants/site_config.rb index 7b655e1d7..f75a823e8 100644 --- a/app/lib/constants/site_config.rb +++ b/app/lib/constants/site_config.rb @@ -45,6 +45,10 @@ module Constants description: "https://url.com/lander", placeholder: "URL campaign sidebar image will link to" }, + campaign_articles_expiry_time: { + description: "Sets the expiry time for articles (in weeks) to be displayed in campaign sidebar", + placeholder: "" + }, community_copyright_start_year: { description: "Used to mark the year this forem was started.", placeholder: Time.zone.today.year.to_s diff --git a/app/models/site_config.rb b/app/models/site_config.rb index bc5a11a27..b329ddfd0 100644 --- a/app/models/site_config.rb +++ b/app/models/site_config.rb @@ -51,6 +51,7 @@ class SiteConfig < RailsSettings::Base field :campaign_sidebar_image, type: :string, default: nil field :campaign_url, type: :string, default: nil field :campaign_articles_require_approval, type: :boolean, default: 0 + field :campaign_articles_expiry_time, type: :integer, default: 4 # Community Content field :community_name, type: :string, default: ApplicationConfig["COMMUNITY_NAME"] || "New Forem" diff --git a/app/views/admin/configs/show.html.erb b/app/views/admin/configs/show.html.erb index b9fa72b3b..e7e3f34e4 100644 --- a/app/views/admin/configs/show.html.erb +++ b/app/views/admin/configs/show.html.erb @@ -438,6 +438,15 @@ placeholder: Constants::SiteConfig::DETAILS[:campaign_call_to_action][:placeholder] %> +