summaryrefslogtreecommitdiffstats
path: root/app/models
diff options
context:
space:
mode:
authorEtienne Massip <etienne.massip@gmail.com>2011-09-26 17:44:20 +0000
committerEtienne Massip <etienne.massip@gmail.com>2011-09-26 17:44:20 +0000
commit98e18b2141d351c37dcd2c643b1623157c4d7ea6 (patch)
tree3aad326e51eac0fd1093d833235de8558af44873 /app/models
parentef962b84d7083b2b4d290d64b7089b596073c7be (diff)
downloadredmine-98e18b2141d351c37dcd2c643b1623157c4d7ea6.tar.gz
redmine-98e18b2141d351c37dcd2c643b1623157c4d7ea6.zip
Allow project column to be removed from the global issue list columns (#8411).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@7538 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'app/models')
-rw-r--r--app/models/query.rb21
1 files changed, 12 insertions, 9 deletions
diff --git a/app/models/query.rb b/app/models/query.rb
index 7bf0b0d2f..b717ecbc2 100644
--- a/app/models/query.rb
+++ b/app/models/query.rb
@@ -378,14 +378,17 @@ class Query < ActiveRecord::Base
end
def columns
- if has_default_columns?
- available_columns.select do |c|
- # Adds the project column by default for cross-project lists
- Setting.issue_list_default_columns.include?(c.name.to_s) || (c.name == :project && project.nil?)
- end
- else
- # preserve the column_names order
- column_names.collect {|name| available_columns.find {|col| col.name == name}}.compact
+ # preserve the column_names order
+ (has_default_columns? ? default_columns_names : column_names).collect do |name|
+ available_columns.find { |col| col.name == name }
+ end.compact
+ end
+
+ def default_columns_names
+ @default_columns_names ||= begin
+ default_columns = Setting.issue_list_default_columns.map(&:to_sym)
+
+ project.present? ? default_columns : [:project] | default_columns
end
end
@@ -394,7 +397,7 @@ class Query < ActiveRecord::Base
names = names.select {|n| n.is_a?(Symbol) || !n.blank? }
names = names.collect {|n| n.is_a?(Symbol) ? n : n.to_sym }
# Set column_names to nil if default columns
- if names.map(&:to_s) == Setting.issue_list_default_columns
+ if names == default_columns_names
names = nil
end
end