active_scaffold 3.5.5 → 3.6.0.pre
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG +18 -2
- data/README.md +17 -7
- data/app/assets/javascripts/jquery/active_scaffold.js +28 -2
- data/app/views/active_scaffold_overrides/_base_form.html.erb +2 -2
- data/app/views/active_scaffold_overrides/_form.html.erb +1 -1
- data/app/views/active_scaffold_overrides/_form_association_footer.html.erb +3 -2
- data/app/views/active_scaffold_overrides/_form_association_record.html.erb +6 -6
- data/app/views/active_scaffold_overrides/_horizontal_subform.html.erb +1 -1
- data/app/views/active_scaffold_overrides/_horizontal_subform_header.html.erb +1 -1
- data/app/views/active_scaffold_overrides/_list.html.erb +2 -1
- data/app/views/active_scaffold_overrides/_list_messages.html.erb +1 -0
- data/app/views/active_scaffold_overrides/_messages.html.erb +1 -0
- data/app/views/active_scaffold_overrides/_render_field.js.erb +2 -1
- data/app/views/active_scaffold_overrides/_show_association_horizontal.html.erb +2 -1
- data/app/views/active_scaffold_overrides/_show_columns.html.erb +2 -2
- data/app/views/active_scaffold_overrides/_show_horizontal_record.html.erb +4 -4
- data/app/views/active_scaffold_overrides/_update_calculations.js.erb +1 -1
- data/app/views/active_scaffold_overrides/_update_column.js.erb +2 -2
- data/app/views/active_scaffold_overrides/action_confirmation.html.erb +2 -2
- data/app/views/active_scaffold_overrides/delete.html.erb +2 -2
- data/app/views/active_scaffold_overrides/on_action_update.js.erb +16 -6
- data/app/views/active_scaffold_overrides/on_update.js.erb +1 -1
- data/app/views/active_scaffold_overrides/row.js.erb +1 -1
- data/app/views/active_scaffold_overrides/update_column.js.erb +1 -1
- data/lib/active_scaffold.rb +11 -13
- data/lib/active_scaffold/actions/core.rb +25 -35
- data/lib/active_scaffold/actions/create.rb +1 -1
- data/lib/active_scaffold/actions/delete.rb +2 -2
- data/lib/active_scaffold/actions/field_search.rb +2 -2
- data/lib/active_scaffold/actions/list.rb +8 -7
- data/lib/active_scaffold/actions/nested.rb +9 -9
- data/lib/active_scaffold/actions/search.rb +1 -1
- data/lib/active_scaffold/actions/show.rb +1 -1
- data/lib/active_scaffold/actions/subform.rb +3 -1
- data/lib/active_scaffold/actions/update.rb +5 -4
- data/lib/active_scaffold/active_record_permissions.rb +2 -11
- data/lib/active_scaffold/attribute_params.rb +16 -23
- data/lib/active_scaffold/bridges.rb +8 -8
- data/lib/active_scaffold/bridges/bitfields/bitfields_bridge.rb +1 -1
- data/lib/active_scaffold/bridges/calendar_date_select/as_cds_bridge.rb +1 -1
- data/lib/active_scaffold/bridges/cancan/cancan_bridge.rb +3 -18
- data/lib/active_scaffold/bridges/carrierwave/carrierwave_bridge.rb +1 -1
- data/lib/active_scaffold/bridges/chosen/helpers.rb +7 -6
- data/lib/active_scaffold/bridges/date_picker/ext.rb +0 -13
- data/lib/active_scaffold/bridges/date_picker/helper.rb +3 -3
- data/lib/active_scaffold/bridges/file_column/as_file_column_bridge.rb +1 -1
- data/lib/active_scaffold/bridges/file_column/file_column_helpers.rb +3 -3
- data/lib/active_scaffold/bridges/file_column/test/functional/file_column_keep_test.rb +8 -7
- data/lib/active_scaffold/bridges/file_column/test/test_helper.rb +2 -4
- data/lib/active_scaffold/bridges/paper_trail.rb +1 -1
- data/lib/active_scaffold/bridges/paperclip/list_ui.rb +1 -1
- data/lib/active_scaffold/bridges/paperclip/paperclip_bridge.rb +1 -1
- data/lib/active_scaffold/bridges/paperclip/paperclip_bridge_helpers.rb +2 -2
- data/lib/active_scaffold/bridges/record_select/helpers.rb +9 -9
- data/lib/active_scaffold/bridges/shared/date_bridge.rb +3 -3
- data/lib/active_scaffold/bridges/usa_state_select/usa_state_select_helper.rb +1 -1
- data/lib/active_scaffold/config/base.rb +89 -21
- data/lib/active_scaffold/config/core.rb +127 -18
- data/lib/active_scaffold/config/delete.rb +2 -0
- data/lib/active_scaffold/config/field_search.rb +7 -1
- data/lib/active_scaffold/config/form.rb +10 -1
- data/lib/active_scaffold/config/list.rb +27 -11
- data/lib/active_scaffold/config/mark.rb +3 -1
- data/lib/active_scaffold/config/nested.rb +16 -17
- data/lib/active_scaffold/config/search.rb +9 -0
- data/lib/active_scaffold/config/show.rb +4 -0
- data/lib/active_scaffold/config/update.rb +4 -0
- data/lib/active_scaffold/configurable.rb +11 -6
- data/lib/active_scaffold/constraints.rb +1 -1
- data/lib/active_scaffold/core.rb +46 -16
- data/lib/active_scaffold/data_structures/action_columns.rb +50 -59
- data/lib/active_scaffold/data_structures/action_link.rb +20 -8
- data/lib/active_scaffold/data_structures/action_links.rb +6 -2
- data/lib/active_scaffold/data_structures/association/abstract.rb +9 -5
- data/lib/active_scaffold/data_structures/association/active_record.rb +1 -1
- data/lib/active_scaffold/data_structures/column.rb +51 -33
- data/lib/active_scaffold/data_structures/nested_info.rb +1 -1
- data/lib/active_scaffold/data_structures/set.rb +8 -0
- data/lib/active_scaffold/data_structures/sorting.rb +5 -2
- data/lib/active_scaffold/delayed_setup.rb +2 -1
- data/lib/active_scaffold/extensions/action_controller_rendering.rb +2 -1
- data/lib/active_scaffold/extensions/action_view_rendering.rb +1 -1
- data/lib/active_scaffold/extensions/cow_proxy.rb +43 -0
- data/lib/active_scaffold/extensions/ice_nine.rb +36 -0
- data/lib/active_scaffold/extensions/left_outer_joins.rb +8 -33
- data/lib/active_scaffold/extensions/routing_mapper.rb +4 -43
- data/lib/active_scaffold/extensions/unsaved_record.rb +2 -4
- data/lib/active_scaffold/finder.rb +26 -30
- data/lib/active_scaffold/helpers/action_link_helpers.rb +16 -16
- data/lib/active_scaffold/helpers/association_helpers.rb +5 -5
- data/lib/active_scaffold/helpers/controller_helpers.rb +11 -1
- data/lib/active_scaffold/helpers/form_column_helpers.rb +25 -24
- data/lib/active_scaffold/helpers/id_helpers.rb +2 -2
- data/lib/active_scaffold/helpers/list_column_helpers.rb +8 -6
- data/lib/active_scaffold/helpers/search_column_helpers.rb +4 -4
- data/lib/active_scaffold/helpers/view_helpers.rb +7 -13
- data/lib/active_scaffold/marked_model.rb +2 -2
- data/lib/active_scaffold/orm_checks.rb +1 -5
- data/lib/active_scaffold/paginator.rb +6 -4
- data/lib/active_scaffold/registry.rb +22 -0
- data/lib/active_scaffold/responds_to_parent.rb +2 -6
- data/lib/active_scaffold/tableless.rb +63 -59
- data/lib/active_scaffold/version.rb +2 -2
- data/lib/generators/active_scaffold/controller_generator.rb +2 -2
- data/lib/generators/active_scaffold/install_generator.rb +1 -1
- data/lib/generators/active_scaffold/resource_generator.rb +2 -2
- data/test/bridges/date_picker_test.rb +1 -2
- data/test/bridges/paperclip_test.rb +5 -5
- data/test/class_with_finder.rb +2 -2
- data/test/company.rb +2 -2
- data/test/config/create_test.rb +4 -2
- data/test/config/nested_test.rb +1 -1
- data/test/config/show_test.rb +1 -1
- data/test/config/update_test.rb +7 -6
- data/test/data_structures/action_links_test.rb +1 -1
- data/test/data_structures/sorting_test.rb +7 -0
- data/test/misc/active_record_permissions_test.rb +1 -9
- data/test/misc/attribute_params_test.rb +8 -8
- data/test/misc/calculation_test.rb +1 -1
- data/test/misc/constraints_test.rb +2 -2
- data/test/misc/convert_numbers_format_test.rb +3 -3
- data/test/misc/lang_test.rb +1 -1
- data/test/misc/parse_datetime_test.rb +3 -4
- data/test/misc/tableless_test.rb +6 -0
- data/test/mock_app/Rakefile +1 -1
- data/test/mock_app/config/application.rb +1 -1
- data/test/mock_app/config/boot.rb +1 -1
- data/test/mock_app/config/environment.rb +2 -2
- data/test/test_helper.rb +8 -1
- metadata +38 -13
@@ -140,11 +140,7 @@ class ActiveRecordPermissionsTest < MiniTest::Test
|
|
140
140
|
end
|
141
141
|
|
142
142
|
def test_method_combinations_with_default_false
|
143
|
-
|
144
|
-
ActiveScaffold.set_defaults do |config|
|
145
|
-
old_permission = config.security.default_permission
|
146
|
-
config.security.default_permission = false
|
147
|
-
end
|
143
|
+
ActiveScaffold::Config::Core.security.stubs(default_permission: false)
|
148
144
|
|
149
145
|
miss(@model.authorized_for?(:column => :a3), '_a_')
|
150
146
|
miss(@model.authorized_for?(:column => :a2), '_f_')
|
@@ -183,10 +179,6 @@ class ActiveRecordPermissionsTest < MiniTest::Test
|
|
183
179
|
pass(@model.authorized_for?(:crud_type => :read, :column => :c1), 'tta')
|
184
180
|
miss(@model.authorized_for?(:crud_type => :read, :column => :b1), 'ttf')
|
185
181
|
pass(@model.authorized_for?(:crud_type => :read, :column => :a1), 'ttt')
|
186
|
-
|
187
|
-
ActiveScaffold.set_defaults do |config|
|
188
|
-
config.security.default_permission = old_permission
|
189
|
-
end
|
190
182
|
end
|
191
183
|
|
192
184
|
private
|
@@ -417,15 +417,15 @@ class AttributeParamsTest < MiniTest::Test
|
|
417
417
|
record = record.class.find(record.id) if record.persisted?
|
418
418
|
new_record = @controller.update_record_from_params(record, build_action_columns(record, action, columns), params)
|
419
419
|
yield if block_given?
|
420
|
-
|
420
|
+
ActiveScaffold::Registry.constraint_columns.clear
|
421
421
|
end
|
422
422
|
new_record
|
423
423
|
end
|
424
424
|
|
425
425
|
def build_action_columns(record, action, *columns)
|
426
|
-
|
427
|
-
|
428
|
-
|
426
|
+
config = @controller.active_scaffold_config_for record.class
|
427
|
+
config.send(action).columns = columns
|
428
|
+
config.send(action).columns
|
429
429
|
end
|
430
430
|
end
|
431
431
|
|
@@ -447,11 +447,11 @@ class Controller
|
|
447
447
|
@flash ||= ActionDispatch::Flash::FlashHash.new
|
448
448
|
end
|
449
449
|
|
450
|
-
def params_hash?(
|
451
|
-
|
450
|
+
def params_hash?(value)
|
451
|
+
value.is_a? Hash
|
452
452
|
end
|
453
453
|
|
454
|
-
def params_hash(
|
455
|
-
|
454
|
+
def params_hash(value)
|
455
|
+
value
|
456
456
|
end
|
457
457
|
end
|
@@ -4,7 +4,7 @@ require 'class_with_finder'
|
|
4
4
|
class CalculationTest < MiniTest::Test
|
5
5
|
def setup
|
6
6
|
@buildings = []
|
7
|
-
@buildings << Building.create { |b| b.
|
7
|
+
@buildings << Building.create { |b| b.build_owner(:first_name => 'foo') }
|
8
8
|
@buildings << Building.create(:name => 'foo bar')
|
9
9
|
@buildings << Building.create
|
10
10
|
|
@@ -26,6 +26,7 @@ class ConvertNumbersFormatTest < MiniTest::Test
|
|
26
26
|
include ActiveScaffoldConfigMock
|
27
27
|
include ActiveScaffold::AttributeParams
|
28
28
|
include ActiveScaffold::Finder
|
29
|
+
include ActiveScaffold::Helpers::ControllerHelpers
|
29
30
|
|
30
31
|
def setup
|
31
32
|
NumberModel.load_schema! if Rails.version >= '5.0'
|
@@ -46,7 +47,6 @@ class ConvertNumbersFormatTest < MiniTest::Test
|
|
46
47
|
|
47
48
|
@config = config_for('number_model')
|
48
49
|
@config.columns[:number].form_ui = nil
|
49
|
-
@config.create.columns.set_columns @config.columns
|
50
50
|
end
|
51
51
|
|
52
52
|
def teardown
|
@@ -161,7 +161,7 @@ class ConvertNumbersFormatTest < MiniTest::Test
|
|
161
161
|
record.number
|
162
162
|
end
|
163
163
|
|
164
|
-
def params_hash?(
|
165
|
-
|
164
|
+
def params_hash?(value)
|
165
|
+
value.is_a? Hash
|
166
166
|
end
|
167
167
|
end
|
data/test/misc/lang_test.rb
CHANGED
@@ -4,7 +4,7 @@ class LocalizationTest < MiniTest::Test
|
|
4
4
|
def test_localization
|
5
5
|
assert_equal 'Dutch', as_(:dutch)
|
6
6
|
assert_equal 'dutch', as_('dutch')
|
7
|
-
I18n.backend.store_translations :en, :active_scaffold => {:create_model => 'Create
|
7
|
+
I18n.backend.store_translations :en, :active_scaffold => {:create_model => 'Create %<model>s'}
|
8
8
|
assert_equal 'Create Test', as_(:create_model, :model => 'Test')
|
9
9
|
end
|
10
10
|
end
|
@@ -44,7 +44,6 @@ class ParseDatetimeTest < MiniTest::Test
|
|
44
44
|
I18n.backend.store_translations :es, spanish
|
45
45
|
|
46
46
|
@config = config_for('date_time_model')
|
47
|
-
@config.create.columns.set_columns @config.columns
|
48
47
|
end
|
49
48
|
|
50
49
|
def teardown
|
@@ -125,7 +124,7 @@ class ParseDatetimeTest < MiniTest::Test
|
|
125
124
|
end
|
126
125
|
|
127
126
|
def test_condition_for_datetime_with_zone
|
128
|
-
assert_equal
|
127
|
+
assert_equal ActiveSupport::TimeZone[3].local(2017, 4, 8, 16, 30, 0), condition_value('2017-04-08 16:30 +0300')
|
129
128
|
end
|
130
129
|
|
131
130
|
def test_condition_for_spanish_date
|
@@ -154,7 +153,7 @@ class ParseDatetimeTest < MiniTest::Test
|
|
154
153
|
self.class.condition_value_for_datetime(@config.columns[:run_at], value, conversion || :to_time)
|
155
154
|
end
|
156
155
|
|
157
|
-
def params_hash?(
|
158
|
-
|
156
|
+
def params_hash?(value)
|
157
|
+
value.is_a? Hash
|
159
158
|
end
|
160
159
|
end
|
data/test/misc/tableless_test.rb
CHANGED
@@ -27,6 +27,12 @@ class TablelessTest < MiniTest::Test
|
|
27
27
|
assert Person.new.files.empty?
|
28
28
|
end
|
29
29
|
|
30
|
+
def test_tableless_assoc_with_dependent
|
31
|
+
@person = Person.new
|
32
|
+
@person.save(validate: false)
|
33
|
+
assert @person.destroy
|
34
|
+
end
|
35
|
+
|
30
36
|
def test_find_with_through_association
|
31
37
|
assert Building.new.files.empty?
|
32
38
|
end
|
data/test/mock_app/Rakefile
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
# Add your own tasks in files placed in lib/tasks ending in .rake,
|
2
2
|
# for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
|
3
3
|
|
4
|
-
require File.expand_path('
|
4
|
+
require File.expand_path('config/application', __dir__)
|
5
5
|
require 'rake'
|
6
6
|
|
7
7
|
RailsApp::Application.load_tasks
|
@@ -1,6 +1,6 @@
|
|
1
1
|
# Load the rails application
|
2
|
-
require File.expand_path('
|
2
|
+
require File.expand_path('application', __dir__)
|
3
3
|
|
4
4
|
# Initialize the rails application
|
5
|
-
RailsApp::Application.config.root = File.expand_path('
|
5
|
+
RailsApp::Application.config.root = File.expand_path('..', __dir__)
|
6
6
|
RailsApp::Application.initialize!
|
data/test/test_helper.rb
CHANGED
@@ -5,6 +5,7 @@ require 'mock_app/config/environment'
|
|
5
5
|
require 'rails/test_help'
|
6
6
|
require 'minitest/autorun'
|
7
7
|
require 'mocha/setup'
|
8
|
+
require 'cow_proxy'
|
8
9
|
|
9
10
|
require 'minitest/reporters'
|
10
11
|
Minitest::Reporters.use!
|
@@ -17,11 +18,17 @@ def load_schema
|
|
17
18
|
end
|
18
19
|
load_schema
|
19
20
|
|
21
|
+
ActiveScaffold.threadsafe!
|
22
|
+
# avoid freezing defaults so we can stubs in tests for testing with different defaults
|
23
|
+
class << ActiveScaffold::Config::Core
|
24
|
+
def freeze; end
|
25
|
+
end
|
26
|
+
|
20
27
|
%w[model_stub const_mocker company].each do |file|
|
21
28
|
require File.join(File.dirname(__FILE__), file)
|
22
29
|
end
|
23
30
|
|
24
|
-
I18n.backend.store_translations :en, YAML.load_file(File.expand_path('
|
31
|
+
I18n.backend.store_translations :en, YAML.load_file(File.expand_path('../config/locales/en.yml', __dir__))['en']
|
25
32
|
|
26
33
|
# rails 4.0
|
27
34
|
unless defined? Minitest::Test
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: active_scaffold
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.6.0.pre
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Many, see README
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-03-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -16,20 +16,28 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 4.0
|
20
|
-
- - "<"
|
21
|
-
- !ruby/object:Gem::Version
|
22
|
-
version: 5.2.0
|
19
|
+
version: 4.2.0
|
23
20
|
type: :runtime
|
24
21
|
prerelease: false
|
25
22
|
version_requirements: !ruby/object:Gem::Requirement
|
26
23
|
requirements:
|
27
24
|
- - ">="
|
28
25
|
- !ruby/object:Gem::Version
|
29
|
-
version: 4.0
|
30
|
-
|
26
|
+
version: 4.2.0
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: cow_proxy
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 0.2.0
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
31
39
|
- !ruby/object:Gem::Version
|
32
|
-
version:
|
40
|
+
version: 0.2.0
|
33
41
|
- !ruby/object:Gem::Dependency
|
34
42
|
name: ice_nine
|
35
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -44,6 +52,20 @@ dependencies:
|
|
44
52
|
- - "~>"
|
45
53
|
- !ruby/object:Gem::Version
|
46
54
|
version: '0.11'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: request_store
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '1.3'
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '1.3'
|
47
69
|
description: Save time and headaches, and create a more easily maintainable set of
|
48
70
|
pages, with ActiveScaffold. ActiveScaffold handles all your CRUD (create, read,
|
49
71
|
update, delete) user interface needs, leaving you more time to focus on more challenging
|
@@ -283,6 +305,8 @@ files:
|
|
283
305
|
- lib/active_scaffold/extensions/action_controller_rescueing.rb
|
284
306
|
- lib/active_scaffold/extensions/action_view_rendering.rb
|
285
307
|
- lib/active_scaffold/extensions/connection_adapter.rb
|
308
|
+
- lib/active_scaffold/extensions/cow_proxy.rb
|
309
|
+
- lib/active_scaffold/extensions/ice_nine.rb
|
286
310
|
- lib/active_scaffold/extensions/left_outer_joins.rb
|
287
311
|
- lib/active_scaffold/extensions/localize.rb
|
288
312
|
- lib/active_scaffold/extensions/name_option_for_datetime.rb
|
@@ -306,6 +330,7 @@ files:
|
|
306
330
|
- lib/active_scaffold/marked_model.rb
|
307
331
|
- lib/active_scaffold/orm_checks.rb
|
308
332
|
- lib/active_scaffold/paginator.rb
|
333
|
+
- lib/active_scaffold/registry.rb
|
309
334
|
- lib/active_scaffold/responds_to_parent.rb
|
310
335
|
- lib/active_scaffold/tableless.rb
|
311
336
|
- lib/active_scaffold/version.rb
|
@@ -422,15 +447,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
422
447
|
requirements:
|
423
448
|
- - ">="
|
424
449
|
- !ruby/object:Gem::Version
|
425
|
-
version: '2.
|
450
|
+
version: '2.3'
|
426
451
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
427
452
|
requirements:
|
428
|
-
- - "
|
453
|
+
- - ">"
|
429
454
|
- !ruby/object:Gem::Version
|
430
|
-
version:
|
455
|
+
version: 1.3.1
|
431
456
|
requirements: []
|
432
457
|
rubyforge_project:
|
433
|
-
rubygems_version: 2.7.
|
458
|
+
rubygems_version: 2.7.8
|
434
459
|
signing_key:
|
435
460
|
specification_version: 4
|
436
461
|
summary: Rails 4.x and 5.x versions of ActiveScaffold supporting prototype and jquery
|