diff --git a/app/controllers/packages_controller.rb b/app/controllers/packages_controller.rb index 523549a..0042f21 100644 --- a/app/controllers/packages_controller.rb +++ b/app/controllers/packages_controller.rb @@ -18,7 +18,13 @@ class PackagesController < ApplicationController end def moderate - # TODO + # List of screenshots to be moderated + @pending_screenshots = Screenshot.where(approved: false) + # Number of screenshots that were already moderated (during this session) + session[:already_moderated] ||= 0 + @moderated_screenshots = session[:already_moderated] + # Percentage of already moderated screenshots + @percent_moderated = 100 * (@moderated_screenshots+1) / (@moderated_screenshots + @pending_screenshots.count) end def upload diff --git a/app/models/package.rb b/app/models/package.rb index c816100..f140e48 100644 --- a/app/models/package.rb +++ b/app/models/package.rb @@ -36,4 +36,9 @@ class Package < ActiveRecord::Base def self.screenshots_approved self.screenshots.find_by(approved: true) end + + # Return a list of packages that have unapproved screenshots + def self.requiring_moderation + Package.joins(:screenshots).where(screenshots: {approved:false}).group('packages.id') + end end diff --git a/app/models/screenshot.rb b/app/models/screenshot.rb index 7044a27..8f05265 100644 --- a/app/models/screenshot.rb +++ b/app/models/screenshot.rb @@ -78,4 +78,9 @@ class Screenshot < ActiveRecord::Base return text end + + # Return the number of screenshots that need to be approved + def self.unapproved + self.where(approved: false) + end end