summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJean-Philippe Lang <jp_lang@yahoo.fr>2016-06-12 05:50:26 +0000
committerJean-Philippe Lang <jp_lang@yahoo.fr>2016-06-12 05:50:26 +0000
commit748fd108936d8d318562614ee989ad6bbe403d17 (patch)
treeb84108a214eba7a35f11491354e89ac4bac3b4a5
parent8516e1c88dfe3ac2532cb40a539084f194c265b9 (diff)
downloadredmine-748fd108936d8d318562614ee989ad6bbe403d17.tar.gz
redmine-748fd108936d8d318562614ee989ad6bbe403d17.zip
Merged r15501 to r15508 (#15880).
git-svn-id: http://svn.redmine.org/redmine/branches/3.3-stable@15513 e93f8b46-1217-0410-a6f0-8f06a7374b81
-rw-r--r--app/controllers/issues_controller.rb2
-rw-r--r--app/views/settings/_display.html.erb2
-rw-r--r--config/locales/ar.yml4
-rw-r--r--config/locales/az.yml4
-rw-r--r--config/locales/bg.yml4
-rw-r--r--config/locales/bs.yml4
-rw-r--r--config/locales/ca.yml4
-rw-r--r--config/locales/cs.yml4
-rw-r--r--config/locales/da.yml4
-rw-r--r--config/locales/de.yml4
-rw-r--r--config/locales/el.yml4
-rw-r--r--config/locales/en-GB.yml4
-rw-r--r--config/locales/en.yml4
-rw-r--r--config/locales/es-PA.yml4
-rw-r--r--config/locales/es.yml4
-rw-r--r--config/locales/et.yml4
-rw-r--r--config/locales/eu.yml4
-rw-r--r--config/locales/fa.yml4
-rw-r--r--config/locales/fi.yml4
-rw-r--r--config/locales/fr.yml4
-rw-r--r--config/locales/gl.yml4
-rw-r--r--config/locales/he.yml4
-rw-r--r--config/locales/hr.yml4
-rw-r--r--config/locales/hu.yml4
-rw-r--r--config/locales/id.yml4
-rw-r--r--config/locales/it.yml4
-rw-r--r--config/locales/ja.yml4
-rw-r--r--config/locales/ko.yml4
-rw-r--r--config/locales/lt.yml4
-rw-r--r--config/locales/lv.yml4
-rw-r--r--config/locales/mk.yml4
-rw-r--r--config/locales/mn.yml4
-rw-r--r--config/locales/nl.yml4
-rw-r--r--config/locales/no.yml4
-rw-r--r--config/locales/pl.yml4
-rw-r--r--config/locales/pt-BR.yml4
-rw-r--r--config/locales/pt.yml4
-rw-r--r--config/locales/ro.yml4
-rw-r--r--config/locales/ru.yml4
-rw-r--r--config/locales/sk.yml4
-rw-r--r--config/locales/sl.yml4
-rw-r--r--config/locales/sq.yml4
-rw-r--r--config/locales/sr-YU.yml4
-rw-r--r--config/locales/sr.yml4
-rw-r--r--config/locales/sv.yml4
-rw-r--r--config/locales/th.yml4
-rw-r--r--config/locales/tr.yml4
-rw-r--r--config/locales/uk.yml4
-rw-r--r--config/locales/vi.yml4
-rw-r--r--config/locales/zh-TW.yml4
-rw-r--r--config/locales/zh.yml4
-rw-r--r--config/settings.yml4
-rw-r--r--lib/redmine.rb22
-rw-r--r--lib/redmine/menu_manager.rb18
-rw-r--r--public/javascripts/application.js9
-rw-r--r--public/stylesheets/application.css17
-rw-r--r--public/themes/alternate/stylesheets/application.css9
-rw-r--r--public/themes/classic/stylesheets/application.css9
-rw-r--r--test/functional/issues_controller_test.rb10
-rw-r--r--test/unit/lib/redmine/menu_manager/menu_helper_test.rb35
60 files changed, 272 insertions, 61 deletions
diff --git a/app/controllers/issues_controller.rb b/app/controllers/issues_controller.rb
index 67956667a..95c58674c 100644
--- a/app/controllers/issues_controller.rb
+++ b/app/controllers/issues_controller.rb
@@ -362,7 +362,7 @@ class IssuesController < ApplicationController
# Overrides Redmine::MenuManager::MenuController::ClassMethods for
# when the "New issue" tab is enabled
def current_menu_item
- if Setting.new_project_issue_tab_enabled? && [:new, :create].include?(action_name.to_sym)
+ if Setting.new_item_menu_tab == '1' && [:new, :create].include?(action_name.to_sym)
:new_issue
else
super
diff --git a/app/views/settings/_display.html.erb b/app/views/settings/_display.html.erb
index 1185a7cae..be3e70e34 100644
--- a/app/views/settings/_display.html.erb
+++ b/app/views/settings/_display.html.erb
@@ -25,7 +25,7 @@
<p><%= setting_text_field :thumbnails_size, :size => 6 %></p>
-<p><%= setting_check_box :new_project_issue_tab_enabled %></p>
+<p><%= setting_select :new_item_menu_tab, [[l(:label_none), '0'], [l(:label_new_project_issue_tab_enabled), '1'], [l(:label_new_object_tab_enabled), '2']] %></p>
</div>
<%= submit_tag l(:button_save) %>
diff --git a/config/locales/ar.yml b/config/locales/ar.yml
index e13172192..a265f6243 100644
--- a/config/locales/ar.yml
+++ b/config/locales/ar.yml
@@ -1201,7 +1201,9 @@ ar:
button_filter: Filter
mail_body_password_updated: Your password has been changed.
label_no_preview: No preview available
- setting_new_project_issue_tab_enabled: Display the "New issue" tab
error_no_tracker_allowed_for_new_issue_in_project: The project doesn't have any trackers
for which you can create an issue
label_tracker_all: All trackers
+ label_new_project_issue_tab_enabled: Display the "New issue" tab
+ setting_new_item_menu_tab: Project menu tab for creating new objects
+ label_new_object_tab_enabled: Display the "+" drop-down
diff --git a/config/locales/az.yml b/config/locales/az.yml
index 7a5cdb924..649a55e42 100644
--- a/config/locales/az.yml
+++ b/config/locales/az.yml
@@ -1296,7 +1296,9 @@ az:
button_filter: Filter
mail_body_password_updated: Your password has been changed.
label_no_preview: No preview available
- setting_new_project_issue_tab_enabled: Display the "New issue" tab
error_no_tracker_allowed_for_new_issue_in_project: The project doesn't have any trackers
for which you can create an issue
label_tracker_all: All trackers
+ label_new_project_issue_tab_enabled: Display the "New issue" tab
+ setting_new_item_menu_tab: Project menu tab for creating new objects
+ label_new_object_tab_enabled: Display the "+" drop-down
diff --git a/config/locales/bg.yml b/config/locales/bg.yml
index b6412c92b..e505068a3 100644
--- a/config/locales/bg.yml
+++ b/config/locales/bg.yml
@@ -447,7 +447,6 @@ bg:
setting_search_results_per_page: Резултати от търсене на страница
setting_attachment_extensions_allowed: Позволени типове на файлове
setting_attachment_extensions_denied: Разрешени типове на файлове
- setting_new_project_issue_tab_enabled: Показване на меню-елемент "Нова задача"
permission_add_project: Създаване на проект
permission_add_subprojects: Създаване на подпроекти
@@ -1193,3 +1192,6 @@ bg:
description_date_from: Въведете начална дата
description_date_to: Въведете крайна дата
text_repository_identifier_info: 'Позволени са малки букви (a-z), цифри, тирета и _.<br />Промяна след създаването му не е възможна.'
+ label_new_project_issue_tab_enabled: Показване на меню-елемент "Нова задача"
+ setting_new_item_menu_tab: Project menu tab for creating new objects
+ label_new_object_tab_enabled: Display the "+" drop-down
diff --git a/config/locales/bs.yml b/config/locales/bs.yml
index aa47a22e9..d65fc1099 100644
--- a/config/locales/bs.yml
+++ b/config/locales/bs.yml
@@ -1214,7 +1214,9 @@ bs:
button_filter: Filter
mail_body_password_updated: Your password has been changed.
label_no_preview: No preview available
- setting_new_project_issue_tab_enabled: Display the "New issue" tab
error_no_tracker_allowed_for_new_issue_in_project: The project doesn't have any trackers
for which you can create an issue
label_tracker_all: All trackers
+ label_new_project_issue_tab_enabled: Display the "New issue" tab
+ setting_new_item_menu_tab: Project menu tab for creating new objects
+ label_new_object_tab_enabled: Display the "+" drop-down
diff --git a/config/locales/ca.yml b/config/locales/ca.yml
index ec0b3ca5a..8ab7b0f4b 100644
--- a/config/locales/ca.yml
+++ b/config/locales/ca.yml
@@ -1194,7 +1194,9 @@ ca:
button_filter: Filter
mail_body_password_updated: Your password has been changed.
label_no_preview: No preview available
- setting_new_project_issue_tab_enabled: Display the "New issue" tab
error_no_tracker_allowed_for_new_issue_in_project: The project doesn't have any trackers
for which you can create an issue
label_tracker_all: All trackers
+ label_new_project_issue_tab_enabled: Display the "New issue" tab
+ setting_new_item_menu_tab: Project menu tab for creating new objects
+ label_new_object_tab_enabled: Display the "+" drop-down
diff --git a/config/locales/cs.yml b/config/locales/cs.yml
index f0ef5a476..c09b6d013 100644
--- a/config/locales/cs.yml
+++ b/config/locales/cs.yml
@@ -1202,7 +1202,9 @@ cs:
button_filter: Filtr
mail_body_password_updated: Vaše heslo bylo změněno.
label_no_preview: Náhled není k dispozici
- setting_new_project_issue_tab_enabled: Zobraz záložku "Nový úkol"
error_no_tracker_allowed_for_new_issue_in_project: The project doesn't have any trackers
for which you can create an issue
label_tracker_all: All trackers
+ label_new_project_issue_tab_enabled: Zobraz záložku "Nový úkol"
+ setting_new_item_menu_tab: Project menu tab for creating new objects
+ label_new_object_tab_enabled: Display the "+" drop-down
diff --git a/config/locales/da.yml b/config/locales/da.yml
index 9b2020b33..77756968f 100644
--- a/config/locales/da.yml
+++ b/config/locales/da.yml
@@ -1218,7 +1218,9 @@ da:
button_filter: Filter
mail_body_password_updated: Your password has been changed.
label_no_preview: No preview available
- setting_new_project_issue_tab_enabled: Display the "New issue" tab
error_no_tracker_allowed_for_new_issue_in_project: The project doesn't have any trackers
for which you can create an issue
label_tracker_all: All trackers
+ label_new_project_issue_tab_enabled: Display the "New issue" tab
+ setting_new_item_menu_tab: Project menu tab for creating new objects
+ label_new_object_tab_enabled: Display the "+" drop-down
diff --git a/config/locales/de.yml b/config/locales/de.yml
index bf6a11c48..59ce6e6a8 100644
--- a/config/locales/de.yml
+++ b/config/locales/de.yml
@@ -1204,7 +1204,9 @@ de:
label_relations: Beziehungen
button_filter: Filter
mail_body_password_updated: Ihr Passwort wurde geändert.
- setting_new_project_issue_tab_enabled: Tab "Neues Ticket" anzeigen
error_no_tracker_allowed_for_new_issue_in_project: The project doesn't have any trackers
for which you can create an issue
label_tracker_all: All trackers
+ label_new_project_issue_tab_enabled: Tab "Neues Ticket" anzeigen
+ setting_new_item_menu_tab: Project menu tab for creating new objects
+ label_new_object_tab_enabled: Display the "+" drop-down
diff --git a/config/locales/el.yml b/config/locales/el.yml
index 66f96bfdc..63c6a774a 100644
--- a/config/locales/el.yml
+++ b/config/locales/el.yml
@@ -1201,7 +1201,9 @@ el:
button_filter: Filter
mail_body_password_updated: Your password has been changed.
label_no_preview: No preview available
- setting_new_project_issue_tab_enabled: Display the "New issue" tab
error_no_tracker_allowed_for_new_issue_in_project: The project doesn't have any trackers
for which you can create an issue
label_tracker_all: All trackers
+ label_new_project_issue_tab_enabled: Display the "New issue" tab
+ setting_new_item_menu_tab: Project menu tab for creating new objects
+ label_new_object_tab_enabled: Display the "+" drop-down
diff --git a/config/locales/en-GB.yml b/config/locales/en-GB.yml
index cf6f9770a..0617b2227 100644
--- a/config/locales/en-GB.yml
+++ b/config/locales/en-GB.yml
@@ -1203,7 +1203,9 @@ en-GB:
label_relations: Relations
button_filter: Filter
mail_body_password_updated: Your password has been changed.
- setting_new_project_issue_tab_enabled: Display the "New issue" tab
error_no_tracker_allowed_for_new_issue_in_project: The project doesn't have any trackers
for which you can create an issue
label_tracker_all: All trackers
+ label_new_project_issue_tab_enabled: Display the "New issue" tab
+ setting_new_item_menu_tab: Project menu tab for creating new objects
+ label_new_object_tab_enabled: Display the "+" drop-down
diff --git a/config/locales/en.yml b/config/locales/en.yml
index 522cb5227..908aa119a 100644
--- a/config/locales/en.yml
+++ b/config/locales/en.yml
@@ -444,7 +444,7 @@ en:
setting_search_results_per_page: Search results per page
setting_attachment_extensions_allowed: Allowed extensions
setting_attachment_extensions_denied: Disallowed extensions
- setting_new_project_issue_tab_enabled: Display the "New issue" tab
+ setting_new_item_menu_tab: Project menu tab for creating new objects
permission_add_project: Create project
permission_add_subprojects: Create subprojects
@@ -995,6 +995,8 @@ en:
label_field_format_enumeration: Key/value list
label_default_values_for_new_users: Default values for new users
label_relations: Relations
+ label_new_project_issue_tab_enabled: Display the "New issue" tab
+ label_new_object_tab_enabled: Display the "+" drop-down
button_login: Login
button_submit: Submit
diff --git a/config/locales/es-PA.yml b/config/locales/es-PA.yml
index 0b76bdada..e7072a7cd 100644
--- a/config/locales/es-PA.yml
+++ b/config/locales/es-PA.yml
@@ -1235,7 +1235,9 @@ es-PA:
button_filter: Filter
mail_body_password_updated: Your password has been changed.
label_no_preview: No preview available
- setting_new_project_issue_tab_enabled: Display the "New issue" tab
error_no_tracker_allowed_for_new_issue_in_project: The project doesn't have any trackers
for which you can create an issue
label_tracker_all: All trackers
+ label_new_project_issue_tab_enabled: Display the "New issue" tab
+ setting_new_item_menu_tab: Project menu tab for creating new objects
+ label_new_object_tab_enabled: Display the "+" drop-down
diff --git a/config/locales/es.yml b/config/locales/es.yml
index d9e781495..6cef342f5 100644
--- a/config/locales/es.yml
+++ b/config/locales/es.yml
@@ -1233,7 +1233,9 @@ es:
button_filter: Filter
mail_body_password_updated: Your password has been changed.
label_no_preview: No preview available
- setting_new_project_issue_tab_enabled: Display the "New issue" tab
error_no_tracker_allowed_for_new_issue_in_project: The project doesn't have any trackers
for which you can create an issue
label_tracker_all: All trackers
+ label_new_project_issue_tab_enabled: Display the "New issue" tab
+ setting_new_item_menu_tab: Project menu tab for creating new objects
+ label_new_object_tab_enabled: Display the "+" drop-down
diff --git a/config/locales/et.yml b/config/locales/et.yml
index f8ae0fbd9..510c9236c 100644
--- a/config/locales/et.yml
+++ b/config/locales/et.yml
@@ -1205,7 +1205,9 @@ et:
button_filter: Filter
mail_body_password_updated: Your password has been changed.
label_no_preview: No preview available
- setting_new_project_issue_tab_enabled: Display the "New issue" tab
error_no_tracker_allowed_for_new_issue_in_project: The project doesn't have any trackers
for which you can create an issue
label_tracker_all: All trackers
+ label_new_project_issue_tab_enabled: Display the "New issue" tab
+ setting_new_item_menu_tab: Project menu tab for creating new objects
+ label_new_object_tab_enabled: Display the "+" drop-down
diff --git a/config/locales/eu.yml b/config/locales/eu.yml
index 1dbfed25c..ebece4218 100644
--- a/config/locales/eu.yml
+++ b/config/locales/eu.yml
@@ -1202,7 +1202,9 @@ eu:
button_filter: Filter
mail_body_password_updated: Your password has been changed.
label_no_preview: No preview available
- setting_new_project_issue_tab_enabled: Display the "New issue" tab
error_no_tracker_allowed_for_new_issue_in_project: The project doesn't have any trackers
for which you can create an issue
label_tracker_all: All trackers
+ label_new_project_issue_tab_enabled: Display the "New issue" tab
+ setting_new_item_menu_tab: Project menu tab for creating new objects
+ label_new_object_tab_enabled: Display the "+" drop-down
diff --git a/config/locales/fa.yml b/config/locales/fa.yml
index b9e7377e6..c9d527f67 100644
--- a/config/locales/fa.yml
+++ b/config/locales/fa.yml
@@ -1202,7 +1202,9 @@ fa:
button_filter: Filter
mail_body_password_updated: Your password has been changed.
label_no_preview: No preview available
- setting_new_project_issue_tab_enabled: Display the "New issue" tab
error_no_tracker_allowed_for_new_issue_in_project: The project doesn't have any trackers
for which you can create an issue
label_tracker_all: All trackers
+ label_new_project_issue_tab_enabled: Display the "New issue" tab
+ setting_new_item_menu_tab: Project menu tab for creating new objects
+ label_new_object_tab_enabled: Display the "+" drop-down
diff --git a/config/locales/fi.yml b/config/locales/fi.yml
index 14aa38cc8..c2449b0f1 100644
--- a/config/locales/fi.yml
+++ b/config/locales/fi.yml
@@ -1222,7 +1222,9 @@ fi:
button_filter: Filter
mail_body_password_updated: Your password has been changed.
label_no_preview: No preview available
- setting_new_project_issue_tab_enabled: Display the "New issue" tab
error_no_tracker_allowed_for_new_issue_in_project: The project doesn't have any trackers
for which you can create an issue
label_tracker_all: All trackers
+ label_new_project_issue_tab_enabled: Display the "New issue" tab
+ setting_new_item_menu_tab: Project menu tab for creating new objects
+ label_new_object_tab_enabled: Display the "+" drop-down
diff --git a/config/locales/fr.yml b/config/locales/fr.yml
index 760c84c95..49803506b 100644
--- a/config/locales/fr.yml
+++ b/config/locales/fr.yml
@@ -456,7 +456,7 @@ fr:
setting_attachment_extensions_denied: Extensions non autorisées
setting_sys_api_key: Clé de protection de l'API
setting_lost_password: Autoriser la réinitialisation par email de mot de passe perdu
- setting_new_project_issue_tab_enabled: Afficher l'onglet "Nouvelle demande"
+ setting_new_item_menu_tab: Onglet de création d'objets dans le menu du project
permission_add_project: Créer un projet
permission_add_subprojects: Créer des sous-projets
@@ -1004,6 +1004,8 @@ fr:
label_field_format_enumeration: Liste clé/valeur
label_default_values_for_new_users: Valeurs par défaut pour les nouveaux utilisateurs
label_relations: Relations
+ label_new_project_issue_tab_enabled: Afficher l'onglet "Nouvelle demande"
+ label_new_object_tab_enabled: Afficher le menu déroulant "+"
button_login: Connexion
button_submit: Soumettre
diff --git a/config/locales/gl.yml b/config/locales/gl.yml
index 437bf4b3f..d0069b243 100644
--- a/config/locales/gl.yml
+++ b/config/locales/gl.yml
@@ -1209,7 +1209,9 @@ gl:
button_filter: Filter
mail_body_password_updated: Your password has been changed.
label_no_preview: No preview available
- setting_new_project_issue_tab_enabled: Display the "New issue" tab
error_no_tracker_allowed_for_new_issue_in_project: The project doesn't have any trackers
for which you can create an issue
label_tracker_all: All trackers
+ label_new_project_issue_tab_enabled: Display the "New issue" tab
+ setting_new_item_menu_tab: Project menu tab for creating new objects
+ label_new_object_tab_enabled: Display the "+" drop-down
diff --git a/config/locales/he.yml b/config/locales/he.yml
index aad81c4a0..b17742433 100644
--- a/config/locales/he.yml
+++ b/config/locales/he.yml
@@ -1206,7 +1206,9 @@ he:
button_filter: Filter
mail_body_password_updated: Your password has been changed.
label_no_preview: No preview available
- setting_new_project_issue_tab_enabled: Display the "New issue" tab
error_no_tracker_allowed_for_new_issue_in_project: The project doesn't have any trackers
for which you can create an issue
label_tracker_all: All trackers
+ label_new_project_issue_tab_enabled: Display the "New issue" tab
+ setting_new_item_menu_tab: Project menu tab for creating new objects
+ label_new_object_tab_enabled: Display the "+" drop-down
diff --git a/config/locales/hr.yml b/config/locales/hr.yml
index a09064a5f..9e37b7a2e 100644
--- a/config/locales/hr.yml
+++ b/config/locales/hr.yml
@@ -1200,7 +1200,9 @@ hr:
button_filter: Filter
mail_body_password_updated: Your password has been changed.
label_no_preview: No preview available
- setting_new_project_issue_tab_enabled: Display the "New issue" tab
error_no_tracker_allowed_for_new_issue_in_project: The project doesn't have any trackers
for which you can create an issue
label_tracker_all: All trackers
+ label_new_project_issue_tab_enabled: Display the "New issue" tab
+ setting_new_item_menu_tab: Project menu tab for creating new objects
+ label_new_object_tab_enabled: Display the "+" drop-down
diff --git a/config/locales/hu.yml b/config/locales/hu.yml
index 6f7f075a8..b8e9058f8 100644
--- a/config/locales/hu.yml
+++ b/config/locales/hu.yml
@@ -1220,7 +1220,9 @@
button_filter: Filter
mail_body_password_updated: Your password has been changed.
label_no_preview: No preview available
- setting_new_project_issue_tab_enabled: Display the "New issue" tab
error_no_tracker_allowed_for_new_issue_in_project: The project doesn't have any trackers
for which you can create an issue
label_tracker_all: All trackers
+ label_new_project_issue_tab_enabled: Display the "New issue" tab
+ setting_new_item_menu_tab: Project menu tab for creating new objects
+ label_new_object_tab_enabled: Display the "+" drop-down
diff --git a/config/locales/id.yml b/config/locales/id.yml
index dfa63dc8e..750eb2e44 100644
--- a/config/locales/id.yml
+++ b/config/locales/id.yml
@@ -1205,7 +1205,9 @@ id:
button_filter: Filter
mail_body_password_updated: Your password has been changed.
label_no_preview: No preview available
- setting_new_project_issue_tab_enabled: Display the "New issue" tab
error_no_tracker_allowed_for_new_issue_in_project: The project doesn't have any trackers
for which you can create an issue
label_tracker_all: All trackers
+ label_new_project_issue_tab_enabled: Display the "New issue" tab
+ setting_new_item_menu_tab: Project menu tab for creating new objects
+ label_new_object_tab_enabled: Display the "+" drop-down
diff --git a/config/locales/it.yml b/config/locales/it.yml
index b5310caad..57afce9f0 100644
--- a/config/locales/it.yml
+++ b/config/locales/it.yml
@@ -1196,7 +1196,9 @@ it:
button_filter: Filter
mail_body_password_updated: Your password has been changed.
label_no_preview: No preview available
- setting_new_project_issue_tab_enabled: Display the "New issue" tab
error_no_tracker_allowed_for_new_issue_in_project: The project doesn't have any trackers
for which you can create an issue
label_tracker_all: All trackers
+ label_new_project_issue_tab_enabled: Display the "New issue" tab
+ setting_new_item_menu_tab: Project menu tab for creating new objects
+ label_new_object_tab_enabled: Display the "+" drop-down
diff --git a/config/locales/ja.yml b/config/locales/ja.yml
index 2c5a63514..e10e1bd14 100644
--- a/config/locales/ja.yml
+++ b/config/locales/ja.yml
@@ -1212,6 +1212,8 @@ ja:
button_filter: フィルタ
mail_body_password_updated: パスワードが変更されました。
label_no_preview: このファイルはプレビューできません
- setting_new_project_issue_tab_enabled: '"新しいチケット" タブを表示'
error_no_tracker_allowed_for_new_issue_in_project: このプロジェクトにはチケットの追加が許可されているトラッカーがありません
label_tracker_all: すべてのトラッカー
+ label_new_project_issue_tab_enabled: '"新しいチケット" タブを表示'
+ setting_new_item_menu_tab: Project menu tab for creating new objects
+ label_new_object_tab_enabled: Display the "+" drop-down
diff --git a/config/locales/ko.yml b/config/locales/ko.yml
index 5f9fd63da..2fee6dc19 100644
--- a/config/locales/ko.yml
+++ b/config/locales/ko.yml
@@ -1240,7 +1240,9 @@ ko:
button_filter: 필터
mail_body_password_updated: 암호가 변경되었습니다.
label_no_preview: 미리보기 없음
- setting_new_project_issue_tab_enabled: '"새 일감" 탭 표시'
error_no_tracker_allowed_for_new_issue_in_project: The project doesn't have any trackers
for which you can create an issue
label_tracker_all: All trackers
+ label_new_project_issue_tab_enabled: '"새 일감" 탭 표시'
+ setting_new_item_menu_tab: Project menu tab for creating new objects
+ label_new_object_tab_enabled: Display the "+" drop-down
diff --git a/config/locales/lt.yml b/config/locales/lt.yml
index 6aa63dcac..2a8b0b5d2 100644
--- a/config/locales/lt.yml
+++ b/config/locales/lt.yml
@@ -1190,7 +1190,9 @@ lt:
button_filter: Filter
mail_body_password_updated: Your password has been changed.
label_no_preview: No preview available
- setting_new_project_issue_tab_enabled: Display the "New issue" tab
error_no_tracker_allowed_for_new_issue_in_project: The project doesn't have any trackers
for which you can create an issue
label_tracker_all: All trackers
+ label_new_project_issue_tab_enabled: Display the "New issue" tab
+ setting_new_item_menu_tab: Project menu tab for creating new objects
+ label_new_object_tab_enabled: Display the "+" drop-down
diff --git a/config/locales/lv.yml b/config/locales/lv.yml
index 2a7dc3c1d..81184dfac 100644
--- a/config/locales/lv.yml
+++ b/config/locales/lv.yml
@@ -1195,7 +1195,9 @@ lv:
button_filter: Filter
mail_body_password_updated: Your password has been changed.
label_no_preview: No preview available
- setting_new_project_issue_tab_enabled: Display the "New issue" tab
error_no_tracker_allowed_for_new_issue_in_project: The project doesn't have any trackers
for which you can create an issue
label_tracker_all: All trackers
+ label_new_project_issue_tab_enabled: Display the "New issue" tab
+ setting_new_item_menu_tab: Project menu tab for creating new objects
+ label_new_object_tab_enabled: Display the "+" drop-down
diff --git a/config/locales/mk.yml b/config/locales/mk.yml
index 02757abe0..e7dc7ee3e 100644
--- a/config/locales/mk.yml
+++ b/config/locales/mk.yml
@@ -1201,7 +1201,9 @@ mk:
button_filter: Filter
mail_body_password_updated: Your password has been changed.
label_no_preview: No preview available
- setting_new_project_issue_tab_enabled: Display the "New issue" tab
error_no_tracker_allowed_for_new_issue_in_project: The project doesn't have any trackers
for which you can create an issue
label_tracker_all: All trackers
+ label_new_project_issue_tab_enabled: Display the "New issue" tab
+ setting_new_item_menu_tab: Project menu tab for creating new objects
+ label_new_object_tab_enabled: Display the "+" drop-down
diff --git a/config/locales/mn.yml b/config/locales/mn.yml
index 6176c97e5..eb63b988f 100644
--- a/config/locales/mn.yml
+++ b/config/locales/mn.yml
@@ -1202,7 +1202,9 @@ mn:
button_filter: Filter
mail_body_password_updated: Your password has been changed.
label_no_preview: No preview available
- setting_new_project_issue_tab_enabled: Display the "New issue" tab
error_no_tracker_allowed_for_new_issue_in_project: The project doesn't have any trackers
for which you can create an issue
label_tracker_all: All trackers
+ label_new_project_issue_tab_enabled: Display the "New issue" tab
+ setting_new_item_menu_tab: Project menu tab for creating new objects
+ label_new_object_tab_enabled: Display the "+" drop-down
diff --git a/config/locales/nl.yml b/config/locales/nl.yml
index e356bab91..23630b28e 100644
--- a/config/locales/nl.yml
+++ b/config/locales/nl.yml
@@ -1180,7 +1180,9 @@ nl:
button_filter: Filter
mail_body_password_updated: Your password has been changed.
label_no_preview: No preview available
- setting_new_project_issue_tab_enabled: Display the "New issue" tab
error_no_tracker_allowed_for_new_issue_in_project: The project doesn't have any trackers
for which you can create an issue
label_tracker_all: All trackers
+ label_new_project_issue_tab_enabled: Display the "New issue" tab
+ setting_new_item_menu_tab: Project menu tab for creating new objects
+ label_new_object_tab_enabled: Display the "+" drop-down
diff --git a/config/locales/no.yml b/config/locales/no.yml
index 083a956ac..ce5aef038 100644
--- a/config/locales/no.yml
+++ b/config/locales/no.yml
@@ -1191,7 +1191,9 @@
button_filter: Filter
mail_body_password_updated: Your password has been changed.
label_no_preview: No preview available
- setting_new_project_issue_tab_enabled: Display the "New issue" tab
error_no_tracker_allowed_for_new_issue_in_project: The project doesn't have any trackers
for which you can create an issue
label_tracker_all: All trackers
+ label_new_project_issue_tab_enabled: Display the "New issue" tab
+ setting_new_item_menu_tab: Project menu tab for creating new objects
+ label_new_object_tab_enabled: Display the "+" drop-down
diff --git a/config/locales/pl.yml b/config/locales/pl.yml
index a183a2130..0534b6bee 100644
--- a/config/locales/pl.yml
+++ b/config/locales/pl.yml
@@ -1216,7 +1216,9 @@ pl:
button_filter: Filter
mail_body_password_updated: Your password has been changed.
label_no_preview: No preview available
- setting_new_project_issue_tab_enabled: Display the "New issue" tab
error_no_tracker_allowed_for_new_issue_in_project: The project doesn't have any trackers
for which you can create an issue
label_tracker_all: All trackers
+ label_new_project_issue_tab_enabled: Display the "New issue" tab
+ setting_new_item_menu_tab: Project menu tab for creating new objects
+ label_new_object_tab_enabled: Display the "+" drop-down
diff --git a/config/locales/pt-BR.yml b/config/locales/pt-BR.yml
index b8c360141..28c5f2303 100644
--- a/config/locales/pt-BR.yml
+++ b/config/locales/pt-BR.yml
@@ -1219,7 +1219,9 @@ pt-BR:
button_filter: Filter
mail_body_password_updated: Your password has been changed.
label_no_preview: No preview available
- setting_new_project_issue_tab_enabled: Display the "New issue" tab
error_no_tracker_allowed_for_new_issue_in_project: The project doesn't have any trackers
for which you can create an issue
label_tracker_all: All trackers
+ label_new_project_issue_tab_enabled: Display the "New issue" tab
+ setting_new_item_menu_tab: Project menu tab for creating new objects
+ label_new_object_tab_enabled: Display the "+" drop-down
diff --git a/config/locales/pt.yml b/config/locales/pt.yml
index 38b4b882d..6656b7944 100644
--- a/config/locales/pt.yml
+++ b/config/locales/pt.yml
@@ -1203,7 +1203,9 @@ pt:
button_filter: Filter
mail_body_password_updated: Your password has been changed.
label_no_preview: No preview available
- setting_new_project_issue_tab_enabled: Display the "New issue" tab
error_no_tracker_allowed_for_new_issue_in_project: The project doesn't have any trackers
for which you can create an issue
label_tracker_all: All trackers
+ label_new_project_issue_tab_enabled: Display the "New issue" tab
+ setting_new_item_menu_tab: Project menu tab for creating new objects
+ label_new_object_tab_enabled: Display the "+" drop-down
diff --git a/config/locales/ro.yml b/config/locales/ro.yml
index 34e5405e3..03e937afa 100644
--- a/config/locales/ro.yml
+++ b/config/locales/ro.yml
@@ -1196,7 +1196,9 @@ ro:
button_filter: Filter
mail_body_password_updated: Your password has been changed.
label_no_preview: No preview available
- setting_new_project_issue_tab_enabled: Display the "New issue" tab
error_no_tracker_allowed_for_new_issue_in_project: The project doesn't have any trackers
for which you can create an issue
label_tracker_all: All trackers
+ label_new_project_issue_tab_enabled: Display the "New issue" tab
+ setting_new_item_menu_tab: Project menu tab for creating new objects
+ label_new_object_tab_enabled: Display the "+" drop-down
diff --git a/config/locales/ru.yml b/config/locales/ru.yml
index fdce0f253..363d1804c 100644
--- a/config/locales/ru.yml
+++ b/config/locales/ru.yml
@@ -1302,7 +1302,9 @@ ru:
button_filter: Filter
mail_body_password_updated: Your password has been changed.
label_no_preview: No preview available
- setting_new_project_issue_tab_enabled: Display the "New issue" tab
error_no_tracker_allowed_for_new_issue_in_project: The project doesn't have any trackers
for which you can create an issue
label_tracker_all: All trackers
+ label_new_project_issue_tab_enabled: Display the "New issue" tab
+ setting_new_item_menu_tab: Project menu tab for creating new objects
+ label_new_object_tab_enabled: Display the "+" drop-down
diff --git a/config/locales/sk.yml b/config/locales/sk.yml
index b6c843947..276c8ff2c 100644
--- a/config/locales/sk.yml
+++ b/config/locales/sk.yml
@@ -1191,7 +1191,9 @@ sk:
button_filter: Filter
mail_body_password_updated: Your password has been changed.
label_no_preview: No preview available
- setting_new_project_issue_tab_enabled: Display the "New issue" tab
error_no_tracker_allowed_for_new_issue_in_project: The project doesn't have any trackers
for which you can create an issue
label_tracker_all: All trackers
+ label_new_project_issue_tab_enabled: Display the "New issue" tab
+ setting_new_item_menu_tab: Project menu tab for creating new objects
+ label_new_object_tab_enabled: Display the "+" drop-down
diff --git a/config/locales/sl.yml b/config/locales/sl.yml
index 7d2d755fe..d8f493a55 100644
--- a/config/locales/sl.yml
+++ b/config/locales/sl.yml
@@ -1201,7 +1201,9 @@ sl:
button_filter: Filter
mail_body_password_updated: Your password has been changed.
label_no_preview: No preview available
- setting_new_project_issue_tab_enabled: Display the "New issue" tab
error_no_tracker_allowed_for_new_issue_in_project: The project doesn't have any trackers
for which you can create an issue
label_tracker_all: All trackers
+ label_new_project_issue_tab_enabled: Display the "New issue" tab
+ setting_new_item_menu_tab: Project menu tab for creating new objects
+ label_new_object_tab_enabled: Display the "+" drop-down
diff --git a/config/locales/sq.yml b/config/locales/sq.yml
index 98d1f5e8a..658183886 100644
--- a/config/locales/sq.yml
+++ b/config/locales/sq.yml
@@ -1197,7 +1197,9 @@ sq:
button_filter: Filter
mail_body_password_updated: Your password has been changed.
label_no_preview: No preview available
- setting_new_project_issue_tab_enabled: Display the "New issue" tab
error_no_tracker_allowed_for_new_issue_in_project: The project doesn't have any trackers
for which you can create an issue
label_tracker_all: All trackers
+ label_new_project_issue_tab_enabled: Display the "New issue" tab
+ setting_new_item_menu_tab: Project menu tab for creating new objects
+ label_new_object_tab_enabled: Display the "+" drop-down
diff --git a/config/locales/sr-YU.yml b/config/locales/sr-YU.yml
index bf35302d2..0ae915f25 100644
--- a/config/locales/sr-YU.yml
+++ b/config/locales/sr-YU.yml
@@ -1203,7 +1203,9 @@ sr-YU:
button_filter: Filter
mail_body_password_updated: Your password has been changed.
label_no_preview: No preview available
- setting_new_project_issue_tab_enabled: Display the "New issue" tab
error_no_tracker_allowed_for_new_issue_in_project: The project doesn't have any trackers
for which you can create an issue
label_tracker_all: All trackers
+ label_new_project_issue_tab_enabled: Display the "New issue" tab
+ setting_new_item_menu_tab: Project menu tab for creating new objects
+ label_new_object_tab_enabled: Display the "+" drop-down
diff --git a/config/locales/sr.yml b/config/locales/sr.yml
index 9d12a7d60..5c27ec2be 100644
--- a/config/locales/sr.yml
+++ b/config/locales/sr.yml
@@ -1202,7 +1202,9 @@ sr:
button_filter: Filter
mail_body_password_updated: Your password has been changed.
label_no_preview: No preview available
- setting_new_project_issue_tab_enabled: Display the "New issue" tab
error_no_tracker_allowed_for_new_issue_in_project: The project doesn't have any trackers
for which you can create an issue
label_tracker_all: All trackers
+ label_new_project_issue_tab_enabled: Display the "New issue" tab
+ setting_new_item_menu_tab: Project menu tab for creating new objects
+ label_new_object_tab_enabled: Display the "+" drop-down
diff --git a/config/locales/sv.yml b/config/locales/sv.yml
index 4bdf72a51..059852400 100644
--- a/config/locales/sv.yml
+++ b/config/locales/sv.yml
@@ -1234,7 +1234,9 @@ sv:
button_filter: Filter
mail_body_password_updated: Your password has been changed.
label_no_preview: No preview available
- setting_new_project_issue_tab_enabled: Display the "New issue" tab
error_no_tracker_allowed_for_new_issue_in_project: The project doesn't have any trackers
for which you can create an issue
label_tracker_all: All trackers
+ label_new_project_issue_tab_enabled: Display the "New issue" tab
+ setting_new_item_menu_tab: Project menu tab for creating new objects
+ label_new_object_tab_enabled: Display the "+" drop-down
diff --git a/config/locales/th.yml b/config/locales/th.yml
index bfdc38490..c25b780bf 100644
--- a/config/locales/th.yml
+++ b/config/locales/th.yml
@@ -1198,7 +1198,9 @@ th:
button_filter: Filter
mail_body_password_updated: Your password has been changed.
label_no_preview: No preview available
- setting_new_project_issue_tab_enabled: Display the "New issue" tab
error_no_tracker_allowed_for_new_issue_in_project: The project doesn't have any trackers
for which you can create an issue
label_tracker_all: All trackers
+ label_new_project_issue_tab_enabled: Display the "New issue" tab
+ setting_new_item_menu_tab: Project menu tab for creating new objects
+ label_new_object_tab_enabled: Display the "+" drop-down
diff --git a/config/locales/tr.yml b/config/locales/tr.yml
index 8eeb40698..7eb5f05e8 100644
--- a/config/locales/tr.yml
+++ b/config/locales/tr.yml
@@ -1208,7 +1208,9 @@ tr:
button_filter: Filter
mail_body_password_updated: Your password has been changed.
label_no_preview: No preview available
- setting_new_project_issue_tab_enabled: Display the "New issue" tab
error_no_tracker_allowed_for_new_issue_in_project: The project doesn't have any trackers
for which you can create an issue
label_tracker_all: All trackers
+ label_new_project_issue_tab_enabled: Display the "New issue" tab
+ setting_new_item_menu_tab: Project menu tab for creating new objects
+ label_new_object_tab_enabled: Display the "+" drop-down
diff --git a/config/locales/uk.yml b/config/locales/uk.yml
index cb2447159..8ea60d4a9 100644
--- a/config/locales/uk.yml
+++ b/config/locales/uk.yml
@@ -1196,7 +1196,9 @@ uk:
button_filter: Filter
mail_body_password_updated: Your password has been changed.
label_no_preview: No preview available
- setting_new_project_issue_tab_enabled: Display the "New issue" tab
error_no_tracker_allowed_for_new_issue_in_project: The project doesn't have any trackers
for which you can create an issue
label_tracker_all: All trackers
+ label_new_project_issue_tab_enabled: Display the "New issue" tab
+ setting_new_item_menu_tab: Project menu tab for creating new objects
+ label_new_object_tab_enabled: Display the "+" drop-down
diff --git a/config/locales/vi.yml b/config/locales/vi.yml
index 04a4b45b7..73405c154 100644
--- a/config/locales/vi.yml
+++ b/config/locales/vi.yml
@@ -1254,7 +1254,9 @@ vi:
button_filter: Filter
mail_body_password_updated: Your password has been changed.
label_no_preview: No preview available
- setting_new_project_issue_tab_enabled: Display the "New issue" tab
error_no_tracker_allowed_for_new_issue_in_project: The project doesn't have any trackers
for which you can create an issue
label_tracker_all: All trackers
+ label_new_project_issue_tab_enabled: Display the "New issue" tab
+ setting_new_item_menu_tab: Project menu tab for creating new objects
+ label_new_object_tab_enabled: Display the "+" drop-down
diff --git a/config/locales/zh-TW.yml b/config/locales/zh-TW.yml
index 7ce98871c..6722bb072 100644
--- a/config/locales/zh-TW.yml
+++ b/config/locales/zh-TW.yml
@@ -528,7 +528,6 @@
setting_search_results_per_page: 每一頁的搜尋結果數目
setting_attachment_extensions_allowed: 允許使用的附檔名
setting_attachment_extensions_denied: 禁止使用的副檔名
- setting_new_project_issue_tab_enabled: 顯示「建立新議題」標籤頁面
permission_add_project: 建立專案
permission_add_subprojects: 建立子專案
@@ -1275,3 +1274,6 @@
description_date_from: 輸入起始日期
description_date_to: 輸入結束日期
text_repository_identifier_info: '僅允許使用小寫英文字母 (a-z), 阿拉伯數字, 虛線與底線。<br />一旦儲存之後, 代碼便無法再次被更改。'
+ label_new_project_issue_tab_enabled: 顯示「建立新議題」標籤頁面
+ setting_new_item_menu_tab: Project menu tab for creating new objects
+ label_new_object_tab_enabled: Display the "+" drop-down
diff --git a/config/locales/zh.yml b/config/locales/zh.yml
index d66b2954c..983730734 100644
--- a/config/locales/zh.yml
+++ b/config/locales/zh.yml
@@ -1194,7 +1194,9 @@ zh:
button_filter: 设置为过滤条件
mail_body_password_updated: 您的密码已经变更。
label_no_preview: 没有可以显示的预览内容
- setting_new_project_issue_tab_enabled: 显示“新建问题”标签
error_no_tracker_allowed_for_new_issue_in_project: The project doesn't have any trackers
for which you can create an issue
label_tracker_all: All trackers
+ label_new_project_issue_tab_enabled: 显示“新建问题”标签
+ setting_new_item_menu_tab: Project menu tab for creating new objects
+ label_new_object_tab_enabled: Display the "+" drop-down
diff --git a/config/settings.yml b/config/settings.yml
index fd807c8a1..807f9b7a7 100644
--- a/config/settings.yml
+++ b/config/settings.yml
@@ -275,5 +275,5 @@ non_working_week_days:
default:
- '6'
- '7'
-new_project_issue_tab_enabled:
- default: 0
+new_item_menu_tab:
+ default: 2
diff --git a/lib/redmine.rb b/lib/redmine.rb
index 6dfc880ff..71722cc8e 100644
--- a/lib/redmine.rb
+++ b/lib/redmine.rb
@@ -226,6 +226,26 @@ Redmine::MenuManager.map :admin_menu do |menu|
end
Redmine::MenuManager.map :project_menu do |menu|
+ menu.push :new_object, nil, :caption => ' + ',
+ :if => Proc.new { |p| Setting.new_item_menu_tab == '2' },
+ :html => { :id => 'new-object', :onclick => 'toggleNewObjectDropdown(); return false;' }
+ menu.push :new_issue_sub, { :controller => 'issues', :action => 'new', :copy_from => nil }, :param => :project_id, :caption => :label_issue_new,
+ :html => { :accesskey => Redmine::AccessKeys.key_for(:new_issue) },
+ :if => Proc.new { |p| Issue.allowed_target_trackers(p).any? },
+ :permission => :add_issues,
+ :parent => :new_object
+ menu.push :new_issue_category, {:controller => 'issue_categories', :action => 'new'}, :param => :project_id, :caption => :label_issue_category_new,
+ :parent => :new_object
+ menu.push :new_version, {:controller => 'versions', :action => 'new'}, :param => :project_id, :caption => :label_version_new,
+ :parent => :new_object
+ menu.push :new_news, {:controller => 'news', :action => 'new'}, :param => :project_id, :caption => :label_news_new,
+ :parent => :new_object
+ menu.push :new_document, {:controller => 'documents', :action => 'new'}, :param => :project_id, :caption => :label_document_new,
+ :parent => :new_object
+ menu.push :new_wiki_page, {:controller => 'wiki', :action => 'new'}, :param => :project_id, :caption => :label_wiki_page_new,
+ :parent => :new_object
+ menu.push :new_file, {:controller => 'files', :action => 'new'}, :param => :project_id, :caption => :label_attachment_new,
+ :parent => :new_object
menu.push :overview, { :controller => 'projects', :action => 'show' }
menu.push :activity, { :controller => 'activities', :action => 'index' }
menu.push :roadmap, { :controller => 'versions', :action => 'index' }, :param => :project_id,
@@ -233,7 +253,7 @@ Redmine::MenuManager.map :project_menu do |menu|
menu.push :issues, { :controller => 'issues', :action => 'index' }, :param => :project_id, :caption => :label_issue_plural
menu.push :new_issue, { :controller => 'issues', :action => 'new', :copy_from => nil }, :param => :project_id, :caption => :label_issue_new,
:html => { :accesskey => Redmine::AccessKeys.key_for(:new_issue) },
- :if => Proc.new { |p| Setting.new_project_issue_tab_enabled? && Issue.allowed_target_trackers(p).any? },
+ :if => Proc.new { |p| Setting.new_item_menu_tab == '1' && Issue.allowed_target_trackers(p).any? },
:permission => :add_issues
menu.push :gantt, { :controller => 'gantts', :action => 'show' }, :param => :project_id, :caption => :label_gantt
menu.push :calendar, { :controller => 'calendars', :action => 'show' }, :param => :project_id, :caption => :label_calendar
diff --git a/lib/redmine/menu_manager.rb b/lib/redmine/menu_manager.rb
index fa7777065..3d19edce7 100644
--- a/lib/redmine/menu_manager.rb
+++ b/lib/redmine/menu_manager.rb
@@ -147,7 +147,15 @@ module Redmine
end
def render_single_menu_node(item, caption, url, selected)
- link_to(h(caption), url, item.html_options(:selected => selected))
+ options = item.html_options(:selected => selected)
+
+ # virtual nodes are only there for their children to be displayed in the menu
+ # and should not do anything on click, except if otherwise defined elsewhere
+ if url.blank?
+ url = '#'
+ options.reverse_merge!(:onclick => 'return false;')
+ end
+ link_to(h(caption), url, options)
end
def render_unattached_menu_item(menu_item, project)
@@ -433,7 +441,13 @@ module Redmine
# * Checking the permission or the url target (project only)
# * Checking the conditions of the item
def allowed?(user, project)
- if user && project
+ if url.blank?
+ # this is a virtual node that is only there for its children to be diplayed in the menu
+ # it is considered an allowed node if at least one of the children is allowed
+ all_children = children
+ all_children += child_menus.call(project) if child_menus
+ return false unless all_children.detect{|child| child.allowed?(user, project) }
+ elsif user && project
if permission
unless user.allowed_to?(permission, project)
return false
diff --git a/public/javascripts/application.js b/public/javascripts/application.js
index 347611bb2..eedeae08b 100644
--- a/public/javascripts/application.js
+++ b/public/javascripts/application.js
@@ -725,6 +725,15 @@ function toggleDisabledInit() {
$('input[data-disables], input[data-enables], input[data-shows]').each(toggleDisabledOnChange);
}
+function toggleNewObjectDropdown() {
+ var dropdown = $('#new-object + ul.menu-children');
+ if(dropdown.hasClass('visible')){
+ dropdown.removeClass('visible');
+ }else{
+ dropdown.addClass('visible');
+ }
+}
+
(function ( $ ) {
// detect if native date input is supported
diff --git a/public/stylesheets/application.css b/public/stylesheets/application.css
index 021cb822d..3ab2eccf2 100644
--- a/public/stylesheets/application.css
+++ b/public/stylesheets/application.css
@@ -51,7 +51,24 @@ pre, code {font-family: Consolas, Menlo, "Liberation Mono", Courier, monospace;}
padding: 4px 10px 4px 10px;
}
#main-menu li a:hover {background:#759FCF; color:#fff;}
+#main-menu li:hover ul.menu-children, #main-menu li ul.menu-children.visible {display: block;}
#main-menu li a.selected, #main-menu li a.selected:hover {background:#fff; color:#555;}
+#main-menu li a.new-object { background-color:#759FCF; }
+
+#main-menu .menu-children {
+ display: none;
+ position:absolute;
+ width: inherit;
+ z-index:1;
+ background-color:#fff;
+ border-right: 1px solid #759FCF;
+ border-bottom: 1px solid #759FCF;
+ border-left: 1px solid #759FCF;
+}
+#main-menu .menu-children li {float:left; clear:both; width:100%;}
+#main-menu .menu-children li a {color: #555; background-color:#fff; font-weight:normal;}
+#main-menu .menu-children li a:hover {color: #fff; background-color: #759FCF;}
+
#main-menu .tabs-buttons {
right: 6px;
background-color: transparent;
diff --git a/public/themes/alternate/stylesheets/application.css b/public/themes/alternate/stylesheets/application.css
index efa1129ed..4ad6b7923 100644
--- a/public/themes/alternate/stylesheets/application.css
+++ b/public/themes/alternate/stylesheets/application.css
@@ -13,6 +13,15 @@ h2, h3, h4, .wiki h1, .wiki h2, .wiki h3 {border-bottom: 0px;}
#main-menu li a { background-color: #507AAA; font-weight: bold;}
#main-menu li a:hover { background: #507AAA; text-decoration: underline; }
#main-menu li a.selected, #main-menu li a.selected:hover { background-color:#EEEEEE; }
+#main-menu li a.new-object { background-color:#507AAA; text-decoration: none; }
+
+#main-menu .menu-children {
+ border-right: 1px solid #507AAA;
+ border-bottom: 1px solid #507AAA;
+ border-left: 1px solid #507AAA;
+}
+#main-menu .menu-children li a:hover { background-color: #507AAA;}
+
/* Tables */
table.list tbody td, table.list tbody tr:hover td { border: solid 1px #d7d7d7; }
diff --git a/public/themes/classic/stylesheets/application.css b/public/themes/classic/stylesheets/application.css
index 3f855fe96..523104dcb 100644
--- a/public/themes/classic/stylesheets/application.css
+++ b/public/themes/classic/stylesheets/application.css
@@ -12,6 +12,15 @@ body{ color:#303030; background:#e8eaec; }
#main-menu li a { background-color: #578bb8; border-right: 1px solid #fff; font-size: 90%; padding: 4px 8px 4px 8px; font-weight: bold; }
#main-menu li a:hover { background-color: #80b0da; color: #ffffff; }
#main-menu li a.selected, #main-menu li a.selected:hover { background-color: #80b0da; color: #ffffff; }
+#main-menu li a.new-object { background-color:#80b0da; }
+
+#main-menu .menu-children {
+ border-right: 1px solid #80b0da;
+ border-bottom: 1px solid #80b0da;
+ border-left: 1px solid #80b0da;
+}
+#main-menu .menu-children li a { border-right: none; }
+#main-menu .menu-children li a:hover { background-color: #80b0da }
#footer { background-color: #578bb8; border: 0; color: #fff;}
#footer a { color: #fff; font-weight: bold; }
diff --git a/test/functional/issues_controller_test.rb b/test/functional/issues_controller_test.rb
index dc50d1331..046efb856 100644
--- a/test/functional/issues_controller_test.rb
+++ b/test/functional/issues_controller_test.rb
@@ -1104,7 +1104,7 @@ class IssuesControllerTest < ActionController::TestCase
end
def test_index_should_not_include_new_issue_tab_when_disabled
- with_settings :new_project_issue_tab_enabled => '0' do
+ with_settings :new_item_menu_tab => '0' do
@request.session[:user_id] = 2
get :index, :project_id => 1
assert_select '#main-menu a.new-issue', 0
@@ -1112,7 +1112,7 @@ class IssuesControllerTest < ActionController::TestCase
end
def test_index_should_include_new_issue_tab_when_enabled
- with_settings :new_project_issue_tab_enabled => '1' do
+ with_settings :new_item_menu_tab => '1' do
@request.session[:user_id] = 2
get :index, :project_id => 1
assert_select '#main-menu a.new-issue[href="/projects/ecookbook/issues/new"]', :text => 'New issue'
@@ -1120,7 +1120,7 @@ class IssuesControllerTest < ActionController::TestCase
end
def test_new_should_have_new_issue_tab_as_current_menu_item
- with_settings :new_project_issue_tab_enabled => '1' do
+ with_settings :new_item_menu_tab => '1' do
@request.session[:user_id] = 2
get :new, :project_id => 1
assert_select '#main-menu a.new-issue.selected'
@@ -1128,7 +1128,7 @@ class IssuesControllerTest < ActionController::TestCase
end
def test_index_should_not_include_new_issue_tab_for_project_without_trackers
- with_settings :new_project_issue_tab_enabled => '1' do
+ with_settings :new_item_menu_tab => '1' do
Project.find(1).trackers.clear
@request.session[:user_id] = 2
@@ -1138,7 +1138,7 @@ class IssuesControllerTest < ActionController::TestCase
end
def test_index_should_not_include_new_issue_tab_for_users_with_copy_issues_permission_only
- with_settings :new_project_issue_tab_enabled => '1' do
+ with_settings :new_item_menu_tab => '1' do
role = Role.find(1)
role.remove_permission! :add_issues
role.add_permission! :copy_issues
diff --git a/test/unit/lib/redmine/menu_manager/menu_helper_test.rb b/test/unit/lib/redmine/menu_manager/menu_helper_test.rb
index 404ec6406..e19f066e0 100644
--- a/test/unit/lib/redmine/menu_manager/menu_helper_test.rb
+++ b/test/unit/lib/redmine/menu_manager/menu_helper_test.rb
@@ -208,6 +208,41 @@ class Redmine::MenuManager::MenuHelperTest < ActionView::TestCase
end
end
end
+
+ def test_render_empty_virtual_menu_node_with_children
+
+ # only empty item with no click target
+ Redmine::MenuManager.map :menu1 do |menu|
+ menu.push(:parent_node, nil, { })
+ end
+
+ # parent with unallowed unattached child
+ Redmine::MenuManager.map :menu2 do |menu|
+ menu.push(:parent_node, nil, {:children => Proc.new {|p|
+ [Redmine::MenuManager::MenuItem.new("test_child_unallowed", {:controller => 'issues', :action => 'new'}, {})]
+ } })
+ end
+
+ # parent with unallowed standard child
+ Redmine::MenuManager.map :menu3 do |menu|
+ menu.push(:parent_node, nil, {})
+ menu.push(:test_child_unallowed, {:controller =>'issues', :action => 'new'}, {:parent => :parent_node})
+ end
+
+ # should not be displayed to anonymous
+ User.current = User.find(6)
+ assert_nil render_menu(:menu1, Project.find(1))
+ assert_nil render_menu(:menu2, Project.find(1))
+ assert_nil render_menu(:menu3, Project.find(1))
+
+ # should be displayed to an admin
+ User.current = User.find(1)
+ @output_buffer = render_menu(:menu2, Project.find(1))
+ assert_select("ul li a.parent-node", "Parent node")
+ @output_buffer = render_menu(:menu3, Project.find(1))
+ assert_select("ul li a.parent-node", "Parent node")
+
+ end
def test_render_menu_node_with_children_without_an_array
parent_node = Redmine::MenuManager::MenuItem.new(:parent_node,