rails_admin_state 1.4.0 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/rails_admin_state/configuration.rb +2 -2
- data/lib/rails_admin_state/field.rb +15 -6
- data/lib/rails_admin_state/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f20d3e07ff3d8c970ddaf76c901b52dfb13146da
|
4
|
+
data.tar.gz: d5cda2420ed4e07fc683f4322490a3c308b9a720
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fbf712ba02f9ee462f48d7c4152ae0a98aa82b4accc25f4b90d5c26de9e973a93488fea9cdc7f2823748c8020efe444280352297f4bf5f465bbd27278078465f
|
7
|
+
data.tar.gz: e7d726614906b1239af6d8799fe9b21ef9c928d559b9c39739da8fbe82bda2773eca824d1c025beb4899659b7a070c741919d831ad7b3d3688ca398cb93d13ef
|
@@ -31,12 +31,12 @@ module RailsAdminState
|
|
31
31
|
|
32
32
|
def state(name)
|
33
33
|
return '' if name.nil?
|
34
|
-
options[:states][name.to_sym] || ''
|
34
|
+
options[:states][name.to_sym] || 'label-default'
|
35
35
|
end
|
36
36
|
|
37
37
|
def event(name)
|
38
38
|
return '' if name.nil?
|
39
|
-
options[:events][name.to_sym] || ''
|
39
|
+
options[:events][name.to_sym] || 'btn-default'
|
40
40
|
end
|
41
41
|
|
42
42
|
def disabled?(name)
|
@@ -20,18 +20,20 @@ module RailsAdmin
|
|
20
20
|
'<div class="label ' + state_class + '">' + s.human_name + '</div>',
|
21
21
|
'<div style="height: 10px;"></div>'
|
22
22
|
]
|
23
|
-
|
24
23
|
unless read_only
|
25
24
|
events = bindings[:object].class.state_machines[name.to_sym].events
|
26
25
|
bindings[:object].send("#{name}_events".to_sym).each do |event|
|
27
26
|
next if @state_machine_options.disabled?(event)
|
28
|
-
|
27
|
+
unless bindings[:controller].try(:authorization_adapter).nil?
|
28
|
+
adapter = bindings[:controller].authorization_adapter
|
29
|
+
next unless (adapter.authorized?(:state, @abstract_model, bindings[:object]) && (adapter.authorized?(:all_events, @abstract_model, bindings[:object]) || adapter.authorized?(event, @abstract_model, bindings[:object])))
|
30
|
+
end
|
29
31
|
event_class = @state_machine_options.event(event)
|
30
32
|
ret << bindings[:view].link_to(
|
31
33
|
events[event].human_name,
|
32
34
|
state_path(model_name: @abstract_model, id: bindings[:object].id, event: event, attr: name),
|
33
35
|
method: :post,
|
34
|
-
class: "btn btn-mini #{event_class}",
|
36
|
+
class: "btn btn-mini btn-xs #{event_class}",
|
35
37
|
style: 'margin-bottom: 5px;'
|
36
38
|
)
|
37
39
|
end
|
@@ -61,7 +63,10 @@ module RailsAdmin
|
|
61
63
|
events = bindings[:object].class.state_machines[name.to_sym].events
|
62
64
|
bindings[:object].send("#{name}_events".to_sym).each do |event|
|
63
65
|
next if @state_machine_options.disabled?(event)
|
64
|
-
|
66
|
+
unless bindings[:controller].try(:authorization_adapter).nil?
|
67
|
+
adapter = bindings[:controller].authorization_adapter
|
68
|
+
next unless (adapter.authorized?(:state, @abstract_model, bindings[:object]) && (adapter.authorized?(:all_events, @abstract_model, bindings[:object]) || adapter.authorized?(event, @abstract_model, bindings[:object])))
|
69
|
+
end
|
65
70
|
empty = false
|
66
71
|
event_class = @state_machine_options.event(event)
|
67
72
|
ret << bindings[:view].link_to(
|
@@ -69,7 +74,7 @@ module RailsAdmin
|
|
69
74
|
'#',
|
70
75
|
'data-attr' => name,
|
71
76
|
'data-event' => event,
|
72
|
-
class: "state-btn btn btn-mini #{event_class}",
|
77
|
+
class: "state-btn btn btn-mini btn-xs #{event_class}",
|
73
78
|
style: 'margin-bottom: 5px;'
|
74
79
|
)
|
75
80
|
end
|
@@ -80,7 +85,7 @@ module RailsAdmin
|
|
80
85
|
'#',
|
81
86
|
'data-attr' => name,
|
82
87
|
'data-event' => '',
|
83
|
-
class: "state-btn btn btn-mini active",
|
88
|
+
class: "state-btn btn btn-default btn-mini btn-xs active",
|
84
89
|
style: 'margin-bottom: 5px;'
|
85
90
|
)
|
86
91
|
end
|
@@ -96,6 +101,10 @@ module RailsAdmin
|
|
96
101
|
:form_state
|
97
102
|
end
|
98
103
|
|
104
|
+
register_instance_option :read_only do
|
105
|
+
false
|
106
|
+
end
|
107
|
+
|
99
108
|
register_instance_option :allowed_methods do
|
100
109
|
[method_name, (method_name.to_s + '_event').to_sym]
|
101
110
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rails_admin_state
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- glebtv
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-04-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails_admin
|