summaryrefslogtreecommitdiffstats
path: root/app/models
diff options
context:
space:
mode:
Diffstat (limited to 'app/models')
-rw-r--r--app/models/project.rb16
1 files changed, 11 insertions, 5 deletions
diff --git a/app/models/project.rb b/app/models/project.rb
index 8cd2bf993..18c4a20c9 100644
--- a/app/models/project.rb
+++ b/app/models/project.rb
@@ -526,11 +526,17 @@ class Project < ActiveRecord::Base
# Returns a scope of all custom fields enabled for project issues
# (explicitly associated custom fields and custom fields enabled for all projects)
def all_issue_custom_fields
- @all_issue_custom_fields ||= IssueCustomField.
- sorted.
- where("is_for_all = ? OR id IN (SELECT DISTINCT cfp.custom_field_id" +
- " FROM #{table_name_prefix}custom_fields_projects#{table_name_suffix} cfp" +
- " WHERE cfp.project_id = ?)", true, id)
+ if new_record?
+ @all_issue_custom_fields ||= IssueCustomField.
+ sorted.
+ where("is_for_all = ? OR id IN (?)", true, issue_custom_field_ids)
+ else
+ @all_issue_custom_fields ||= IssueCustomField.
+ sorted.
+ where("is_for_all = ? OR id IN (SELECT DISTINCT cfp.custom_field_id" +
+ " FROM #{table_name_prefix}custom_fields_projects#{table_name_suffix} cfp" +
+ " WHERE cfp.project_id = ?)", true, id)
+ end
end
def project