瀏覽代碼

Adds CustomField#group_statement.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@10071 e93f8b46-1217-0410-a6f0-8f06a7374b81
tags/2.1.0
Jean-Philippe Lang 12 年之前
父節點
當前提交
0b31c8ac85
共有 2 個檔案被更改,包括 14 行新增5 行删除
  1. 13
    1
      app/models/custom_field.rb
  2. 1
    4
      app/models/query.rb

+ 13
- 1
app/models/custom_field.rb 查看文件

@@ -128,7 +128,7 @@ class CustomField < ActiveRecord::Base

# Returns a ORDER BY clause that can used to sort customized
# objects by their value of the custom field.
# Returns false, if the custom field can not be used for sorting.
# Returns nil if the custom field can not be used for sorting.
def order_statement
return nil if multiple?
case field_format
@@ -151,6 +151,18 @@ class CustomField < ActiveRecord::Base
end
end

# Returns a GROUP BY clause that can used to group by custom value
# Returns nil if the custom field can not be used for grouping.
def group_statement
return nil if multiple?
case field_format
when 'list', 'date', 'bool', 'int'
order_statement
else
nil
end
end

def <=>(field)
position <=> field.position
end

+ 1
- 4
app/models/query.rb 查看文件

@@ -57,10 +57,7 @@ class QueryCustomFieldColumn < QueryColumn
def initialize(custom_field)
self.name = "cf_#{custom_field.id}".to_sym
self.sortable = custom_field.order_statement || false
if %w(list date bool int).include?(custom_field.field_format) && !custom_field.multiple?
self.groupable = custom_field.order_statement
end
self.groupable ||= false
self.groupable = custom_field.group_statement || false
@cf = custom_field
end


Loading…
取消
儲存