rails_admin_aasm 0.0.3 → 0.0.4
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_aasm/configuration.rb +2 -2
- data/lib/rails_admin_aasm/field.rb +42 -25
- data/lib/rails_admin_aasm/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 03a9b8d66a5b55bd0d0780c4514c10755ba230ea
|
4
|
+
data.tar.gz: dc26971f157c056d5e472bf16accf528e78d30e1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4d58d096f34dcf07e92dfb445533e973bb970e6f86a712f98ae79d6bc62b432ebef70a9287abd807eabcad45fd5ae155409bb7953c03e5b49dde64652e13dcd3
|
7
|
+
data.tar.gz: d41815168c60a971ce84126a70734958429aa7daaf01e546ab696befbc703733c47971f784ddeba1a24e275becac0ccd8b0b71ad44b263c8cfbab79954a1870f
|
@@ -31,12 +31,12 @@ module RailsAdminAasm
|
|
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,17 +20,23 @@ module RailsAdmin
|
|
20
20
|
'<div style="height: 10px;"></div>'
|
21
21
|
]
|
22
22
|
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
23
|
+
unless read_only
|
24
|
+
bindings[:object].aasm.events.each do |event|
|
25
|
+
event = event.name
|
26
|
+
next if @state_machine_options.disabled?(event)
|
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
|
31
|
+
event_class = @state_machine_options.event(event)
|
32
|
+
ret << bindings[:view].link_to(
|
33
|
+
event.to_s.humanize,
|
34
|
+
state_path(model_name: @abstract_model, id: bindings[:object].id, event: event, attr: name),
|
35
|
+
method: :post,
|
36
|
+
class: "btn btn-mini btn-xs #{event_class}",
|
37
|
+
style: 'margin-bottom: 5px;'
|
38
|
+
)
|
39
|
+
end
|
34
40
|
end
|
35
41
|
('<div style="white-space: normal;">' + ret.join(' ') + '</div>').html_safe
|
36
42
|
end
|
@@ -52,27 +58,34 @@ module RailsAdmin
|
|
52
58
|
]
|
53
59
|
|
54
60
|
empty = true
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
61
|
+
unless read_only
|
62
|
+
bindings[:object].aasm.events.each do |event|
|
63
|
+
event = event.name
|
64
|
+
next if @state_machine_options.disabled?(event)
|
65
|
+
unless bindings[:controller].try(:authorization_adapter).nil?
|
66
|
+
adapter = bindings[:controller].authorization_adapter
|
67
|
+
next unless (adapter.authorized?(:state, @abstract_model, bindings[:object]) && (adapter.authorized?(:all_events, @abstract_model, bindings[:object]) || adapter.authorized?(event, @abstract_model, bindings[:object])))
|
68
|
+
end
|
69
|
+
empty = false
|
70
|
+
event_class = @state_machine_options.event(event)
|
71
|
+
ret << bindings[:view].link_to(
|
72
|
+
events[event].human_name,
|
73
|
+
'#',
|
74
|
+
'data-attr' => name,
|
75
|
+
'data-event' => event,
|
76
|
+
class: "state-btn btn btn-mini btn-xs #{event_class}",
|
77
|
+
style: 'margin-bottom: 5px;'
|
78
|
+
)
|
79
|
+
end
|
68
80
|
end
|
81
|
+
|
69
82
|
unless empty
|
70
83
|
ret << bindings[:view].link_to(
|
71
84
|
I18n.t('admin.state_machine.no_event'),
|
72
85
|
'#',
|
73
86
|
'data-attr' => name,
|
74
87
|
'data-event' => '',
|
75
|
-
class: "state-btn btn btn-mini active",
|
88
|
+
class: "state-btn btn btn-default btn-mini btn-xs active",
|
76
89
|
style: 'margin-bottom: 5px;'
|
77
90
|
)
|
78
91
|
end
|
@@ -87,6 +100,10 @@ module RailsAdmin
|
|
87
100
|
register_instance_option :partial do
|
88
101
|
:form_state
|
89
102
|
end
|
103
|
+
|
104
|
+
register_instance_option :read_only do
|
105
|
+
false
|
106
|
+
end
|
90
107
|
|
91
108
|
register_instance_option :allowed_methods do
|
92
109
|
[method_name, (method_name.to_s + '_event').to_sym]
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rails_admin_aasm
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chuanpin Zhu
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-06-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails_admin
|
@@ -109,7 +109,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
109
109
|
version: '0'
|
110
110
|
requirements: []
|
111
111
|
rubyforge_project:
|
112
|
-
rubygems_version: 2.
|
112
|
+
rubygems_version: 2.4.5
|
113
113
|
signing_key:
|
114
114
|
specification_version: 4
|
115
115
|
summary: Integrate aasm with rails_admin, add a new type into rails_admin, which is
|