active_scaffold 3.4.41.1 → 3.4.42
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/CHANGELOG +5 -0
- data/app/assets/javascripts/active_scaffold.js.erb +6 -4
- data/lib/active_scaffold/active_record_permissions.rb +3 -3
- data/lib/active_scaffold/bridges/paper_trail/actions.rb +1 -0
- data/lib/active_scaffold/helpers/controller_helpers.rb +14 -6
- data/lib/active_scaffold/helpers/list_column_helpers.rb +2 -1
- data/lib/active_scaffold/helpers/pagination_helpers.rb +2 -1
- data/lib/active_scaffold/version.rb +1 -1
- data/test/test_helper.rb +1 -7
- metadata +3 -45
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5aecf180e9830138a0201706df7188764f0b9883
|
4
|
+
data.tar.gz: bdd48e47cb5e3e89d68b276c2b0d34b10ea5b672
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fb10543e6069522af0f3c29f478af48beb4576f8e4a5238c229b7d23bdf7abea0f668c8fdfb60dfd2aab150042ae9b9ee6c8e84feb5832863ebb5b056bb41abc
|
7
|
+
data.tar.gz: d535738279bf832a6c7af0a402187440ea7ac4898a7e14b3a0d3d5b636b47b060e2e71ce3c60433ca9aebb06abb285700a8fb771c677fe1ca231e34655b7b0c8
|
data/CHANGELOG
CHANGED
@@ -1,3 +1,8 @@
|
|
1
|
+
= 3.4.42
|
2
|
+
- fix do_refresh_list on actions with GET route, it used :id and :action from request for sorting and pagination links
|
3
|
+
- Fix for using jquery-ui-rails 6.0
|
4
|
+
- Fix for protected and private authorized methods
|
5
|
+
|
1
6
|
= 3.4.41.1
|
2
7
|
- Fix issue with id_helpers and active_scaffold_sortable, caused by last security fix
|
3
8
|
|
@@ -7,12 +7,14 @@
|
|
7
7
|
require_asset "jquery-ui"
|
8
8
|
elsif Jquery.const_defined? 'Ui'
|
9
9
|
jquery_ui_prefix = Jquery::Ui::Rails::VERSION < '5.0.0' ? 'jquery.ui.' : 'jquery-ui/'
|
10
|
+
jquery_ui_widgets_prefix = Jquery::Ui::Rails::VERSION >= '6.0.0' ? '/widgets/' : ''
|
10
11
|
require_asset "#{jquery_ui_prefix}core"
|
11
12
|
require_asset "#{jquery_ui_prefix}effect"
|
12
|
-
require_asset "#{jquery_ui_prefix}
|
13
|
-
require_asset "#{jquery_ui_prefix}
|
14
|
-
require_asset "#{jquery_ui_prefix}
|
15
|
-
require_asset "#{jquery_ui_prefix}
|
13
|
+
require_asset "#{jquery_ui_prefix}effects/effect-highlight" if Jquery::Ui::Rails::VERSION >= '6.0.0'
|
14
|
+
require_asset "#{jquery_ui_prefix}#{jquery_ui_widgets_prefix}sortable"
|
15
|
+
require_asset "#{jquery_ui_prefix}#{jquery_ui_widgets_prefix}draggable"
|
16
|
+
require_asset "#{jquery_ui_prefix}#{jquery_ui_widgets_prefix}droppable"
|
17
|
+
require_asset "#{jquery_ui_prefix}#{jquery_ui_widgets_prefix}datepicker"
|
16
18
|
else
|
17
19
|
jquery_ui = false
|
18
20
|
end
|
@@ -120,19 +120,19 @@ module ActiveScaffold
|
|
120
120
|
# you can disable a crud verb and enable that verb for a column
|
121
121
|
# (for example, disable update and enable inplace_edit in a column)
|
122
122
|
method = column_and_crud_type_security_method(options[:column], options[:crud_type])
|
123
|
-
return [method] if method && respond_to?(method)
|
123
|
+
return [method] if method && respond_to?(method, true)
|
124
124
|
|
125
125
|
# authorized_for_action? has higher priority than other methods,
|
126
126
|
# you can disable a crud verb and enable an action with that crud verb
|
127
127
|
# (for example, disable update and enable an action with update as crud type)
|
128
128
|
method = action_security_method(options[:action])
|
129
|
-
return [method] if method && respond_to?(method)
|
129
|
+
return [method] if method && respond_to?(method, true)
|
130
130
|
|
131
131
|
# collect other possibly-related methods that actually exist
|
132
132
|
[
|
133
133
|
column_security_method(options[:column]),
|
134
134
|
crud_type_security_method(options[:crud_type])
|
135
|
-
].compact.select { |m| respond_to?(m) }
|
135
|
+
].compact.select { |m| respond_to?(m, true) }
|
136
136
|
end
|
137
137
|
|
138
138
|
private
|
@@ -15,6 +15,7 @@ module ActiveScaffold::Actions
|
|
15
15
|
pager = Paginator.new(query.count, active_scaffold_config.list.per_page) do |offset, per_page|
|
16
16
|
query.offset(offset).limit(per_page).map(&:reify)
|
17
17
|
end
|
18
|
+
@pagination_action = :deleted
|
18
19
|
@page = pager.page(params[:page] || 1)
|
19
20
|
@records = @page.items
|
20
21
|
respond_to_action(:list)
|
@@ -17,15 +17,23 @@ module ActiveScaffold
|
|
17
17
|
@temporary_ids[record.class.name] if record && @temporary_ids
|
18
18
|
end
|
19
19
|
|
20
|
+
# These params should not propagate:
|
21
|
+
# :adapter and :position are one-use rendering arguments.
|
22
|
+
# :sort, :sort_direction, and :page are arguments that stored in the session.
|
23
|
+
# and wow. no we don't want to propagate :record.
|
24
|
+
# :commit is a special rails variable for form buttons
|
25
|
+
# :_method is a special rails variable to simulate put, patch and delete actions.
|
26
|
+
# :dont_close is submit button which avoids closing form.
|
27
|
+
# :auto_pagination is used when all records are loaded automatically with multiple request.
|
28
|
+
# :iframe is used to simulate ajax forms loading form in iframe.
|
29
|
+
# :associated_id used in add_existing
|
30
|
+
# :authenticity_token is sent on some ajax requests
|
31
|
+
BLACKLIST_PARAMS = [:adapter, :position, :sort, :sort_direction, :page, :record, :commit, :_method, :dont_close, :auto_pagination, :iframe, :associated_id, :authenticity_token].freeze
|
32
|
+
|
20
33
|
def params_for(options = {})
|
21
|
-
# :adapter and :position are one-use rendering arguments. they should not propagate.
|
22
|
-
# :sort, :sort_direction, and :page are arguments that stored in the session. they need not propagate.
|
23
|
-
# and wow. no we don't want to propagate :record.
|
24
|
-
# :commit is a special rails variable for form buttons
|
25
|
-
blacklist = [:adapter, :position, :sort, :sort_direction, :page, :auto_pagination, :record, :commit, :_method, :authenticity_token, :iframe, :associated_id, :dont_close]
|
26
34
|
unless @params_for
|
27
35
|
@params_for = {}
|
28
|
-
params.except(*
|
36
|
+
params.except(*BLACKLIST_PARAMS).each { |key, value| @params_for[key.to_sym] = value.duplicable? ? value.clone : value }
|
29
37
|
@params_for[:controller] = '/' + @params_for[:controller].to_s unless @params_for[:controller].to_s.first(1) == '/' # for namespaced controllers
|
30
38
|
@params_for.delete(:id) if @params_for[:id].nil?
|
31
39
|
end
|
@@ -322,7 +322,8 @@ module ActiveScaffold
|
|
322
322
|
options = {:id => nil, :class => 'as_sort',
|
323
323
|
'data-page-history' => controller_id,
|
324
324
|
:remote => true, :method => :get}
|
325
|
-
|
325
|
+
# :id needed because rails reuse it even if we delete from params (like do_refresh_list does)
|
326
|
+
url_options = params_for(:action => :index, :page => 1, :id => params[:id],
|
326
327
|
:sort => column.name, :sort_direction => sort_direction)
|
327
328
|
unless active_scaffold_config.store_user_settings
|
328
329
|
url_options.merge!(:search => search_params) if search_params.present?
|
@@ -6,7 +6,8 @@ module ActiveScaffold
|
|
6
6
|
end
|
7
7
|
|
8
8
|
def pagination_url_options(url_options = nil)
|
9
|
-
|
9
|
+
# :id needed because rails reuse it even if we delete from params (like do_refresh_list does)
|
10
|
+
url_options ||= params_for(:action => @pagination_action || :index, :id => params[:id])
|
10
11
|
unless active_scaffold_config.store_user_settings
|
11
12
|
url_options.merge!(:search => search_params) if search_params.present?
|
12
13
|
if active_scaffold_config.list.user.user_sorting?
|
data/test/test_helper.rb
CHANGED
@@ -1,7 +1,4 @@
|
|
1
|
-
|
2
|
-
require 'simplecov'
|
3
|
-
SimpleCov.start { add_filter 'test' }
|
4
|
-
end
|
1
|
+
require 'simplecov' unless RUBY_ENGINE == 'rbx'
|
5
2
|
|
6
3
|
ENV['RAILS_ENV'] = 'test'
|
7
4
|
require 'mock_app/config/environment'
|
@@ -12,9 +9,6 @@ require 'mocha/setup'
|
|
12
9
|
require 'minitest/reporters'
|
13
10
|
Minitest::Reporters.use!
|
14
11
|
|
15
|
-
require 'codeclimate-test-reporter'
|
16
|
-
CodeClimate::TestReporter.start
|
17
|
-
|
18
12
|
def load_schema
|
19
13
|
stdout = $stdout
|
20
14
|
$stdout = StringIO.new # suppress output while building the schema
|
metadata
CHANGED
@@ -1,29 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: active_scaffold
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.4.
|
4
|
+
version: 3.4.42
|
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:
|
11
|
+
date: 2017-11-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
-
- !ruby/object:Gem::Dependency
|
14
|
-
name: bundler
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - "~>"
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: '1.0'
|
20
|
-
type: :development
|
21
|
-
prerelease: false
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
|
-
requirements:
|
24
|
-
- - "~>"
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
version: '1.0'
|
27
13
|
- !ruby/object:Gem::Dependency
|
28
14
|
name: rails
|
29
15
|
requirement: !ruby/object:Gem::Requirement
|
@@ -44,34 +30,6 @@ dependencies:
|
|
44
30
|
- - "<"
|
45
31
|
- !ruby/object:Gem::Version
|
46
32
|
version: '5'
|
47
|
-
- !ruby/object:Gem::Dependency
|
48
|
-
name: rubocop
|
49
|
-
requirement: !ruby/object:Gem::Requirement
|
50
|
-
requirements:
|
51
|
-
- - ">="
|
52
|
-
- !ruby/object:Gem::Version
|
53
|
-
version: '0'
|
54
|
-
type: :development
|
55
|
-
prerelease: false
|
56
|
-
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
requirements:
|
58
|
-
- - ">="
|
59
|
-
- !ruby/object:Gem::Version
|
60
|
-
version: '0'
|
61
|
-
- !ruby/object:Gem::Dependency
|
62
|
-
name: shoulda
|
63
|
-
requirement: !ruby/object:Gem::Requirement
|
64
|
-
requirements:
|
65
|
-
- - ">="
|
66
|
-
- !ruby/object:Gem::Version
|
67
|
-
version: '0'
|
68
|
-
type: :development
|
69
|
-
prerelease: false
|
70
|
-
version_requirements: !ruby/object:Gem::Requirement
|
71
|
-
requirements:
|
72
|
-
- - ">="
|
73
|
-
- !ruby/object:Gem::Version
|
74
|
-
version: '0'
|
75
33
|
description: Save time and headaches, and create a more easily maintainable set of
|
76
34
|
pages, with ActiveScaffold. ActiveScaffold handles all your CRUD (create, read,
|
77
35
|
update, delete) user interface needs, leaving you more time to focus on more challenging
|
@@ -448,7 +406,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
448
406
|
version: '0'
|
449
407
|
requirements: []
|
450
408
|
rubyforge_project:
|
451
|
-
rubygems_version: 2.
|
409
|
+
rubygems_version: 2.6.10
|
452
410
|
signing_key:
|
453
411
|
specification_version: 4
|
454
412
|
summary: Rails 3.2, 4.0, 4.1 and 4.2 versions of ActiveScaffold supporting prototype
|