Index: app/models/issue.rb =================================================================== --- tmp/M2SAWG_issue.rb +++ app/models/issue.rb @@ -1583,13 +1583,21 @@ class Issue < ActiveRecord::Base end # Move subtasks that were in the same project - children.each do |child| - next unless child.project_id == project_id_before_last_save - # Change project and keep project - child.send :project=, project, true - unless child.save - errors.add :base, l(:error_move_of_child_not_possible, :child => "##{child.id}", :errors => child.errors.full_messages.join(", ")) - raise ActiveRecord::Rollback + if Setting.subtasks_follow_project_change_of_parent? + children.each do |child| + next unless child.project_id == project_id_before_last_save + # Change project and keep project + # Added journal + child.init_journal(User.current) + child.send :project=, project, true + unless child.save + errors.add :base, l(:error_move_of_child_not_possible, :child => "##{child.id}", :errors => child.errors.full_messages.join(", ")) + raise ActiveRecord::Rollback + end end end end Index: app/views/settings/_issues.html.erb =================================================================== --- tmp/YuAHjF__issues.html.erb +++ app/views/settings/_issues.html.erb @@ -15,6 +15,11 @@

<%= setting_check_box :display_subprojects_issues %>

+

<%= setting_check_box :subtasks_follow_project_change_of_parent %>

+

<%= setting_select :issue_done_ratio, Issue::DONE_RATIO_OPTIONS.collect {|i| [l("setting_issue_done_ratio_#{i}"), i]} %>

<%= setting_multiselect :non_working_week_days, (1..7).map {|d| [day_name(d), d.to_s]}, :inline => true %>

Index: config/locales/ca.yml =================================================================== --- tmp/uhfawH_ca.yml +++ config/locales/ca.yml @@ -339,6 +339,8 @@ ca: setting_user_format: "Format de com mostrar l'usuari" setting_activity_days_default: "Dies a mostrar l'activitat del projecte" setting_display_subprojects_issues: "Mostra els assumptes d'un subprojecte en el projecte pare per defecte" + setting_subtasks_follow_project_change_of_parent: Subtasks follow project change of parent setting_enabled_scm: "Activar SCM" setting_mail_handler_body_delimiters: "Trunca els correus electrònics després d'una d'aquestes línies" setting_mail_handler_api_enabled: "Activar WS per correus electrònics d'entrada" Index: config/locales/en-GB.yml =================================================================== --- tmp/Iu8s0K_en-GB.yml +++ config/locales/en-GB.yml @@ -348,6 +348,8 @@ en-GB: setting_user_format: Users display format setting_activity_days_default: Days displayed on project activity setting_display_subprojects_issues: Display subprojects issues on main projects by default + setting_subtasks_follow_project_change_of_parent: Subtasks follow project change of parent setting_enabled_scm: Enabled SCM setting_mail_handler_body_delimiters: "Truncate emails after one of these lines" setting_mail_handler_api_enabled: Enable WS for incoming emails Index: config/locales/en.yml =================================================================== --- tmp/EmDcHJ_en.yml +++ config/locales/en.yml @@ -417,6 +417,8 @@ en: setting_user_format: Users display format setting_activity_days_default: Days displayed on project activity setting_display_subprojects_issues: Display subprojects issues on main projects by default + setting_subtasks_follow_project_change_of_parent: Subtasks follow project change of parent setting_enabled_scm: Enabled SCM setting_mail_handler_body_delimiters: "Truncate emails after one of these lines" setting_mail_handler_enable_regex: "Enable regular expressions" Index: config/locales/es.yml =================================================================== --- tmp/ifFmkN_es.yml +++ config/locales/es.yml @@ -751,6 +751,8 @@ es: setting_default_projects_public: Los proyectos nuevos son públicos por defecto setting_diff_max_lines_displayed: Número máximo de diferencias mostradas setting_display_subprojects_issues: Mostrar por defecto peticiones de proy. secundarios en el principal + setting_subtasks_follow_project_change_of_parent: Subtasks follow project change of parent setting_emails_footer: Pie de mensajes setting_enabled_scm: Activar SCM setting_feeds_limit: Límite de contenido para sindicación Index: config/locales/fr.yml =================================================================== --- tmp/o4RqbM_fr.yml +++ config/locales/fr.yml @@ -424,6 +424,8 @@ fr: setting_user_format: Format d'affichage des utilisateurs setting_activity_days_default: Nombre de jours affichés sur l'activité des projets setting_display_subprojects_issues: Afficher par défaut les demandes des sous-projets sur les projets principaux + setting_subtasks_follow_project_change_of_parent: Changer les sous-tâches de projet si le parent change de projet setting_enabled_scm: SCM activés setting_mail_handler_body_delimiters: "Tronquer les emails après l'une de ces lignes" setting_mail_handler_enable_regex: "Utiliser les expressions regulières" Index: config/locales/uk.yml =================================================================== --- tmp/8FHrsM_uk.yml +++ config/locales/uk.yml @@ -713,6 +713,8 @@ uk: label_reverse_chronological_order: В зворотньому порядку label_preferences: Переваги setting_display_subprojects_issues: Відображення підпроектів по замовчуванню + setting_subtasks_follow_project_change_of_parent: Subtasks follow project change of parent label_overall_activity: Зведений звіт дій setting_default_projects_public: Нові проекти є загальнодоступними error_scm_annotate: "Коментар неможливий через перевищення максимального розміру текстового файлу." Index: config/settings.yml =================================================================== --- tmp/qpMk0P_settings.yml +++ config/settings.yml @@ -209,6 +209,9 @@ issue_list_default_totals: default: [] display_subprojects_issues: default: 1 +subtasks_follow_project_change_of_parent: + default: 1 time_entry_list_defaults: serialized: true default: