diff --git a/app/controllers/packages_controller.rb b/app/controllers/packages_controller.rb index f331023..69b09f3 100644 --- a/app/controllers/packages_controller.rb +++ b/app/controllers/packages_controller.rb @@ -270,7 +270,7 @@ class PackagesController < ApplicationController @screenshot = @package.best_screenshot_for_version(params[:version]) # Called as /thumbnail/:name else - @screenshot = @package.screenshots.first + @screenshot = @package.screenshots.approved.first end # Return a 404 if the package has no screenshots or the image was not found @@ -298,7 +298,7 @@ class PackagesController < ApplicationController @screenshot = @package.best_screenshot_for_version(params[:version]) # Called as /screenshot/:name else - @screenshot = @package.screenshots.first + @screenshot = @package.screenshots.approved.first end # Return a 404 if the package has no screenshots or the image was not found diff --git a/app/models/package.rb b/app/models/package.rb index bdfa283..d8775ba 100644 --- a/app/models/package.rb +++ b/app/models/package.rb @@ -65,7 +65,7 @@ class Package < ApplicationRecord # Get all screenshots and have them sorted descendingly by their version number (Debian style). def screenshots_sorted_by_version - self.screenshots.to_a.sort { |x,y| version_compare(x.version,y.version) } + self.screenshots.approved.to_a.sort { |x,y| version_compare(x.version,y.version) } end # Return the newest screenshot that is not newer than the given version. diff --git a/app/models/screenshot.rb b/app/models/screenshot.rb index 7bdacc8..df71257 100644 --- a/app/models/screenshot.rb +++ b/app/models/screenshot.rb @@ -7,6 +7,8 @@ class Screenshot < ApplicationRecord # - otherwise show newest first default_scope { order(approved: :asc, hidden: :asc, created_at: :desc) } + scope :approved, -> { where(approved: true) } + # Shrine include ImageUploader::Attachment(:simage) # adds an `simage` virtual attribute