Added simple moderate feature in My page

This commit is contained in:
Christoph Haas 2021-02-14 18:48:48 +01:00
parent 953cd056aa
commit ce7198b713
5 changed files with 39 additions and 9 deletions

View file

@ -11,6 +11,9 @@ class AdminController < ApplicationController
def integration
end
def moderate_list
end
def logs
logs = Log

View file

@ -13,6 +13,29 @@ class MyController < ApplicationController
'screenshots.id' => @current_users_screenshots)
end
def moderate_list
# First package with pending screenshots
@packages = Package.joins(:screenshots).where('screenshots.approved=false or screenshots.markedfordelete=true').distinct(:name)
# # # List of screenshots that were reported (to be removed)
# # @reported_screenshots = Screenshot.where(markedfordelete: true)
# # # First package with reported screenshots
# # @reported_package = Package.joins(:screenshots).where('screenshots.markedfordelete=true').distinct(:name).first
# if @package
# # List of screenshots to be moderated
# @pending_screenshots = @package.screenshots_pending
# # Number of screenshots that were already moderated (during this session)
# session[:already_moderated] ||= 0
# @moderated_screenshots = session[:already_moderated]
# # BUG: calculation is wrong when pending and reported screenshots are in the queue
# # Percentage of already moderated screenshots
# @percent_moderated = 100 * (@moderated_screenshots+1) / (@moderated_screenshots + @pending_screenshots.count)
# # @percent_moderated = 100 * (@moderated_screenshots+1) / (@moderated_screenshots + @pending_screenshots.count + @reported_screenshots.count)
# end
end
# def welcome
# end

View file

@ -71,15 +71,15 @@ class Screenshot < ApplicationRecord
end
# Brief text describing the status of this screenshots (for admins)
# def adminstatus
# if self.markedfordelete
# "Removal requested > #{self.delete_reason}"
# elsif self.approved
# 'Public'
# else
# fa_icon('hourglass') + 'Waiting for approval'
# end
# end
def adminstatus
if self.markedfordelete
"Removal requested > #{self.delete_reason}"
elsif self.approved
'Public'
else
fa_icon('hourglass') + 'Waiting for approval'
end
end
# Publish a screenshot from the moderation queue
def approve!

View file

@ -3,6 +3,9 @@
li class=('active' if action_name=='profile')
= link_to my_profile_path
= fa_icon 'user-o 2x', text: 'Myself'
li class=('active' if action_name=='moderate_list')
= link_to moderate_list_path
= fa_icon 'check 2x', text: 'Moderate'
// Add link if user has uploaded screenshots
- if @current_users_screenshots and @current_users_screenshots.any?
li class=('active' if controller_name=='my' and action_name=='uploads')

View file

@ -22,6 +22,7 @@ Rails.application.routes.draw do
get 'my/profile'
get 'my/uploads'
get 'my/welcome'
get 'my/moderate_list', as: :moderate_list
get 'package/:name' => 'packages#details', as: :package, name: /[^\/]+/
get 'package_reviews/:name' => 'packages#reviews', as: :package_reviews, name: /[^\/]+/
get 'upload', to: redirect('/packages'), as: :upload_legacy # legacy upload form