summaryrefslogtreecommitdiffstats
path: root/app/controllers/issues_controller.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/controllers/issues_controller.rb')
-rw-r--r--app/controllers/issues_controller.rb13
1 files changed, 8 insertions, 5 deletions
diff --git a/app/controllers/issues_controller.rb b/app/controllers/issues_controller.rb
index efd221087..ee24d53a1 100644
--- a/app/controllers/issues_controller.rb
+++ b/app/controllers/issues_controller.rb
@@ -578,15 +578,18 @@ class IssuesController < ApplicationController
# Redirects user after a successful issue creation
def redirect_after_create
if params[:continue]
- attrs = {:tracker_id => @issue.tracker, :parent_issue_id => @issue.parent_issue_id}.reject {|k,v| v.nil?}
+ url_params = {}
+ url_params[:issue] = {:tracker_id => @issue.tracker, :parent_issue_id => @issue.parent_issue_id}.reject {|k,v| v.nil?}
+ url_params[:back_url] = params[:back_url].presence
+
if params[:project_id]
- redirect_to new_project_issue_path(@issue.project, :issue => attrs)
+ redirect_to new_project_issue_path(@issue.project, url_params)
else
- attrs.merge! :project_id => @issue.project_id
- redirect_to new_issue_path(:issue => attrs)
+ url_params[:issue].merge! :project_id => @issue.project_id
+ redirect_to new_issue_path(url_params)
end
else
- redirect_to issue_path(@issue)
+ redirect_back_or_default issue_path(@issue)
end
end
end