active_scaffold_batch 3.3.4 → 3.4.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 +4 -4
- data/README +3 -0
- data/app/views/active_scaffold_overrides/_batch_create_form_body.html.erb +2 -2
- data/app/views/active_scaffold_overrides/_batch_update_form_body.html.erb +2 -2
- data/lib/active_scaffold/actions/batch_create.rb +2 -2
- data/lib/active_scaffold/actions/batch_destroy.rb +1 -1
- data/lib/active_scaffold/actions/batch_update.rb +9 -4
- data/lib/active_scaffold_batch/version.rb +2 -2
- metadata +35 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: af11e767025d20bb80b31cb2d330e2e33d6cb08f
|
4
|
+
data.tar.gz: 654aa97b3d6ea2482d31efe41e60f8a7d190821b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 638487d305e9fe5d42ef1fa5abad1757c7d97d94fadc3cad8776cbcf98caeb225a05b8c6b72590ade4c36f6baf9281f157bf91eda5a9a1bf60c7fe069f9bd874
|
7
|
+
data.tar.gz: 0222c76e3004511441843e213a759f305d9897c14ddd132ef8b8a47fddb1abeff7e7f81b103ff12acb00b8628614da77736e0e5f4f6a2042c274c39baa3ee15b
|
data/README
CHANGED
@@ -2,6 +2,9 @@ ActiveScaffold batch is a gem which adds batch_update, batch_create and batch_de
|
|
2
2
|
|
3
3
|
gem 'active_scaffold_batch'
|
4
4
|
|
5
|
+
It works with ActiveScaffold >= 3.4.18 and rails >= 4.0.
|
6
|
+
Use 3.3.x for rails 3.2.x.
|
7
|
+
|
5
8
|
In the config block of an activescaffold you can add any of the following lines:
|
6
9
|
|
7
10
|
config.actions.add :batch_create
|
@@ -4,7 +4,7 @@
|
|
4
4
|
<%= hidden_field_tag("batch_scope", (batch_scope || 'LISTED')) %>
|
5
5
|
</li>
|
6
6
|
<% columns.each :for => @record do |column| %>
|
7
|
-
<% next
|
7
|
+
<% next unless column.association.nil? || column.association.belongs_to? %>
|
8
8
|
<% renders_as = column_renders_as(column) %>
|
9
9
|
<% if renders_as == :subsection -%>
|
10
10
|
<% subsection_id = sub_section_id(:sub_section => column.label) %>
|
@@ -13,7 +13,7 @@
|
|
13
13
|
<%= render :partial => 'form', :locals => { :columns => column, :subsection_id => subsection_id} %>
|
14
14
|
<%= link_to_visibility_toggle(subsection_id, {:default_visible => !column.collapsed}) -%>
|
15
15
|
</li>
|
16
|
-
<% elsif column.
|
16
|
+
<% elsif column.association.try(:readonly?)
|
17
17
|
next %>
|
18
18
|
<% else
|
19
19
|
renders_as = :field if renders_as == :subform -%>
|
@@ -4,7 +4,7 @@
|
|
4
4
|
<%= render :partial => 'batch_update_form_attribute_scope' -%>
|
5
5
|
</li>
|
6
6
|
<% columns.each :for => @record do |column| %>
|
7
|
-
<% next
|
7
|
+
<% next unless column.association.nil? || column.association.belongs_to? %>
|
8
8
|
<% renders_as = column_renders_as(column) %>
|
9
9
|
<% if renders_as == :subsection -%>
|
10
10
|
<% subsection_id = sub_section_id(:sub_section => column.label) %>
|
@@ -13,7 +13,7 @@
|
|
13
13
|
<%= render :partial => 'form', :locals => { :columns => column, :subsection_id => subsection_id } %>
|
14
14
|
<%= link_to_visibility_toggle(subsection_id, :default_visible => !column.collapsed) -%>
|
15
15
|
</li>
|
16
|
-
<% elsif column.
|
16
|
+
<% elsif column.association.try(:readonly?)
|
17
17
|
next %>
|
18
18
|
<% else
|
19
19
|
renders_as = :field if renders_as == :subform -%>
|
@@ -3,7 +3,7 @@ module ActiveScaffold::Actions
|
|
3
3
|
|
4
4
|
def self.included(base)
|
5
5
|
base.send :include, ActiveScaffold::Actions::BatchBase unless base < ActiveScaffold::Actions::BatchBase
|
6
|
-
base.
|
6
|
+
base.before_action :batch_create_authorized_filter, :only => [:batch_new, :batch_create]
|
7
7
|
base.helper_method :batch_create_values
|
8
8
|
base.helper_method :batch_create_by_column
|
9
9
|
base.helper_method :batch_create_by_records
|
@@ -49,7 +49,7 @@ module ActiveScaffold::Actions
|
|
49
49
|
if @batch_create_by_records.nil?
|
50
50
|
if marked_records_parent
|
51
51
|
column = active_scaffold_config.columns[batch_create_by_column.to_sym]
|
52
|
-
@batch_create_by_records = if column.
|
52
|
+
@batch_create_by_records = if column.association.polymorphic?
|
53
53
|
active_scaffold_config_for(params[:batch_create_by].singularize).model.find(marked_records_parent.keys)
|
54
54
|
else
|
55
55
|
column_plural_assocation_value_from_value(column, marked_records_parent.keys)
|
@@ -3,7 +3,7 @@ module ActiveScaffold::Actions
|
|
3
3
|
|
4
4
|
def self.included(base)
|
5
5
|
base.send :include, ActiveScaffold::Actions::BatchBase unless base < ActiveScaffold::Actions::BatchBase
|
6
|
-
base.
|
6
|
+
base.before_action :batch_destroy_authorized_filter, :only => [:batch_destroy]
|
7
7
|
end
|
8
8
|
|
9
9
|
def batch_destroy
|
@@ -23,7 +23,7 @@ module ActiveScaffold::Actions
|
|
23
23
|
|
24
24
|
def self.included(base)
|
25
25
|
base.send :include, ActiveScaffold::Actions::BatchBase unless base < ActiveScaffold::Actions::BatchBase
|
26
|
-
base.
|
26
|
+
base.before_action :batch_update_authorized_filter, :only => [:batch_edit, :batch_update]
|
27
27
|
base.helper_method :batch_update_values
|
28
28
|
end
|
29
29
|
|
@@ -166,13 +166,18 @@ module ActiveScaffold::Actions
|
|
166
166
|
return sql_set, update_value
|
167
167
|
end
|
168
168
|
|
169
|
+
# TODO: delete when ActiveScaffold 3.5 is released and required
|
170
|
+
def params_hash?(value)
|
171
|
+
value.is_a?(Hash) || (Rails.version >= '5.0' && value.is_a?(ActionController::Parameters))
|
172
|
+
end
|
173
|
+
|
169
174
|
def update_attribute_values_from_params(columns, attributes)
|
170
175
|
values = {}
|
171
|
-
|
176
|
+
return values unless params_hash? attributes
|
172
177
|
columns.each :for => new_model, :crud_type => :update, :flatten => true do |column|
|
173
|
-
next unless attributes[column.name]
|
178
|
+
next unless params_hash?(attributes[column.name]) && attributes[column.name][:operator] != 'NO_UPDATE'
|
174
179
|
value = attributes[column.name]
|
175
|
-
value
|
180
|
+
value[:value] = value[:operator] == 'NULL' ? nil : column_value_from_param_value(nil, column, value[:value])
|
176
181
|
values[column.name] = {:column => column, :value => value}
|
177
182
|
end
|
178
183
|
values
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: active_scaffold_batch
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sergio Cambra
|
@@ -9,22 +9,50 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2017-03-22 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: bundler
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
requirements:
|
18
|
+
- - "~>"
|
19
|
+
- !ruby/object:Gem::Version
|
20
|
+
version: '1.0'
|
21
|
+
type: :development
|
22
|
+
prerelease: false
|
23
|
+
version_requirements: !ruby/object:Gem::Requirement
|
24
|
+
requirements:
|
25
|
+
- - "~>"
|
26
|
+
- !ruby/object:Gem::Version
|
27
|
+
version: '1.0'
|
14
28
|
- !ruby/object:Gem::Dependency
|
15
29
|
name: active_scaffold
|
16
30
|
requirement: !ruby/object:Gem::Requirement
|
17
31
|
requirements:
|
18
|
-
- -
|
32
|
+
- - ">="
|
19
33
|
- !ruby/object:Gem::Version
|
20
34
|
version: 3.4.18
|
21
35
|
type: :runtime
|
22
36
|
prerelease: false
|
23
37
|
version_requirements: !ruby/object:Gem::Requirement
|
24
38
|
requirements:
|
25
|
-
- -
|
39
|
+
- - ">="
|
26
40
|
- !ruby/object:Gem::Version
|
27
41
|
version: 3.4.18
|
42
|
+
- !ruby/object:Gem::Dependency
|
43
|
+
name: rails
|
44
|
+
requirement: !ruby/object:Gem::Requirement
|
45
|
+
requirements:
|
46
|
+
- - ">="
|
47
|
+
- !ruby/object:Gem::Version
|
48
|
+
version: '4.0'
|
49
|
+
type: :runtime
|
50
|
+
prerelease: false
|
51
|
+
version_requirements: !ruby/object:Gem::Requirement
|
52
|
+
requirements:
|
53
|
+
- - ">="
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
version: '4.0'
|
28
56
|
description: You want to destroy/update many records at once with activescaffold?
|
29
57
|
email: activescaffold@googlegroups.com
|
30
58
|
executables: []
|
@@ -86,17 +114,17 @@ require_paths:
|
|
86
114
|
- lib
|
87
115
|
required_ruby_version: !ruby/object:Gem::Requirement
|
88
116
|
requirements:
|
89
|
-
- -
|
117
|
+
- - ">="
|
90
118
|
- !ruby/object:Gem::Version
|
91
119
|
version: '0'
|
92
120
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
93
121
|
requirements:
|
94
|
-
- -
|
122
|
+
- - ">="
|
95
123
|
- !ruby/object:Gem::Version
|
96
124
|
version: '0'
|
97
125
|
requirements: []
|
98
126
|
rubyforge_project:
|
99
|
-
rubygems_version: 2.
|
127
|
+
rubygems_version: 2.6.10
|
100
128
|
signing_key:
|
101
129
|
specification_version: 4
|
102
130
|
summary: Batch Processing for ActiveScaffold
|