Warn user that subprojects are also deleted when deleting a project (#1111) and add a checkbox to confirm the deletion.
git-svn-id: http://redmine.rubyforge.org/svn/trunk@1359 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
parent
a9f86444fc
commit
76b92fb999
|
@ -1,14 +1,16 @@
|
||||||
<h2><%=l(:label_confirmation)%></h2>
|
<h2><%=l(:label_confirmation)%></h2>
|
||||||
<div class="box">
|
<div class="warning">
|
||||||
<center>
|
<p><strong><%=h @project_to_destroy %></strong><br />
|
||||||
<p><strong><%=h @project_to_destroy.name %></strong><br />
|
<%=l(:text_project_destroy_confirmation)%>
|
||||||
<%=l(:text_project_destroy_confirmation)%></p>
|
|
||||||
|
|
||||||
|
<% if @project_to_destroy.children.any? %>
|
||||||
|
<br /><%= l(:text_subprojects_destroy_warning, content_tag('strong', h(@project_to_destroy.children.sort.collect{|p| p.to_s}.join(', ')))) %>
|
||||||
|
<% end %>
|
||||||
|
</p>
|
||||||
<p>
|
<p>
|
||||||
<% form_tag({:controller => 'projects', :action => 'destroy', :id => @project_to_destroy}) do %>
|
<% form_tag({:controller => 'projects', :action => 'destroy', :id => @project_to_destroy}) do %>
|
||||||
<%= hidden_field_tag "confirm", 1 %>
|
<label><%= check_box_tag 'confirm', 1 %> <%= l(:general_text_Yes) %></label>
|
||||||
<%= submit_tag l(:button_delete) %>
|
<%= submit_tag l(:button_delete) %>
|
||||||
<% end %>
|
<% end %>
|
||||||
</p>
|
</p>
|
||||||
</center>
|
</div>
|
||||||
</div>
|
|
||||||
|
|
|
@ -617,3 +617,4 @@ label_overall_activity: Цялостна дейност
|
||||||
setting_default_projects_public: Новите проекти са публични по подразбиране
|
setting_default_projects_public: Новите проекти са публични по подразбиране
|
||||||
error_scm_annotate: "Обектът не съществува или не може да бъде анотиран."
|
error_scm_annotate: "Обектът не съществува или не може да бъде анотиран."
|
||||||
label_planning: Планиране
|
label_planning: Планиране
|
||||||
|
text_subprojects_destroy_warning: 'Its subproject(s): %s will be also deleted.'
|
||||||
|
|
|
@ -622,3 +622,4 @@ enumeration_doc_categories: Kategorie dokumentů
|
||||||
enumeration_activities: Aktivity (sledování času)
|
enumeration_activities: Aktivity (sledování času)
|
||||||
error_scm_annotate: "Položka neexistuje nebo nemůže být komentována."
|
error_scm_annotate: "Položka neexistuje nebo nemůže být komentována."
|
||||||
label_planning: Plánování
|
label_planning: Plánování
|
||||||
|
text_subprojects_destroy_warning: 'Its subproject(s): %s will be also deleted.'
|
||||||
|
|
|
@ -619,3 +619,4 @@ label_overall_activity: Overordnet aktivitet
|
||||||
setting_default_projects_public: Nye projekter er offentlige som default
|
setting_default_projects_public: Nye projekter er offentlige som default
|
||||||
error_scm_annotate: "The entry does not exist or can not be annotated."
|
error_scm_annotate: "The entry does not exist or can not be annotated."
|
||||||
label_planning: Planlægning
|
label_planning: Planlægning
|
||||||
|
text_subprojects_destroy_warning: 'Its subproject(s): %s will be also deleted.'
|
||||||
|
|
|
@ -618,3 +618,4 @@ default_activity_development: Entwicklung
|
||||||
enumeration_issue_priorities: Ticket-Prioritäten
|
enumeration_issue_priorities: Ticket-Prioritäten
|
||||||
enumeration_doc_categories: Dokumentenkategorien
|
enumeration_doc_categories: Dokumentenkategorien
|
||||||
enumeration_activities: Aktivitäten (Zeiterfassung)
|
enumeration_activities: Aktivitäten (Zeiterfassung)
|
||||||
|
text_subprojects_destroy_warning: 'Its subproject(s): %s will be also deleted.'
|
||||||
|
|
|
@ -557,6 +557,7 @@ text_select_mail_notifications: Select actions for which email notifications sho
|
||||||
text_regexp_info: eg. ^[A-Z0-9]+$
|
text_regexp_info: eg. ^[A-Z0-9]+$
|
||||||
text_min_max_length_info: 0 means no restriction
|
text_min_max_length_info: 0 means no restriction
|
||||||
text_project_destroy_confirmation: Are you sure you want to delete this project and related data ?
|
text_project_destroy_confirmation: Are you sure you want to delete this project and related data ?
|
||||||
|
text_subprojects_destroy_warning: 'Its subproject(s): %s will be also deleted.'
|
||||||
text_workflow_edit: Select a role and a tracker to edit the workflow
|
text_workflow_edit: Select a role and a tracker to edit the workflow
|
||||||
text_are_you_sure: Are you sure ?
|
text_are_you_sure: Are you sure ?
|
||||||
text_journal_changed: changed from %s to %s
|
text_journal_changed: changed from %s to %s
|
||||||
|
|
|
@ -620,3 +620,4 @@ label_overall_activity: Actividad global
|
||||||
setting_default_projects_public: Los proyectos nuevos son públicos por defecto
|
setting_default_projects_public: Los proyectos nuevos son públicos por defecto
|
||||||
error_scm_annotate: "No existe la entrada o no ha podido ser anotada"
|
error_scm_annotate: "No existe la entrada o no ha podido ser anotada"
|
||||||
label_planning: Planificación
|
label_planning: Planificación
|
||||||
|
text_subprojects_destroy_warning: 'Its subproject(s): %s will be also deleted.'
|
||||||
|
|
|
@ -617,3 +617,4 @@ setting_default_projects_public: Uudet projektit ovat oletuksena julkisia
|
||||||
label_overall_activity: Kokonaishistoria
|
label_overall_activity: Kokonaishistoria
|
||||||
error_scm_annotate: "Merkintää ei ole tai siihen ei voi lisätä selityksiä."
|
error_scm_annotate: "Merkintää ei ole tai siihen ei voi lisätä selityksiä."
|
||||||
label_planning: Suunnittelu
|
label_planning: Suunnittelu
|
||||||
|
text_subprojects_destroy_warning: 'Its subproject(s): %s will be also deleted.'
|
||||||
|
|
|
@ -556,7 +556,8 @@ status_locked: vérouillé
|
||||||
text_select_mail_notifications: Actions pour lesquelles une notification par e-mail est envoyée
|
text_select_mail_notifications: Actions pour lesquelles une notification par e-mail est envoyée
|
||||||
text_regexp_info: ex. ^[A-Z0-9]+$
|
text_regexp_info: ex. ^[A-Z0-9]+$
|
||||||
text_min_max_length_info: 0 pour aucune restriction
|
text_min_max_length_info: 0 pour aucune restriction
|
||||||
text_project_destroy_confirmation: Etes-vous sûr de vouloir supprimer ce projet et tout ce qui lui est rattaché ?
|
text_project_destroy_confirmation: Etes-vous sûr de vouloir supprimer ce projet et toutes ses données ?
|
||||||
|
text_subprojects_destroy_warning: 'Ses sous-projets: %s seront également supprimés.'
|
||||||
text_workflow_edit: Sélectionner un tracker et un rôle pour éditer le workflow
|
text_workflow_edit: Sélectionner un tracker et un rôle pour éditer le workflow
|
||||||
text_are_you_sure: Etes-vous sûr ?
|
text_are_you_sure: Etes-vous sûr ?
|
||||||
text_journal_changed: changé de %s à %s
|
text_journal_changed: changé de %s à %s
|
||||||
|
|
|
@ -617,3 +617,4 @@ label_overall_activity: פעילות כוללת
|
||||||
setting_default_projects_public: פרויקטים חדשים הינם פומביים כברירת מחדל
|
setting_default_projects_public: פרויקטים חדשים הינם פומביים כברירת מחדל
|
||||||
error_scm_annotate: "הכניסה לא קיימת או שלא ניתן לתאר אותה."
|
error_scm_annotate: "הכניסה לא קיימת או שלא ניתן לתאר אותה."
|
||||||
label_planning: תכנון
|
label_planning: תכנון
|
||||||
|
text_subprojects_destroy_warning: 'Its subproject(s): %s will be also deleted.'
|
||||||
|
|
|
@ -617,3 +617,4 @@ label_overall_activity: Overall activity
|
||||||
setting_default_projects_public: New projects are public by default
|
setting_default_projects_public: New projects are public by default
|
||||||
error_scm_annotate: "The entry does not exist or can not be annotated."
|
error_scm_annotate: "The entry does not exist or can not be annotated."
|
||||||
label_planning: Planning
|
label_planning: Planning
|
||||||
|
text_subprojects_destroy_warning: 'Its subproject(s): %s will be also deleted.'
|
||||||
|
|
|
@ -618,3 +618,4 @@ label_overall_activity: 全ての活動
|
||||||
setting_default_projects_public: デフォルトで新しいプロジェクトは公開にする
|
setting_default_projects_public: デフォルトで新しいプロジェクトは公開にする
|
||||||
error_scm_annotate: "エントリが存在しない、もしくはアノテートできません。"
|
error_scm_annotate: "エントリが存在しない、もしくはアノテートできません。"
|
||||||
label_planning: 計画
|
label_planning: 計画
|
||||||
|
text_subprojects_destroy_warning: 'Its subproject(s): %s will be also deleted.'
|
||||||
|
|
|
@ -617,3 +617,4 @@ label_overall_activity: Overall activity
|
||||||
setting_default_projects_public: New projects are public by default
|
setting_default_projects_public: New projects are public by default
|
||||||
error_scm_annotate: "The entry does not exist or can not be annotated."
|
error_scm_annotate: "The entry does not exist or can not be annotated."
|
||||||
label_planning: Planning
|
label_planning: Planning
|
||||||
|
text_subprojects_destroy_warning: 'Its subproject(s): %s will be also deleted.'
|
||||||
|
|
|
@ -618,3 +618,4 @@ label_overall_activity: Overall activity
|
||||||
setting_default_projects_public: New projects are public by default
|
setting_default_projects_public: New projects are public by default
|
||||||
error_scm_annotate: "The entry does not exist or can not be annotated."
|
error_scm_annotate: "The entry does not exist or can not be annotated."
|
||||||
label_planning: Planning
|
label_planning: Planning
|
||||||
|
text_subprojects_destroy_warning: 'Its subproject(s): %s will be also deleted.'
|
||||||
|
|
|
@ -618,3 +618,4 @@ label_overall_activity: Overall activity
|
||||||
setting_default_projects_public: New projects are public by default
|
setting_default_projects_public: New projects are public by default
|
||||||
error_scm_annotate: "The entry does not exist or can not be annotated."
|
error_scm_annotate: "The entry does not exist or can not be annotated."
|
||||||
label_planning: Planning
|
label_planning: Planning
|
||||||
|
text_subprojects_destroy_warning: 'Its subproject(s): %s will be also deleted.'
|
||||||
|
|
|
@ -618,3 +618,4 @@ default_activity_development: Utvikling
|
||||||
enumeration_issue_priorities: Sakssprioriteringer
|
enumeration_issue_priorities: Sakssprioriteringer
|
||||||
enumeration_doc_categories: Dokument-kategorier
|
enumeration_doc_categories: Dokument-kategorier
|
||||||
enumeration_activities: Aktiviteter (tidssporing)
|
enumeration_activities: Aktiviteter (tidssporing)
|
||||||
|
text_subprojects_destroy_warning: 'Its subproject(s): %s will be also deleted.'
|
||||||
|
|
|
@ -617,3 +617,4 @@ label_overall_activity: Ogólna aktywność
|
||||||
setting_default_projects_public: Nowe projekty są domyślnie publiczne
|
setting_default_projects_public: Nowe projekty są domyślnie publiczne
|
||||||
error_scm_annotate: "Wpis nie istnieje lub nie można do niego dodawać adnotacji."
|
error_scm_annotate: "Wpis nie istnieje lub nie można do niego dodawać adnotacji."
|
||||||
label_planning: Planning
|
label_planning: Planning
|
||||||
|
text_subprojects_destroy_warning: 'Its subproject(s): %s will be also deleted.'
|
||||||
|
|
|
@ -617,3 +617,4 @@ label_overall_activity: Overall activity
|
||||||
setting_default_projects_public: New projects are public by default
|
setting_default_projects_public: New projects are public by default
|
||||||
error_scm_annotate: "The entry does not exist or can not be annotated."
|
error_scm_annotate: "The entry does not exist or can not be annotated."
|
||||||
label_planning: Planning
|
label_planning: Planning
|
||||||
|
text_subprojects_destroy_warning: 'Its subproject(s): %s will be also deleted.'
|
||||||
|
|
|
@ -617,3 +617,4 @@ label_overall_activity: Overall activity
|
||||||
setting_default_projects_public: New projects are public by default
|
setting_default_projects_public: New projects are public by default
|
||||||
error_scm_annotate: "The entry does not exist or can not be annotated."
|
error_scm_annotate: "The entry does not exist or can not be annotated."
|
||||||
label_planning: Planning
|
label_planning: Planning
|
||||||
|
text_subprojects_destroy_warning: 'Its subproject(s): %s will be also deleted.'
|
||||||
|
|
|
@ -617,3 +617,4 @@ label_overall_activity: Overall activity
|
||||||
setting_default_projects_public: New projects are public by default
|
setting_default_projects_public: New projects are public by default
|
||||||
error_scm_annotate: "The entry does not exist or can not be annotated."
|
error_scm_annotate: "The entry does not exist or can not be annotated."
|
||||||
label_planning: Planning
|
label_planning: Planning
|
||||||
|
text_subprojects_destroy_warning: 'Its subproject(s): %s will be also deleted.'
|
||||||
|
|
|
@ -621,3 +621,4 @@ label_overall_activity: Сводная активность
|
||||||
setting_default_projects_public: Новые проекты являются публичными
|
setting_default_projects_public: Новые проекты являются публичными
|
||||||
error_scm_annotate: "Данные отсутствуют или не могут быть подписаны."
|
error_scm_annotate: "Данные отсутствуют или не могут быть подписаны."
|
||||||
label_planning: Планирование
|
label_planning: Планирование
|
||||||
|
text_subprojects_destroy_warning: 'Its subproject(s): %s will be also deleted.'
|
||||||
|
|
|
@ -618,3 +618,4 @@ label_overall_activity: Overall activity
|
||||||
setting_default_projects_public: New projects are public by default
|
setting_default_projects_public: New projects are public by default
|
||||||
error_scm_annotate: "The entry does not exist or can not be annotated."
|
error_scm_annotate: "The entry does not exist or can not be annotated."
|
||||||
label_planning: Planning
|
label_planning: Planning
|
||||||
|
text_subprojects_destroy_warning: 'Its subproject(s): %s will be also deleted.'
|
||||||
|
|
|
@ -618,3 +618,4 @@ label_overall_activity: Overall activity
|
||||||
setting_default_projects_public: New projects are public by default
|
setting_default_projects_public: New projects are public by default
|
||||||
error_scm_annotate: "The entry does not exist or can not be annotated."
|
error_scm_annotate: "The entry does not exist or can not be annotated."
|
||||||
label_planning: Planning
|
label_planning: Planning
|
||||||
|
text_subprojects_destroy_warning: 'Its subproject(s): %s will be also deleted.'
|
||||||
|
|
|
@ -619,3 +619,4 @@ label_overall_activity: Overall activity
|
||||||
setting_default_projects_public: New projects are public by default
|
setting_default_projects_public: New projects are public by default
|
||||||
error_scm_annotate: "The entry does not exist or can not be annotated."
|
error_scm_annotate: "The entry does not exist or can not be annotated."
|
||||||
label_planning: Planning
|
label_planning: Planning
|
||||||
|
text_subprojects_destroy_warning: 'Its subproject(s): %s will be also deleted.'
|
||||||
|
|
|
@ -618,3 +618,4 @@ default_activity_development: 開發
|
||||||
enumeration_issue_priorities: 項目優先權
|
enumeration_issue_priorities: 項目優先權
|
||||||
enumeration_doc_categories: 文件分類
|
enumeration_doc_categories: 文件分類
|
||||||
enumeration_activities: 活動 (時間追蹤)
|
enumeration_activities: 活動 (時間追蹤)
|
||||||
|
text_subprojects_destroy_warning: 'Its subproject(s): %s will be also deleted.'
|
||||||
|
|
|
@ -618,3 +618,4 @@ default_activity_development: 开发
|
||||||
enumeration_issue_priorities: 问题优先级
|
enumeration_issue_priorities: 问题优先级
|
||||||
enumeration_doc_categories: 文档类别
|
enumeration_doc_categories: 文档类别
|
||||||
enumeration_activities: 活动(时间跟踪)
|
enumeration_activities: 活动(时间跟踪)
|
||||||
|
text_subprojects_destroy_warning: 'Its subproject(s): %s will be also deleted.'
|
||||||
|
|
|
@ -259,7 +259,7 @@ p.other-formats { text-align: right; font-size:0.9em; color: #666; }
|
||||||
a.feed { background: url(../images/feed.png) no-repeat 1px 50%; padding: 2px 0px 3px 16px; }
|
a.feed { background: url(../images/feed.png) no-repeat 1px 50%; padding: 2px 0px 3px 16px; }
|
||||||
|
|
||||||
/***** Flash & error messages ****/
|
/***** Flash & error messages ****/
|
||||||
#errorExplanation, div.flash, .nodata {
|
#errorExplanation, div.flash, .nodata, .warning {
|
||||||
padding: 4px 4px 4px 30px;
|
padding: 4px 4px 4px 30px;
|
||||||
margin-bottom: 12px;
|
margin-bottom: 12px;
|
||||||
font-size: 1.1em;
|
font-size: 1.1em;
|
||||||
|
@ -282,7 +282,7 @@ div.flash.notice {
|
||||||
color: #005f00;
|
color: #005f00;
|
||||||
}
|
}
|
||||||
|
|
||||||
.nodata {
|
.nodata, .warning {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
background-color: #FFEBC1;
|
background-color: #FFEBC1;
|
||||||
border-color: #FDBF3B;
|
border-color: #FDBF3B;
|
||||||
|
|
Loading…
Reference in New Issue