Moved moderation code to new moderate controller

This commit is contained in:
Christoph Haas 2016-04-14 16:49:17 +02:00
parent b32f26a1b8
commit a153391615
12 changed files with 79 additions and 48 deletions

View file

@ -1,5 +1,4 @@
class PackagesController < ApplicationController
before_action :authenticate_user!, only: [:moderate, :moderate_screenshot]
def list
@packages = query_packages
@ -17,16 +16,6 @@ class PackagesController < ApplicationController
@package = Package.find_by(name: params[:name])
end
def moderate
# 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
raise "name not given" unless params[:name]
@package = Package.find_by(name: params[:name])
@ -116,17 +105,6 @@ class PackagesController < ApplicationController
redirect_to package_path
end
# Publish a screenshot from the moderation queue
def approve_screenshot
@screenshot = Screenshot.find(params[:id])
@screenshot.delete_reason = nil
@screenshot.markedfordelete = false
@screenshot.approved = true
@screenshot.save!
flash['notice'] = "Screenshot approved."
redirect_to package_path
end
private
# Send a dummy thumbnail reading "No screenshot available. Sorry."