Project

General

Profile

Actions

Patch #37135

closed

Reduce extra queries in ProjectQuery.default

Added by Dmitry Makurin almost 2 years ago. Updated almost 2 years ago.

Status:
Closed
Priority:
Normal
Category:
Performance
Target version:
Start date:
Due date:
% Done:

0%

Estimated time:

Description

Same as #36503 but for ProjectQuery.
Currently redmine tries to select default_project_query even if settings are empty.

diff --git a/app/models/project_query.rb b/app/models/project_query.rb
index 002437aeb..8c6643c7b 100644
--- a/app/models/project_query.rb
+++ b/app/models/project_query.rb
@@ -39,10 +39,13 @@ class ProjectQuery < Query

   def self.default(project: nil, user: User.current)
     query = nil
-    if user&.logged?
-      query = find_by_id user.pref.default_project_query
+    if user&.logged? && (query_id = user.pref.default_project_query).present?
+      query = find_by(id: query_id)
     end
-    query || find_by_id(Setting.default_project_query)
+    if query.nil? && (query_id = Setting.default_project_query).present?
+      query = find_by(id: query_id)
+    end
+    query
   end

   def initialize(attributes=nil, *args)



Related issues

Related to Redmine - Feature #35795: Settings for global and user default custom ProjectQueryClosedMarius BĂLTEANU

Actions
Copied from Redmine - Patch #36503: Reduce extra queries in IssueQuery.defaultClosedGo MAEDA

Actions
Actions

Also available in: Atom PDF