rails_admin_state 1.1.1 → 1.2.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: 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