active_scaffold 3.2.19 → 3.2.20
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.
- data/CHANGELOG +6 -1
- data/README.md +67 -0
- data/app/assets/javascripts/jquery/date_picker_bridge.js.erb +1 -0
- data/frontends/default/views/on_create.js.erb +1 -1
- data/frontends/default/views/on_update.js.erb +2 -2
- data/lib/active_scaffold.rb +1 -0
- data/lib/active_scaffold/actions/create.rb +1 -1
- data/lib/active_scaffold/actions/update.rb +1 -1
- data/lib/active_scaffold/attribute_params.rb +1 -1
- data/lib/active_scaffold/bridges/calendar_date_select.rb +1 -1
- data/lib/active_scaffold/bridges/file_column.rb +1 -1
- 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 +2 -2
- data/lib/active_scaffold/bridges/paperclip.rb +1 -1
- data/lib/active_scaffold/bridges/paperclip/paperclip_bridge_helpers.rb +1 -1
- data/lib/active_scaffold/bridges/tiny_mce/helpers.rb +1 -1
- data/lib/active_scaffold/data_structures/column.rb +5 -1
- data/lib/active_scaffold/finder.rb +2 -2
- data/lib/active_scaffold/helpers/list_column_helpers.rb +1 -1
- data/lib/active_scaffold/version.rb +1 -1
- metadata +7 -7
- data/README +0 -66
data/CHANGELOG
CHANGED
data/README.md
ADDED
@@ -0,0 +1,67 @@
|
|
1
|
+
Overview
|
2
|
+
========
|
3
|
+
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.
|
4
|
+
|
5
|
+
Branch Details
|
6
|
+
--------------
|
7
|
+
This branch (rails-3.2) on Github supports Rails 3.1 & 3.2, and is the current source of the 3.2.x line of gems. The master branch has dropped support for Rails 3.1
|
8
|
+
|
9
|
+
Quick Start
|
10
|
+
-----------
|
11
|
+
To get started with a new Rails project
|
12
|
+
|
13
|
+
Added to Gemfile
|
14
|
+
|
15
|
+
gem 'active_scaffold'
|
16
|
+
|
17
|
+
Run the following commands
|
18
|
+
|
19
|
+
bundle install
|
20
|
+
bundle exec rake db:create
|
21
|
+
rails g active_scaffold User name:string
|
22
|
+
bundle exec rake db:migrate
|
23
|
+
|
24
|
+
Add the following line to app/assets/javascripts/application.js
|
25
|
+
|
26
|
+
//= require active_scaffold
|
27
|
+
|
28
|
+
Add the following line to /app/assets/stylesheets/application.css
|
29
|
+
|
30
|
+
*= require active_scaffold
|
31
|
+
|
32
|
+
Run the app and visit localhost:3000/teams
|
33
|
+
|
34
|
+
Configuration
|
35
|
+
-------------
|
36
|
+
See Wiki for instructions on customising ActiveScaffold and to find the full API details.
|
37
|
+
|
38
|
+
Compatability Issues
|
39
|
+
--------------------
|
40
|
+
jQuery 1.9 deprecates some methods that this branch still uses (NB: jQuery 1.9 is supported in the master branch). You'll therefore need to ensure you use jQuery 1.8. You can do this by fixing version in your Gemfile:
|
41
|
+
|
42
|
+
gem 'jquery-rails', '2.1.4'
|
43
|
+
|
44
|
+
active_scaffold_batch plugin gem (versions 3.2.x) require the master branch. Therefore if you wish to try using active_scaffold_batch with this branch, you'll need to fork the project and edit the runtime dependency in the gempsec file (use at your own discretion)
|
45
|
+
|
46
|
+
Credits
|
47
|
+
-------
|
48
|
+
ActiveScaffold grew out of a project named Ajaxscaffold dating back to 2006. It has had numerous contributors including:
|
49
|
+
|
50
|
+
ActiveScaffold Gem/Plugin by Scott Rutherford (scott@caronsoftware.com), Richard White (rrwhite@gmail.com), Lance Ivy (lance@cainlevy.net), Ed Moss, Tim Harper and Sergio Cambra (sergio@entrecables.com)
|
51
|
+
|
52
|
+
Uses DhtmlHistory by Brad Neuberg (bkn3@columbia.edu)
|
53
|
+
http://codinginparadise.org
|
54
|
+
|
55
|
+
Uses Querystring by Adam Vandenberg
|
56
|
+
http://adamv.com/dev/javascript/querystring
|
57
|
+
|
58
|
+
Uses Paginator by Bruce Williams
|
59
|
+
http://paginator.rubyforge.org/
|
60
|
+
|
61
|
+
Supports RecordSelect by Lance Ivy
|
62
|
+
http://code.google.com/p/recordselect/
|
63
|
+
|
64
|
+
|
65
|
+
License
|
66
|
+
=======
|
67
|
+
Released under the MIT license (included)
|
@@ -17,7 +17,7 @@ action_link.update_flash_messages('<%=escape_javascript(render(:partial => 'mess
|
|
17
17
|
<% elsif params[:parent_controller].nil? %>
|
18
18
|
<% new_row = render :partial => 'list_record', :locals => {:record => @record} %>
|
19
19
|
ActiveScaffold.create_record_row(action_link.scaffold(),'<%= escape_javascript(new_row) %>', <%= {:insert_at => insert_at}.to_json.html_safe %>);
|
20
|
-
<%= render :partial => 'update_calculations'
|
20
|
+
<%= render :partial => 'update_calculations.js' %>
|
21
21
|
<% end %>
|
22
22
|
|
23
23
|
<% unless render_parent? %>
|
@@ -6,7 +6,7 @@ action_link.update_flash_messages('<%= escape_javascript(render(:partial => 'mes
|
|
6
6
|
<% if params[:dont_close] %>
|
7
7
|
<% row_selector = element_row_id(:action => :list, :id => @record.id) %>
|
8
8
|
ActiveScaffold.update_row('<%= row_selector %>', '<%= escape_javascript(render(:partial => 'list_record', :locals => {:record => @record})) %>');
|
9
|
-
<%= render :partial => 'update_calculations'
|
9
|
+
<%= render :partial => 'update_calculations.js' %>
|
10
10
|
ActiveScaffold.scroll_to('<%= row_selector %>', true);
|
11
11
|
<% else %>
|
12
12
|
<% if render_parent? %>
|
@@ -19,7 +19,7 @@ action_link.update_flash_messages('<%= escape_javascript(render(:partial => 'mes
|
|
19
19
|
<%= render :partial => 'refresh_list' %>
|
20
20
|
<% else %>
|
21
21
|
action_link.close('<%= escape_javascript(render(:partial => 'list_record', :locals => {:record => @record})) %>');
|
22
|
-
<%= render :partial => 'update_calculations'
|
22
|
+
<%= render :partial => 'update_calculations.js' %>
|
23
23
|
<% end %>
|
24
24
|
<% end %>
|
25
25
|
<% else %>
|
data/lib/active_scaffold.rb
CHANGED
@@ -16,6 +16,7 @@ require 'active_scaffold/engine' unless defined? ACTIVE_SCAFFOLD_PLUGIN
|
|
16
16
|
require 'json' # for js_config
|
17
17
|
|
18
18
|
module ActiveScaffold
|
19
|
+
METHOD_CONVERSION = RUBY_VERSION < '1.9' ? :to_s : :to_sym
|
19
20
|
autoload :AttributeParams, 'active_scaffold/attribute_params'
|
20
21
|
autoload :Configurable, 'active_scaffold/configurable'
|
21
22
|
autoload :Constraints, 'active_scaffold/constraints'
|
@@ -34,7 +34,7 @@ module ActiveScaffold::Actions
|
|
34
34
|
def create_respond_to_html
|
35
35
|
if params[:iframe]=='true' # was this an iframe post ?
|
36
36
|
responds_to_parent do
|
37
|
-
render :action => 'on_create', :
|
37
|
+
render :action => 'on_create.js', :layout => false
|
38
38
|
end
|
39
39
|
else
|
40
40
|
if successful?
|
@@ -35,7 +35,7 @@ module ActiveScaffold::Actions
|
|
35
35
|
def update_respond_to_html
|
36
36
|
if params[:iframe]=='true' # was this an iframe post ?
|
37
37
|
responds_to_parent do
|
38
|
-
render :action => 'on_update', :
|
38
|
+
render :action => 'on_update.js', :layout => false
|
39
39
|
end
|
40
40
|
else # just a regular post
|
41
41
|
if successful?
|
@@ -190,7 +190,7 @@ module ActiveScaffold
|
|
190
190
|
if value.is_a?(Hash)
|
191
191
|
attributes_hash_is_empty?(value, klass)
|
192
192
|
elsif value.is_a?(Array)
|
193
|
-
value.
|
193
|
+
value.all?(&:blank?)
|
194
194
|
else
|
195
195
|
value.respond_to?(:empty?) ? value.empty? : false
|
196
196
|
end
|
@@ -3,7 +3,7 @@ class ActiveScaffold::Bridges::CalendarDateSelect < ActiveScaffold::DataStructur
|
|
3
3
|
# check to see if the old bridge was installed. If so, warn them
|
4
4
|
# we can detect this by checking to see if the bridge was installed before calling this code
|
5
5
|
|
6
|
-
if ActiveScaffold::Config::Core.instance_methods.include?("initialize_with_calendar_date_select")
|
6
|
+
if ActiveScaffold::Config::Core.instance_methods.include?("initialize_with_calendar_date_select".send(::ActiveScaffold::METHOD_CONVERSION))
|
7
7
|
raise RuntimeError, "We've detected that you have active_scaffold_calendar_date_select_bridge installed. This plugin has been moved to core. Please remove active_scaffold_calendar_date_select_bridge to prevent any conflicts"
|
8
8
|
end
|
9
9
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
class ActiveScaffold::Bridges::FileColumn < ActiveScaffold::DataStructures::Bridge
|
2
2
|
def self.install
|
3
|
-
if ActiveScaffold::Config::Core.instance_methods.include?("initialize_with_file_column")
|
3
|
+
if ActiveScaffold::Config::Core.instance_methods.include?("initialize_with_file_column".send(::ActiveScaffold::METHOD_CONVERSION))
|
4
4
|
raise RuntimeError, "We've detected that you have active_scaffold_file_column_bridge installed. This plugin has been moved to core. Please remove active_scaffold_file_column_bridge to prevent any conflicts"
|
5
5
|
end
|
6
6
|
require File.join(File.dirname(__FILE__), "file_column/as_file_column_bridge")
|
@@ -24,7 +24,7 @@ module ActiveScaffold::Config
|
|
24
24
|
}
|
25
25
|
end
|
26
26
|
|
27
|
-
alias_method_chain :initialize, :file_column unless self.instance_methods.include?("initialize_without_file_column")
|
27
|
+
alias_method_chain :initialize, :file_column unless self.instance_methods.include?("initialize_without_file_column".send(::ActiveScaffold::METHOD_CONVERSION))
|
28
28
|
|
29
29
|
def configure_file_column_field(field)
|
30
30
|
# set list_ui first because it gets its default value from form_ui
|
@@ -4,12 +4,12 @@ module ActiveScaffold
|
|
4
4
|
module FileColumnHelpers
|
5
5
|
class << self
|
6
6
|
def file_column_fields(klass)
|
7
|
-
klass.instance_methods.
|
7
|
+
klass.instance_methods.select{|m| m.to_s =~ /_just_uploaded\?$/}.collect{|m| m[0..-16].to_sym }
|
8
8
|
end
|
9
9
|
|
10
10
|
def generate_delete_helpers(klass)
|
11
11
|
file_column_fields(klass).each { |field|
|
12
|
-
klass.send :class_eval, <<-EOF, __FILE__, __LINE__ + 1 unless klass.methods.include?("#{field}_with_delete=")
|
12
|
+
klass.send :class_eval, <<-EOF, __FILE__, __LINE__ + 1 unless klass.methods.include?("#{field}_with_delete=".send(::ActiveScaffold::METHOD_CONVERSION))
|
13
13
|
attr_reader :delete_#{field}
|
14
14
|
|
15
15
|
def delete_#{field}=(value)
|
@@ -1,6 +1,6 @@
|
|
1
1
|
class ActiveScaffold::Bridges::Paperclip < ActiveScaffold::DataStructures::Bridge
|
2
2
|
def self.install
|
3
|
-
if ActiveScaffold::Config::Core.instance_methods.include?("initialize_with_paperclip")
|
3
|
+
if ActiveScaffold::Config::Core.instance_methods.include?("initialize_with_paperclip".send(::ActiveScaffold::METHOD_CONVERSION))
|
4
4
|
raise RuntimeError, "We've detected that you have active_scaffold_paperclip_bridge installed. This plugin has been moved to core. Please remove active_scaffold_paperclip_bridge to prevent any conflicts"
|
5
5
|
end
|
6
6
|
require File.join(File.dirname(__FILE__), "paperclip/form_ui")
|
@@ -6,7 +6,7 @@ module ActiveScaffold
|
|
6
6
|
self.thumbnail_style = :thumbnail
|
7
7
|
|
8
8
|
def self.generate_delete_helper(klass, field)
|
9
|
-
klass.class_eval <<-EOF, __FILE__, __LINE__ + 1 unless klass.instance_methods.include?("delete_#{field}=")
|
9
|
+
klass.class_eval <<-EOF, __FILE__, __LINE__ + 1 unless klass.instance_methods.include?("delete_#{field}=".send(::ActiveScaffold::METHOD_CONVERSION))
|
10
10
|
attr_reader :delete_#{field}
|
11
11
|
|
12
12
|
def delete_#{field}=(value)
|
@@ -16,7 +16,7 @@ class ActiveScaffold::Bridges::TinyMce
|
|
16
16
|
options[:class] = "#{options[:class]} mceEditor #{column.options[:class]}".strip
|
17
17
|
|
18
18
|
settings = { :theme => 'simple' }.merge(column.options[:tinymce] || {})
|
19
|
-
|
19
|
+
settings = settings.to_json
|
20
20
|
settings = "tinyMCE.settings = #{settings};"
|
21
21
|
|
22
22
|
html = []
|
@@ -174,7 +174,11 @@ module ActiveScaffold::DataStructures
|
|
174
174
|
end
|
175
175
|
|
176
176
|
# a collection of columns to load when eager loading is disabled, if it's nil all columns will be loaded
|
177
|
-
attr_accessor :
|
177
|
+
attr_accessor :select_associated_columns
|
178
|
+
def select_columns=(value)
|
179
|
+
ActiveSupport::Deprecation.warn "Use select_associated_columns= instead of select_columns="
|
180
|
+
self.select_associated_columns = value
|
181
|
+
end
|
178
182
|
|
179
183
|
# describes how to search on a column
|
180
184
|
# search = true default, uses intelligent search sql
|
@@ -357,8 +357,8 @@ module ActiveScaffold
|
|
357
357
|
|
358
358
|
def append_to_query(query, options)
|
359
359
|
options.assert_valid_keys :where, :select, :group, :reorder, :limit, :offset, :joins, :includes, :lock, :readonly, :from, :conditions
|
360
|
-
query = apply_conditions(query, *options
|
361
|
-
options.reject{|k, v| v.blank?}.inject(query) do |query, (k, v)|
|
360
|
+
query = apply_conditions(query, *options[:conditions]) if options[:conditions]
|
361
|
+
options.reject{|k, v| k == :conditions || v.blank?}.inject(query) do |query, (k, v)|
|
362
362
|
query.send((k.to_sym), v)
|
363
363
|
end
|
364
364
|
end
|
@@ -237,7 +237,7 @@ module ActiveScaffold
|
|
237
237
|
if column.associated_limit.nil?
|
238
238
|
Rails.logger.warn "ActiveScaffold: Enable eager loading for #{column.name} association to reduce SQL queries"
|
239
239
|
elsif column.associated_limit > 0
|
240
|
-
value.target = value.find(:all, :limit => column.associated_limit + 1, :select => column.
|
240
|
+
value.target = value.find(:all, :limit => column.associated_limit + 1, :select => column.select_associated_columns)
|
241
241
|
elsif @cache_associations
|
242
242
|
value.target = size.to_i.zero? ? [] : [nil]
|
243
243
|
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: active_scaffold
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 39
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 3
|
8
8
|
- 2
|
9
|
-
-
|
10
|
-
version: 3.2.
|
9
|
+
- 20
|
10
|
+
version: 3.2.20
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Many, see README
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2013-
|
18
|
+
date: 2013-04-05 00:00:00 Z
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
21
21
|
type: :development
|
@@ -84,7 +84,7 @@ executables: []
|
|
84
84
|
extensions: []
|
85
85
|
|
86
86
|
extra_rdoc_files:
|
87
|
-
- README
|
87
|
+
- README.md
|
88
88
|
files:
|
89
89
|
- app/assets/images/active_scaffold/add.png
|
90
90
|
- app/assets/images/active_scaffold/arrow_down.png
|
@@ -332,7 +332,7 @@ files:
|
|
332
332
|
- vendor/assets/stylesheets/jquery-ui.css
|
333
333
|
- MIT-LICENSE
|
334
334
|
- CHANGELOG
|
335
|
-
- README
|
335
|
+
- README.md
|
336
336
|
- test/bridges/active_scaffold_dependent_protect_test.rb
|
337
337
|
- test/bridges/bridge_test.rb
|
338
338
|
- test/bridges/company.rb
|
@@ -442,7 +442,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
442
442
|
requirements: []
|
443
443
|
|
444
444
|
rubyforge_project:
|
445
|
-
rubygems_version: 1.8.
|
445
|
+
rubygems_version: 1.8.23
|
446
446
|
signing_key:
|
447
447
|
specification_version: 3
|
448
448
|
summary: Rails 3.1 Version of activescaffold supporting prototype and jquery
|
data/README
DELETED
@@ -1,66 +0,0 @@
|
|
1
|
-
ActiveScaffold Gem/Plugin by Scott Rutherford (scott@caronsoftware.com), Richard White (rrwhite@gmail.com), Lance Ivy (lance@cainlevy.net), Ed Moss, Tim Harper and Sergio Cambra (sergio@entrecables.com)
|
2
|
-
|
3
|
-
Uses DhtmlHistory by Brad Neuberg (bkn3@columbia.edu)
|
4
|
-
http://codinginparadise.org
|
5
|
-
|
6
|
-
Uses Querystring by Adam Vandenberg
|
7
|
-
http://adamv.com/dev/javascript/querystring
|
8
|
-
|
9
|
-
Uses Paginator by Bruce Williams
|
10
|
-
http://paginator.rubyforge.org/
|
11
|
-
|
12
|
-
Supports RecordSelect by Lance Ivy
|
13
|
-
http://code.google.com/p/recordselect/
|
14
|
-
|
15
|
-
== Version Information
|
16
|
-
|
17
|
-
If you want to use the gem, add to your Gemfile:
|
18
|
-
gem "active_scaffold"
|
19
|
-
|
20
|
-
In case you would like to use most recent commit:
|
21
|
-
gem 'active_scaffold', :git => 'git://github.com/activescaffold/active_scaffold.git'
|
22
|
-
|
23
|
-
3.1.* and 3.2.* versions works with rails 3.1 and 3.2, 3.0.* versions with rails 3.0.
|
24
|
-
To use previous rails versions you will have to install the right branch as a plugin.
|
25
|
-
|
26
|
-
Active Scaffold master currently supports rails 3.1 and rails 3.2, you can use following branches for previous rails versions:
|
27
|
-
Rails 3.0.*: Active Scaffold rails-3.0
|
28
|
-
Rails 2.3.*: Active Scaffold rails-2.3 and v2.4
|
29
|
-
Rails 2.2.*: Active Scaffold rails-2.2
|
30
|
-
Rails 2.1.*: Active Scaffold rails-2.1
|
31
|
-
Rails < 2.1: Active Scaffold 1-1-stable (no guarantees)
|
32
|
-
|
33
|
-
Since Rails 2.3, render_component plugin is needed for nested and embedded scaffolds. It works with rails-2.3 branch from ewildgoose repository:
|
34
|
-
script/plugin install git://github.com/ewildgoose/render_component.git -r rails-2.3
|
35
|
-
|
36
|
-
Since Rails 3.0 render_component is not used for nesting, but is optional for embedded scaffolds.
|
37
|
-
For Rails 3.0, https://github.com/rails/verification.git is also needed, not in rails 3.1 or higher.
|
38
|
-
|
39
|
-
If you want to install as plugins under vendor/plugins, install these versions:
|
40
|
-
rails plugin install git://github.com/vhochstein/render_component.git
|
41
|
-
rails plugin install git://github.com/rails/verification.git
|
42
|
-
rails plugin install git://github.com/activescaffold/active_scaffold.git -r 'rails-3.0'
|
43
|
-
|
44
|
-
== Pick your own javascript framework
|
45
|
-
|
46
|
-
The Rails 3.0 version uses unobtrusive Javascript, so you are free to pick your javascript framework.
|
47
|
-
Out of the box Prototype or JQuery are supported for rails 3.1 and later. For rails 3.0 pick a JS file:
|
48
|
-
|
49
|
-
Prototype 1.7 (default js framework)
|
50
|
-
rails.js in git://github.com/vhochstein/prototype-ujs.git
|
51
|
-
|
52
|
-
JQuery 1.4.1, 1.4.2
|
53
|
-
https://github.com/vhochstein/jquery-ujs/raw/jquery1_4_2/src/rails.js
|
54
|
-
|
55
|
-
JQuery > 1.4.2
|
56
|
-
https://github.com/vhochstein/jquery-ujs/raw/master/src/rails.js
|
57
|
-
|
58
|
-
To configure the javascript framework when installed under vendor/plugins/
|
59
|
-
uncomment last line in config/initializers/active_scaffold.rb in order to use jquery instead of prototype.
|
60
|
-
That file is created when you install ActiveScaffold as a plugin.
|
61
|
-
|
62
|
-
To configure the javascript framework when installed as a gem:
|
63
|
-
Add a config/initializers/active_scaffold.rb containing:
|
64
|
-
ActiveScaffold.js_framework = :jquery # :prototype is the default
|
65
|
-
|
66
|
-
Released under the MIT license (included)
|