rails_admin_aasm 0.0.3 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
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