diff options
author | Go MAEDA <maeda@farend.jp> | 2022-07-31 13:33:27 +0000 |
---|---|---|
committer | Go MAEDA <maeda@farend.jp> | 2022-07-31 13:33:27 +0000 |
commit | 72e2efdc6070bc4aef66042b471a5b20c8daa43b (patch) | |
tree | a3d86d9cbf5b65e114858f9c9315ae4ce815281a /app/models | |
parent | 6ee209843ed0720a861173680bc888a10f305b2e (diff) | |
download | redmine-72e2efdc6070bc4aef66042b471a5b20c8daa43b.tar.gz redmine-72e2efdc6070bc4aef66042b471a5b20c8daa43b.zip |
Default query should not be applied if the query is not allowed to be set as the default (#37499).
Patch by Mizuki ISHIKAWA.
git-svn-id: https://svn.redmine.org/redmine/trunk@21748 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'app/models')
-rw-r--r-- | app/models/issue_query.rb | 12 | ||||
-rw-r--r-- | app/models/project_query.rb | 7 |
2 files changed, 12 insertions, 7 deletions
diff --git a/app/models/issue_query.rb b/app/models/issue_query.rb index 45ffcb57c..aa8dc9034 100644 --- a/app/models/issue_query.rb +++ b/app/models/issue_query.rb @@ -78,18 +78,22 @@ class IssueQuery < Query scope :for_all_projects, ->{ where(project_id: nil) } def self.default(project: nil, user: User.current) - query = nil # user default if user&.logged? && (query_id = user.pref.default_issue_query).present? query = find_by(id: query_id) + return query if query&.visible? end + # project default - query ||= project&.default_issue_query + query = project&.default_issue_query + return query if query&.visibility == VISIBILITY_PUBLIC + # global default - if query.nil? && (query_id = Setting.default_issue_query).present? + if (query_id = Setting.default_issue_query).present? query = find_by(id: query_id) + return query if query&.visibility == VISIBILITY_PUBLIC end - query + nil end def initialize(attributes=nil, *args) diff --git a/app/models/project_query.rb b/app/models/project_query.rb index 57d0330d1..69d10aeb4 100644 --- a/app/models/project_query.rb +++ b/app/models/project_query.rb @@ -40,14 +40,15 @@ class ProjectQuery < Query ] def self.default(project: nil, user: User.current) - query = nil if user&.logged? && (query_id = user.pref.default_project_query).present? query = find_by(id: query_id) + return query if query&.visible? end - if query.nil? && (query_id = Setting.default_project_query).present? + if (query_id = Setting.default_project_query).present? query = find_by(id: query_id) + return query if query&.visibility == VISIBILITY_PUBLIC end - query + nil end def initialize(attributes=nil, *args) |