rails_admin_nestable 0.1.5 → 0.1.6

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,8 +1,8 @@
1
1
  module RailsAdminNestable
2
2
  class Configuration
3
3
 
4
- TREE_DEFAULT_OPTIONS = { enable_callback: false }
5
- LIST_DEFAULT_OPTIONS = { position_field: :position, max_depth: 1, enable_callback: false }
4
+ TREE_DEFAULT_OPTIONS = { enable_callback: false, scope: nil }
5
+ LIST_DEFAULT_OPTIONS = { position_field: :position, max_depth: 1, enable_callback: false, scope: nil }
6
6
 
7
7
  def initialize(abstract_model)
8
8
  @abstract_model = abstract_model
@@ -24,9 +24,10 @@ module RailsAdmin
24
24
  Proc.new do |klass|
25
25
  @nestable_conf = ::RailsAdminNestable::Configuration.new @abstract_model
26
26
 
27
+ # Methods
27
28
  def update_tree(tree_nodes, parent_node = nil)
28
29
  tree_nodes.each do |key, value|
29
- model = @abstract_model.model.find(value['id'])
30
+ model = @abstract_model.model.find(value['id'].to_i)
30
31
 
31
32
  if parent_node.present?
32
33
  model.parent = parent_node
@@ -48,13 +49,13 @@ module RailsAdmin
48
49
 
49
50
  def update_list(model_list)
50
51
  model_list.each do |key, value|
51
- model = @abstract_model.model.find(value['id'])
52
+ model = @abstract_model.model.find(value['id'].to_i)
52
53
  model.send("#{@nestable_conf.options[:position_field]}=".to_sym, (key.to_i + 1))
53
54
  model.save!(validate: @nestable_conf.options[:enable_callback])
54
55
  end
55
56
  end
56
57
 
57
- if params['tree_nodes'].present?
58
+ if request.post? && params['tree_nodes'].present?
58
59
  begin
59
60
  ActiveRecord::Base.transaction do
60
61
  if @nestable_conf.tree?
@@ -71,13 +72,28 @@ module RailsAdmin
71
72
  end
72
73
 
73
74
  render text: message
74
- else
75
+ end
76
+
77
+ if request.get?
78
+ scope = begin
79
+ case @nestable_conf.options[:scope].class.to_s
80
+ when 'Proc'
81
+ @nestable_conf.options[:scope].call
82
+ when 'Symbol'
83
+ @abstract_model.model.public_send(@nestable_conf.options[:scope])
84
+ else
85
+ nil
86
+ end
87
+ end
88
+
89
+ query = list_entries(@model_config, :nestable, false, false).reorder(nil).merge(scope)
90
+
75
91
  if @nestable_conf.tree?
76
- @tree_nodes = @abstract_model.model.arrange(order: @nestable_conf.options[:position_field])
92
+ @tree_nodes = query.arrange(order: @nestable_conf.options[:position_field])
77
93
  end
78
94
 
79
95
  if @nestable_conf.list?
80
- @tree_nodes = @abstract_model.model.order(@nestable_conf.options[:position_field])
96
+ @tree_nodes = query.order(@nestable_conf.options[:position_field])
81
97
  end
82
98
 
83
99
  render action: @action.template_name
@@ -1,3 +1,3 @@
1
1
  module RailsAdminNestable
2
- VERSION = "0.1.5"
2
+ VERSION = "0.1.6"
3
3
  end
metadata CHANGED
@@ -1,20 +1,18 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails_admin_nestable
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.5
5
- prerelease:
4
+ version: 0.1.6
6
5
  platform: ruby
7
6
  authors:
8
7
  - Andrea Dal Ponte
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-09-09 00:00:00.000000000 Z
11
+ date: 2013-11-16 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: rails
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
17
  - - ! '>='
20
18
  - !ruby/object:Gem::Version
@@ -22,7 +20,6 @@ dependencies:
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
24
  - - ! '>='
28
25
  - !ruby/object:Gem::Version
@@ -30,7 +27,6 @@ dependencies:
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: rails_admin
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
31
  - - ! '>='
36
32
  - !ruby/object:Gem::Version
@@ -38,7 +34,6 @@ dependencies:
38
34
  type: :runtime
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
38
  - - ! '>='
44
39
  - !ruby/object:Gem::Version
@@ -46,7 +41,6 @@ dependencies:
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: haml-rails
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
45
  - - ! '>='
52
46
  - !ruby/object:Gem::Version
@@ -54,7 +48,6 @@ dependencies:
54
48
  type: :runtime
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
52
  - - ! '>='
60
53
  - !ruby/object:Gem::Version
@@ -62,7 +55,6 @@ dependencies:
62
55
  - !ruby/object:Gem::Dependency
63
56
  name: coffee-rails
64
57
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
58
  requirements:
67
59
  - - ! '>='
68
60
  - !ruby/object:Gem::Version
@@ -70,7 +62,6 @@ dependencies:
70
62
  type: :runtime
71
63
  prerelease: false
72
64
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
65
  requirements:
75
66
  - - ! '>='
76
67
  - !ruby/object:Gem::Version
@@ -78,7 +69,6 @@ dependencies:
78
69
  - !ruby/object:Gem::Dependency
79
70
  name: sass-rails
80
71
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
72
  requirements:
83
73
  - - ! '>='
84
74
  - !ruby/object:Gem::Version
@@ -86,7 +76,6 @@ dependencies:
86
76
  type: :runtime
87
77
  prerelease: false
88
78
  version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
79
  requirements:
91
80
  - - ! '>='
92
81
  - !ruby/object:Gem::Version
@@ -119,27 +108,27 @@ files:
119
108
  - Rakefile
120
109
  - README.md
121
110
  homepage: https://github.com/dalpo/rails_admin_nestable
122
- licenses: []
111
+ licenses:
112
+ - MIT
113
+ metadata: {}
123
114
  post_install_message:
124
115
  rdoc_options: []
125
116
  require_paths:
126
117
  - lib
127
118
  required_ruby_version: !ruby/object:Gem::Requirement
128
- none: false
129
119
  requirements:
130
120
  - - ! '>='
131
121
  - !ruby/object:Gem::Version
132
122
  version: '0'
133
123
  required_rubygems_version: !ruby/object:Gem::Requirement
134
- none: false
135
124
  requirements:
136
125
  - - ! '>='
137
126
  - !ruby/object:Gem::Version
138
127
  version: '0'
139
128
  requirements: []
140
129
  rubyforge_project:
141
- rubygems_version: 1.8.25
130
+ rubygems_version: 2.1.10
142
131
  signing_key:
143
- specification_version: 3
132
+ specification_version: 4
144
133
  summary: Reorganise model data with a drag and drop tree/list structure
145
134
  test_files: []