cmor_audits 0.0.58.pre → 0.0.59.pre
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/concerns/cmor/audits/routing/paper_trail_resources_concern.rb +2 -2
- data/app/controllers/cmor/audits/paper_trail/versions_controller.rb +6 -0
- data/app/views/cmor/audits/paper_trail/versions/_index_table.html.haml +13 -0
- data/config/locales/de.yml +2 -1
- data/config/locales/en.yml +5 -4
- data/config/routes.rb +3 -1
- data/lib/cmor/audits/engine.rb +4 -2
- data/lib/generators/cmor/audits/install/templates/initializer.rb +28 -4
- metadata +6 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6ce7168424890bd736a94277e2ee9633d3094f788a49bf95f7f3d341e61043b8
|
4
|
+
data.tar.gz: 4e10f4f69096004032f51235ee2756055852dfc8a55cb23bbdd618fad7013b04
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e433eb4bda8e7ab621a0c24e46fda5d4e72807155ad22c3125bebda922057d5993bd5e27ab0303336e5fe7688875488f94000177da340fee659cbc35b4b39538
|
7
|
+
data.tar.gz: b05b4129ed433aa82304b7006001e5cfba9e59e56eb2153986e8f391ee4d2aa67f035eba4884944642fa0e7b49ee2d2db9cb52d39d86dc04cc66c34f40109a1f
|
@@ -30,8 +30,8 @@ module Cmor
|
|
30
30
|
# PUT /pages/:id(.:format) cmor/cms/backend/pages#update
|
31
31
|
#
|
32
32
|
def paper_trail_resources
|
33
|
-
get "versions/:version_id", on: :member, action: :version
|
34
|
-
get "version_at(/:version_at)", on: :member, action: :version_at
|
33
|
+
get "versions/:version_id", on: :member, action: :version, as: :version
|
34
|
+
get "version_at(/:version_at)", on: :member, action: :version_at, as: :version_at
|
35
35
|
get "versions", on: :member, action: :versions
|
36
36
|
end
|
37
37
|
end
|
@@ -1,3 +1,4 @@
|
|
1
|
+
= table.batch_actions
|
1
2
|
= table.id sort: true
|
2
3
|
= table.column :item_type, sort: true
|
3
4
|
= table.column :item_id, sort: true
|
@@ -5,3 +6,15 @@
|
|
5
6
|
= table.column :whodunnit, sort: true
|
6
7
|
= table.column :object
|
7
8
|
= table.timestamp :created_at, sort: true
|
9
|
+
= table.column :version_actions do |resource|
|
10
|
+
- if resource.item_type.constantize.respond_to?(:version_class_name) && resource.reify.present? && resource.item.present?
|
11
|
+
- capture_haml do
|
12
|
+
- if Cmor::Audits::Configuration.resources.call.dig(resource.item_type, :link_to_version).present?
|
13
|
+
- target = instance_exec(resource, &Cmor::Audits::Configuration.resources.call.dig(resource.item_type, :link_to_version))
|
14
|
+
- else
|
15
|
+
- router_method_name = (Administrador.engines.values.map(&:resources_controllers).flatten.find { |c| c.resource_class == resource.item_type.constantize }&.engine_class&.to_s&.deconstantize&.underscore.gsub('/', '_') || "main_app")
|
16
|
+
- target = send(router_method_name).polymorphic_path([:version, resource.reify], version_id: resource.id)
|
17
|
+
|
18
|
+
= link_to(target, class: 'btn btn-xs btn-primary btn-responsive') do
|
19
|
+
%i.fas.fa-history
|
20
|
+
%span.btn-text= t('.show')
|
data/config/locales/de.yml
CHANGED
data/config/locales/en.yml
CHANGED
@@ -13,20 +13,21 @@ en:
|
|
13
13
|
item: Item
|
14
14
|
item_id: Item-ID
|
15
15
|
item_type: Item-Type
|
16
|
-
object:
|
17
|
-
|
16
|
+
object: Object
|
17
|
+
version_actions: Auditing
|
18
18
|
whodunnit: Changed by
|
19
|
+
created_at: Created at
|
19
20
|
cmor:
|
20
21
|
core:
|
21
22
|
backend:
|
22
23
|
resources_controller:
|
23
24
|
base:
|
24
25
|
version:
|
25
|
-
back:
|
26
|
+
back: Back
|
26
27
|
next: Next
|
27
28
|
previous: Previous
|
28
29
|
versions:
|
29
|
-
back:
|
30
|
+
back: Back
|
30
31
|
versions_form_buttons:
|
31
32
|
submit: Show
|
32
33
|
routes:
|
data/config/routes.rb
CHANGED
data/lib/cmor/audits/engine.rb
CHANGED
@@ -11,10 +11,12 @@ module Cmor::Audits
|
|
11
11
|
|
12
12
|
Cmor::Audits::Configuration.resources.call.each do |resource_class, options|
|
13
13
|
print "[Cmor::Audits] Enabling paper trail on #{resource_class}"
|
14
|
-
resource_class.constantize.send(:has_paper_trail, options)
|
14
|
+
resource_class.constantize.send(:has_paper_trail, (options[:paper_trail] || {}))
|
15
15
|
puts " => [OK]"
|
16
16
|
end
|
17
|
+
end
|
17
18
|
|
19
|
+
config.after_initialize do
|
18
20
|
print "[Cmor::Audits] Adding resources routes"
|
19
21
|
Cmor::Core::Backend.configure do |config|
|
20
22
|
config.add_resources_routes(
|
@@ -28,7 +30,7 @@ module Cmor::Audits
|
|
28
30
|
unless Rails.application.config.instance_variable_get(:@eager_load)
|
29
31
|
print "[Cmor::Audits] Reloading routes"
|
30
32
|
Rails.application.reload_routes!
|
31
|
-
puts " => [OK
|
33
|
+
puts " => [OK]"
|
32
34
|
end
|
33
35
|
end
|
34
36
|
end
|
@@ -28,12 +28,36 @@ Cmor::Audits.configure do |config|
|
|
28
28
|
config.sidebar_controllers = -> {[]}
|
29
29
|
|
30
30
|
# Specify the models that will be audited. Listing models here is the same
|
31
|
-
# as adding has_paper_trail to the model class directly.
|
32
|
-
# to has_paper_trail as options hash.
|
31
|
+
# as adding has_paper_trail to the model class directly.
|
33
32
|
#
|
34
|
-
# Example: config.resources = -> {
|
33
|
+
# Example: config.resources = -> {
|
34
|
+
# {
|
35
|
+
# "Cmor::Cms::Page" => {}
|
36
|
+
# }
|
37
|
+
# }
|
35
38
|
#
|
36
|
-
#
|
39
|
+
# Options:
|
40
|
+
#
|
41
|
+
# paper_trail: The paper_trail hash is passed to has_paper_trail as options hash.
|
42
|
+
#
|
43
|
+
# Example: config.resources = -> {
|
44
|
+
# {
|
45
|
+
# "Post" => { paper_trail: { on: [:update] }
|
46
|
+
# }
|
47
|
+
# }
|
48
|
+
#
|
49
|
+
# link_to_version: If you need a custom link to the specific version of a
|
50
|
+
# resource, you can override the url generation here:
|
51
|
+
#
|
52
|
+
# Example:
|
53
|
+
#
|
54
|
+
# config.resources = -> {
|
55
|
+
# {
|
56
|
+
# "ActiveStorage::Blob" => { link_to_version: ->(resource) { cmor_system.polymorphic_path([:version, :active_storage, resource.reify], version_id: resource.id) } }
|
57
|
+
# }
|
58
|
+
# }
|
59
|
+
#
|
60
|
+
# Default: config.resources = -> {{}}
|
37
61
|
#
|
38
62
|
config.resources = -> { {} }
|
39
63
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cmor_audits
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.59.pre
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Roberto Vasquez Angel
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-08-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -30,28 +30,28 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - '='
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 0.0.
|
33
|
+
version: 0.0.59.pre
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - '='
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 0.0.
|
40
|
+
version: 0.0.59.pre
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: cmor_core_backend
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - '='
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: 0.0.
|
47
|
+
version: 0.0.59.pre
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - '='
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: 0.0.
|
54
|
+
version: 0.0.59.pre
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: sqlite3
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|