diff options
author | Marius Balteanu <marius.balteanu@zitec.com> | 2021-11-06 09:11:58 +0000 |
---|---|---|
committer | Marius Balteanu <marius.balteanu@zitec.com> | 2021-11-06 09:11:58 +0000 |
commit | e9b94a19de65c6548d9f97e82f957d7eaf1729d5 (patch) | |
tree | 951df015491aa66c1491f0d1f32df004fa9fc251 | |
parent | 7b9f5af952ba9396b47408234db2a4a4c860948c (diff) | |
download | redmine-e9b94a19de65c6548d9f97e82f957d7eaf1729d5.tar.gz redmine-e9b94a19de65c6548d9f97e82f957d7eaf1729d5.zip |
Adds button to "Create and follow" when adding a subtask from the parent issue. Now the user have the following options:
* Create: redirects the user to the parent task (existing behaviour)
* Create and follow: redirects the user to the newly created subtask (new behaviour)
* Create and add another: redirects the user to new subtask (existing behaviour).
(#29076).
git-svn-id: http://svn.redmine.org/redmine/trunk@21269 e93f8b46-1217-0410-a6f0-8f06a7374b81
-rw-r--r-- | app/controllers/issues_controller.rb | 2 | ||||
-rw-r--r-- | app/views/issues/new.html.erb | 3 | ||||
-rw-r--r-- | config/locales/en.yml | 1 | ||||
-rw-r--r-- | test/functional/issues_controller_test.rb | 24 |
4 files changed, 30 insertions, 0 deletions
diff --git a/app/controllers/issues_controller.rb b/app/controllers/issues_controller.rb index 96a8341d0..eca53d7f5 100644 --- a/app/controllers/issues_controller.rb +++ b/app/controllers/issues_controller.rb @@ -701,6 +701,8 @@ class IssuesController < ApplicationController url_params[:issue][:project_id] = @issue.project_id redirect_to new_issue_path(url_params) end + elsif params[:follow] + redirect_to issue_path(@issue) else redirect_back_or_default issue_path(@issue) end diff --git a/app/views/issues/new.html.erb b/app/views/issues/new.html.erb index 22a174a11..92f6f251a 100644 --- a/app/views/issues/new.html.erb +++ b/app/views/issues/new.html.erb @@ -38,6 +38,9 @@ </div> <%= submit_tag l(:button_create) %> + <% if params[:back_url] && params[:issue] && params[:issue][:parent_issue_id] %> + <%= submit_tag l(:button_create_and_follow), name: 'follow' %> + <% end %> <%= submit_tag l(:button_create_and_continue), :name => 'continue' %> <% end %> diff --git a/config/locales/en.yml b/config/locales/en.yml index e9352dd02..18d7e2615 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -1186,6 +1186,7 @@ en: button_save_object: "Save %{object_name}" button_edit_object: "Edit %{object_name}" button_delete_object: "Delete %{object_name}" + button_create_and_follow: Create and follow status_active: active status_registered: registered diff --git a/test/functional/issues_controller_test.rb b/test/functional/issues_controller_test.rb index d90dcfacc..e0e05c97e 100644 --- a/test/functional/issues_controller_test.rb +++ b/test/functional/issues_controller_test.rb @@ -3212,6 +3212,11 @@ class IssuesControllerTest < Redmine::ControllerTest assert_select 'select[name=?]', 'issue[done_ratio]' assert_select 'input[name=?][value=?]', 'issue[custom_field_values][2]', 'Default string' assert_select 'input[name=?]', 'issue[watcher_user_ids][]' + + # Assert submit buttons + assert_select 'input[type=submit][name=?]', 'commit' + assert_select 'input[type=submit][name=?]', 'continue' + assert_select 'input[type=submit][name=?]', 'follow', 0 end # Be sure we don't display inactive IssuePriorities @@ -3824,6 +3829,25 @@ class IssuesControllerTest < Redmine::ControllerTest assert_select 'div#trackers_description', 0 end + def test_get_new_should_show_create_and_follow_button_when_issue_is_subtask_and_back_urL_is_present + @request.session[:user_id] = 2 + get :new, params: { + project_id: 1, + issue: { + parent_issue_id: 2 + }, + back_url: "/issues/2" + } + assert_response :success + + assert_select 'form#issue-form' do + # Assert submit buttons + assert_select 'input[type=submit][name=?]', 'commit' + assert_select 'input[type=submit][name=?]', 'continue' + assert_select 'input[type=submit][name=?]', 'follow' + end + end + def test_update_form_for_new_issue @request.session[:user_id] = 2 post( |