debshots/app/controllers/application_controller.rb

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