diff --git a/app/controllers/sidebars_controller.rb b/app/controllers/sidebars_controller.rb index c4ce1b60a..ad2755a74 100644 --- a/app/controllers/sidebars_controller.rb +++ b/app/controllers/sidebars_controller.rb @@ -15,7 +15,7 @@ class SidebarsController < ApplicationController .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_scope = campaign_articles_scope.approved 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) diff --git a/app/controllers/stories/tagged_articles_controller.rb b/app/controllers/stories/tagged_articles_controller.rb index 404ac32ce..e6d61997a 100644 --- a/app/controllers/stories/tagged_articles_controller.rb +++ b/app/controllers/stories/tagged_articles_controller.rb @@ -32,7 +32,7 @@ module Stories def set_number_of_articles @num_published_articles = if @tag_model.requires_approval? - @tag_model.articles.published.where(approved: true).count + @tag_model.articles.published.approved.count elsif Settings::UserExperience.feed_strategy == "basic" tagged_count else @@ -47,7 +47,7 @@ module Stories def set_stories @stories = Articles::Feeds::Tag.call(@tag, number_of_articles: @number_of_articles, page: @page) - @stories = @stories.where(approved: true) if @tag_model&.requires_approval + @stories = @stories.approved if @tag_model&.requires_approval @stories = stories_by_timeframe @stories = @stories.decorate diff --git a/app/controllers/stories_controller.rb b/app/controllers/stories_controller.rb index c71588e73..9b2ea535a 100644 --- a/app/controllers/stories_controller.rb +++ b/app/controllers/stories_controller.rb @@ -61,7 +61,7 @@ class StoriesController < ApplicationController .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_scope = campaign_articles_scope.approved 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) diff --git a/app/models/article.rb b/app/models/article.rb index 38f4a42c6..ad9f893d8 100644 --- a/app/models/article.rb +++ b/app/models/article.rb @@ -187,6 +187,11 @@ class Article < ApplicationRecord } scope :unpublished, -> { where(published: false) } + # [@jeremyf] For approved articles is there always an assumption of + # published? Regardless, the scope helps us deal with + # that in the future. + scope :approved, -> { where(approved: true) } + scope :admin_published_with, lambda { |tag_name| published .where(user_id: User.with_role(:super_admin) diff --git a/app/services/article_api_index_service.rb b/app/services/article_api_index_service.rb index bff56ebd6..1e29455a4 100644 --- a/app/services/article_api_index_service.rb +++ b/app/services/article_api_index_service.rb @@ -67,7 +67,7 @@ class ArticleApiIndexService articles = published_articles_with_users_and_organizations.cached_tagged_with(tag) articles = if Tag.find_by(name: tag)&.requires_approval - articles.where(approved: true).order(featured_number: :desc) + articles.approved.order(featured_number: :desc) elsif top.present? articles.where("published_at > ?", top.to_i.days.ago) .order(public_reactions_count: :desc)