@@ -299,9 +299,14 class IssuesController < ApplicationController | |||
|
299 | 299 | if request.post? |
|
300 | 300 | new_tracker = params[:new_tracker_id].blank? ? nil : @target_project.trackers.find_by_id(params[:new_tracker_id]) |
|
301 | 301 | unsaved_issue_ids = [] |
|
302 | moved_issues = [] | |
|
302 | 303 | @issues.each do |issue| |
|
303 | 304 | issue.init_journal(User.current) |
|
304 |
|
|
|
305 | if r = issue.move_to(@target_project, new_tracker, params[:copy_options]) | |
|
306 | moved_issues << r | |
|
307 | else | |
|
308 | unsaved_issue_ids << issue.id | |
|
309 | end | |
|
305 | 310 | end |
|
306 | 311 | if unsaved_issue_ids.empty? |
|
307 | 312 | flash[:notice] = l(:notice_successful_update) unless @issues.empty? |
@@ -310,7 +315,15 class IssuesController < ApplicationController | |||
|
310 | 315 | :total => @issues.size, |
|
311 | 316 | :ids => '#' + unsaved_issue_ids.join(', #')) |
|
312 | 317 | end |
|
313 | redirect_to :controller => 'issues', :action => 'index', :project_id => @project | |
|
318 | if params[:follow] | |
|
319 | if @issues.size == 1 && moved_issues.size == 1 | |
|
320 | redirect_to :controller => 'issues', :action => 'show', :id => moved_issues.first | |
|
321 | else | |
|
322 | redirect_to :controller => 'issues', :action => 'index', :project_id => (@target_project || @project) | |
|
323 | end | |
|
324 | else | |
|
325 | redirect_to :controller => 'issues', :action => 'index', :project_id => @project | |
|
326 | end | |
|
314 | 327 | return |
|
315 | 328 | end |
|
316 | 329 | render :layout => false if request.xhr? |
@@ -25,5 +25,6 | |||
|
25 | 25 | <%= check_box_tag "copy_options[copy]", "1" %></p> |
|
26 | 26 | </div> |
|
27 | 27 | |
|
28 | <%= submit_tag l(:button_move) %> | |
|
28 | <%= submit_tag l(:button_move) %> | |
|
29 | <%= submit_tag l(:button_move_and_follow), :name => 'follow' %> | |
|
29 | 30 | <% end %> |
@@ -832,3 +832,4 bg: | |||
|
832 | 832 | version_status_open: open |
|
833 | 833 | error_can_not_reopen_issue_on_closed_version: An issue assigned to a closed version can not be reopened |
|
834 | 834 | label_user_anonymous: Anonymous |
|
835 | button_move_and_follow: Move and follow |
@@ -856,3 +856,4 bs: | |||
|
856 | 856 | version_status_open: open |
|
857 | 857 | error_can_not_reopen_issue_on_closed_version: An issue assigned to a closed version can not be reopened |
|
858 | 858 | label_user_anonymous: Anonymous |
|
859 | button_move_and_follow: Move and follow |
@@ -835,3 +835,4 ca: | |||
|
835 | 835 | version_status_open: open |
|
836 | 836 | error_can_not_reopen_issue_on_closed_version: An issue assigned to a closed version can not be reopened |
|
837 | 837 | label_user_anonymous: Anonymous |
|
838 | button_move_and_follow: Move and follow |
@@ -838,3 +838,4 cs: | |||
|
838 | 838 | version_status_open: open |
|
839 | 839 | error_can_not_reopen_issue_on_closed_version: An issue assigned to a closed version can not be reopened |
|
840 | 840 | label_user_anonymous: Anonymous |
|
841 | button_move_and_follow: Move and follow |
@@ -858,3 +858,4 da: | |||
|
858 | 858 | version_status_open: open |
|
859 | 859 | error_can_not_reopen_issue_on_closed_version: An issue assigned to a closed version can not be reopened |
|
860 | 860 | label_user_anonymous: Anonymous |
|
861 | button_move_and_follow: Move and follow |
@@ -858,3 +858,4 de: | |||
|
858 | 858 | version_status_open: open |
|
859 | 859 | error_can_not_reopen_issue_on_closed_version: An issue assigned to a closed version can not be reopened |
|
860 | 860 | label_user_anonymous: Anonymous |
|
861 | button_move_and_follow: Move and follow |
@@ -838,3 +838,4 el: | |||
|
838 | 838 | version_status_open: open |
|
839 | 839 | error_can_not_reopen_issue_on_closed_version: An issue assigned to a closed version can not be reopened |
|
840 | 840 | label_user_anonymous: Anonymous |
|
841 | button_move_and_follow: Move and follow |
@@ -728,6 +728,7 en: | |||
|
728 | 728 | button_list: List |
|
729 | 729 | button_view: View |
|
730 | 730 | button_move: Move |
|
731 | button_move_and_follow: Move and follow | |
|
731 | 732 | button_back: Back |
|
732 | 733 | button_cancel: Cancel |
|
733 | 734 | button_activate: Activate |
@@ -879,3 +879,4 es: | |||
|
879 | 879 | version_status_open: open |
|
880 | 880 | error_can_not_reopen_issue_on_closed_version: An issue assigned to a closed version can not be reopened |
|
881 | 881 | label_user_anonymous: Anonymous |
|
882 | button_move_and_follow: Move and follow |
@@ -868,3 +868,4 fi: | |||
|
868 | 868 | version_status_open: open |
|
869 | 869 | error_can_not_reopen_issue_on_closed_version: An issue assigned to a closed version can not be reopened |
|
870 | 870 | label_user_anonymous: Anonymous |
|
871 | button_move_and_follow: Move and follow |
@@ -745,6 +745,7 fr: | |||
|
745 | 745 | button_list: Lister |
|
746 | 746 | button_view: Voir |
|
747 | 747 | button_move: Déplacer |
|
748 | button_move_and_follow: Déplacer et suivre | |
|
748 | 749 | button_back: Retour |
|
749 | 750 | button_cancel: Annuler |
|
750 | 751 | button_activate: Activer |
@@ -858,3 +858,4 gl: | |||
|
858 | 858 | version_status_open: open |
|
859 | 859 | error_can_not_reopen_issue_on_closed_version: An issue assigned to a closed version can not be reopened |
|
860 | 860 | label_user_anonymous: Anonymous |
|
861 | button_move_and_follow: Move and follow |
@@ -842,3 +842,4 he: | |||
|
842 | 842 | version_status_open: open |
|
843 | 843 | error_can_not_reopen_issue_on_closed_version: An issue assigned to a closed version can not be reopened |
|
844 | 844 | label_user_anonymous: Anonymous |
|
845 | button_move_and_follow: Move and follow |
@@ -863,3 +863,4 | |||
|
863 | 863 | version_status_open: open |
|
864 | 864 | error_can_not_reopen_issue_on_closed_version: An issue assigned to a closed version can not be reopened |
|
865 | 865 | label_user_anonymous: Anonymous |
|
866 | button_move_and_follow: Move and follow |
@@ -845,3 +845,4 it: | |||
|
845 | 845 | version_status_open: open |
|
846 | 846 | error_can_not_reopen_issue_on_closed_version: An issue assigned to a closed version can not be reopened |
|
847 | 847 | label_user_anonymous: Anonymous |
|
848 | button_move_and_follow: Move and follow |
@@ -867,3 +867,4 ja: | |||
|
867 | 867 | version_status_open: open |
|
868 | 868 | error_can_not_reopen_issue_on_closed_version: An issue assigned to a closed version can not be reopened |
|
869 | 869 | label_user_anonymous: Anonymous |
|
870 | button_move_and_follow: Move and follow |
@@ -898,3 +898,4 ko: | |||
|
898 | 898 | version_status_open: open |
|
899 | 899 | error_can_not_reopen_issue_on_closed_version: An issue assigned to a closed version can not be reopened |
|
900 | 900 | label_user_anonymous: Anonymous |
|
901 | button_move_and_follow: Move and follow |
@@ -868,3 +868,4 lt: | |||
|
868 | 868 | version_status_open: open |
|
869 | 869 | error_can_not_reopen_issue_on_closed_version: An issue assigned to a closed version can not be reopened |
|
870 | 870 | label_user_anonymous: Anonymous |
|
871 | button_move_and_follow: Move and follow |
@@ -820,3 +820,4 nl: | |||
|
820 | 820 | version_status_open: open |
|
821 | 821 | error_can_not_reopen_issue_on_closed_version: An issue assigned to a closed version can not be reopened |
|
822 | 822 | label_user_anonymous: Anonymous |
|
823 | button_move_and_follow: Move and follow |
@@ -833,3 +833,4 | |||
|
833 | 833 | version_status_open: open |
|
834 | 834 | error_can_not_reopen_issue_on_closed_version: An issue assigned to a closed version can not be reopened |
|
835 | 835 | label_user_anonymous: Anonymous |
|
836 | button_move_and_follow: Move and follow |
@@ -861,3 +861,4 pl: | |||
|
861 | 861 | version_status_open: open |
|
862 | 862 | error_can_not_reopen_issue_on_closed_version: An issue assigned to a closed version can not be reopened |
|
863 | 863 | label_user_anonymous: Anonymous |
|
864 | button_move_and_follow: Move and follow |
@@ -864,3 +864,4 pt-BR: | |||
|
864 | 864 | version_status_open: aberto |
|
865 | 865 | error_can_not_reopen_issue_on_closed_version: Uma tarefa atribuída a uma versão fechada não pode ser reaberta |
|
866 | 866 | label_user_anonymous: Anônimo |
|
867 | button_move_and_follow: Move and follow |
@@ -850,3 +850,4 pt: | |||
|
850 | 850 | version_status_open: open |
|
851 | 851 | error_can_not_reopen_issue_on_closed_version: An issue assigned to a closed version can not be reopened |
|
852 | 852 | label_user_anonymous: Anonymous |
|
853 | button_move_and_follow: Move and follow |
@@ -835,3 +835,4 ro: | |||
|
835 | 835 | version_status_open: open |
|
836 | 836 | error_can_not_reopen_issue_on_closed_version: An issue assigned to a closed version can not be reopened |
|
837 | 837 | label_user_anonymous: Anonymous |
|
838 | button_move_and_follow: Move and follow |
@@ -946,3 +946,4 ru: | |||
|
946 | 946 | version_status_open: открыт |
|
947 | 947 | error_can_not_reopen_issue_on_closed_version: Задача, назначенная к закрытой версии, не сможет быть открыта снова |
|
948 | 948 | label_user_anonymous: Аноним |
|
949 | button_move_and_follow: Move and follow |
@@ -837,3 +837,4 sk: | |||
|
837 | 837 | version_status_open: open |
|
838 | 838 | error_can_not_reopen_issue_on_closed_version: An issue assigned to a closed version can not be reopened |
|
839 | 839 | label_user_anonymous: Anonymous |
|
840 | button_move_and_follow: Move and follow |
@@ -834,3 +834,4 sl: | |||
|
834 | 834 | version_status_open: open |
|
835 | 835 | error_can_not_reopen_issue_on_closed_version: An issue assigned to a closed version can not be reopened |
|
836 | 836 | label_user_anonymous: Anonymous |
|
837 | button_move_and_follow: Move and follow |
@@ -853,3 +853,4 | |||
|
853 | 853 | version_status_open: open |
|
854 | 854 | error_can_not_reopen_issue_on_closed_version: An issue assigned to a closed version can not be reopened |
|
855 | 855 | label_user_anonymous: Anonymous |
|
856 | button_move_and_follow: Move and follow |
@@ -886,3 +886,4 sv: | |||
|
886 | 886 | version_status_open: open |
|
887 | 887 | error_can_not_reopen_issue_on_closed_version: An issue assigned to a closed version can not be reopened |
|
888 | 888 | label_user_anonymous: Anonymous |
|
889 | button_move_and_follow: Move and follow |
@@ -835,3 +835,4 th: | |||
|
835 | 835 | version_status_open: open |
|
836 | 836 | error_can_not_reopen_issue_on_closed_version: An issue assigned to a closed version can not be reopened |
|
837 | 837 | label_user_anonymous: Anonymous |
|
838 | button_move_and_follow: Move and follow |
@@ -865,3 +865,4 tr: | |||
|
865 | 865 | version_status_open: open |
|
866 | 866 | error_can_not_reopen_issue_on_closed_version: An issue assigned to a closed version can not be reopened |
|
867 | 867 | label_user_anonymous: Anonymous |
|
868 | button_move_and_follow: Move and follow |
@@ -834,3 +834,4 uk: | |||
|
834 | 834 | version_status_open: open |
|
835 | 835 | error_can_not_reopen_issue_on_closed_version: An issue assigned to a closed version can not be reopened |
|
836 | 836 | label_user_anonymous: Anonymous |
|
837 | button_move_and_follow: Move and follow |
@@ -897,3 +897,4 vi: | |||
|
897 | 897 | version_status_open: open |
|
898 | 898 | error_can_not_reopen_issue_on_closed_version: An issue assigned to a closed version can not be reopened |
|
899 | 899 | label_user_anonymous: Anonymous |
|
900 | button_move_and_follow: Move and follow |
@@ -929,3 +929,4 | |||
|
929 | 929 | enumeration_doc_categories: 文件分類 |
|
930 | 930 | enumeration_activities: 活動 (時間追蹤) |
|
931 | 931 | enumeration_system_activity: 系統活動 |
|
932 | button_move_and_follow: Move and follow |
@@ -862,3 +862,4 zh: | |||
|
862 | 862 | enumeration_doc_categories: 文档类别 |
|
863 | 863 | enumeration_activities: 活动(时间跟踪) |
|
864 | 864 | enumeration_system_activity: 系统活动 |
|
865 | button_move_and_follow: Move and follow |
@@ -968,6 +968,12 class IssuesControllerTest < ActionController::TestCase | |||
|
968 | 968 | assert_equal 2, Issue.find(1).project_id |
|
969 | 969 | end |
|
970 | 970 | |
|
971 | def test_move_one_issue_to_another_project_should_follow_when_needed | |
|
972 | @request.session[:user_id] = 2 | |
|
973 | post :move, :id => 1, :new_project_id => 2, :follow => '1' | |
|
974 | assert_redirected_to '/issues/1' | |
|
975 | end | |
|
976 | ||
|
971 | 977 | def test_bulk_move_to_another_project |
|
972 | 978 | @request.session[:user_id] = 2 |
|
973 | 979 | post :move, :ids => [1, 2], :new_project_id => 2 |
@@ -997,6 +1003,13 class IssuesControllerTest < ActionController::TestCase | |||
|
997 | 1003 | end |
|
998 | 1004 | assert_redirected_to 'projects/ecookbook/issues' |
|
999 | 1005 | end |
|
1006 | ||
|
1007 | def test_copy_to_another_project_should_follow_when_needed | |
|
1008 | @request.session[:user_id] = 2 | |
|
1009 | post :move, :ids => [1], :new_project_id => 2, :copy_options => {:copy => '1'}, :follow => '1' | |
|
1010 | issue = Issue.first(:order => 'id DESC') | |
|
1011 | assert_redirected_to :controller => 'issues', :action => 'show', :id => issue | |
|
1012 | end | |
|
1000 | 1013 | |
|
1001 | 1014 | def test_context_menu_one_issue |
|
1002 | 1015 | @request.session[:user_id] = 2 |
General Comments 0
You need to be logged in to leave comments.
Login now