Moved moderation code to new moderate controller
This commit is contained in:
parent
b32f26a1b8
commit
a153391615
12 changed files with 79 additions and 48 deletions
30
app/controllers/moderate_controller.rb
Normal file
30
app/controllers/moderate_controller.rb
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
class ModerateController < ApplicationController
|
||||
|
||||
before_action :authenticate_user!
|
||||
|
||||
def index
|
||||
# List of screenshots to be moderated
|
||||
@pending_screenshots = Screenshot.where(approved: false)
|
||||
# List of packages with pending screenshots
|
||||
@pending_packages = Package.joins(:screenshots).where('screenshots.approved=false').distinct(:name)
|
||||
# The next package that has pending screenshots…
|
||||
@package = @pending_packages.first
|
||||
# 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
|
||||
|
||||
# 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
|
||||
|
||||
end
|
||||
Loading…
Add table
Add a link
Reference in a new issue