rails_admin_state 1.1.1 → 1.2.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 483879419a3bcb826e586e1867a51d249f6c0e81
4
- data.tar.gz: dc0ecc168b2f5fda75efe7df1359e1dac78bb00a
3
+ metadata.gz: 6d212ee119619ef85b445d0c25598d3a0e80b747
4
+ data.tar.gz: 1b0e5d57c8db6ad968e19c914a29c32a5e8c8882
5
5
  SHA512:
6
- metadata.gz: 3028322fec42385e42dd9cf643febb2215a2ebde28b1cc7a4bfa29c0f664031663e440a168349842584f0edc741d13988d87994d9ae7f93daad7bfc6dde6f294
7
- data.tar.gz: 85278300901aa57c867dbffd97dca7c37c807be84344d086e15109e172dc76e9e290d282b37edd551b01b30a67d81051507aee04935e36d222719edbd1377292
6
+ metadata.gz: 1a7cf527ca9611cba7896a5ec60e965d8049f6e8c192ab1bc0c45ae81330f3a91c5725c5886365323fe0241c034d084e917929a562bc01f5339cd7eb047a1c92
7
+ data.tar.gz: c459ce5dd783bc94d858ccf699e31f0784ba23f4c890bf85c88822b680fd2630f75940ad88152a625d52e32d5919d52893736524749592aab3c842bd695674f6
data/README.md CHANGED
@@ -57,8 +57,9 @@ Mark the field you need display as state:
57
57
  end
58
58
  ...
59
59
  state({
60
- events: {dead: 'btn-important', drain: 'btn-warning', alive: 'btn-success'},
60
+ events: {dead: 'btn-danger', drain: 'btn-warning', alive: 'btn-success'},
61
61
  states: {dead: 'label-important', drain: 'label-warning', alive: 'label-success'}
62
+ disable: [:dead] # disable some events so they are not shown.
62
63
  })
63
64
 
64
65
  end
@@ -20,8 +20,10 @@ module RailsAdmin
20
20
 
21
21
  register_instance_option :controller do
22
22
  Proc.new do |klass|
23
+ @state_machine_options = ::RailsAdminState::Configuration.new @abstract_model
23
24
  if params['id'].present?
24
25
  begin
26
+ raise 'event disabled' if @state_machine_options.disabled?(params[:event].to_sym)
25
27
  obj = @abstract_model.model.find(params['id'])
26
28
  if obj.send("fire_#{params[:attr]}_event".to_sym, params[:event].to_sym)
27
29
  obj.save!
@@ -24,6 +24,7 @@ module RailsAdminState
24
24
  delete: 'btn-danger',
25
25
  trash: 'btn-danger',
26
26
  },
27
+ disable: []
27
28
  }.merge(config)
28
29
  @options
29
30
  end
@@ -38,6 +39,12 @@ module RailsAdminState
38
39
  options[:events][name.to_sym] || ''
39
40
  end
40
41
 
42
+ def disabled?(name)
43
+ return '' if name.nil?
44
+ options[:disable].include? name.to_sym
45
+ end
46
+
47
+
41
48
  protected
42
49
  def config
43
50
  begin
@@ -22,6 +22,7 @@ module RailsAdmin
22
22
 
23
23
  events = bindings[:object].class.state_machines[name.to_sym].events
24
24
  bindings[:object].send("#{name}_events".to_sym).each do |event|
25
+ next if @state_machine_options.disabled?(event)
25
26
  event_class = @state_machine_options.event(event)
26
27
  ret << bindings[:view].link_to(
27
28
  events[event].human_name,
@@ -1,3 +1,3 @@
1
1
  module RailsAdminState
2
- VERSION = "1.1.1"
2
+ VERSION = "1.2.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.1.1
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - glebtv
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-11-28 00:00:00.000000000 Z
11
+ date: 2013-12-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails_admin