Class: ZenAdmin::AuditLog

Inherits:
ApplicationRecord show all
Defined in:
app/models/zen_admin/audit_log.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.record(user, resource, action, changes: nil, note: nil, request: nil) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'app/models/zen_admin/audit_log.rb', line 5

def self.record(user, resource, action, changes: nil, note: nil, request: nil)
  return unless ZenAdmin.configuration.audit_log_enable

  # 获取资源类型
  res_type = resource.is_a?(Class) ? resource.name : resource.class.name
  
  # 过滤掉回收站自身的审计
  return if res_type == "ZenAdmin::TrashItem"

  create(
    admin_user_id: user.try(:id),
    admin_username: user.try(:username),
    resource_type: res_type,
    resource_id: resource.respond_to?(:id) ? resource.id : nil,
    action: action,
    note: note,
    changes_data: changes,
    ip_address: request.try(:remote_ip),
    user_agent: request.try(:user_agent),
    created_at: Time.current
  )
end

Instance Method Details

#zen_admin_deletable?Boolean

Returns:

  • (Boolean)


29
# File 'app/models/zen_admin/audit_log.rb', line 29

def zen_admin_deletable?; false; end

#zen_admin_editable?Boolean

Returns:

  • (Boolean)


28
# File 'app/models/zen_admin/audit_log.rb', line 28

def zen_admin_editable?; false; end