Audit logging improved. References users, screenshots, packages
This commit is contained in:
parent
b6dee6b93c
commit
2fef9c7043
12 changed files with 95 additions and 45 deletions
|
|
@ -1,6 +1,9 @@
|
|||
# require 'pry'
|
||||
|
||||
class Log < ApplicationRecord
|
||||
belongs_to :user
|
||||
belongs_to :package
|
||||
belongs_to :screenshot
|
||||
validates :message, presence: true
|
||||
|
||||
validates :section, presence: true
|
||||
|
|
@ -13,7 +16,7 @@ class Log < ApplicationRecord
|
|||
order('id DESC')
|
||||
}
|
||||
|
||||
def self.log(message, ip_address='0.0.0.0', section='frontend', level='info')
|
||||
def self.log(message, ip: nil, user: nil, section: 'frontend', level: 'info', screenshot: nil, package: nil)
|
||||
log = Log.new
|
||||
|
||||
ip_address = request.remote_ip if defined? request
|
||||
|
|
@ -22,8 +25,10 @@ class Log < ApplicationRecord
|
|||
log.message = message
|
||||
log.section = section
|
||||
log.level = level
|
||||
log.ip_address = ip_address
|
||||
log.token = token
|
||||
log.ip_address = ip.to_s
|
||||
log.screenshot = screenshot
|
||||
log.package = package
|
||||
log.user = user # current_user
|
||||
logger.error "Could not log to database - validation errors: #{log.errors.to_a}" unless log.valid?
|
||||
log.save
|
||||
# log
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
class User < ApplicationRecord
|
||||
has_many :screenshots, :inverse_of=>:user
|
||||
has_many :screenshots, inverse_of: :user
|
||||
|
||||
# Include default devise modules. Others available are:
|
||||
# :confirmable, :lockable, :timeoutable and :omniauthable
|
||||
|
|
@ -78,7 +78,14 @@ class User < ApplicationRecord
|
|||
password: generated_password,
|
||||
pseudo: true
|
||||
)
|
||||
Log.log "New pseudo user for anonymous upload created: #{new_user}"
|
||||
return new_user
|
||||
end
|
||||
|
||||
def to_s
|
||||
if self.pseudo
|
||||
"Pseudo user"
|
||||
else
|
||||
"#{self.email} (#{self.provider})"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue