active_scaffold 3.4.32 → 3.4.33
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 +6 -0
- data/LICENSE +1 -1
- data/README.md +1 -0
- data/app/assets/images/active_scaffold/config.png +0 -0
- data/app/assets/javascripts/jquery/active_scaffold.js +2 -1
- data/app/views/active_scaffold_overrides/_base_form.html.erb +4 -3
- data/lib/active_scaffold/config/base.rb +9 -5
- data/lib/active_scaffold/config/core.rb +1 -1
- data/lib/active_scaffold/config/update.rb +2 -0
- data/lib/active_scaffold/helpers/view_helpers.rb +1 -1
- data/lib/active_scaffold/version.rb +1 -1
- data/test/config/create_test.rb +4 -0
- data/test/config/update_test.rb +8 -0
- data/test/model_stub.rb +12 -4
- metadata +2 -16
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 60cdf903df7b52febfb72af4ada25aa1dde35832
|
4
|
+
data.tar.gz: f91b93961a06dc90b8f637a377e0e1c766086b8b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3fbd34b94bbf32f7bce0acf7473eebe3a95969a184eb6a5144c0962edc13dd36466f7de6ef10a089b9bc12e7b57314b059eea4eb28e5c88994109f0ffa60626c
|
7
|
+
data.tar.gz: 0f831be90516eb337de6f593dd8ae7fa0bebdbdf9ae525ca10afd2c7d2b3a190f5d1f7fdb4b2cf758c75a936f3710ec2e684e9b22fe3b6e975465c2955c2246c
|
data/CHANGELOG
CHANGED
@@ -1,3 +1,9 @@
|
|
1
|
+
= 3.4.33
|
2
|
+
- Fix _base_form when used with actions, so :multipart and :persistent can set to false instead of getting them from action config
|
3
|
+
- Copy update.columns from create.columns, if not defined
|
4
|
+
- Ensure ajax:complete is called to enable form after render_form_field request, even if element is removed
|
5
|
+
|
6
|
+
= 3.4.32
|
1
7
|
- Add ActiveScaffold.reload_embedded JS method, to reload an embedded scaffold
|
2
8
|
- Fix nested on composite primary key associations
|
3
9
|
- Fix render :super on partials rendered with :collection (like _list_record)
|
data/LICENSE
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
Copyright
|
1
|
+
Copyright © 2006—2016 Richard White, Sergio Cambra and contributors
|
2
2
|
|
3
3
|
Permission is hereby granted, free of charge, to any person obtaining
|
4
4
|
a copy of this software and associated documentation files (the
|
data/README.md
CHANGED
@@ -5,6 +5,7 @@ Overview
|
|
5
5
|
[](https://codeclimate.com/github/activescaffold/active_scaffold)
|
6
6
|
[](https://gemnasium.com/activescaffold/active_scaffold)
|
7
7
|
[](https://badge.fury.io/rb/active_scaffold)
|
8
|
+
[](https://inch-ci.org/github/activescaffold/active_scaffold)
|
8
9
|
|
9
10
|
ActiveScaffold provides a quick and powerful user interfaces for CRUD (create, read, update, delete) operations for Rails applications. It offers additonal features including searching, pagination & layout control. Rails 3.2 and 4.x are supported, ruby >= 1.9 required. For rails 4 is recommended >= 4.0.5.
|
10
11
|
|
File without changes
|
@@ -984,7 +984,8 @@ var ActiveScaffold = {
|
|
984
984
|
complete: function(xhr, status) {
|
985
985
|
element = as_form.find('#'+element.attr('id'));
|
986
986
|
element.nextAll('img.loading-indicator').css('visibility','hidden');
|
987
|
-
element.
|
987
|
+
var complete_element = element.length ? element : as_form;
|
988
|
+
complete_element.trigger('ajax:complete', [xhr, status]);
|
988
989
|
if (ActiveScaffold.last_focus) {
|
989
990
|
var item = jQuery(ActiveScaffold.last_focus);
|
990
991
|
if (item.closest('body').length == 0 && item.attr('id')) item = jQuery('#' + item.attr('id'));
|
@@ -3,9 +3,10 @@
|
|
3
3
|
url_options ||= params_for(:action => form_action)
|
4
4
|
xhr = request.xhr? if xhr.nil?
|
5
5
|
if active_scaffold_config.actions.include? form_action
|
6
|
-
|
7
|
-
|
8
|
-
|
6
|
+
action_config = active_scaffold_config.send(form_action)
|
7
|
+
multipart ||= action_config.multipart? unless local_assigns.has_key? :multipart
|
8
|
+
columns ||= action_config.columns unless local_assigns.has_key? :columns
|
9
|
+
persistent ||= action_config.persistent unless local_assigns.has_key? :persistent
|
9
10
|
else
|
10
11
|
multipart ||= false
|
11
12
|
columns ||= nil
|
@@ -81,11 +81,15 @@ module ActiveScaffold::Config
|
|
81
81
|
private
|
82
82
|
|
83
83
|
def build_action_columns(val)
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
84
|
+
columns =
|
85
|
+
if val.is_a?(ActiveScaffold::DataStructures::ActionColumns)
|
86
|
+
val.dup
|
87
|
+
else
|
88
|
+
ActiveScaffold::DataStructures::ActionColumns.new(*val)
|
89
|
+
end
|
90
|
+
columns.action = self
|
91
|
+
columns.set_columns(@core.columns)
|
92
|
+
columns
|
89
93
|
end
|
90
94
|
|
91
95
|
def self.columns_accessor(*names, &block)
|
@@ -161,7 +161,7 @@ module ActiveScaffold::Config
|
|
161
161
|
content_columns = Set.new(model.content_columns.map(&:name))
|
162
162
|
@columns.exclude(*self.class.ignore_columns)
|
163
163
|
@columns.exclude(*@columns.find_all { |c| c.column && content_columns.exclude?(c.column.name) }.collect(&:name))
|
164
|
-
@columns.exclude(*model.reflect_on_all_associations.collect { |a|
|
164
|
+
@columns.exclude(*model.reflect_on_all_associations.collect { |a| a.foreign_type.to_sym if a.options[:polymorphic] }.compact)
|
165
165
|
|
166
166
|
# inherit the global frontend
|
167
167
|
@frontend = self.class.frontend
|
@@ -17,6 +17,8 @@ module ActiveScaffold::Config
|
|
17
17
|
end
|
18
18
|
@@link = ActiveScaffold::DataStructures::ActionLink.new('edit', :label => :edit, :type => :member, :security_method => :update_authorized?, :ignore_method => :update_ignore?)
|
19
19
|
|
20
|
+
columns_accessor :columns, :copy => :create
|
21
|
+
|
20
22
|
# instance-level configuration
|
21
23
|
# ----------------------------
|
22
24
|
|
@@ -153,7 +153,7 @@ module ActiveScaffold
|
|
153
153
|
|
154
154
|
def render_action_link(link, record = nil, options = {})
|
155
155
|
if link.action.nil? || link.column.try(:polymorphic_association?)
|
156
|
-
link = action_link_to_inline_form(link, record)
|
156
|
+
link = action_link_to_inline_form(link, record) if link.column.try(:association)
|
157
157
|
options[:authorized] = false if link.action.nil? || link.controller.nil?
|
158
158
|
options.delete :link if link.crud_type == :create
|
159
159
|
end
|
data/test/config/create_test.rb
CHANGED
@@ -11,6 +11,10 @@ module Config
|
|
11
11
|
@config.create.link = @default_link
|
12
12
|
end
|
13
13
|
|
14
|
+
def test_default_columns
|
15
|
+
assert_equal [:a, :d, :other_model, :other_models], @config.create.columns.names
|
16
|
+
end
|
17
|
+
|
14
18
|
def test_default_options
|
15
19
|
refute @config.create.persistent
|
16
20
|
assert @config.create.action_after_create.nil?
|
data/test/config/update_test.rb
CHANGED
@@ -6,6 +6,14 @@ module Config
|
|
6
6
|
@config = ActiveScaffold::Config::Core.new :model_stub
|
7
7
|
end
|
8
8
|
|
9
|
+
def test_copy_columns_from_create
|
10
|
+
@config.create.columns = [:a, :c, :d]
|
11
|
+
assert_equal [:a, :d], @config.create.columns.names
|
12
|
+
@config.update.columns = @config.create.columns
|
13
|
+
@config._load_action_columns
|
14
|
+
assert_equal [:a, :c, :d], @config.update.columns.names
|
15
|
+
end
|
16
|
+
|
9
17
|
def test__params_for_columns__returns_all_params
|
10
18
|
@config._load_action_columns
|
11
19
|
@config.columns[:a].params.add :keep_a, :a_temp
|
data/test/model_stub.rb
CHANGED
@@ -4,8 +4,9 @@ class ModelStub < ActiveRecord::Base
|
|
4
4
|
has_many :other_models, :class_name => 'ModelStub'
|
5
5
|
|
6
6
|
cattr_accessor :stubbed_columns
|
7
|
-
self.stubbed_columns = [:a, :b, :c, :d, :id]
|
7
|
+
self.stubbed_columns = [:a, :b, :c, :d, :id, :created_at]
|
8
8
|
attr_accessor *stubbed_columns
|
9
|
+
self.primary_key = :id
|
9
10
|
|
10
11
|
@@nested_scope_calls = []
|
11
12
|
cattr_accessor :nested_scope_calls
|
@@ -34,7 +35,11 @@ class ModelStub < ActiveRecord::Base
|
|
34
35
|
end
|
35
36
|
|
36
37
|
def self.columns
|
37
|
-
@columns ||= stubbed_columns.map
|
38
|
+
@columns ||= stubbed_columns.map do |c|
|
39
|
+
column = ColumnMock.new(c.to_s, '', 'varchar(255)')
|
40
|
+
column.primary = true if c.to_s == self.primary_key.to_s && column.respond_to?(:primary=)
|
41
|
+
column
|
42
|
+
end
|
38
43
|
end
|
39
44
|
|
40
45
|
def self.columns_hash
|
@@ -42,10 +47,13 @@ class ModelStub < ActiveRecord::Base
|
|
42
47
|
end
|
43
48
|
|
44
49
|
# column-level security methods, used for testing
|
45
|
-
def self.a_authorized_for_bar?
|
50
|
+
def self.a_authorized_for_bar?
|
46
51
|
true
|
47
52
|
end
|
48
|
-
def self.b_authorized?
|
53
|
+
def self.b_authorized?
|
54
|
+
false
|
55
|
+
end
|
56
|
+
def self.c_authorized_for_create?
|
49
57
|
false
|
50
58
|
end
|
51
59
|
end
|
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.33
|
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: 2016-01-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
-
- !ruby/object:Gem::Dependency
|
14
|
-
name: brakeman
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - '>='
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: '0'
|
20
|
-
type: :development
|
21
|
-
prerelease: false
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
|
-
requirements:
|
24
|
-
- - '>='
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
version: '0'
|
27
13
|
- !ruby/object:Gem::Dependency
|
28
14
|
name: bundler
|
29
15
|
requirement: !ruby/object:Gem::Requirement
|