active_scaffold 3.4.16 → 3.4.17

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 247539a2068b350fca651a90998fd9627de11326
4
- data.tar.gz: fe55bfa49b3670fed3d8015034eab74343d80aab
3
+ metadata.gz: 6b1be864fa28fa3a7caca50a268de1ecd1070426
4
+ data.tar.gz: db83b56413734d2fdc7aab465efa47b89dd3edfe
5
5
  SHA512:
6
- metadata.gz: 528632a5420784e879854874f60fad64d4705569021d9b57278cc2144d2301efbe2180176f23d7a521eb2cca1efe17f67abdf04cce45dc87ffed2ad4e20e16bc
7
- data.tar.gz: 954b32ea74a131e29b0555612a9f2f444ccead1887a12d65be00bf80a3b14d8fca914152219603c7a31d7e3aaa63bedcd72d45118d8637246b0ef6281e19fe59
6
+ metadata.gz: f98c93d4d03d4347e73dd18793629c1bc8cb16ee6b0ee900a130b86f9c7e27f6aec751d67cf2abd255d74a087bab3af16f54466ddcbf17d2ec5cab568b947171
7
+ data.tar.gz: 36e97b6c0e09d2aecb3f27d63690e0bcbea16239d371ccd6711820de75ab059b43796e2a3af63b69c206143e25e7efc9e43d3cbc374ea6ba7743c9f0fb8181c7
data/CHANGELOG CHANGED
@@ -1,3 +1,7 @@
1
+ = 3.4.17
2
+ - Fix deprecation warning "Extra .css in SCSS file is unnecessary"
3
+ - Improve support for namespaced models on namespaced controllers with different namespace
4
+
1
5
  = 3.4.16
2
6
  - 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
3
7
  - fix field_search_ignore? and search_ignore?
@@ -13,7 +13,7 @@ module ActiveScaffold::Actions
13
13
  else
14
14
  do_demark
15
15
  end
16
- if marked_records.length > 0
16
+ if marked_records.any?
17
17
  count = marked_records.length
18
18
  flash[:info] = as_(:records_marked, :count => count, :model => active_scaffold_config.label(:count => count))
19
19
  end
@@ -37,7 +37,7 @@ module ActiveScaffold::Actions
37
37
  render :action => 'on_mark', :locals => {:checked => mark?}
38
38
  end
39
39
  end
40
-
40
+
41
41
  # We need to give the ActiveRecord classes a handle to currently marked records. We don't want to just pass the object,
42
42
  # because the object may change. So we give ActiveRecord a proc that ties to the marked_records_method on this ApplicationController.
43
43
  def assign_marked_records_to_model
@@ -71,12 +71,12 @@ module ActiveScaffold::Actions
71
71
  each_record_in_scope { |record| record.as_marked = false }
72
72
  end
73
73
  end
74
-
74
+
75
75
  def do_destroy
76
76
  super
77
77
  @record.as_marked = false if successful?
78
78
  end
79
-
79
+
80
80
  # The default security delegates to ActiveRecordPermissions.
81
81
  # You may override the method to customize.
82
82
  def mark_authorized?
@@ -186,7 +186,8 @@ module ActiveScaffold
186
186
  end
187
187
 
188
188
  def active_scaffold_controller_for(klass)
189
- ActiveScaffold::Core.active_scaffold_controller_for(klass, self.to_s.split('::')[0...-1].join('::') + '::')
189
+ return self if uses_active_scaffold? && klass == active_scaffold_config.model
190
+ ActiveScaffold::Core.active_scaffold_controller_for(klass, self.to_s.deconstantize + '::')
190
191
  end
191
192
 
192
193
 
@@ -200,8 +201,9 @@ module ActiveScaffold
200
201
  # You may override this method to customize the search routine.
201
202
  def self.active_scaffold_controller_for(klass, controller_namespace = '::')
202
203
  error_message = []
204
+ class_names = [klass.to_s, klass.to_s.demodulize].map { |k| k.underscore.pluralize }.map { |k| [k, k.singularize] }.flatten
203
205
  [controller_namespace, ''].each do |namespace|
204
- ["#{klass.to_s.underscore.pluralize}", "#{klass.to_s.underscore.pluralize.singularize}"].each do |controller_name|
206
+ class_names.each do |controller_name|
205
207
  begin
206
208
  controller = "#{namespace}#{controller_name.camelize}Controller".constantize
207
209
  rescue NameError => error
@@ -10,7 +10,7 @@ module ActiveScaffold
10
10
  # token is found in at least one of the columns.
11
11
  def create_conditions_for_columns(tokens, columns, text_search = :full)
12
12
  # if there aren't any columns, then just return a nil condition
13
- return unless columns.length > 0
13
+ return unless columns.any?
14
14
  like_pattern = like_pattern(text_search)
15
15
 
16
16
  tokens = [tokens] if tokens.is_a? String
@@ -132,7 +132,7 @@ module ActiveScaffold
132
132
  end
133
133
  value
134
134
  end
135
-
135
+
136
136
  def condition_value_for_datetime(column, value, conversion = :to_time)
137
137
  if value.is_a? Hash
138
138
  Time.zone.local(*[:year, :month, :day, :hour, :minute, :second].collect {|part| value[part].to_i}) rescue nil
@@ -184,7 +184,7 @@ module ActiveScaffold
184
184
  value
185
185
  end
186
186
  end
187
-
187
+
188
188
  def datetime_conversion_for_condition(column)
189
189
  if column.column
190
190
  column.column.type == :date ? :to_date : :to_time
@@ -192,7 +192,7 @@ module ActiveScaffold
192
192
  :to_time
193
193
  end
194
194
  end
195
-
195
+
196
196
  def condition_for_datetime(column, value, like_pattern = nil)
197
197
  conversion = datetime_conversion_for_condition(column)
198
198
  from_value = condition_value_for_datetime(column, value[:from], conversion)
@@ -216,7 +216,7 @@ module ActiveScaffold
216
216
  ["%{search_sql} = ?", value]
217
217
  end
218
218
  end
219
-
219
+
220
220
  def condition_for_null_type(column, value, like_pattern = nil)
221
221
  case value.to_sym
222
222
  when :null
@@ -256,8 +256,8 @@ module ActiveScaffold
256
256
  'null',
257
257
  'not_null'
258
258
  ]
259
-
260
-
259
+
260
+
261
261
 
262
262
  def self.included(klass)
263
263
  klass.extend ClassMethods
@@ -289,12 +289,12 @@ module ActiveScaffold
289
289
  def active_scaffold_habtm_joins
290
290
  @active_scaffold_habtm_joins ||= []
291
291
  end
292
-
292
+
293
293
  attr_writer :active_scaffold_outer_joins
294
294
  def active_scaffold_outer_joins
295
295
  @active_scaffold_outer_joins ||= []
296
296
  end
297
-
297
+
298
298
  attr_writer :active_scaffold_references
299
299
  def active_scaffold_references
300
300
  @active_scaffold_references ||= []
@@ -303,11 +303,11 @@ module ActiveScaffold
303
303
  # 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.
304
304
  def conditions_for_collection
305
305
  end
306
-
306
+
307
307
  # 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.
308
308
  def joins_for_collection
309
309
  end
310
-
310
+
311
311
  # Override this method on your controller to provide custom finder options to the find() call. The return of this method should be a hash.
312
312
  def custom_finder_options
313
313
  {}
@@ -327,7 +327,7 @@ module ActiveScaffold
327
327
  def id_condition
328
328
  {active_scaffold_config.model.primary_key => params[:id]} if params[:id]
329
329
  end
330
-
330
+
331
331
  # returns a single record (the given id) but only if it's allowed for the specified security options.
332
332
  # security options can be a hash for authorized_for? method or a value to check as a :crud_type
333
333
  # accomplishes this by checking model.#{action}_authorized?
@@ -361,7 +361,7 @@ module ActiveScaffold
361
361
  end
362
362
  finder_options.merge!(:references => active_scaffold_references)
363
363
  end
364
-
364
+
365
365
  finder_options.merge! custom_finder_options
366
366
  finder_options
367
367
  end
@@ -371,9 +371,9 @@ module ActiveScaffold
371
371
  options = find_options.reject{|k,v| [:select, :reorder].include? k}
372
372
  # NOTE: we must use includes in the count query, because some conditions may reference other tables
373
373
  options[:includes] = count_includes
374
-
374
+
375
375
  count = append_to_query(query, options).count
376
-
376
+
377
377
  # Converts count to an integer if ActiveRecord returned an OrderedHash
378
378
  # that happens when find_options contains a :group key
379
379
  count = count.length if count.is_a?(Hash)
@@ -389,7 +389,7 @@ module ActiveScaffold
389
389
 
390
390
  find_options = finder_options(options)
391
391
  query = beginning_of_chain.where(nil) # where(nil) is needed because we need a relation
392
-
392
+
393
393
  # NOTE: we must use :include in the count query, because some conditions may reference other tables
394
394
  if options[:pagination] && options[:pagination] != :infinite
395
395
  count = count_items(query, find_options, options[:count_includes])
@@ -430,7 +430,7 @@ module ActiveScaffold
430
430
  subquery = append_to_query(beginning_of_chain, :conditions => conditions, :joins => joins_for_finder, :outer_joins => outer_joins, :select => active_scaffold_config.columns[primary_key].field)
431
431
  active_scaffold_config.model.where(primary_key => subquery)
432
432
  end
433
-
433
+
434
434
  def append_to_query(query, options)
435
435
  options.assert_valid_keys :where, :select, :group, :reorder, :limit, :offset, :joins, :outer_joins, :includes, :lock, :readonly, :from, :conditions, :preload, (:references if Rails::VERSION::MAJOR >= 4)
436
436
  query = options.reject{|k,v| v.blank?}.inject(query) do |query, (k, v)|
@@ -438,7 +438,7 @@ module ActiveScaffold
438
438
  end
439
439
  if options[:outer_joins].present?
440
440
  if Rails::VERSION::MAJOR >= 4
441
- query.distinct_value = true
441
+ query.distinct_value = true
442
442
  else
443
443
  query = query.uniq
444
444
  end
@@ -456,7 +456,7 @@ module ActiveScaffold
456
456
  []
457
457
  end + active_scaffold_habtm_joins
458
458
  end
459
-
459
+
460
460
  def apply_conditions(query, *conditions)
461
461
  conditions.reject(&:blank?).inject(query) do |query, condition|
462
462
  if condition.is_a?(Array) && !condition.first.is_a?(String) # multiple conditions
@@ -2,7 +2,7 @@ module ActiveScaffold
2
2
  module Version
3
3
  MAJOR = 3
4
4
  MINOR = 4
5
- PATCH = 16
5
+ PATCH = 17
6
6
 
7
7
  STRING = [MAJOR, MINOR, PATCH].compact.join('.')
8
8
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: active_scaffold
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.4.16
4
+ version: 3.4.17
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: 2015-01-22 00:00:00.000000000 Z
11
+ date: 2015-02-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: shoulda
@@ -96,11 +96,11 @@ files:
96
96
  - app/assets/javascripts/prototype/form_enhancements.js
97
97
  - app/assets/javascripts/prototype/rico_corner.js
98
98
  - app/assets/javascripts/prototype/tiny_mce_bridge.js
99
- - app/assets/stylesheets/active_scaffold-ie.css.scss
100
- - app/assets/stylesheets/active_scaffold.css.scss
101
- - app/assets/stylesheets/active_scaffold_colors.css.scss
99
+ - app/assets/stylesheets/active_scaffold-ie.scss
100
+ - app/assets/stylesheets/active_scaffold.scss
101
+ - app/assets/stylesheets/active_scaffold_colors.scss
102
102
  - app/assets/stylesheets/active_scaffold_extensions.css.erb
103
- - app/assets/stylesheets/active_scaffold_images.css.scss
103
+ - app/assets/stylesheets/active_scaffold_images.scss
104
104
  - app/assets/stylesheets/active_scaffold_jquery_ui.css.erb
105
105
  - app/assets/stylesheets/active_scaffold_layout.css
106
106
  - app/assets/stylesheets/blue-theme.css