rails_admin_nestable 0.1.5 → 0.1.6

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.
@@ -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: []