forked from activescaffold/active_scaffold
-
Notifications
You must be signed in to change notification settings - Fork 1
/
CHANGELOG
152 lines (124 loc) · 9.45 KB
/
CHANGELOG
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
= 1.2RC1
== FEATURES
- Added view helpers (active_scaffold_javascripts, active_scaffold_stylesheets, active_scaffold_ie_stylesheets) to help with asset cacheing (Alexander Semyonov)
- Works with Rails 2.1 (2.0 / 1.2.x will continue to be supported by version 1.1)
== FIXES
- Javascript compatibility with FF3 / Safari 3.1 (Mike Dalessio)
see http://groups.google.com/group/activescaffold/browse_thread/thread/d37afa3f2ac687f2/b34ebf62d767bee3
- Avoid ruby deprecation warning in config/list.rb (Dustin Sallings)
- Fixes bug where template overrides are ignored when placed in Engines plugins (Mike Dalessio)
- Fixed in_place_editor to work with latest control.js
- Fixed infinite recursion bug when creating a new record with a new association
- Subform action name conflict fix
- Helpful warning message if record_select is not on a column with an association
= 1.1.1
== FIXES
* rendering for rails 1.2.x
= 1.1.0
== FEATURES
* `render :super' now accepts a :locals option
* parameter-based conditions now support arrays of values (e.g. users?name[]=bob&name[]=fred becomes "name IN ('bob', 'fred')")
== FIXES
* `render :super' now works from active_scaffold_overrides without endlessly looping
* `render :super' no longer assumes that the *immediate* caller was the override template file
* `render :super' works better with windows file names (e.g. c:/...)
* reload_if_empty() javascript now uses GET
* inplace_edit now uses POST instead of GET
* adding time and date fields to ignore list for determining whether subform row is empty. previously only datetime was ignored.
* closed a potential internet explorer security issue in dhtml_history.js library
= 1.1.0 RC1
== FEATURES
=== LIST
* row class: new helper method (list_row_class) gets called for each record in the list and returns a CSS class.
* automatically link to the :show action of singular associations. this is similar to the nested scaffolds for plural associations.
* column.list_ui: good for when you want to render multiple columns the same way.
* * built-in list interface options:
* * * for inplace edits - checkbox
* Support :joins_for_collection in column_calculation
* inplace_edit option on list columns. currently works for text boxes and booleans
=== CREATE/UPDATE
* file uploads - largely taken care of by file_column bridge.
* * automatically detects if FileColumn is installed. If so, uses it, and sets the form_ui for file columns to be file upload fields
* * sets multipart? on config.create and config.update if file_columns are used on the target model
* * Posts through iframe to give ajax-style file uploads
* * Image columns are recognized and previewed as such
* * Ability to delete a file
* form_ui
* * form interface options are now supported through helper method named active_scaffold_input_#{form_ui}. if you want a different form interface than activescaffold normally provides, you may configure the form_ui for that column to use one of these methods. you can easily define your own, too.
* * built-in form interface options:
* * * for associations - singular_association, plural_association, select, record_select
* * * others - select, checkbox, country, password, textarea, usa_state, virtual, boolean
* * subforms respect form_ui settings. but if form_ui is empty, it will be set to :select to disable subform nesting.
* boolean columns: when the database column allows nil, we now add a third option to the dropdown so you don't *have* to pick true or false.
* new :params option for a column lets you specify additional parameters to accept when the given column is on the form. this is for when a column needs to submit multiple values to work.
* improved support for associations in parameters. for simply selecting/deselecting associations, activescaffold will now recognize `:user => 5' or `:users => [1, 2, 5]'.
* Supply a unique id from active_scaffold_input_options for form fields.
* added after_update_save controller override method
=== EMBEDDING
* `render :active_scaffold' now accepts a :conditions option, which is a weaker but more flexible variation of :constraints
* active_scaffold_includes now accepts a frontend name. this is necessary so you can include the proper assets even if active_scaffold isn't configured on the current controller (it's embedded).
* polymorphic constraints are now supported, assuming params[:parent_model].to_s is the proper content for the polymorphic _type field.
* Beefing up the constraint system so it can handle has_one/belongs_to. Specifically, it can now disassociate a previous relationship before setting a new one. For example, Bear has_one Den. If creating a new Den, constrained to a certain Bear, the constraints system will now disassociate any previous Den from the Bear before associating the new one.
=== NESTING
* :through associations may now be nested
* nested#shallow_delete
=== SEARCH
* fieldsearch module handles booleans better - provides third option so you don't *have* to search on a boolean column
* In field search lock_version is the only magic column. May want to search by :id or date fields.
=== GENERAL
* use #human_name for the column label when possible.
* merge_conditions now supports hash conditions (and should forever support every conditions style that ActiveRecord supports)
* action links may now remove an action link with #clear_link
* action links have a new :controller option, so you don't have to sneak it into :params anymore
* dhtml history may now be disabled
* authorized_for? in ActiveRecordPermissions now calls respond_to? only as much as needed
* removing an assert_valid_keys? call in active_record_permissions#authorized_for?. it just wasn't worth the CPU time.
* render :super is now extension-agnostic. ex: `render :super` in list.html.erb will properly find list.rhtml as the "parent" template.
* Auto-bridge loading mechanism. Bridges integrated into core.
* inherited_view_paths: ability to specify other folders to look for if missing view occurs
== FIXES
=== LIST
* the calculation row now updates on edit/create/destroy.
* list now returns to page 1 if the current page has no records.
* list will now try to reload the scaffold on a previous page if you delete the last entry on the current page.
* if there were no end-of-line record actions, then any column actions would not use ajax. this was because the loading indicator was missing, which messed up the action link javascript.
* theme == :default no longer attempts to use Rico.Corner
* column_empty? now treats any values equal to list.empty_field_text as empty, too.
* better :method handling for action links.
* the ' ' fix for ie6 was failing for value types that weren't nil and didn't respond to empty?
* if someone sets singular columns to link to the 'nested' action, the link will now render with the appropriate id parameter.
* do not propagate params[:search] through action links that link to other controllers. closes issue #447.
* reworked rendering of pagination links for IE
=== CREATE/UPDATE
* constraints are now applied to a record during the #new action, in case any custom form rendering depends on the constrained column
* the default options_for_association_conditions now returns nil for :through associations
* will not update a record attribute if the value hasn't changed. this is a workaround for an activerecord bug with has_one associations.
* attributes_hash_is_empty? didn't handle multi-parameter attribute names like 'created_at(5i)', which resulted in extra records being created from subforms.
* Hide hidden column header labels - like lock_version - in sub-forms.
* configuring url_for to not escape ampersands for the add_new_url in association footers (the 'create another' button's url)
* attribute_params.rb#attributes_hash_is_empty now checks defaults by converting them to strings to match the parameter values.
=== NESTING
* no longer trying to nest a polymorphic association (there's no consistent model to list)
* fixed :conditions generation for nested/embedded scaffolds - was causing a bind variable mismatch.
=== SEARCH
* search/livesearch should no longer choke on virtual columns
* the search/live_search forms will now ignore params[:search] when generating the submit url
=== GENERAL
* no longer blow up on data strings with unintentional % characters. as_() was sprintf'ing too frequently.
* link_to no longer blows up on controller symbols
* activescaffold no longer loses information on columns - `config.columns.add', `config.columns = [...]', and `config.columns.exclude' all now affect the *inheritability* of a column by the other modules (list, create, update, etc.), but all columns remain in config.columns. this also makes _id columns behave better.
* dhtml history no longer saves null:null:null history bookmark.
* if there aren't any columns to search on, then activescaffold no longer creates an empty WHERE clause
* render :update was failing in some cases because activescaffold wasn't expecting blocks to the render call.
* quoting the scaffold id for report_500_response()
* adding :update_column => :post to the RESTful routing. closes issue #448.
== MISC
* reorganized the helpers and extensions
* ui_type is now only an alias for form_ui
* improvements to exception messages
* when initializing in production mode, activescaffold now recovers gracefully if it can't copy asset files
* RESTful routing is now accomplished in a way that'll let other add-ons extend the meaning of :active_scaffold => true.
* fixes for edge rails compatibility
* small improvements for localization accessibility
* minor string renaming (will affect localization tables, though)
* closed a few XSS holes