37 lines
1.2 KiB
Ruby
37 lines
1.2 KiB
Ruby
class ApplicationController < ActionController::Base
|
|
# Prevent CSRF attacks by raising an exception.
|
|
# For APIs, you may want to use :null_session instead.
|
|
protect_from_forgery with: :exception
|
|
|
|
# Do not mention passwords in the log file
|
|
# filter_parameter_logging :password
|
|
|
|
before_action :moderate_packages
|
|
|
|
private
|
|
|
|
# If the current user is an administrator then show a second bar below
|
|
# the navigation bar that contains a paginator of packages that contain
|
|
# screenshots that require moderation.
|
|
def moderate_packages
|
|
if can? :approve, Screenshot and Package.need_moderation.any?
|
|
@moderate_packages = Package.need_moderation
|
|
end
|
|
end
|
|
|
|
# Define where the user is redirected to after a successful login.
|
|
def after_sign_in_path_for(resource)
|
|
my_profile_path
|
|
end
|
|
|
|
# Overwriting the sign_out redirect path method
|
|
def after_sign_out_path_for(resource_or_scope)
|
|
root_path
|
|
end
|
|
|
|
# Write a message into the audit log in the database
|
|
def auditlog(message, level: 'info', screenshot: nil, package: nil)
|
|
Log.log(message, ip: request.remote_ip, user: current_user,
|
|
screenshot: screenshot, package: package)
|
|
end
|
|
end
|