Adds CustomField#group_statement.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@10071 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
parent
46b1a49453
commit
0b31c8ac85
@ -128,7 +128,7 @@ class CustomField < ActiveRecord::Base
|
|||||||
|
|
||||||
# Returns a ORDER BY clause that can used to sort customized
|
# Returns a ORDER BY clause that can used to sort customized
|
||||||
# objects by their value of the custom field.
|
# 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
|
def order_statement
|
||||||
return nil if multiple?
|
return nil if multiple?
|
||||||
case field_format
|
case field_format
|
||||||
@ -151,6 +151,18 @@ class CustomField < ActiveRecord::Base
|
|||||||
end
|
end
|
||||||
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)
|
def <=>(field)
|
||||||
position <=> field.position
|
position <=> field.position
|
||||||
end
|
end
|
||||||
|
@ -57,10 +57,7 @@ class QueryCustomFieldColumn < QueryColumn
|
|||||||
def initialize(custom_field)
|
def initialize(custom_field)
|
||||||
self.name = "cf_#{custom_field.id}".to_sym
|
self.name = "cf_#{custom_field.id}".to_sym
|
||||||
self.sortable = custom_field.order_statement || false
|
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.group_statement || false
|
||||||
self.groupable = custom_field.order_statement
|
|
||||||
end
|
|
||||||
self.groupable ||= false
|
|
||||||
@cf = custom_field
|
@cf = custom_field
|
||||||
end
|
end
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user