summaryrefslogtreecommitdiffstats
path: root/app/models
diff options
context:
space:
mode:
authorGo MAEDA <maeda@farend.jp>2022-01-23 11:55:44 +0000
committerGo MAEDA <maeda@farend.jp>2022-01-23 11:55:44 +0000
commit146097c6108813520fca703cf072914c8f032c00 (patch)
treeb763a03b60fecf1b0f34173fee0b92fe66bae0cb /app/models
parent4807beaebf192dca34ea5661df0de0acb33e2e11 (diff)
downloadredmine-146097c6108813520fca703cf072914c8f032c00.tar.gz
redmine-146097c6108813520fca703cf072914c8f032c00.zip
Reduce extra database queries in IssueQuery.default (#7360, #36503).
git-svn-id: http://svn.redmine.org/redmine/trunk@21387 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'app/models')
-rw-r--r--app/models/issue_query.rb12
1 files changed, 9 insertions, 3 deletions
diff --git a/app/models/issue_query.rb b/app/models/issue_query.rb
index e09a808d3..5a3e14474 100644
--- a/app/models/issue_query.rb
+++ b/app/models/issue_query.rb
@@ -79,11 +79,17 @@ class IssueQuery < Query
def self.default(project: nil, user: User.current)
query = nil
- if user&.logged?
- query = find_by_id user.pref.default_issue_query
+ # user default
+ if user&.logged? && (query_id = user.pref.default_issue_query)
+ query = find_by(id: query_id)
end
+ # project default
query ||= project&.default_issue_query
- query || find_by_id(Setting.default_issue_query)
+ # global default
+ if query.nil? && (query_id = Setting.default_issue_query).present?
+ query = find_by(id: query_id)
+ end
+ query
end
def initialize(attributes=nil, *args)