Anonymous uploads replaced by creation of ad-hoc users
This commit is contained in:
parent
d9d0babb2c
commit
0bfacbee30
7 changed files with 78 additions and 48 deletions
|
|
@ -48,7 +48,7 @@ class Package < ApplicationRecord
|
|||
|
||||
# Return a query of all approved/public screenshots of this package
|
||||
def screenshots_approved
|
||||
self.screenshots.find_by(approved: true)
|
||||
self.screenshots.where(approved: true)
|
||||
end
|
||||
|
||||
# Return a query of all approved/public screenshots of this package
|
||||
|
|
|
|||
|
|
@ -90,33 +90,8 @@ class Screenshot < ApplicationRecord
|
|||
end
|
||||
end
|
||||
|
||||
# Check if the user is allowed to change this screenshot
|
||||
def user_can_alter?
|
||||
# - Is this the user's own screenshot? (anonymous)
|
||||
if self.uploaderhash == session[:token]
|
||||
logger.debug "Screenshot belongs to current anonymous user"
|
||||
return true
|
||||
end
|
||||
|
||||
# - Is this the user's own screenshot? (anonymous)
|
||||
if self.user = current_user
|
||||
logger.debug "Screenshot belongs to user who is currently logged in"
|
||||
return true
|
||||
end
|
||||
|
||||
# - Is the user an admin (=logged in)?
|
||||
if current_user.can_admin?
|
||||
logger.debug "User is an administrator and has super powers"
|
||||
return true
|
||||
end
|
||||
|
||||
return false
|
||||
end
|
||||
|
||||
# Publish a screenshot from the moderation queue
|
||||
def approve_screenshot!
|
||||
|
||||
|
||||
self.delete_reason = nil
|
||||
self.markedfordelete = false
|
||||
self.approved = true
|
||||
|
|
@ -131,11 +106,6 @@ class Screenshot < ApplicationRecord
|
|||
self.find_by(approved: true)
|
||||
end
|
||||
|
||||
# Query for screenshots being uploaded by a certain user (by their token)
|
||||
def self.uploaded_by(token)
|
||||
self.where(approved: false, uploaderhash: token)
|
||||
end
|
||||
|
||||
# Check whether the user has administrative permissions
|
||||
def can_admin?
|
||||
self.admin == 1
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue