summaryrefslogtreecommitdiffstats
path: root/app/models/query.rb
diff options
context:
space:
mode:
authorJean-Philippe Lang <jp_lang@yahoo.fr>2007-03-15 22:11:02 +0000
committerJean-Philippe Lang <jp_lang@yahoo.fr>2007-03-15 22:11:02 +0000
commite6f58e4dcc2f7552109da139857a19b81c6f1fe1 (patch)
treeb2b7aee365335b13fb3f8d2ebac44b518cbbcd71 /app/models/query.rb
parent192b9008bdc5590a041166635eb1aecae78df992 (diff)
downloadredmine-e6f58e4dcc2f7552109da139857a19b81c6f1fe1.tar.gz
redmine-e6f58e4dcc2f7552109da139857a19b81c6f1fe1.zip
fixed #9308 table_name pre/suffix support
git-svn-id: http://redmine.rubyforge.org/svn/trunk@337 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'app/models/query.rb')
-rw-r--r--app/models/query.rb32
1 files changed, 16 insertions, 16 deletions
diff --git a/app/models/query.rb b/app/models/query.rb
index b6c9b680a..fbf48927a 100644
--- a/app/models/query.rb
+++ b/app/models/query.rb
@@ -124,42 +124,42 @@ class Query < ActiveRecord::Base
def statement
sql = "1=1"
- sql << " AND issues.project_id=%d" % project.id if project
+ sql << " AND #{Issue.table_name}.project_id=%d" % project.id if project
filters.each_key do |field|
v = values_for field
next unless v and !v.empty?
sql = sql + " AND " unless sql.empty?
case operator_for field
when "="
- sql = sql + "issues.#{field} IN (" + v.each(&:to_i).join(",") + ")"
+ sql = sql + "#{Issue.table_name}.#{field} IN (" + v.each(&:to_i).join(",") + ")"
when "!"
- sql = sql + "issues.#{field} NOT IN (" + v.each(&:to_i).join(",") + ")"
+ sql = sql + "#{Issue.table_name}.#{field} NOT IN (" + v.each(&:to_i).join(",") + ")"
when "!*"
- sql = sql + "issues.#{field} IS NULL"
+ sql = sql + "#{Issue.table_name}.#{field} IS NULL"
when "*"
- sql = sql + "issues.#{field} IS NOT NULL"
+ sql = sql + "#{Issue.table_name}.#{field} IS NOT NULL"
when "o"
- sql = sql + "issue_statuses.is_closed=#{connection.quoted_false}" if field == "status_id"
+ sql = sql + "#{IssueStatus.table_name}.is_closed=#{connection.quoted_false}" if field == "status_id"
when "c"
- sql = sql + "issue_statuses.is_closed=#{connection.quoted_true}" if field == "status_id"
+ sql = sql + "#{IssueStatus.table_name}.is_closed=#{connection.quoted_true}" if field == "status_id"
when ">t-"
- sql = sql + "issues.#{field} >= '%s'" % connection.quoted_date(Date.today - v.first.to_i)
+ sql = sql + "#{Issue.table_name}.#{field} >= '%s'" % connection.quoted_date(Date.today - v.first.to_i)
when "<t-"
- sql = sql + "issues.#{field} <= '" + (Date.today - v.first.to_i).strftime("%Y-%m-%d") + "'"
+ sql = sql + "#{Issue.table_name}.#{field} <= '" + (Date.today - v.first.to_i).strftime("%Y-%m-%d") + "'"
when "t-"
- sql = sql + "issues.#{field} = '" + (Date.today - v.first.to_i).strftime("%Y-%m-%d") + "'"
+ sql = sql + "#{Issue.table_name}.#{field} = '" + (Date.today - v.first.to_i).strftime("%Y-%m-%d") + "'"
when ">t+"
- sql = sql + "issues.#{field} >= '" + (Date.today + v.first.to_i).strftime("%Y-%m-%d") + "'"
+ sql = sql + "#{Issue.table_name}.#{field} >= '" + (Date.today + v.first.to_i).strftime("%Y-%m-%d") + "'"
when "<t+"
- sql = sql + "issues.#{field} <= '" + (Date.today + v.first.to_i).strftime("%Y-%m-%d") + "'"
+ sql = sql + "#{Issue.table_name}.#{field} <= '" + (Date.today + v.first.to_i).strftime("%Y-%m-%d") + "'"
when "t+"
- sql = sql + "issues.#{field} = '" + (Date.today + v.first.to_i).strftime("%Y-%m-%d") + "'"
+ sql = sql + "#{Issue.table_name}.#{field} = '" + (Date.today + v.first.to_i).strftime("%Y-%m-%d") + "'"
when "t"
- sql = sql + "issues.#{field} = '%s'" % connection.quoted_date(Date.today)
+ sql = sql + "#{Issue.table_name}.#{field} = '%s'" % connection.quoted_date(Date.today)
when "~"
- sql = sql + "issues.#{field} LIKE '%#{connection.quote_string(v.first)}%'"
+ sql = sql + "#{Issue.table_name}.#{field} LIKE '%#{connection.quote_string(v.first)}%'"
when "!~"
- sql = sql + "issues.#{field} NOT LIKE '%#{connection.quote_string(v.first)}%'"
+ sql = sql + "#{Issue.table_name}.#{field} NOT LIKE '%#{connection.quote_string(v.first)}%'"
end
end if filters and valid?
sql