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