From 0207cb194b3b45163b1a3d514f5a7737e47f1882 Mon Sep 17 00:00:00 2001 From: Christoph Haas Date: Wed, 22 Aug 2018 13:10:22 +0200 Subject: [PATCH] Cope with new installation without screenshots --- app/controllers/welcome_controller.rb | 5 ++--- app/models/package.rb | 6 ------ app/views/welcome/home.slim | 14 ++++++++++---- 3 files changed, 12 insertions(+), 13 deletions(-) diff --git a/app/controllers/welcome_controller.rb b/app/controllers/welcome_controller.rb index c598fd5..95f9bdb 100644 --- a/app/controllers/welcome_controller.rb +++ b/app/controllers/welcome_controller.rb @@ -3,12 +3,11 @@ class WelcomeController < ApplicationController # TODO: Only approved screenshots! @newest_upload = Screenshot.newest_upload - # TODO: Use the actually most popular package and not just a random one - @most_popular_package = Package.order(:visits).last + @most_popular_package = Package.with_screenshots.order(visits: :desc).first @package_count = Package.count - @most_wanted_package = Package.without_screenshots_most_visits.first + @most_wanted_package = Package.without_screenshots.order(visits: :desc).first end def about diff --git a/app/models/package.rb b/app/models/package.rb index 6a2c1ba..6475953 100644 --- a/app/models/package.rb +++ b/app/models/package.rb @@ -52,12 +52,6 @@ class Package < ApplicationRecord where.not(id: subselect) end - # Packages that need screenshots and have most visits. - # These packages are most likely to need a screenshot. - def self.without_screenshots_most_visits - self.without_screenshots.order(visits: :desc) - end - # Return a query of all approved/public screenshots of this package def screenshots_approved self.screenshots.where(approved: true) diff --git a/app/views/welcome/home.slim b/app/views/welcome/home.slim index 33df0ee..c099614 100644 --- a/app/views/welcome/home.slim +++ b/app/views/welcome/home.slim @@ -39,8 +39,11 @@ .large-3.medium-12.small-12.cell.text-center h2 Most popular .thumb-height - a href=package_path(@most_popular_package.name) - img src=@most_popular_package.screenshots.first.image.url(:thumb, timestamp: false) + - if @most_popular_package + a href=package_path(@most_popular_package.name) + img src=@most_popular_package.screenshots.first.image.url(:thumb, timestamp: false) + - else + 'No uploaded screenshots yet. p strong =@most_popular_package.name @@ -49,8 +52,11 @@ .large-3.medium-12.small-12.cell.text-center h2 Contribute .thumb-height - a href=upload_path(@most_wanted_package.name) - img src="/images/dummy/no-screenshots-upload-one.svg" width="160" + - if @most_wanted_package.name + a href=upload_path(@most_wanted_package.name) + img src="/images/dummy/no-screenshots-upload-one.svg" width="160" + - else + 'No uploaded screenshots yet. p / TODO: Randomly choose one of ~30 packages ' We lack a screenshot for the