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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 62ab8888670e54e788572c05349d128e62cd859f
4
- data.tar.gz: c6267c4f0522baefdd6be410bb69a5c3128e26ad
3
+ metadata.gz: 03a9b8d66a5b55bd0d0780c4514c10755ba230ea
4
+ data.tar.gz: dc26971f157c056d5e472bf16accf528e78d30e1
5
5
  SHA512:
6
- metadata.gz: 8f6f56be2ec2b3b7e0b427cd5f235da6a2baaa8bc6d82268cb76d5b223d036fd9ffb7fbf70e8c3efb49596135ba66c9026bfe52915d13404a3c552594ee1a35d
7
- data.tar.gz: c8e9c3930332bc81a553d1b57e443474cde235376558b600fa1520479bb485431be33ea693e3ddd9282f3006c68cecd4850e9b7c6b53341208186b1ea3f3b572
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
- bindings[:object].aasm.events.each do |event|
24
- next unless event.may_fire? bindings[:object]
25
- next unless v.authorized?(:state, @abstract_model, bindings[:object]) && (v.authorized?(:all_events, @abstract_model, bindings[:object]) || v.authorized?(event.name, @abstract_model, bindings[:object]))
26
- event_class = @state_machine_options.event(event.name)
27
- ret << bindings[:view].link_to(
28
- event.name.to_s.capitalize,
29
- state_path(model_name: @abstract_model, id: bindings[:object].id, event: event.name, attr: name),
30
- method: :post,
31
- class: "btn btn-mini #{event_class}",
32
- style: 'margin-bottom: 5px;'
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
- bindings[:object].aasm.events.each do |event|
56
- next unless event.may_fire? bindings[:object]
57
- next unless v.authorized?(:state, @abstract_model, bindings[:object]) && (v.authorized?(:all_events, @abstract_model, bindings[:object]) || v.authorized?(event.name, @abstract_model, bindings[:object]))
58
- empty = false
59
- event_class = @state_machine_options.event(event.name)
60
- ret << bindings[:view].link_to(
61
- event.name.to_s.capitalize,
62
- '#',
63
- 'data-attr' => name,
64
- 'data-event' => event.name,
65
- class: "state-btn btn btn-mini #{event_class}",
66
- style: 'margin-bottom: 5px;'
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]
@@ -1,3 +1,3 @@
1
1
  module RailsAdminAasm
2
- VERSION = "0.0.3"
2
+ VERSION = "0.0.4"
3
3
  end
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.3
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-01-01 00:00:00.000000000 Z
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.2.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