Merge branch 'master' of salsa.debian.org:debian/debshots

This commit is contained in:
Christoph Haas 2020-04-20 20:29:06 +02:00
commit 33086f9430
12 changed files with 132 additions and 52 deletions

View file

@ -7,12 +7,14 @@ class Users::MySessionsController < Devise::SessionsController
old_screenshots = session[:uploaded_screenshots]
if old_screenshots.to_a.length > 0
old_screenshots.each do |id|
next unless id # sometimes we had 'nil' here
ss = Screenshot.find(id)
ss.user = @user
ss.save!
end
flash[:info] = "#{old_screenshots.to_a.length} uploads have been added to your account"
Log.log "Anonymously uploaded screenshots #{old_screenshots} added to account."
# The message is probably confusing. Just add the screenshots.
# flash[:info] = "#{old_screenshots.to_a.length} uploads have been added to your account"
Log.log "Anonymously uploaded screenshots #{old_screenshots} added to #{current_user}."
session[:uploaded_screenshots] = nil
end
end

View file

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

View file

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

View file

@ -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)
= image_tag(@most_popular_package.screenshots.first.image.variant(resize: "160x120"))
- if @most_popular_package
a href=package_path(@most_popular_package.name)
= image_tag(@most_popular_package.screenshots.first.image.variant(resize: "160x120"))
- 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