= 3.4.16
- add scoped_query to list methods, so it can be used for calculations, like each_record_in_scope is used to iterate over every filtered record
- fix field_search_ignore? and search_ignore?
- fix reset on search forms loaded with session search
= 3.4.14
- fix filter order in AS controllers which inherit from AS controllers
- clean code
= 3.4.13
- fix parent_prefixes deprecation on rails 4.2
- set parent record on add existing
- add record_select_params_for_add_existing to allow to set params on record select browse url, so add existing records are filtered
- fix search with date and boolean columns on rails 4.2
- fix cache association for has many through
- move handle_user_settings and check_input_device filters to Actions::Core so filters are not added to ActionController::Base, see cb2fabd
- allow to use search and field_search without AJAX
- allow to remove reset button in search and field_search
= 3.4.12
- Workaround for counter_cache bug on polymorphic associations on rails4
- Improve use of CRUD actions without list action
= 3.4.11
- Fix refresh-link on main form (not subform)
- Workaround for counter_cache bug on rails4 (https://github.com/rails/rails/pull/14849)
- Support create form on nested scaffolds on through association, if through reflection association is included in create form
- Remove ruby 1.8 support
- Fix :index member route (list one item), broken on 3.4.9
= 3.4.10
- singular associations on subform are always created, in other case it's not possible to enable a checkbox without filling text fields.
- process_action_link_action checks security for crud_type and action now
- fix record for add_existing_form, so it can be used on options_for_association_conditions
- :type option for action_link not needed anymore if added with action_links.member.add, it was redundant
= 3.4.9
- update parent data when changing a column in subform of edit form, so parent has data from form as it works in new form
- use :only and :except options from resource line on as_routes and as_association_routes, so activescaffold actions can be selected
- focus first element of subform record added
- changes on destroy:
- destroy.js.erb uses main_path_to_return to get url to reload if page empty
- delete_record_row can be called without url
- messages_id and form_selector on create, update and destroy JS views can be overrided when calling render :super
- element_row_id on list_record partial can be overrided when calling render :super with :row_id local
= 3.4.8
- set parent data when adding new record on subform of a create form on a embedded or nested list
- trigger ajax:* events on ajax call to render_field
= 3.4.7
- sorting by primary key added by default only for postgres, on mysql it will avoid using index to sort (you can see using filesort on explain), slowdown sorting
- fix set_parent on rails 3.2 with attr_accessible
- fix saving changes on render_field when blank row is changed and request render_field action
= 3.4.6
- Add paper_trail bridge (requires 3.0.5 version for nested support). It adds:
- a collection link to deleted action which display deleted_records
- a member link to PaperTrail::VersionsController which display changes for current record. PaperTrail::VersionsController must be added, not included with ActiveScaffold.
- Focus first element on persistent create forms when form is reloaded
- Fix linking to non-namespaced controller from namespaced controller
= 3.4.5
- Fix default sorting on ruby 1.8
- Fix add existing button, broken on 3.4.4
- add active_scaffold_checkbox_option so rendering li of checkbox_list can be overrided
- Fix set_parent for render field on main form columns
= 3.4.4
- Fix set_parent for render field on blank records added by default on subforms
- Enable sorting on selected draggable list, so it can be used on config_list
- Remove unfinished nested_auto_open feature, it was working only if render_component is used, which is not recommended way
- Allow to set sorting on multiple columns with a hash, ruby 1.9 hashes keep order so an array of hashes is not needed anymore, although it still works.
- Fix overriding default sorting (with config.list.user.sorting.set) without changing config.list.sorting
= 3.4.3
- default search columns doesn't include association columns (broken on 3.4.2), it slowing down search with no point (searching by association's primary key)
- More unobtrusive html views, activescaffold html views doesn't use javascript anymore so JS files can be loaded at page bottom
= 3.4.2
- fix tableless on latest rails4 versions
- respond with 406 for html request on js only actions
- fix JS issue on IE8
- support jquery-ui-rails 5
- update_columns fixes on subforms refreshing
- fix dynamic links menu in group links
- fix id_condition (/:id/index) for models with different primary key
- fix parent_controller param when rendering subforms on render_field
- fix session usage on rails >= 4.1
- fix marked records on rails >= 4.1
- add display_dynamic_action_group helper to help building js and html to display a dynamic action group
- display error when has_one association with :select form_ui fails to set, save continued but change was lost
- fix each_record_in_scope for rails 4 (fixes mark all records)
- trigger as:element_created for created record
= 3.4.1
- fix search value when both field_search and search are enabled and a search with field_search is active
- fix cancan permissions check on subform
- fix has_one/belongs_to nested with :primary_key option
- fix display of virtual number columns
- fix display of serialized columns on list
- improve tests
= 3.4.0.1
- Fix record_select on field_search
= 3.4.0
- Support rails4
- Quote selected columns
- More unobtrusive html views
- Move () in visibility toggle links inside so they can be overrided
- More helpers to support overriding
- Extend datepicker to load settings from data attributes before onReady event is fired
- Add weight to action links
- Add placeholder in search form
- load existing record on render_field when id is present
- Add helper to override subform label
- embedded? checks that it is displayed embedded, add loading_embedded? to check first loading of embedded
- Fix previous page link with search and sort options when they are not stored in session
- Fix updating column in main form when subform has column with same name
- Fix sort_by :method without conditions
- Add conditional_get_support and calculate_etag options to send etag and check it with stale? rails method, avoiding rendering views and loading all page items when page is cached
- Remove row action (method exists but not as action), index with id is enough
- Use to_param in action links
- Allow to pass an array value in conditions_from_params, not only single value for columns
- Display count items when pagination is disabled
- Check security in column groups in forms
- Add refresh_link option to :select form_ui
- Sort association options in select :form_ui using column.sort_by :sql
- Support :radio form_ui in association columns
- Improve XML/JSON/YAML: return primary key, associations and virtual columns (a method must exist in model)
- Add support for :label_method option for association columns so another method can be used instead of to_label
- Support update_columns in plural associations
- Support nil conditions in conditions_from_params: when column param is empty and is not a text column, nil condition will be used
- Support autopagination, first page is loaded in first request, then all pages are loaded and displayed by ajax automatically
- Support toggle collection action links, for links with reload list to filter, so active link is marked
- Support search and field_search at same time
- Support for overriding how download url is get for dragonfly attachment
- Trigger as:element_removed when ActiveScaffold.remove is called
- use preload instead of includes to preload associations without left join when not used for searching or sorting
- Allows for contents such as " Filters " to be placed in the locale yml.
- Add form_ui to html classes of li in forms
- Allow to set different :controller for record_select_autocomplete (when no association in column using record_select)
- Add :optional to create.persistent
= 3.3.3
- Allow to override select options in active_scaffold_search_select
- Load effects from jQuery UI when using jquery-rails 3 gem
- Fix searching on nested scaffolds (broken on 3.3.2)
- Fix searching when includes is set to nil
- Send parent_controller for render_field requests on subforms for persisted records, as new records were already sending it
- Avoid loading some JS when jquery-ui is not available
- Load CSS from jquery ui rails gem
= 3.3.2
- Fix subforms inside subforms
- Fix draggable for jquery-rails 3 gem
- Support to change attributes in list column headings with column_heading_attributes helper
- Keep url for embedded in data-refresh attr of active-scaffold-component div
- Remove duplicated results when searching with outer_joins in plural associations
= 3.3.1
- Set adapter colspan (nested lists and forms) using javascript, fixed issue when active_scaffold_config_list is used
- Fix bug saving default values when get method is overrided on model to return default value
- Fix close action_link without adapter
- Fix update calculations after destroy a row
- Fix count and calculate searching with count_includes
- Fix action_after_create
- Cache associations options (for :select form_ui on associations), it can be disabled with config.cache_association_options = false
- Clean some code so we can stop changing @record in partials and using @record in helpers
- Support jquery-rails 3 gem and jquery-ui-rails gem
- Clean some invalid HTML
- Add store_user_settings option to enable storing sort, page and search params into session (enabled by default for backwards compatibility)
- Fix each_record_in_scope when conditions_for_collection needs some includes
- Add method to override label in search fields (field_search)
- Add method to override attributes for column headings on list
- Support security_method and ignore_method in column's link
- render :super should work for every render call (with partial and locals or with only one hash)
= 3.3.0
- Unify field overrides and list_ui method signatures
- Improve performance removing some partials and adding some caching for helper overrides and UIs, and caching url generation for lists (caching url is optional)
- Drop support for rails 3.1
- Add HTML5 form fields
- Add :chosen form_ui, and :chosen and :multi_chosen search_ui
- Fix nested with has_one associations, and belongs_to associations with :list action
- Support optgroup in :select and :chosen form_ui
- Support render_form_field with multiple rows (rows with associated-record class)
- Support for updating columns, row or table after updating a column with inplace_edit
- Keep order for records in plural subforms, so new records are saved in same order as form order
- Support add_subgroup in horizontal subforms
- Improve support in helpers for using :select form_ui with polymorphic associations (needs to use a select to choose the class)
- Allow to create in nested has_many :through associations, when source association is a belongs_to
- Fix calculations using field_search with has_many includes
- Add support to ActiveScaffold.create_record_row to insert after or before of an element
- Add support for dynamic action group
- Improve parsing of datetimes
- Add support for lists filtered by id (one-item lists)
- Fix update_columns with sending whole big forms
- Improve update_columns on subforms
- Support to override ActiveScaffold.remove so effects can be added on page elements deletion
- Add support for conversion methods in controller, so form_uis can define how to convert params to values
- Avoid sorting by contraint columns
- Cosmetic fixes and improvements
- Fix multipart persistent update form
- Support jquery 1.9 (jquery-rails 2.2.0 gem)
- Reduce usage of session
- Allow to include header on list refreshing
- Add search_joins to columns, so it's possible to do left joins without loading associations only for searching
- Fix set focus for inplace edit clone and ajax
- Allow to override label for list column headings with a new helper method column_heading_label
- Keep focus on last field when render_field is called
- Add empty create and update methods to tableless
- Allow multiple subform levels
= 3.2.20
- Some fixes for ruby 1.9
- Some fixes for rails 3.1
- Fix detection of empty for has_and_belongs_to_many on subforms
= 3.2.19
- Avoid crashing when between is chosen and from or to is not filled
= 3.2.18
- Fix add existing record with record_select
- Disable link for polymorphic associations in 3.2.x, it doesn't work
= 3.2.17
- fix constraints for columns with multiple columns in search_sql
- remove unauthorized collection links
- copy parameters and html_options on cloning action link
- fix missing argument in datepicker conditions
- check authorization in model for plural associations nested links
- Allow to set action_group in nested.add_link
- fix current page when is inside outer window
- Support record select with polymorphic associations
- Fix column count in inline adapter for forms and views
- Add support for class prefix on human condition helpers
= 3.2.16
- Fix use of column.css_class in form when is a proc, it wasn't skipped when form was a columns group
- Fix constraints and colspan in self-referential associations
- Fix rendering parent row after creating or updating in a nested form (singular associations)
- Translate include_blank and prompt in form_ui :select
- Fix mark for nested scaffolds
- Fix STI creation
- Fix null search for numeric columns
- Fix recordselect inplace_edit with plural associations in ruby 1.9
= 3.2.15
- Prepare to unify field overrides and list_ui method signatures
- Add :optional to update.persistent
- Add missing triggering of as:element_updated in new subform rows
- Fix conditions for :select in field_search
- Fix datetime field search
- Fix authorization checking in member action links
= 3.2.14
- Fix default sorting, it was broken in 3.2.13
= 3.2.13
- Fix destroy action, was broken in 3.2.12
- Remove default :method sorting for associations, it wasn't useful and can be slow
- Rescue from ActiveScaffold::ActionNotAllowed and ActiveScaffold::RecordNotAllowed with 401 response, it can be overrided with deny_access method in ApplicationController.
- Allow to set arrays in search_sql so one column can search in multiple db columns, resulting sql chunks will be OR'ed
- Hide text input on searching for null or not null
- Add some classes to forms to improve CSS customization
- Fix nested links for STI controllers with common configuration in a base controller
- Fix adding routes twice in active_scaffold generator
- Restore old behavior for action_link's security_method, ignore_method already hides the link
- Add data-cancel-refresh to action links, so nested scaffold's behaviour can be applied to other action links and when adapter is closed row will be refreshed.
- fix support for tableless models in rails >= 3.2.5
= 3.2.12
- improve support for tableless models, add support for count
- fix div id for nested scaffolds
- add config.timestamped_messages and config.highlight_messages
- Improve performance using class to check authorization for plural associations which are not loaded, and avoiding to load associations if it's not needed
- Fix using a scope in main form, it wasn't working for associations (for create multiple from active_scaffold_batch)
- Fix searches with no results, it was loading first page without conditions
- Allow to change highlight options with ActiveScaffold.js_config
- allow to override column count calculation for colspan
- Remove conditions_from_params from nested links
- Fix nested forms for singular associations
- enable to get constraints in helpers, so can be used in options_for_association_conditions, for example
- Allow to edit has_one :through association in nested forms
- Fix cancan bridge broken in a previous release
- Fix mark action
= 3.2.11
- improve support for tableless models and active_scaffold_batch
- fix count includes which were broken in 3.2.9
- remove duplicated conditions in nested scaffolds, added by conditions_from_params
= 3.2.10
- fix nested scaffolds with update action disabled
- initial work for tableless support (index with limited options)
- fix scrolling on closing nested scaffolds
- fix calculations which were broken in 3.2.9
= 3.2.9
- remove duplicated conditions with constraints
- fix constraints for polymorphic associations
= 3.2.8
- add deprecation for update_column, update_columns should be used instead
- fix constraints with hide_nested_column disabled in list and embedded scaffolds which are nested too
- fix setting a hash as includes, cannot be concat in finder
- add option to scroll on close only if element is not visible in viewport (default now)
- fix create and edit singular associations without render_component
- messages go across all table
- display readonly associations in forms, it was ready to display them but it was skipping them
- Some fixes for inplace editors (cloning form overrides, ajax and radiobuttons). Add handlers for empty columns
- add wrap_tag to list so cells content can be wrapped in a tag for better styling
- fix date picker parsing for datetime fields when jquery is used
- add as:element_updated js event when replace or replace_html is called
- rescue database exceptions so you get error messages for it insted of error 500, for example in case you forgot to check uniqueness for a unique index
- add class attribute for displayed unauthorized columns in forms, so they get same styling
= 3.2.7
- restore missing update.persistent feature
- fix create.persistent
- add new record in first scaffold, not in all nested scaffolds
- fix deleting all in habtm with select_ui
= 3.2.6
- fix ordering with DISTINCT call
- allow to override some human condition strings in i18n, and translate select values for non-association columns
= 3.2.5
- add outer window for pagination links
- workaround rails 3.2.3 bug in TimeWithZone#to_time
- fix date picker format for datetime fields
- fix bitfields bridge when some actions are not used
- use core config label when is set and STI is not used
= 3.2.4
- don't break on custom SQL sorting (e.g. sorting with functions)
- fix cancel inplace edit with jquery
- fix nested scaffolds inside nested and embedded scaffolds
- fix collapsed subgroups
- fix inplace edit for checkboxes columns with true as default value
- fix calendar date select bridge
= 3.0.6 .. 3.2.3
- many changes
= 3.0.5
- switch from explicit requires to autoloading
- get nested action links up and running
= 3.0.4
- Fix a typo that made 3.0.3 unusable.
= 3.0.3
- Fixing 'require' ordering
- Code for nested and subgrouped action links
- bugfixes for better html generation
= 3.0.2
- Two bug fixes and a deprecation silencing.
= 3.0.1
- Fixing the requiring of files.
= 3.0.0
- Packaging up vhochstein's fork for Rails 3.0 as a gem.
= 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