##// END OF EJS Templates
Final refactoring on Query#sql_for_field to rename v to value...
Eric Davis -
r2090:956437b7fe59
parent child
Show More
@@ -320,14 +320,14 class Query < ActiveRecord::Base
320 320
321 321 private
322 322
323 # Helper method to generate the WHERE sql for a +field+ with a value (+v+)
324 def sql_for_field(field, v, db_table, db_field, is_custom_filter)
323 # Helper method to generate the WHERE sql for a +field+ with a +value+
324 def sql_for_field(field, value, db_table, db_field, is_custom_filter)
325 325 sql = ''
326 326 case operator_for field
327 327 when "="
328 sql = "#{db_table}.#{db_field} IN (" + v.collect{|val| "'#{connection.quote_string(val)}'"}.join(",") + ")"
328 sql = "#{db_table}.#{db_field} IN (" + value.collect{|val| "'#{connection.quote_string(val)}'"}.join(",") + ")"
329 329 when "!"
330 sql = "(#{db_table}.#{db_field} IS NULL OR #{db_table}.#{db_field} NOT IN (" + v.collect{|val| "'#{connection.quote_string(val)}'"}.join(",") + "))"
330 sql = "(#{db_table}.#{db_field} IS NULL OR #{db_table}.#{db_field} NOT IN (" + value.collect{|val| "'#{connection.quote_string(val)}'"}.join(",") + "))"
331 331 when "!*"
332 332 sql = "#{db_table}.#{db_field} IS NULL"
333 333 sql << " OR #{db_table}.#{db_field} = ''" if is_custom_filter
@@ -335,25 +335,25 class Query < ActiveRecord::Base
335 335 sql = "#{db_table}.#{db_field} IS NOT NULL"
336 336 sql << " AND #{db_table}.#{db_field} <> ''" if is_custom_filter
337 337 when ">="
338 sql = "#{db_table}.#{db_field} >= #{v.first.to_i}"
338 sql = "#{db_table}.#{db_field} >= #{value.first.to_i}"
339 339 when "<="
340 sql = "#{db_table}.#{db_field} <= #{v.first.to_i}"
340 sql = "#{db_table}.#{db_field} <= #{value.first.to_i}"
341 341 when "o"
342 342 sql = "#{IssueStatus.table_name}.is_closed=#{connection.quoted_false}" if field == "status_id"
343 343 when "c"
344 344 sql = "#{IssueStatus.table_name}.is_closed=#{connection.quoted_true}" if field == "status_id"
345 345 when ">t-"
346 sql = date_range_clause(db_table, db_field, - v.first.to_i, 0)
346 sql = date_range_clause(db_table, db_field, - value.first.to_i, 0)
347 347 when "<t-"
348 sql = date_range_clause(db_table, db_field, nil, - v.first.to_i)
348 sql = date_range_clause(db_table, db_field, nil, - value.first.to_i)
349 349 when "t-"
350 sql = date_range_clause(db_table, db_field, - v.first.to_i, - v.first.to_i)
350 sql = date_range_clause(db_table, db_field, - value.first.to_i, - value.first.to_i)
351 351 when ">t+"
352 sql = date_range_clause(db_table, db_field, v.first.to_i, nil)
352 sql = date_range_clause(db_table, db_field, value.first.to_i, nil)
353 353 when "<t+"
354 sql = date_range_clause(db_table, db_field, 0, v.first.to_i)
354 sql = date_range_clause(db_table, db_field, 0, value.first.to_i)
355 355 when "t+"
356 sql = date_range_clause(db_table, db_field, v.first.to_i, v.first.to_i)
356 sql = date_range_clause(db_table, db_field, value.first.to_i, value.first.to_i)
357 357 when "t"
358 358 sql = date_range_clause(db_table, db_field, 0, 0)
359 359 when "w"
@@ -364,9 +364,9 class Query < ActiveRecord::Base
364 364 Time.now.at_beginning_of_week
365 365 sql = "#{db_table}.#{db_field} BETWEEN '%s' AND '%s'" % [connection.quoted_date(from), connection.quoted_date(from + 7.days)]
366 366 when "~"
367 sql = "#{db_table}.#{db_field} LIKE '%#{connection.quote_string(v.first)}%'"
367 sql = "#{db_table}.#{db_field} LIKE '%#{connection.quote_string(value.first)}%'"
368 368 when "!~"
369 sql = "#{db_table}.#{db_field} NOT LIKE '%#{connection.quote_string(v.first)}%'"
369 sql = "#{db_table}.#{db_field} NOT LIKE '%#{connection.quote_string(value.first)}%'"
370 370 end
371 371
372 372 return sql
General Comments 0
You need to be logged in to leave comments. Login now