rails_admin_state 1.4.0 → 1.5.0

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: 70f321c024aeac6a4221473e8a2593f910ff79dd
4
- data.tar.gz: e34bf9fb9543c16cb3a956e0c7ed83f4b62505d1
3
+ metadata.gz: f20d3e07ff3d8c970ddaf76c901b52dfb13146da
4
+ data.tar.gz: d5cda2420ed4e07fc683f4322490a3c308b9a720
5
5
  SHA512:
6
- metadata.gz: 2a604a9778980a1c1d91b060217751b89a753336d138564810e622645f974e49ccc7b6193887303f23429563675b6b07199f33bcb81bcc0d180c41ae4d8416c3
7
- data.tar.gz: d81b038a026e7ab49bc0657bb1e33c1484a39f99669caaae493244c42beacb5c31f17cff45eaee743024dd677c2c014d21eeefff6210bfe02620035f46d53db1
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
- next unless v.authorized?(:state, @abstract_model, bindings[:object]) && (v.authorized?(:all_events, @abstract_model, bindings[:object]) || v.authorized?(event, @abstract_model, bindings[:object]))
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
- next unless v.authorized?(:state, @abstract_model, bindings[:object]) && (v.authorized?(:all_events, @abstract_model, bindings[:object]) || v.authorized?(event, @abstract_model, bindings[:object]))
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
@@ -1,3 +1,3 @@
1
1
  module RailsAdminState
2
- VERSION = "1.4.0"
2
+ VERSION = "1.5.0"
3
3
  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.0
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-03-12 00:00:00.000000000 Z
11
+ date: 2015-04-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails_admin