@@ -317,21 +317,28 class IssuesController < ApplicationController | |||||
317 | end |
|
317 | end | |
318 |
|
318 | |||
319 | def destroy |
|
319 | def destroy | |
320 | @hours = TimeEntry.where(:issue_id => @issues.map(&:id)).sum(:hours).to_f |
|
320 | ||
|
321 | # all issues and their descendants are about to be deleted | |||
|
322 | issues_and_descendants_ids = Issue.self_and_descendants(@issues).pluck(:id) | |||
|
323 | time_entries = TimeEntry.where(:issue_id => issues_and_descendants_ids) | |||
|
324 | @hours = time_entries.sum(:hours).to_f | |||
|
325 | ||||
321 | if @hours > 0 |
|
326 | if @hours > 0 | |
322 | case params[:todo] |
|
327 | case params[:todo] | |
323 | when 'destroy' |
|
328 | when 'destroy' | |
324 | # nothing to do |
|
329 | # nothing to do | |
325 | when 'nullify' |
|
330 | when 'nullify' | |
326 |
|
|
331 | time_entries.update_all(:issue_id => nil) | |
327 | when 'reassign' |
|
332 | when 'reassign' | |
328 | reassign_to = @project.issues.find_by_id(params[:reassign_to_id]) |
|
333 | reassign_to = @project && @project.issues.find_by_id(params[:reassign_to_id]) | |
329 | if reassign_to.nil? |
|
334 | if reassign_to.nil? | |
330 | flash.now[:error] = l(:error_issue_not_found_in_project) |
|
335 | flash.now[:error] = l(:error_issue_not_found_in_project) | |
331 | return |
|
336 | return | |
|
337 | elsif issues_and_descendants_ids.include?(reassign_to.id) | |||
|
338 | flash.now[:error] = l(:error_cannot_reassign_time_entries_to_an_issue_about_to_be_deleted) | |||
|
339 | return | |||
332 | else |
|
340 | else | |
333 | TimeEntry.where(['issue_id IN (?)', @issues]). |
|
341 | time_entries.update_all(:issue_id => reassign_to.id, :project_id => reassign_to.project_id) | |
334 | update_all("issue_id = #{reassign_to.id}") |
|
|||
335 | end |
|
342 | end | |
336 | else |
|
343 | else | |
337 | # display the destroy form if it's a user request |
|
344 | # display the destroy form if it's a user request |
@@ -1042,6 +1042,15 class Issue < ActiveRecord::Base | |||||
1042 | end |
|
1042 | end | |
1043 | end |
|
1043 | end | |
1044 |
|
1044 | |||
|
1045 | # Returns a scope of the given issues and their descendants | |||
|
1046 | def self.self_and_descendants(issues) | |||
|
1047 | Issue.joins("JOIN #{Issue.table_name} ancestors" + | |||
|
1048 | " ON ancestors.root_id = #{Issue.table_name}.root_id" + | |||
|
1049 | " AND ancestors.lft <= #{Issue.table_name}.lft AND ancestors.rgt >= #{Issue.table_name}.rgt" | |||
|
1050 | ). | |||
|
1051 | where(:ancestors => {:id => issues.map(&:id)}) | |||
|
1052 | end | |||
|
1053 | ||||
1045 | # Finds an issue relation given its id. |
|
1054 | # Finds an issue relation given its id. | |
1046 | def find_relation(relation_id) |
|
1055 | def find_relation(relation_id) | |
1047 | IssueRelation.where("issue_to_id = ? OR issue_from_id = ?", id, id).find(relation_id) |
|
1056 | IssueRelation.where("issue_to_id = ? OR issue_from_id = ?", id, id).find(relation_id) |
@@ -7,8 +7,10 | |||||
7 | <p> |
|
7 | <p> | |
8 | <label><%= radio_button_tag 'todo', 'destroy', true %> <%= l(:text_destroy_time_entries) %></label><br /> |
|
8 | <label><%= radio_button_tag 'todo', 'destroy', true %> <%= l(:text_destroy_time_entries) %></label><br /> | |
9 | <label><%= radio_button_tag 'todo', 'nullify', false %> <%= l(:text_assign_time_entries_to_project) %></label><br /> |
|
9 | <label><%= radio_button_tag 'todo', 'nullify', false %> <%= l(:text_assign_time_entries_to_project) %></label><br /> | |
|
10 | <% if @project %> | |||
10 | <label><%= radio_button_tag 'todo', 'reassign', false, :onchange => 'if (this.checked) { $("#reassign_to_id").focus(); }' %> <%= l(:text_reassign_time_entries) %></label> |
|
11 | <label><%= radio_button_tag 'todo', 'reassign', false, :onchange => 'if (this.checked) { $("#reassign_to_id").focus(); }' %> <%= l(:text_reassign_time_entries) %></label> | |
11 | <%= text_field_tag 'reassign_to_id', params[:reassign_to_id], :size => 6, :onfocus => '$("#todo_reassign").attr("checked", true);' %> |
|
12 | <%= text_field_tag 'reassign_to_id', params[:reassign_to_id], :size => 6, :onfocus => '$("#todo_reassign").attr("checked", true);' %> | |
|
13 | <% end %> | |||
12 | </p> |
|
14 | </p> | |
13 | </div> |
|
15 | </div> | |
14 | <%= submit_tag l(:button_apply) %> |
|
16 | <%= submit_tag l(:button_apply) %> |
@@ -1182,3 +1182,5 ar: | |||||
1182 | label_any_open_issues: any open issues |
|
1182 | label_any_open_issues: any open issues | |
1183 | label_no_open_issues: no open issues |
|
1183 | label_no_open_issues: no open issues | |
1184 | label_default_values_for_new_users: Default values for new users |
|
1184 | label_default_values_for_new_users: Default values for new users | |
|
1185 | error_cannot_reassign_time_entries_to_an_issue_about_to_be_deleted: Spent time cannot | |||
|
1186 | be reassigned to an issue that is about to be deleted |
@@ -1277,3 +1277,5 az: | |||||
1277 | label_any_open_issues: any open issues |
|
1277 | label_any_open_issues: any open issues | |
1278 | label_no_open_issues: no open issues |
|
1278 | label_no_open_issues: no open issues | |
1279 | label_default_values_for_new_users: Default values for new users |
|
1279 | label_default_values_for_new_users: Default values for new users | |
|
1280 | error_cannot_reassign_time_entries_to_an_issue_about_to_be_deleted: Spent time cannot | |||
|
1281 | be reassigned to an issue that is about to be deleted |
@@ -1173,3 +1173,5 bg: | |||||
1173 | description_date_from: Въведете начална дата |
|
1173 | description_date_from: Въведете начална дата | |
1174 | description_date_to: Въведете крайна дата |
|
1174 | description_date_to: Въведете крайна дата | |
1175 | text_repository_identifier_info: 'Позволени са малки букви (a-z), цифри, тирета и _.<br />Промяна след създаването му не е възможна.' |
|
1175 | text_repository_identifier_info: 'Позволени са малки букви (a-z), цифри, тирета и _.<br />Промяна след създаването му не е възможна.' | |
|
1176 | error_cannot_reassign_time_entries_to_an_issue_about_to_be_deleted: Spent time cannot | |||
|
1177 | be reassigned to an issue that is about to be deleted |
@@ -1195,3 +1195,5 bs: | |||||
1195 | label_any_open_issues: any open issues |
|
1195 | label_any_open_issues: any open issues | |
1196 | label_no_open_issues: no open issues |
|
1196 | label_no_open_issues: no open issues | |
1197 | label_default_values_for_new_users: Default values for new users |
|
1197 | label_default_values_for_new_users: Default values for new users | |
|
1198 | error_cannot_reassign_time_entries_to_an_issue_about_to_be_deleted: Spent time cannot | |||
|
1199 | be reassigned to an issue that is about to be deleted |
@@ -1184,3 +1184,5 ca: | |||||
1184 | label_any_open_issues: any open issues |
|
1184 | label_any_open_issues: any open issues | |
1185 | label_no_open_issues: no open issues |
|
1185 | label_no_open_issues: no open issues | |
1186 | label_default_values_for_new_users: Default values for new users |
|
1186 | label_default_values_for_new_users: Default values for new users | |
|
1187 | error_cannot_reassign_time_entries_to_an_issue_about_to_be_deleted: Spent time cannot | |||
|
1188 | be reassigned to an issue that is about to be deleted |
@@ -1183,3 +1183,5 cs: | |||||
1183 | label_any_open_issues: otevřené úkoly |
|
1183 | label_any_open_issues: otevřené úkoly | |
1184 | label_no_open_issues: bez otevřených úkolů |
|
1184 | label_no_open_issues: bez otevřených úkolů | |
1185 | label_default_values_for_new_users: Výchozí hodnoty pro nové uživatele |
|
1185 | label_default_values_for_new_users: Výchozí hodnoty pro nové uživatele | |
|
1186 | error_cannot_reassign_time_entries_to_an_issue_about_to_be_deleted: Spent time cannot | |||
|
1187 | be reassigned to an issue that is about to be deleted |
@@ -1199,3 +1199,5 da: | |||||
1199 | label_any_open_issues: any open issues |
|
1199 | label_any_open_issues: any open issues | |
1200 | label_no_open_issues: no open issues |
|
1200 | label_no_open_issues: no open issues | |
1201 | label_default_values_for_new_users: Default values for new users |
|
1201 | label_default_values_for_new_users: Default values for new users | |
|
1202 | error_cannot_reassign_time_entries_to_an_issue_about_to_be_deleted: Spent time cannot | |||
|
1203 | be reassigned to an issue that is about to be deleted |
@@ -1189,3 +1189,5 de: | |||||
1189 | label_any_open_issues: irgendein offenes Ticket |
|
1189 | label_any_open_issues: irgendein offenes Ticket | |
1190 | label_no_open_issues: kein offenes Ticket |
|
1190 | label_no_open_issues: kein offenes Ticket | |
1191 | label_default_values_for_new_users: Standardwerte für neue Benutzer |
|
1191 | label_default_values_for_new_users: Standardwerte für neue Benutzer | |
|
1192 | error_cannot_reassign_time_entries_to_an_issue_about_to_be_deleted: Spent time cannot | |||
|
1193 | be reassigned to an issue that is about to be deleted |
@@ -1182,3 +1182,5 el: | |||||
1182 | label_any_open_issues: any open issues |
|
1182 | label_any_open_issues: any open issues | |
1183 | label_no_open_issues: no open issues |
|
1183 | label_no_open_issues: no open issues | |
1184 | label_default_values_for_new_users: Default values for new users |
|
1184 | label_default_values_for_new_users: Default values for new users | |
|
1185 | error_cannot_reassign_time_entries_to_an_issue_about_to_be_deleted: Spent time cannot | |||
|
1186 | be reassigned to an issue that is about to be deleted |
@@ -1184,3 +1184,5 en-GB: | |||||
1184 | setting_attachment_extensions_allowed: Allowed extensions |
|
1184 | setting_attachment_extensions_allowed: Allowed extensions | |
1185 | setting_attachment_extensions_denied: Disallowed extensions |
|
1185 | setting_attachment_extensions_denied: Disallowed extensions | |
1186 | label_default_values_for_new_users: Default values for new users |
|
1186 | label_default_values_for_new_users: Default values for new users | |
|
1187 | error_cannot_reassign_time_entries_to_an_issue_about_to_be_deleted: Spent time cannot | |||
|
1188 | be reassigned to an issue that is about to be deleted |
@@ -212,6 +212,7 en: | |||||
212 | error_invalid_csv_file_or_settings: "The file is not a CSV file or does not match the settings below" |
|
212 | error_invalid_csv_file_or_settings: "The file is not a CSV file or does not match the settings below" | |
213 | error_can_not_read_import_file: "An error occurred while reading the file to import" |
|
213 | error_can_not_read_import_file: "An error occurred while reading the file to import" | |
214 | error_attachment_extension_not_allowed: "Attachment extension %{extension} is not allowed" |
|
214 | error_attachment_extension_not_allowed: "Attachment extension %{extension} is not allowed" | |
|
215 | error_cannot_reassign_time_entries_to_an_issue_about_to_be_deleted: "Spent time cannot be reassigned to an issue that is about to be deleted" | |||
215 |
|
216 | |||
216 | mail_subject_lost_password: "Your %{value} password" |
|
217 | mail_subject_lost_password: "Your %{value} password" | |
217 | mail_body_lost_password: 'To change your password, click on the following link:' |
|
218 | mail_body_lost_password: 'To change your password, click on the following link:' |
@@ -1216,3 +1216,5 es-PA: | |||||
1216 | label_any_open_issues: cualquier incidencias abierta |
|
1216 | label_any_open_issues: cualquier incidencias abierta | |
1217 | label_no_open_issues: incidencias cerradas |
|
1217 | label_no_open_issues: incidencias cerradas | |
1218 | label_default_values_for_new_users: Valor predeterminado para nuevos usuarios |
|
1218 | label_default_values_for_new_users: Valor predeterminado para nuevos usuarios | |
|
1219 | error_cannot_reassign_time_entries_to_an_issue_about_to_be_deleted: Spent time cannot | |||
|
1220 | be reassigned to an issue that is about to be deleted |
@@ -1214,3 +1214,5 es: | |||||
1214 | label_any_open_issues: cualquier peticiones abierta |
|
1214 | label_any_open_issues: cualquier peticiones abierta | |
1215 | label_no_open_issues: peticiones cerradas |
|
1215 | label_no_open_issues: peticiones cerradas | |
1216 | label_default_values_for_new_users: Valor predeterminado para nuevos usuarios |
|
1216 | label_default_values_for_new_users: Valor predeterminado para nuevos usuarios | |
|
1217 | error_cannot_reassign_time_entries_to_an_issue_about_to_be_deleted: Spent time cannot | |||
|
1218 | be reassigned to an issue that is about to be deleted |
@@ -1195,3 +1195,5 et: | |||||
1195 | label_any_open_issues: any open issues |
|
1195 | label_any_open_issues: any open issues | |
1196 | label_no_open_issues: no open issues |
|
1196 | label_no_open_issues: no open issues | |
1197 | label_default_values_for_new_users: Default values for new users |
|
1197 | label_default_values_for_new_users: Default values for new users | |
|
1198 | error_cannot_reassign_time_entries_to_an_issue_about_to_be_deleted: Spent time cannot | |||
|
1199 | be reassigned to an issue that is about to be deleted |
@@ -1183,3 +1183,5 eu: | |||||
1183 | label_any_open_issues: any open issues |
|
1183 | label_any_open_issues: any open issues | |
1184 | label_no_open_issues: no open issues |
|
1184 | label_no_open_issues: no open issues | |
1185 | label_default_values_for_new_users: Default values for new users |
|
1185 | label_default_values_for_new_users: Default values for new users | |
|
1186 | error_cannot_reassign_time_entries_to_an_issue_about_to_be_deleted: Spent time cannot | |||
|
1187 | be reassigned to an issue that is about to be deleted |
@@ -1183,3 +1183,5 fa: | |||||
1183 | label_any_open_issues: any open issues |
|
1183 | label_any_open_issues: any open issues | |
1184 | label_no_open_issues: no open issues |
|
1184 | label_no_open_issues: no open issues | |
1185 | label_default_values_for_new_users: Default values for new users |
|
1185 | label_default_values_for_new_users: Default values for new users | |
|
1186 | error_cannot_reassign_time_entries_to_an_issue_about_to_be_deleted: Spent time cannot | |||
|
1187 | be reassigned to an issue that is about to be deleted |
@@ -1203,3 +1203,5 fi: | |||||
1203 | label_any_open_issues: any open issues |
|
1203 | label_any_open_issues: any open issues | |
1204 | label_no_open_issues: no open issues |
|
1204 | label_no_open_issues: no open issues | |
1205 | label_default_values_for_new_users: Default values for new users |
|
1205 | label_default_values_for_new_users: Default values for new users | |
|
1206 | error_cannot_reassign_time_entries_to_an_issue_about_to_be_deleted: Spent time cannot | |||
|
1207 | be reassigned to an issue that is about to be deleted |
@@ -232,6 +232,7 fr: | |||||
232 | error_invalid_csv_file_or_settings: "Le fichier n'est pas un fichier CSV ou n'est pas conforme aux paramètres sélectionnés" |
|
232 | error_invalid_csv_file_or_settings: "Le fichier n'est pas un fichier CSV ou n'est pas conforme aux paramètres sélectionnés" | |
233 | error_can_not_read_import_file: "Une erreur est survenue lors de la lecture du fichier à importer" |
|
233 | error_can_not_read_import_file: "Une erreur est survenue lors de la lecture du fichier à importer" | |
234 | error_attachment_extension_not_allowed: "L'extension %{extension} n'est pas autorisée" |
|
234 | error_attachment_extension_not_allowed: "L'extension %{extension} n'est pas autorisée" | |
|
235 | error_cannot_reassign_time_entries_to_an_issue_about_to_be_deleted: "Le temps passé ne peut pas être réaffecté à une demande qui va être supprimée" | |||
235 |
|
236 | |||
236 | mail_subject_lost_password: "Votre mot de passe %{value}" |
|
237 | mail_subject_lost_password: "Votre mot de passe %{value}" | |
237 | mail_body_lost_password: 'Pour changer votre mot de passe, cliquez sur le lien suivant :' |
|
238 | mail_body_lost_password: 'Pour changer votre mot de passe, cliquez sur le lien suivant :' |
@@ -1190,3 +1190,5 gl: | |||||
1190 | label_any_open_issues: any open issues |
|
1190 | label_any_open_issues: any open issues | |
1191 | label_no_open_issues: no open issues |
|
1191 | label_no_open_issues: no open issues | |
1192 | label_default_values_for_new_users: Default values for new users |
|
1192 | label_default_values_for_new_users: Default values for new users | |
|
1193 | error_cannot_reassign_time_entries_to_an_issue_about_to_be_deleted: Spent time cannot | |||
|
1194 | be reassigned to an issue that is about to be deleted |
@@ -1187,3 +1187,5 he: | |||||
1187 | label_any_open_issues: any open issues |
|
1187 | label_any_open_issues: any open issues | |
1188 | label_no_open_issues: no open issues |
|
1188 | label_no_open_issues: no open issues | |
1189 | label_default_values_for_new_users: Default values for new users |
|
1189 | label_default_values_for_new_users: Default values for new users | |
|
1190 | error_cannot_reassign_time_entries_to_an_issue_about_to_be_deleted: Spent time cannot | |||
|
1191 | be reassigned to an issue that is about to be deleted |
@@ -1181,3 +1181,5 hr: | |||||
1181 | label_any_open_issues: any open issues |
|
1181 | label_any_open_issues: any open issues | |
1182 | label_no_open_issues: no open issues |
|
1182 | label_no_open_issues: no open issues | |
1183 | label_default_values_for_new_users: Default values for new users |
|
1183 | label_default_values_for_new_users: Default values for new users | |
|
1184 | error_cannot_reassign_time_entries_to_an_issue_about_to_be_deleted: Spent time cannot | |||
|
1185 | be reassigned to an issue that is about to be deleted |
@@ -1201,3 +1201,5 | |||||
1201 | label_any_open_issues: any open issues |
|
1201 | label_any_open_issues: any open issues | |
1202 | label_no_open_issues: no open issues |
|
1202 | label_no_open_issues: no open issues | |
1203 | label_default_values_for_new_users: Default values for new users |
|
1203 | label_default_values_for_new_users: Default values for new users | |
|
1204 | error_cannot_reassign_time_entries_to_an_issue_about_to_be_deleted: Spent time cannot | |||
|
1205 | be reassigned to an issue that is about to be deleted |
@@ -1186,3 +1186,5 id: | |||||
1186 | label_any_open_issues: any open issues |
|
1186 | label_any_open_issues: any open issues | |
1187 | label_no_open_issues: no open issues |
|
1187 | label_no_open_issues: no open issues | |
1188 | label_default_values_for_new_users: Default values for new users |
|
1188 | label_default_values_for_new_users: Default values for new users | |
|
1189 | error_cannot_reassign_time_entries_to_an_issue_about_to_be_deleted: Spent time cannot | |||
|
1190 | be reassigned to an issue that is about to be deleted |
@@ -1177,3 +1177,5 it: | |||||
1177 | label_any_open_issues: any open issues |
|
1177 | label_any_open_issues: any open issues | |
1178 | label_no_open_issues: no open issues |
|
1178 | label_no_open_issues: no open issues | |
1179 | label_default_values_for_new_users: Default values for new users |
|
1179 | label_default_values_for_new_users: Default values for new users | |
|
1180 | error_cannot_reassign_time_entries_to_an_issue_about_to_be_deleted: Spent time cannot | |||
|
1181 | be reassigned to an issue that is about to be deleted |
@@ -1195,3 +1195,5 ja: | |||||
1195 | label_any_open_issues: 未完了のチケット |
|
1195 | label_any_open_issues: 未完了のチケット | |
1196 | label_no_open_issues: なし または完了したチケット |
|
1196 | label_no_open_issues: なし または完了したチケット | |
1197 | label_default_values_for_new_users: 新しいユーザーのデフォルト設定 |
|
1197 | label_default_values_for_new_users: 新しいユーザーのデフォルト設定 | |
|
1198 | error_cannot_reassign_time_entries_to_an_issue_about_to_be_deleted: Spent time cannot | |||
|
1199 | be reassigned to an issue that is about to be deleted |
@@ -1223,3 +1223,5 ko: | |||||
1223 | label_any_open_issues: any open issues |
|
1223 | label_any_open_issues: any open issues | |
1224 | label_no_open_issues: no open issues |
|
1224 | label_no_open_issues: no open issues | |
1225 | label_default_values_for_new_users: 새 사용자 기본값 |
|
1225 | label_default_values_for_new_users: 새 사용자 기본값 | |
|
1226 | error_cannot_reassign_time_entries_to_an_issue_about_to_be_deleted: Spent time cannot | |||
|
1227 | be reassigned to an issue that is about to be deleted |
@@ -1241,3 +1241,5 lt: | |||||
1241 | label_any_open_issues: any open issues |
|
1241 | label_any_open_issues: any open issues | |
1242 | label_no_open_issues: no open issues |
|
1242 | label_no_open_issues: no open issues | |
1243 | label_default_values_for_new_users: Default values for new users |
|
1243 | label_default_values_for_new_users: Default values for new users | |
|
1244 | error_cannot_reassign_time_entries_to_an_issue_about_to_be_deleted: Spent time cannot | |||
|
1245 | be reassigned to an issue that is about to be deleted |
@@ -1176,3 +1176,5 lv: | |||||
1176 | label_any_open_issues: any open issues |
|
1176 | label_any_open_issues: any open issues | |
1177 | label_no_open_issues: no open issues |
|
1177 | label_no_open_issues: no open issues | |
1178 | label_default_values_for_new_users: Default values for new users |
|
1178 | label_default_values_for_new_users: Default values for new users | |
|
1179 | error_cannot_reassign_time_entries_to_an_issue_about_to_be_deleted: Spent time cannot | |||
|
1180 | be reassigned to an issue that is about to be deleted |
@@ -1182,3 +1182,5 mk: | |||||
1182 | label_any_open_issues: any open issues |
|
1182 | label_any_open_issues: any open issues | |
1183 | label_no_open_issues: no open issues |
|
1183 | label_no_open_issues: no open issues | |
1184 | label_default_values_for_new_users: Default values for new users |
|
1184 | label_default_values_for_new_users: Default values for new users | |
|
1185 | error_cannot_reassign_time_entries_to_an_issue_about_to_be_deleted: Spent time cannot | |||
|
1186 | be reassigned to an issue that is about to be deleted |
@@ -1183,3 +1183,5 mn: | |||||
1183 | label_any_open_issues: any open issues |
|
1183 | label_any_open_issues: any open issues | |
1184 | label_no_open_issues: no open issues |
|
1184 | label_no_open_issues: no open issues | |
1185 | label_default_values_for_new_users: Default values for new users |
|
1185 | label_default_values_for_new_users: Default values for new users | |
|
1186 | error_cannot_reassign_time_entries_to_an_issue_about_to_be_deleted: Spent time cannot | |||
|
1187 | be reassigned to an issue that is about to be deleted |
@@ -1161,3 +1161,5 nl: | |||||
1161 | label_any_open_issues: any open issues |
|
1161 | label_any_open_issues: any open issues | |
1162 | label_no_open_issues: no open issues |
|
1162 | label_no_open_issues: no open issues | |
1163 | label_default_values_for_new_users: Default values for new users |
|
1163 | label_default_values_for_new_users: Default values for new users | |
|
1164 | error_cannot_reassign_time_entries_to_an_issue_about_to_be_deleted: Spent time cannot | |||
|
1165 | be reassigned to an issue that is about to be deleted |
@@ -1172,3 +1172,5 | |||||
1172 | label_any_open_issues: any open issues |
|
1172 | label_any_open_issues: any open issues | |
1173 | label_no_open_issues: no open issues |
|
1173 | label_no_open_issues: no open issues | |
1174 | label_default_values_for_new_users: Default values for new users |
|
1174 | label_default_values_for_new_users: Default values for new users | |
|
1175 | error_cannot_reassign_time_entries_to_an_issue_about_to_be_deleted: Spent time cannot | |||
|
1176 | be reassigned to an issue that is about to be deleted |
@@ -1197,3 +1197,5 pl: | |||||
1197 | label_any_open_issues: any open issues |
|
1197 | label_any_open_issues: any open issues | |
1198 | label_no_open_issues: no open issues |
|
1198 | label_no_open_issues: no open issues | |
1199 | label_default_values_for_new_users: Default values for new users |
|
1199 | label_default_values_for_new_users: Default values for new users | |
|
1200 | error_cannot_reassign_time_entries_to_an_issue_about_to_be_deleted: Spent time cannot | |||
|
1201 | be reassigned to an issue that is about to be deleted |
@@ -1201,3 +1201,5 pt-BR: | |||||
1201 | label_any_open_issues: Quaisquer tarefas abertas |
|
1201 | label_any_open_issues: Quaisquer tarefas abertas | |
1202 | label_no_open_issues: Sem tarefas abertas |
|
1202 | label_no_open_issues: Sem tarefas abertas | |
1203 | label_default_values_for_new_users: Valor padrão para novos usuários |
|
1203 | label_default_values_for_new_users: Valor padrão para novos usuários | |
|
1204 | error_cannot_reassign_time_entries_to_an_issue_about_to_be_deleted: Spent time cannot | |||
|
1205 | be reassigned to an issue that is about to be deleted |
@@ -1184,3 +1184,5 pt: | |||||
1184 | label_any_open_issues: any open issues |
|
1184 | label_any_open_issues: any open issues | |
1185 | label_no_open_issues: no open issues |
|
1185 | label_no_open_issues: no open issues | |
1186 | label_default_values_for_new_users: Default values for new users |
|
1186 | label_default_values_for_new_users: Default values for new users | |
|
1187 | error_cannot_reassign_time_entries_to_an_issue_about_to_be_deleted: Spent time cannot | |||
|
1188 | be reassigned to an issue that is about to be deleted |
@@ -1177,3 +1177,5 ro: | |||||
1177 | label_any_open_issues: any open issues |
|
1177 | label_any_open_issues: any open issues | |
1178 | label_no_open_issues: no open issues |
|
1178 | label_no_open_issues: no open issues | |
1179 | label_default_values_for_new_users: Default values for new users |
|
1179 | label_default_values_for_new_users: Default values for new users | |
|
1180 | error_cannot_reassign_time_entries_to_an_issue_about_to_be_deleted: Spent time cannot | |||
|
1181 | be reassigned to an issue that is about to be deleted |
@@ -1283,3 +1283,5 ru: | |||||
1283 | label_any_open_issues: любые открытые задачи |
|
1283 | label_any_open_issues: любые открытые задачи | |
1284 | label_no_open_issues: нет открытых задач |
|
1284 | label_no_open_issues: нет открытых задач | |
1285 | label_default_values_for_new_users: Значения по умолчанию для новых пользователей |
|
1285 | label_default_values_for_new_users: Значения по умолчанию для новых пользователей | |
|
1286 | error_cannot_reassign_time_entries_to_an_issue_about_to_be_deleted: Spent time cannot | |||
|
1287 | be reassigned to an issue that is about to be deleted |
@@ -1172,3 +1172,5 sk: | |||||
1172 | label_any_open_issues: any open issues |
|
1172 | label_any_open_issues: any open issues | |
1173 | label_no_open_issues: no open issues |
|
1173 | label_no_open_issues: no open issues | |
1174 | label_default_values_for_new_users: Default values for new users |
|
1174 | label_default_values_for_new_users: Default values for new users | |
|
1175 | error_cannot_reassign_time_entries_to_an_issue_about_to_be_deleted: Spent time cannot | |||
|
1176 | be reassigned to an issue that is about to be deleted |
@@ -1182,3 +1182,5 sl: | |||||
1182 | label_any_open_issues: any open issues |
|
1182 | label_any_open_issues: any open issues | |
1183 | label_no_open_issues: no open issues |
|
1183 | label_no_open_issues: no open issues | |
1184 | label_default_values_for_new_users: Default values for new users |
|
1184 | label_default_values_for_new_users: Default values for new users | |
|
1185 | error_cannot_reassign_time_entries_to_an_issue_about_to_be_deleted: Spent time cannot | |||
|
1186 | be reassigned to an issue that is about to be deleted |
@@ -1178,3 +1178,5 sq: | |||||
1178 | label_any_open_issues: any open issues |
|
1178 | label_any_open_issues: any open issues | |
1179 | label_no_open_issues: no open issues |
|
1179 | label_no_open_issues: no open issues | |
1180 | label_default_values_for_new_users: Default values for new users |
|
1180 | label_default_values_for_new_users: Default values for new users | |
|
1181 | error_cannot_reassign_time_entries_to_an_issue_about_to_be_deleted: Spent time cannot | |||
|
1182 | be reassigned to an issue that is about to be deleted |
@@ -1184,3 +1184,5 sr-YU: | |||||
1184 | label_any_open_issues: any open issues |
|
1184 | label_any_open_issues: any open issues | |
1185 | label_no_open_issues: no open issues |
|
1185 | label_no_open_issues: no open issues | |
1186 | label_default_values_for_new_users: Default values for new users |
|
1186 | label_default_values_for_new_users: Default values for new users | |
|
1187 | error_cannot_reassign_time_entries_to_an_issue_about_to_be_deleted: Spent time cannot | |||
|
1188 | be reassigned to an issue that is about to be deleted |
@@ -1183,3 +1183,5 sr: | |||||
1183 | label_any_open_issues: any open issues |
|
1183 | label_any_open_issues: any open issues | |
1184 | label_no_open_issues: no open issues |
|
1184 | label_no_open_issues: no open issues | |
1185 | label_default_values_for_new_users: Default values for new users |
|
1185 | label_default_values_for_new_users: Default values for new users | |
|
1186 | error_cannot_reassign_time_entries_to_an_issue_about_to_be_deleted: Spent time cannot | |||
|
1187 | be reassigned to an issue that is about to be deleted |
@@ -1215,3 +1215,5 sv: | |||||
1215 | label_any_open_issues: any open issues |
|
1215 | label_any_open_issues: any open issues | |
1216 | label_no_open_issues: no open issues |
|
1216 | label_no_open_issues: no open issues | |
1217 | label_default_values_for_new_users: Default values for new users |
|
1217 | label_default_values_for_new_users: Default values for new users | |
|
1218 | error_cannot_reassign_time_entries_to_an_issue_about_to_be_deleted: Spent time cannot | |||
|
1219 | be reassigned to an issue that is about to be deleted |
@@ -1179,3 +1179,5 th: | |||||
1179 | label_any_open_issues: any open issues |
|
1179 | label_any_open_issues: any open issues | |
1180 | label_no_open_issues: no open issues |
|
1180 | label_no_open_issues: no open issues | |
1181 | label_default_values_for_new_users: Default values for new users |
|
1181 | label_default_values_for_new_users: Default values for new users | |
|
1182 | error_cannot_reassign_time_entries_to_an_issue_about_to_be_deleted: Spent time cannot | |||
|
1183 | be reassigned to an issue that is about to be deleted |
@@ -1189,3 +1189,5 tr: | |||||
1189 | label_any_open_issues: herhangi bir açık iş |
|
1189 | label_any_open_issues: herhangi bir açık iş | |
1190 | label_no_open_issues: hiçbir açık iş |
|
1190 | label_no_open_issues: hiçbir açık iş | |
1191 | label_default_values_for_new_users: Default values for new users |
|
1191 | label_default_values_for_new_users: Default values for new users | |
|
1192 | error_cannot_reassign_time_entries_to_an_issue_about_to_be_deleted: Spent time cannot | |||
|
1193 | be reassigned to an issue that is about to be deleted |
@@ -1177,3 +1177,5 uk: | |||||
1177 | label_any_open_issues: any open issues |
|
1177 | label_any_open_issues: any open issues | |
1178 | label_no_open_issues: no open issues |
|
1178 | label_no_open_issues: no open issues | |
1179 | label_default_values_for_new_users: Default values for new users |
|
1179 | label_default_values_for_new_users: Default values for new users | |
|
1180 | error_cannot_reassign_time_entries_to_an_issue_about_to_be_deleted: Spent time cannot | |||
|
1181 | be reassigned to an issue that is about to be deleted |
@@ -1235,3 +1235,5 vi: | |||||
1235 | label_any_open_issues: any open issues |
|
1235 | label_any_open_issues: any open issues | |
1236 | label_no_open_issues: no open issues |
|
1236 | label_no_open_issues: no open issues | |
1237 | label_default_values_for_new_users: Default values for new users |
|
1237 | label_default_values_for_new_users: Default values for new users | |
|
1238 | error_cannot_reassign_time_entries_to_an_issue_about_to_be_deleted: Spent time cannot | |||
|
1239 | be reassigned to an issue that is about to be deleted |
@@ -1256,3 +1256,5 | |||||
1256 | description_date_from: 輸入起始日期 |
|
1256 | description_date_from: 輸入起始日期 | |
1257 | description_date_to: 輸入結束日期 |
|
1257 | description_date_to: 輸入結束日期 | |
1258 | text_repository_identifier_info: '僅允許使用小寫英文字母 (a-z), 阿拉伯數字, 虛線與底線。<br />一旦儲存之後, 代碼便無法再次被更改。' |
|
1258 | text_repository_identifier_info: '僅允許使用小寫英文字母 (a-z), 阿拉伯數字, 虛線與底線。<br />一旦儲存之後, 代碼便無法再次被更改。' | |
|
1259 | error_cannot_reassign_time_entries_to_an_issue_about_to_be_deleted: Spent time cannot | |||
|
1260 | be reassigned to an issue that is about to be deleted |
@@ -1177,3 +1177,5 zh: | |||||
1177 | label_any_open_issues: 任意进行中的问题 |
|
1177 | label_any_open_issues: 任意进行中的问题 | |
1178 | label_no_open_issues: 任意已关闭的问题 |
|
1178 | label_no_open_issues: 任意已关闭的问题 | |
1179 | label_default_values_for_new_users: 新用户默认值 |
|
1179 | label_default_values_for_new_users: 新用户默认值 | |
|
1180 | error_cannot_reassign_time_entries_to_an_issue_about_to_be_deleted: Spent time cannot | |||
|
1181 | be reassigned to an issue that is about to be deleted |
@@ -4442,7 +4442,7 class IssuesControllerTest < ActionController::TestCase | |||||
4442 | assert_response :success |
|
4442 | assert_response :success | |
4443 | end |
|
4443 | end | |
4444 |
|
4444 | |||
4445 | def test_destroy_issue_with_no_time_entries |
|
4445 | def test_destroy_issue_with_no_time_entries_should_delete_the_issues | |
4446 | assert_nil TimeEntry.find_by_issue_id(2) |
|
4446 | assert_nil TimeEntry.find_by_issue_id(2) | |
4447 | @request.session[:user_id] = 2 |
|
4447 | @request.session[:user_id] = 2 | |
4448 |
|
4448 | |||
@@ -4453,7 +4453,7 class IssuesControllerTest < ActionController::TestCase | |||||
4453 | assert_nil Issue.find_by_id(2) |
|
4453 | assert_nil Issue.find_by_id(2) | |
4454 | end |
|
4454 | end | |
4455 |
|
4455 | |||
4456 | def test_destroy_issues_with_time_entries |
|
4456 | def test_destroy_issues_with_time_entries_should_show_the_reassign_form | |
4457 | @request.session[:user_id] = 2 |
|
4457 | @request.session[:user_id] = 2 | |
4458 |
|
4458 | |||
4459 | assert_no_difference 'Issue.count' do |
|
4459 | assert_no_difference 'Issue.count' do | |
@@ -4469,6 +4469,20 class IssuesControllerTest < ActionController::TestCase | |||||
4469 | end |
|
4469 | end | |
4470 | end |
|
4470 | end | |
4471 |
|
4471 | |||
|
4472 | def test_destroy_issues_with_time_entries_should_show_hours_on_issues_and_descendants | |||
|
4473 | parent = Issue.generate_with_child! | |||
|
4474 | TimeEntry.generate!(:issue => parent) | |||
|
4475 | TimeEntry.generate!(:issue => parent.children.first) | |||
|
4476 | leaf = Issue.generate! | |||
|
4477 | TimeEntry.generate!(:issue => leaf) | |||
|
4478 | @request.session[:user_id] = 2 | |||
|
4479 | ||||
|
4480 | delete :destroy, :ids => [parent.id, leaf.id] | |||
|
4481 | assert_response :success | |||
|
4482 | ||||
|
4483 | assert_select 'p', :text => /3\.00 hours were reported/ | |||
|
4484 | end | |||
|
4485 | ||||
4472 | def test_destroy_issues_and_destroy_time_entries |
|
4486 | def test_destroy_issues_and_destroy_time_entries | |
4473 | @request.session[:user_id] = 2 |
|
4487 | @request.session[:user_id] = 2 | |
4474 |
|
4488 | |||
@@ -4510,6 +4524,24 class IssuesControllerTest < ActionController::TestCase | |||||
4510 | assert_equal 2, TimeEntry.find(2).issue_id |
|
4524 | assert_equal 2, TimeEntry.find(2).issue_id | |
4511 | end |
|
4525 | end | |
4512 |
|
4526 | |||
|
4527 | def test_destroy_issues_with_time_entries_should_reassign_time_entries_of_issues_and_descendants | |||
|
4528 | parent = Issue.generate_with_child! | |||
|
4529 | TimeEntry.generate!(:issue => parent) | |||
|
4530 | TimeEntry.generate!(:issue => parent.children.first) | |||
|
4531 | leaf = Issue.generate! | |||
|
4532 | TimeEntry.generate!(:issue => leaf) | |||
|
4533 | target = Issue.generate! | |||
|
4534 | @request.session[:user_id] = 2 | |||
|
4535 | ||||
|
4536 | assert_difference 'Issue.count', -3 do | |||
|
4537 | assert_no_difference 'TimeEntry.count' do | |||
|
4538 | delete :destroy, :ids => [parent.id, leaf.id], :todo => 'reassign', :reassign_to_id => target.id | |||
|
4539 | assert_response 302 | |||
|
4540 | end | |||
|
4541 | end | |||
|
4542 | assert_equal 3, target.time_entries.count | |||
|
4543 | end | |||
|
4544 | ||||
4513 | def test_destroy_issues_and_reassign_time_entries_to_an_invalid_issue_should_fail |
|
4545 | def test_destroy_issues_and_reassign_time_entries_to_an_invalid_issue_should_fail | |
4514 | @request.session[:user_id] = 2 |
|
4546 | @request.session[:user_id] = 2 | |
4515 |
|
4547 | |||
@@ -4523,6 +4555,18 class IssuesControllerTest < ActionController::TestCase | |||||
4523 | assert_template 'destroy' |
|
4555 | assert_template 'destroy' | |
4524 | end |
|
4556 | end | |
4525 |
|
4557 | |||
|
4558 | def test_destroy_issues_and_reassign_time_entries_to_an_issue_to_delete_should_fail | |||
|
4559 | @request.session[:user_id] = 2 | |||
|
4560 | ||||
|
4561 | assert_no_difference 'Issue.count' do | |||
|
4562 | assert_no_difference 'TimeEntry.count' do | |||
|
4563 | delete :destroy, :ids => [1, 3], :todo => 'reassign', :reassign_to_id => 3 | |||
|
4564 | end | |||
|
4565 | end | |||
|
4566 | assert_response :success | |||
|
4567 | assert_select '#flash_error', :text => I18n.t(:error_cannot_reassign_time_entries_to_an_issue_about_to_be_deleted) | |||
|
4568 | end | |||
|
4569 | ||||
4526 | def test_destroy_issues_from_different_projects |
|
4570 | def test_destroy_issues_from_different_projects | |
4527 | @request.session[:user_id] = 2 |
|
4571 | @request.session[:user_id] = 2 | |
4528 |
|
4572 |
General Comments 0
You need to be logged in to leave comments.
Login now