summaryrefslogtreecommitdiffstats
path: root/app/controllers
diff options
context:
space:
mode:
authorGo MAEDA <maeda@farend.jp>2021-07-06 06:01:50 +0000
committerGo MAEDA <maeda@farend.jp>2021-07-06 06:01:50 +0000
commit7f965286ed6b1d7e906e8662daba0d49b1cf7666 (patch)
treeaea4a14340b1e4ec29743bddf2cdef5f9b643206 /app/controllers
parent1b0bf2880374307e9669cfd4ed32cfe6677a3503 (diff)
downloadredmine-7f965286ed6b1d7e906e8662daba0d49b1cf7666.tar.gz
redmine-7f965286ed6b1d7e906e8662daba0d49b1cf7666.zip
Default issue query (#7360).
Patch by Katsuya HIDAKA (the author of https://github.com/hidakatsuya/redmine_default_custom_query), Takenori TAKAKI, Olivier Chabert, and Jens Krämer. git-svn-id: http://svn.redmine.org/redmine/trunk@21061 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'app/controllers')
-rw-r--r--app/controllers/issues_controller.rb19
1 files changed, 19 insertions, 0 deletions
diff --git a/app/controllers/issues_controller.rb b/app/controllers/issues_controller.rb
index 62124db42..080520ef5 100644
--- a/app/controllers/issues_controller.rb
+++ b/app/controllers/issues_controller.rb
@@ -44,6 +44,7 @@ class IssuesController < ApplicationController
def index
use_session = !request.format.csv?
+ retrieve_default_query(use_session)
retrieve_query(IssueQuery, use_session)
if @query.valid?
@@ -480,6 +481,24 @@ class IssuesController < ApplicationController
super
end
+ def retrieve_default_query(use_session)
+ return if params[:query_id].present?
+ return if api_request?
+ return if params[:set_filter] && (params.key?(:op) || params.key?(:f))
+
+ if params[:without_default].present?
+ params[:set_filter] = 1
+ return
+ end
+ if !params[:set_filter] && use_session && session[:issue_query]
+ query_id, project_id = session[:issue_query].values_at(:id, :project_id)
+ return if IssueQuery.where(id: query_id).exists? && project_id == @project&.id
+ end
+ if default_query = IssueQuery.default(project: @project)
+ params[:query_id] = default_query.id
+ end
+ end
+
def retrieve_previous_and_next_issue_ids
if params[:prev_issue_id].present? || params[:next_issue_id].present?
@prev_issue_id = params[:prev_issue_id].presence.try(:to_i)