active_scaffold 3.1.20 → 3.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (95) hide show
  1. data/app/assets/javascripts/jquery/active_scaffold.js +4 -1
  2. data/app/assets/javascripts/prototype/active_scaffold.js +4 -1
  3. data/app/assets/stylesheets/{active_scaffold.scss~ → active_scaffold.css.scss} +5 -2
  4. data/app/assets/stylesheets/{active_scaffold_colors.scss → active_scaffold_colors.css.scss} +4 -0
  5. data/app/assets/stylesheets/active_scaffold_extensions.css.erb +2 -0
  6. data/app/assets/stylesheets/active_scaffold_images.css.scss +43 -0
  7. data/lib/active_scaffold/actions/core.rb +1 -0
  8. data/lib/active_scaffold/actions/nested.rb +0 -1
  9. data/lib/active_scaffold/extensions/action_view_rendering.rb +1 -1
  10. data/lib/active_scaffold/helpers/form_column_helpers.rb +1 -0
  11. data/lib/active_scaffold/version.rb +2 -2
  12. data/test/mock_app/.gitignore +2 -0
  13. metadata +86 -164
  14. data/app/assets/javascripts/active_scaffold.js.erb~ +0 -16
  15. data/app/assets/javascripts/jquery/active_scaffold.js~ +0 -1053
  16. data/app/assets/javascripts/jquery/draggable_lists.js~ +0 -27
  17. data/app/assets/javascripts/prototype/active_scaffold.js~ +0 -1037
  18. data/app/assets/stylesheets/active_scaffold.css.erb +0 -11
  19. data/app/assets/stylesheets/active_scaffold.css.erb~ +0 -11
  20. data/app/assets/stylesheets/active_scaffold.css.scss.erb~ +0 -1120
  21. data/app/assets/stylesheets/active_scaffold.css.scss~ +0 -11
  22. data/app/assets/stylesheets/active_scaffold.css~ +0 -11
  23. data/app/assets/stylesheets/active_scaffold_colors.css +0 -244
  24. data/app/assets/stylesheets/active_scaffold_colors.css.scss~ +0 -481
  25. data/app/assets/stylesheets/active_scaffold_default.css.erb +0 -47
  26. data/app/assets/stylesheets/active_scaffold_default.css.erb~ +0 -57
  27. data/app/assets/stylesheets/active_scaffold_default.css.scss~ +0 -1092
  28. data/app/assets/stylesheets/active_scaffold_default.css~ +0 -923
  29. data/app/assets/stylesheets/active_scaffold_layout.css~ +0 -922
  30. data/app/assets/stylesheets/blue-theme.css~ +0 -1150
  31. data/config/locales/es.yml~ +0 -120
  32. data/frontends/default/views/_action_group.html.erb~ +0 -24
  33. data/frontends/default/views/_base_form.html.erb~ +0 -42
  34. data/frontends/default/views/_form.html.erb~ +0 -26
  35. data/frontends/default/views/_form_association.html.erb~ +0 -19
  36. data/frontends/default/views/_form_association_footer.html.erb~ +0 -48
  37. data/frontends/default/views/_horizontal_subform.html.erb~ +0 -32
  38. data/frontends/default/views/_horizontal_subform_header.html.erb~ +0 -11
  39. data/frontends/default/views/_horizontal_subform_record.html.erb~ +0 -38
  40. data/frontends/default/views/_list_actions.html.erb~ +0 -15
  41. data/frontends/default/views/_list_inline_adapter.html.erb~ +0 -10
  42. data/frontends/default/views/_list_messages.html.erb~ +0 -30
  43. data/frontends/default/views/_list_pagination.html.erb~ +0 -11
  44. data/frontends/default/views/_list_pagination_links.html.erb~ +0 -0
  45. data/frontends/default/views/_list_with_header.html.erb~ +0 -36
  46. data/frontends/default/views/_render_field.js.erb~ +0 -23
  47. data/frontends/default/views/_row.html.erb~ +0 -6
  48. data/frontends/default/views/_show.html.erb~ +0 -8
  49. data/frontends/default/views/_update_form.html.erb~ +0 -6
  50. data/frontends/default/views/_vertical_subform.html.erb~ +0 -12
  51. data/frontends/default/views/add_existing.js.erb~ +0 -18
  52. data/frontends/default/views/add_existing_form.html.erb~ +0 -5
  53. data/frontends/default/views/create.html.erb~ +0 -5
  54. data/frontends/default/views/edit_associated.js.erb~ +0 -13
  55. data/frontends/default/views/on_create.js.erb~ +0 -45
  56. data/frontends/default/views/on_update.js.erb~ +0 -31
  57. data/frontends/default/views/render_field.js.erb~ +0 -1
  58. data/frontends/default/views/search.html.erb~ +0 -5
  59. data/frontends/default/views/show.html.erb~ +0 -5
  60. data/frontends/default/views/update.html.erb~ +0 -8
  61. data/frontends/default/views/update_column.js.erb~ +0 -16
  62. data/lib/active_scaffold.rb~ +0 -373
  63. data/lib/active_scaffold/actions/core.rb~ +0 -203
  64. data/lib/active_scaffold/actions/create.rb~ +0 -148
  65. data/lib/active_scaffold/actions/list.rb~ +0 -196
  66. data/lib/active_scaffold/actions/nested.rb~ +0 -247
  67. data/lib/active_scaffold/actions/search.rb~ +0 -49
  68. data/lib/active_scaffold/actions/subform.rb~ +0 -27
  69. data/lib/active_scaffold/actions/update.rb~ +0 -150
  70. data/lib/active_scaffold/attribute_params.rb~ +0 -203
  71. data/lib/active_scaffold/bridges/date_picker/helper.rb~ +0 -180
  72. data/lib/active_scaffold/bridges/record_select/helpers.rb~ +0 -86
  73. data/lib/active_scaffold/bridges/shared/date_bridge.rb~ +0 -209
  74. data/lib/active_scaffold/config/base.rb~ +0 -72
  75. data/lib/active_scaffold/config/list.rb~ +0 -195
  76. data/lib/active_scaffold/config/nested.rb~ +0 -41
  77. data/lib/active_scaffold/config/search.rb~ +0 -74
  78. data/lib/active_scaffold/constraints.rb~ +0 -186
  79. data/lib/active_scaffold/data_structures/action_columns.rb~ +0 -140
  80. data/lib/active_scaffold/data_structures/action_link.rb~ +0 -179
  81. data/lib/active_scaffold/data_structures/nested_info.rb~ +0 -147
  82. data/lib/active_scaffold/extensions/action_controller_rendering.rb~ +0 -22
  83. data/lib/active_scaffold/extensions/action_view_rendering.rb~ +0 -120
  84. data/lib/active_scaffold/extensions/active_association_reflection.rb~ +0 -22
  85. data/lib/active_scaffold/extensions/cache_association.rb~ +0 -12
  86. data/lib/active_scaffold/extensions/reverse_associations.rb~ +0 -64
  87. data/lib/active_scaffold/extensions/routing_mapper.rb~ +0 -48
  88. data/lib/active_scaffold/extensions/unsaved_associated.rb~ +0 -62
  89. data/lib/active_scaffold/finder.rb~ +0 -370
  90. data/lib/active_scaffold/helpers/controller_helpers.rb~ +0 -92
  91. data/lib/active_scaffold/helpers/form_column_helpers.rb~ +0 -320
  92. data/lib/active_scaffold/helpers/id_helpers.rb~ +0 -123
  93. data/lib/active_scaffold/helpers/list_column_helpers.rb~ +0 -370
  94. data/lib/active_scaffold/helpers/search_column_helpers.rb~ +0 -263
  95. data/lib/active_scaffold/helpers/view_helpers.rb~ +0 -350
@@ -1,203 +0,0 @@
1
- module ActiveScaffold::Actions
2
- module Core
3
- def self.included(base)
4
- base.class_eval do
5
- after_filter :clean_up_session
6
- after_filter :clear_flashes
7
- end
8
- base.helper_method :nested?
9
- base.helper_method :beginning_of_chain
10
- base.helper_method :new_model
11
- end
12
- def render_field
13
- if params[:in_place_editing]
14
- render_field_for_inplace_editing
15
- else
16
- render_field_for_update_columns
17
- end
18
- end
19
-
20
- protected
21
- def clean_up_session
22
- backup = session.reject! { |k, v| k.is_a?(String) && v != active_scaffold_session_storage && k.start_with?('as:')}
23
- end
24
-
25
- def nested?
26
- false
27
- end
28
-
29
- def render_field_for_inplace_editing
30
- register_constraints_with_action_columns(nested.constrained_fields, active_scaffold_config.update.hide_nested_column ? [] : [:update]) if nested?
31
- @record = find_if_allowed(params[:id], :update)
32
- render :inline => "<%= active_scaffold_input_for(active_scaffold_config.columns[params[:update_column].to_sym]) %>"
33
- end
34
-
35
- def render_field_for_update_columns
36
- column = active_scaffold_config.columns[params[:column]]
37
- unless column.nil?
38
- @source_id = params.delete(:source_id)
39
- @columns = column.update_columns
40
- @scope = params[:scope]
41
-
42
- if column.send_form_on_update_column
43
- hash = if @scope
44
- @scope.gsub('[','').split(']').inject(params[:record]) do |hash, index|
45
- hash[index]
46
- end
47
- else
48
- params[:record]
49
- end
50
- @record = hash[:id] ? find_if_allowed(hash[:id], :update) : new_model
51
- @record = update_record_from_params(@record, active_scaffold_config.send(@scope ? :subform : (params[:id] ? :update : :create)).columns, hash)
52
- else
53
- @record = new_model
54
- value = column_value_from_param_value(@record, column, params[:value])
55
- @record.send "#{column.name}=", value
56
- end
57
-
58
- after_render_field(@record, column)
59
- end
60
- end
61
-
62
- # override this method if you want to do something after render_field
63
- def after_render_field(record, column); end
64
-
65
- def authorized_for?(options = {})
66
- active_scaffold_config.model.authorized_for?(options)
67
- end
68
-
69
- def clear_flashes
70
- if request.xhr?
71
- flash.keys.each do |flash_key|
72
- flash[flash_key] = nil
73
- end
74
- end
75
- end
76
-
77
- def marked_records
78
- active_scaffold_session_storage[:marked_records] ||= Set.new
79
- end
80
-
81
- def default_formats
82
- [:html, :js, :json, :xml, :yaml]
83
- end
84
- # Returns true if the client accepts one of the MIME types passed to it
85
- # ex: accepts? :html, :xml
86
- def accepts?(*types)
87
- for priority in request.accepts.compact
88
- if priority == Mime::ALL
89
- # Because IE always sends */* in the accepts header and we assume
90
- # that if you really wanted XML or something else you would say so
91
- # explicitly, we will assume */* to only ask for :html
92
- return types.include?(:html)
93
- elsif types.include?(priority.to_sym)
94
- return true
95
- end
96
- end
97
- false
98
- end
99
-
100
- def response_status
101
- if successful?
102
- action_name == 'create' ? 201 : 200
103
- else
104
- 422
105
- end
106
- end
107
-
108
- # API response object that will be converted to XML/YAML/JSON using to_xxx
109
- def response_object
110
- @response_object = successful? ? (@record || @records) : @record.errors
111
- end
112
-
113
- # Success is the existence of certain variables and the absence of errors (when applicable).
114
- # Success can also be defined.
115
- def successful?
116
- if @successful.nil?
117
- @records or (@record and @record.errors.count == 0 and @record.no_errors_in_associated?)
118
- else
119
- @successful
120
- end
121
- end
122
-
123
- def successful=(val)
124
- @successful = (val) ? true : false
125
- end
126
-
127
- # Redirect to the main page (override if the ActiveScaffold is used as a component on another controllers page) for Javascript degradation
128
- def return_to_main
129
- redirect_to main_path_to_return
130
- end
131
-
132
- # Override this method on your controller to define conditions to be used when querying a recordset (e.g. for List). The return of this method should be any format compatible with the :conditions clause of ActiveRecord::Base's find.
133
- def conditions_for_collection
134
- end
135
-
136
- # Override this method on your controller to define joins to be used when querying a recordset (e.g. for List). The return of this method should be any format compatible with the :joins clause of ActiveRecord::Base's find.
137
- def joins_for_collection
138
- end
139
-
140
- # Override this method on your controller to provide custom finder options to the find() call. The return of this method should be a hash.
141
- def custom_finder_options
142
- {}
143
- end
144
-
145
- #Overide this method on your controller to provide model with named scopes
146
- def beginning_of_chain
147
- active_scaffold_config.model
148
- end
149
-
150
- # Builds search conditions by search params for column names. This allows urls like "contacts/list?company_id=5".
151
- def conditions_from_params
152
- conditions = nil
153
- params.reject {|key, value| [:controller, :action, :id, :page, :sort, :sort_direction].include?(key.to_sym)}.each do |key, value|
154
- next unless active_scaffold_config.model.column_names.include?(key)
155
- if value.is_a?(Array)
156
- conditions = merge_conditions(conditions, ["#{active_scaffold_config.model.table_name}.#{key.to_s} in (?)", value])
157
- else
158
- conditions = merge_conditions(conditions, ["#{active_scaffold_config.model.table_name}.#{key.to_s} = ?", value])
159
- end
160
- end
161
- conditions
162
- end
163
-
164
- def new_model
165
- model = beginning_of_chain
166
- if model.columns_hash[model.inheritance_column]
167
- build_options = {model.inheritance_column.to_sym => active_scaffold_config.model_id} if nested? && nested.association && nested.association.collection?
168
- params = self.params # in new action inheritance_column must be in params
169
- params = params[:record] || {} unless params[model.inheritance_column] # in create action must be inside record key
170
- model = params.delete(model.inheritance_column).camelize.constantize if params[model.inheritance_column]
171
- end
172
- model.respond_to?(:build) ? model.build(build_options || {}) : model.new
173
- end
174
-
175
- private
176
- def respond_to_action(action)
177
- respond_to do |type|
178
- action_formats.each do |format|
179
- type.send(format){ send("#{action}_respond_to_#{format}") }
180
- end
181
- end
182
- end
183
-
184
- def action_formats
185
- @action_formats ||= if respond_to? "#{action_name}_formats", true
186
- send("#{action_name}_formats")
187
- else
188
- (default_formats + active_scaffold_config.formats).uniq
189
- end
190
- end
191
-
192
- def response_code_for_rescue(exception)
193
- case exception
194
- when ActiveScaffold::RecordNotAllowed
195
- "403 Record Not Allowed"
196
- when ActiveScaffold::ActionNotAllowed
197
- "403 Action Not Allowed"
198
- else
199
- super
200
- end
201
- end
202
- end
203
- end
@@ -1,148 +0,0 @@
1
- module ActiveScaffold::Actions
2
- module Create
3
- def self.included(base)
4
- base.before_filter :create_authorized_filter, :only => [:new, :create]
5
- end
6
-
7
- def new
8
- do_new
9
- respond_to_action(:new)
10
- end
11
-
12
- def create
13
- do_create
14
- respond_to_action(:create)
15
- end
16
-
17
- protected
18
- def response_location
19
- url_for(params_for(:action => "show", :id => @record.id)) if successful?
20
- end
21
-
22
- def new_respond_to_html
23
- if successful?
24
- render(:action => 'create')
25
- else
26
- return_to_main
27
- end
28
- end
29
-
30
- def new_respond_to_js
31
- render(:partial => 'create_form')
32
- end
33
-
34
- def create_respond_to_html
35
- if params[:iframe]=='true' # was this an iframe post ?
36
- responds_to_parent do
37
- render :action => 'on_create.js', :layout => false
38
- end
39
- else
40
- if successful?
41
- flash[:info] = as_(:created_model, :model => @record.to_label)
42
- if action = active_scaffold_config.create.action_after_create
43
- redirect_to params_for(:action => action, :id => @record.id)
44
- elsif active_scaffold_config.create.persistent
45
- redirect_to params_for(:action => "new")
46
- else
47
- return_to_main
48
- end
49
- else
50
- if !nested? && active_scaffold_config.actions.include?(:list) && active_scaffold_config.list.always_show_create
51
- do_list
52
- render(:action => 'list')
53
- else
54
- render(:action => 'create')
55
- end
56
- end
57
- end
58
- end
59
-
60
- def create_respond_to_js
61
- if successful? && active_scaffold_config.create.refresh_list && !render_parent?
62
- do_search if respond_to? :do_search
63
- do_list
64
- end
65
- render :action => 'on_create'
66
- end
67
-
68
- def create_respond_to_xml
69
- render :xml => response_object.to_xml(:only => active_scaffold_config.create.columns.names), :content_type => Mime::XML, :status => response_status, :location => response_location
70
- end
71
-
72
- def create_respond_to_json
73
- render :text => response_object.to_json(:only => active_scaffold_config.create.columns.names), :content_type => Mime::JSON, :status => response_status, :location => response_location
74
- end
75
-
76
- def create_respond_to_yaml
77
- render :text => Hash.from_xml(response_object.to_xml(:only => active_scaffold_config.create.columns.names)).to_yaml, :content_type => Mime::YAML, :status => response_status, :location => response_location
78
- end
79
-
80
- # A simple method to find and prepare an example new record for the form
81
- # May be overridden to customize the behavior (add default values, for instance)
82
- def do_new
83
- @record = new_model
84
- apply_constraints_to_record(@record)
85
- if nested?
86
- create_association_with_parent(@record)
87
- register_constraints_with_action_columns(nested.constrained_fields)
88
- end
89
- @record
90
- end
91
-
92
- # A somewhat complex method to actually create a new record. The complexity is from support for subforms and associated records.
93
- # If you want to customize this behavior, consider using the +before_create_save+ and +after_create_save+ callbacks.
94
- def do_create
95
- begin
96
- active_scaffold_config.model.transaction do
97
- @record = update_record_from_params(new_model, active_scaffold_config.create.columns, params[:record])
98
- apply_constraints_to_record(@record, :allow_autosave => true)
99
- if nested?
100
- create_association_with_parent(@record)
101
- register_constraints_with_action_columns(nested.constrained_fields)
102
- end
103
- create_save
104
- end
105
- rescue ActiveRecord::RecordInvalid
106
- self.successful = false
107
- flash[:error] = $!.messages
108
- end
109
- end
110
-
111
- def create_save
112
- before_create_save(@record)
113
- self.successful = [@record.valid?, @record.associated_valid?].all? {|v| v == true} # this syntax avoids a short-circuit
114
- if successful?
115
- @record.save! and @record.save_associated!
116
- after_create_save(@record)
117
- end
118
- end
119
-
120
- # override this method if you want to inject data in the record (or its associated objects) before the save
121
- def before_create_save(record); end
122
-
123
- # override this method if you want to do something after the save
124
- def after_create_save(record); end
125
-
126
- # The default security delegates to ActiveRecordPermissions.
127
- # You may override the method to customize.
128
-
129
- def create_ignore?
130
- nested? && active_scaffold_config.list.always_show_create
131
- end
132
-
133
- def create_authorized?
134
- (!nested? || !nested.readonly?) && authorized_for?(:crud_type => :create)
135
- end
136
- private
137
- def create_authorized_filter
138
- link = active_scaffold_config.create.link || active_scaffold_config.create.class.link
139
- raise ActiveScaffold::ActionNotAllowed unless self.send(link.security_method)
140
- end
141
- def new_formats
142
- (default_formats + active_scaffold_config.formats).uniq
143
- end
144
- def create_formats
145
- (default_formats + active_scaffold_config.formats + active_scaffold_config.create.formats).uniq
146
- end
147
- end
148
- end
@@ -1,196 +0,0 @@
1
- module ActiveScaffold::Actions
2
- module List
3
- def self.included(base)
4
- base.before_filter :list_authorized_filter, :only => [:index, :row]
5
- base.helper_method :list_columns
6
- end
7
-
8
- def index
9
- list
10
- end
11
-
12
- # get just a single row
13
- def row
14
- @record = find_if_allowed(params[:id], :read)
15
- respond_to_action(:row)
16
- end
17
-
18
- def list
19
- do_list
20
- @nested_auto_open = active_scaffold_config.list.nested_auto_open
21
- respond_to_action(:list)
22
- end
23
-
24
- protected
25
- def list_respond_to_html
26
- if params.delete(:embedded)
27
- render :action => 'list', :layout => false
28
- else
29
- render :action => 'list'
30
- end
31
- end
32
- def list_respond_to_js
33
- if params[:adapter]
34
- render(:partial => 'list_with_header')
35
- elsif params[:embedded]
36
- params.delete(:embedded)
37
- render(:partial => 'list_with_header')
38
- else
39
- render :action => 'list.js'
40
- end
41
- end
42
- def list_respond_to_xml
43
- render :xml => response_object.to_xml(:only => list_columns_names), :content_type => Mime::XML, :status => response_status
44
- end
45
- def list_respond_to_json
46
- render :text => response_object.to_json(:only => list_columns_names), :content_type => Mime::JSON, :status => response_status
47
- end
48
- def list_respond_to_yaml
49
- render :text => Hash.from_xml(response_object.to_xml(:only => list_columns_names)).to_yaml, :content_type => Mime::YAML, :status => response_status
50
- end
51
-
52
- def row_respond_to_html
53
- render(:partial => 'row', :locals => {:record => @record})
54
- end
55
-
56
- # The actual algorithm to prepare for the list view
57
- def set_includes_for_list_columns
58
- includes_for_list_columns = active_scaffold_config.list.columns.collect{ |c| c.includes }.flatten.uniq.compact
59
- self.active_scaffold_includes.concat includes_for_list_columns
60
- end
61
-
62
- # The actual algorithm to prepare for the list view
63
- def do_list
64
- set_includes_for_list_columns
65
-
66
- options = { :sorting => active_scaffold_config.list.user.sorting,
67
- :count_includes => active_scaffold_config.list.user.count_includes }
68
- paginate = (params[:format].nil?) ? (accepts? :html, :js) : ['html', 'js'].include?(params[:format])
69
- if paginate
70
- options.merge!({
71
- :per_page => active_scaffold_config.list.user.per_page,
72
- :page => active_scaffold_config.list.user.page,
73
- :pagination => active_scaffold_config.list.pagination
74
- })
75
- end
76
-
77
- page = find_page(options)
78
- if page.items.blank? && !page.pager.infinite?
79
- page = page.pager.last
80
- active_scaffold_config.list.user.page = page.number
81
- end
82
- @page, @records = page, page.items
83
- end
84
-
85
- def each_record_in_page
86
- _page = active_scaffold_config.list.user.page
87
- do_search if respond_to? :do_search
88
- active_scaffold_config.list.user.page = _page
89
- do_list
90
- @page.items.each {|record| yield record}
91
- end
92
-
93
- def each_record_in_scope
94
- do_search if respond_to? :do_search
95
- finder_options = { :order => "#{active_scaffold_config.model.connection.quote_table_name(active_scaffold_config.model.table_name)}.#{active_scaffold_config.model.primary_key} ASC",
96
- :conditions => all_conditions,
97
- :joins => joins_for_finder}
98
- finder_options.merge! custom_finder_options
99
- finder_options.merge! :include => (active_scaffold_includes.blank? ? nil : active_scaffold_includes)
100
- klass = beginning_of_chain
101
- klass.all(finder_options).each {|record| yield record}
102
- end
103
-
104
- # The default security delegates to ActiveRecordPermissions.
105
- # You may override the method to customize.
106
- def list_authorized?
107
- authorized_for?(:crud_type => :read)
108
- end
109
-
110
- # call this method in your action_link action to simplify processing of actions
111
- # eg for member action_link :fire
112
- # process_action_link_action do |record|
113
- # record.update_attributes(:fired => true)
114
- # self.successful = true
115
- # flash[:info] = 'Player fired'
116
- # end
117
- def process_action_link_action(render_action = :action_update, crud_type = nil)
118
- if request.get?
119
- # someone has disabled javascript, we have to show confirmation form first
120
- @record = find_if_allowed(params[:id], :read) if params[:id] && params[:id] && params[:id].to_i > 0
121
- respond_to_action(:action_confirmation)
122
- else
123
- if params[:id] && params[:id] && params[:id].to_i > 0
124
- crud_type ||= (request.post? || request.put?) ? :update : :delete
125
- @record = find_if_allowed(params[:id], crud_type)
126
- unless @record.nil?
127
- yield @record
128
- else
129
- self.successful = false
130
- flash[:error] = as_(:no_authorization_for_action, :action => action_name)
131
- end
132
- else
133
- yield
134
- end
135
- respond_to_action(render_action)
136
- end
137
- end
138
-
139
- def action_confirmation_respond_to_html(confirm_action = action_name.to_sym)
140
- link = active_scaffold_config.action_links[confirm_action]
141
- render :action => 'action_confirmation', :locals => {:record => @record, :link => link}
142
- end
143
-
144
- def action_update_respond_to_html
145
- do_search if respond_to? :do_search
146
- do_list
147
- redirect_to :action => 'index'
148
- end
149
-
150
- def action_update_respond_to_js
151
- render(:action => 'on_action_update')
152
- end
153
-
154
- def action_update_respond_to_xml
155
- render :xml => successful? ? "" : response_object.to_xml(:only => list_columns_names), :content_type => Mime::XML, :status => response_status
156
- end
157
-
158
- def action_update_respond_to_json
159
- render :text => successful? ? "" : response_object.to_json(:only => list_columns_names), :content_type => Mime::JSON, :status => response_status
160
- end
161
-
162
- def action_update_respond_to_yaml
163
- render :text => successful? ? "" : Hash.from_xml(response_object.to_xml(:only => list_columns_names)).to_yaml, :content_type => Mime::YAML, :status => response_status
164
- end
165
-
166
- private
167
- def list_authorized_filter
168
- raise ActiveScaffold::ActionNotAllowed unless list_authorized?
169
- end
170
-
171
- def list_formats
172
- (default_formats + active_scaffold_config.formats + active_scaffold_config.list.formats).uniq
173
- end
174
- alias_method :index_formats, :list_formats
175
-
176
- def row_formats
177
- ([:html] + active_scaffold_config.formats + active_scaffold_config.list.formats).uniq
178
- end
179
-
180
- def action_update_formats
181
- (default_formats + active_scaffold_config.formats).uniq
182
- end
183
-
184
- def action_confirmation_formats
185
- (default_formats + active_scaffold_config.formats).uniq
186
- end
187
-
188
- def list_columns
189
- active_scaffold_config.list.columns.collect_visible
190
- end
191
-
192
- def list_columns_names
193
- list_columns.collect(&:name)
194
- end
195
- end
196
- end