git-svn-id: http://redmine.rubyforge.org/svn/trunk@1439 e93f8b46-1217-0410-a6f0-8f06a7374b81tags/0.8.0-RC1
@@ -30,11 +30,13 @@ class SearchController < ApplicationController | |||
@titles_only = !params[:titles_only].nil? | |||
projects_to_search = | |||
case params[:projects] | |||
case params[:scope] | |||
when 'all' | |||
nil | |||
when 'my_projects' | |||
User.current.memberships.collect(&:project) | |||
when 'subprojects' | |||
@project ? ([ @project ] + @project.active_children) : nil | |||
else | |||
@project | |||
end |
@@ -39,7 +39,8 @@ module SearchHelper | |||
def project_select_tag | |||
options = [[l(:label_project_all), 'all']] | |||
options << [l(:label_my_projects), 'my_projects'] unless User.current.memberships.empty? | |||
options << [l(:label_and_its_subprojects, @project.name), 'subprojects'] unless @project.nil? || @project.active_children.empty? | |||
options << [@project.name, ''] unless @project.nil? | |||
select_tag('projects', options_for_select(options, params[:projects].to_s)) if options.size > 1 | |||
select_tag('scope', options_for_select(options, params[:scope].to_s)) if options.size > 1 | |||
end | |||
end |
@@ -618,3 +618,4 @@ setting_default_projects_public: Новите проекти са публичн | |||
error_scm_annotate: "Обектът не съществува или не може да бъде анотиран." | |||
label_planning: Планиране | |||
text_subprojects_destroy_warning: 'Its subproject(s): %s will be also deleted.' | |||
label_and_its_subprojects: %s and its subprojects |
@@ -623,3 +623,4 @@ enumeration_activities: Aktivity (sledování času) | |||
error_scm_annotate: "Položka neexistuje nebo nemůže být komentována." | |||
label_planning: Plánování | |||
text_subprojects_destroy_warning: 'Its subproject(s): %s will be also deleted.' | |||
label_and_its_subprojects: %s and its subprojects |
@@ -620,3 +620,4 @@ setting_default_projects_public: Nye projekter er offentlige som default | |||
error_scm_annotate: "The entry does not exist or can not be annotated." | |||
label_planning: Planlægning | |||
text_subprojects_destroy_warning: 'Its subproject(s): %s will be also deleted.' | |||
label_and_its_subprojects: %s and its subprojects |
@@ -619,3 +619,4 @@ enumeration_issue_priorities: Ticket-Prioritäten | |||
enumeration_doc_categories: Dokumentenkategorien | |||
enumeration_activities: Aktivitäten (Zeiterfassung) | |||
text_subprojects_destroy_warning: 'Its subproject(s): %s will be also deleted.' | |||
label_and_its_subprojects: %s and its subprojects |
@@ -291,6 +291,7 @@ label_auth_source: Authentication mode | |||
label_auth_source_new: New authentication mode | |||
label_auth_source_plural: Authentication modes | |||
label_subproject_plural: Subprojects | |||
label_and_its_subprojects: %s and its subprojects | |||
label_min_max_length: Min - Max length | |||
label_list: List | |||
label_date: Date |
@@ -621,3 +621,4 @@ 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" | |||
label_planning: Planificación | |||
text_subprojects_destroy_warning: 'Sus subprojectos: %s también se eliminarán' | |||
label_and_its_subprojects: %s and its subprojects |
@@ -618,3 +618,4 @@ label_overall_activity: Kokonaishistoria | |||
error_scm_annotate: "Merkintää ei ole tai siihen ei voi lisätä selityksiä." | |||
label_planning: Suunnittelu | |||
text_subprojects_destroy_warning: 'Tämän alaprojekti(t): %s tullaan myös poistamaan.' | |||
label_and_its_subprojects: %s and its subprojects |
@@ -291,6 +291,7 @@ label_auth_source: Mode d'authentification | |||
label_auth_source_new: Nouveau mode d'authentification | |||
label_auth_source_plural: Modes d'authentification | |||
label_subproject_plural: Sous-projets | |||
label_and_its_subprojects: %s et ses sous-projets | |||
label_min_max_length: Longueurs mini - maxi | |||
label_list: Liste | |||
label_date: Date |
@@ -618,3 +618,4 @@ setting_default_projects_public: פרויקטים חדשים הינם פומבי | |||
error_scm_annotate: "הכניסה לא קיימת או שלא ניתן לתאר אותה." | |||
label_planning: תכנון | |||
text_subprojects_destroy_warning: 'Its subproject(s): %s will be also deleted.' | |||
label_and_its_subprojects: %s and its subprojects |
@@ -618,3 +618,4 @@ setting_default_projects_public: New projects are public by default | |||
error_scm_annotate: "The entry does not exist or can not be annotated." | |||
label_planning: Planning | |||
text_subprojects_destroy_warning: 'Its subproject(s): %s will be also deleted.' | |||
label_and_its_subprojects: %s and its subprojects |
@@ -619,3 +619,4 @@ setting_default_projects_public: デフォルトで新しいプロジェクト | |||
error_scm_annotate: "エントリが存在しない、もしくはアノテートできません。" | |||
label_planning: 計画 | |||
text_subprojects_destroy_warning: 'Its subproject(s): %s will be also deleted.' | |||
label_and_its_subprojects: %s and its subprojects |
@@ -618,3 +618,4 @@ setting_default_projects_public: New projects are public by default | |||
error_scm_annotate: "The entry does not exist or can not be annotated." | |||
label_planning: Planning | |||
text_subprojects_destroy_warning: 'Its subproject(s): %s will be also deleted.' | |||
label_and_its_subprojects: %s and its subprojects |
@@ -619,3 +619,4 @@ setting_default_projects_public: New projects are public by default | |||
error_scm_annotate: "The entry does not exist or can not be annotated." | |||
label_planning: Planning | |||
text_subprojects_destroy_warning: 'Its subproject(s): %s will be also deleted.' | |||
label_and_its_subprojects: %s and its subprojects |
@@ -619,3 +619,4 @@ setting_default_projects_public: New projects are public by default | |||
error_scm_annotate: "The entry does not exist or can not be annotated." | |||
label_planning: Planning | |||
text_subprojects_destroy_warning: 'Its subproject(s): %s will be also deleted.' | |||
label_and_its_subprojects: %s and its subprojects |
@@ -619,3 +619,4 @@ default_activity_development: Utvikling | |||
enumeration_issue_priorities: Sakssprioriteringer | |||
enumeration_doc_categories: Dokument-kategorier | |||
enumeration_activities: Aktiviteter (tidssporing) | |||
label_and_its_subprojects: %s and its subprojects |
@@ -618,3 +618,4 @@ setting_default_projects_public: Nowe projekty są domyślnie publiczne | |||
error_scm_annotate: "Wpis nie istnieje lub nie można do niego dodawać adnotacji." | |||
label_planning: Planning | |||
text_subprojects_destroy_warning: 'Its subproject(s): %s will be also deleted.' | |||
label_and_its_subprojects: %s and its subprojects |
@@ -618,3 +618,4 @@ setting_default_projects_public: New projects are public by default | |||
error_scm_annotate: "The entry does not exist or can not be annotated." | |||
label_planning: Planning | |||
text_subprojects_destroy_warning: 'Its subproject(s): %s will be also deleted.' | |||
label_and_its_subprojects: %s and its subprojects |
@@ -618,3 +618,4 @@ setting_default_projects_public: New projects are public by default | |||
error_scm_annotate: "The entry does not exist or can not be annotated." | |||
label_planning: Planning | |||
text_subprojects_destroy_warning: 'Its subproject(s): %s will be also deleted.' | |||
label_and_its_subprojects: %s and its subprojects |
@@ -618,3 +618,4 @@ setting_default_projects_public: New projects are public by default | |||
error_scm_annotate: "The entry does not exist or can not be annotated." | |||
label_planning: Planning | |||
text_subprojects_destroy_warning: 'Its subproject(s): %s will be also deleted.' | |||
label_and_its_subprojects: %s and its subprojects |
@@ -622,3 +622,4 @@ setting_default_projects_public: Новые проекты являются пу | |||
error_scm_annotate: "Данные отсутствуют или не могут быть подписаны." | |||
label_planning: Планирование | |||
text_subprojects_destroy_warning: 'Its subproject(s): %s will be also deleted.' | |||
label_and_its_subprojects: %s and its subprojects |
@@ -619,3 +619,4 @@ setting_default_projects_public: New projects are public by default | |||
error_scm_annotate: "The entry does not exist or can not be annotated." | |||
label_planning: Planning | |||
text_subprojects_destroy_warning: 'Its subproject(s): %s will be also deleted.' | |||
label_and_its_subprojects: %s and its subprojects |
@@ -619,3 +619,4 @@ setting_default_projects_public: New projects are public by default | |||
error_scm_annotate: "The entry does not exist or can not be annotated." | |||
label_planning: Planning | |||
text_subprojects_destroy_warning: 'Its subproject(s): %s will be also deleted.' | |||
label_and_its_subprojects: %s and its subprojects |
@@ -621,3 +621,4 @@ default_activity_development: พัฒนา | |||
enumeration_issue_priorities: ความสำคัญของปัญหา | |||
enumeration_doc_categories: ประเภทเอกสาร | |||
enumeration_activities: กิจกรรม (ใช้ในการติดตามเวลา) | |||
label_and_its_subprojects: %s and its subprojects |
@@ -620,3 +620,4 @@ setting_default_projects_public: New projects are public by default | |||
error_scm_annotate: "The entry does not exist or can not be annotated." | |||
label_planning: Planning | |||
text_subprojects_destroy_warning: 'Its subproject(s): %s will be also deleted.' | |||
label_and_its_subprojects: %s and its subprojects |
@@ -619,3 +619,4 @@ default_activity_development: 開發 | |||
enumeration_issue_priorities: 項目優先權 | |||
enumeration_doc_categories: 文件分類 | |||
enumeration_activities: 活動 (時間追蹤) | |||
label_and_its_subprojects: %s and its subprojects |
@@ -619,3 +619,4 @@ default_activity_development: 开发 | |||
enumeration_issue_priorities: 问题优先级 | |||
enumeration_doc_categories: 文档类别 | |||
enumeration_activities: 活动(时间跟踪) | |||
label_and_its_subprojects: %s and its subprojects |
@@ -37,6 +37,14 @@ class SearchControllerTest < Test::Unit::TestCase | |||
assert assigns(:results).include?(Changeset.find(101)) | |||
end | |||
def test_search_project_and_subprojects | |||
get :index, :id => 1, :q => 'recipe subproject', :scope => 'subprojects', :submit => 'Search' | |||
assert_response :success | |||
assert_template 'index' | |||
assert assigns(:results).include?(Issue.find(1)) | |||
assert assigns(:results).include?(Issue.find(5)) | |||
end | |||
def test_search_without_searchable_custom_fields | |||
CustomField.update_all "searchable = #{ActiveRecord::Base.connection.quoted_false}" | |||