Screenshot upload process fixed and tested
This commit is contained in:
parent
125e9c8ee5
commit
9428d8d7dd
5 changed files with 60 additions and 3 deletions
|
|
@ -56,7 +56,9 @@ class PackagesController < ApplicationController
|
|||
new_screenshot.version = @package.version
|
||||
new_screenshot.user = current_user
|
||||
|
||||
# TODO: must it be moderated first?
|
||||
# Package is not approved by default. Approve automatically
|
||||
# for authenticated users.
|
||||
new_screenshot.approve! if current_user and not current_user.is_anonymous?
|
||||
|
||||
new_screenshot.save
|
||||
Log.log "Screenshot #{new_screenshot.id} uploaded successfully from #{session[:ip]}. User has token #{session[:token]} or is #{current_user}"
|
||||
|
|
@ -145,7 +147,7 @@ class PackagesController < ApplicationController
|
|||
|
||||
def approve_screenshot
|
||||
@screenshot = Screenshot.find(params[:id])
|
||||
@screenshot.approve_screenshot!
|
||||
@screenshot.approve!
|
||||
flash['notice'] = "Screenshot approved."
|
||||
redirect_back(fallback_location: package_path(name: @screenshot.package.name))
|
||||
end
|
||||
|
|
|
|||
|
|
@ -91,7 +91,7 @@ class Screenshot < ApplicationRecord
|
|||
end
|
||||
|
||||
# Publish a screenshot from the moderation queue
|
||||
def approve_screenshot!
|
||||
def approve!
|
||||
self.delete_reason = nil
|
||||
self.markedfordelete = false
|
||||
self.approved = true
|
||||
|
|
|
|||
|
|
@ -43,6 +43,13 @@ class User < ApplicationRecord
|
|||
self.admin == 1
|
||||
end
|
||||
|
||||
# Check if a user has been created on-the-fly and is just an
|
||||
# anonymous user who uploaded a screenshot. They can turn this
|
||||
# user record into a registered account though.
|
||||
def is_anonymous?
|
||||
self.provider == nil
|
||||
end
|
||||
|
||||
def self.from_omniauth(auth)
|
||||
where(provider: auth.provider, email: auth.info.email).first_or_create do |user|
|
||||
user.provider = auth.provider
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue