diff options
Diffstat (limited to 'app/controllers/issues_controller.rb')
-rw-r--r-- | app/controllers/issues_controller.rb | 13 |
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 |