From c524fd0423d61eee576923b291f989a756fe95d3 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Lang Date: Sat, 16 Dec 2006 10:45:03 +0000 Subject: [PATCH] filters translation git-svn-id: http://redmine.rubyforge.org/svn/branches/work@87 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- .../app/controllers/projects_controller.rb | 2 + queries/trunk/app/helpers/queries_helper.rb | 4 ++ queries/trunk/app/models/query.rb | 43 +++++++++---------- .../trunk/app/views/queries/_filters.rhtml | 4 +- queries/trunk/app/views/queries/_form.rhtml | 9 ++-- queries/trunk/lang/de.yml | 24 ++++++++--- queries/trunk/lang/en.yml | 24 ++++++++--- queries/trunk/lang/es.yml | 24 ++++++++--- queries/trunk/lang/fr.yml | 24 ++++++++--- 9 files changed, 104 insertions(+), 54 deletions(-) diff --git a/queries/trunk/app/controllers/projects_controller.rb b/queries/trunk/app/controllers/projects_controller.rb index 8dcb0677c..c03741c4a 100644 --- a/queries/trunk/app/controllers/projects_controller.rb +++ b/queries/trunk/app/controllers/projects_controller.rb @@ -29,6 +29,8 @@ class ProjectsController < ApplicationController helper :ifpdf include IfpdfHelper helper IssuesHelper + helper :queries + include QueriesHelper def index list diff --git a/queries/trunk/app/helpers/queries_helper.rb b/queries/trunk/app/helpers/queries_helper.rb index c40ef331b..1c0b59570 100644 --- a/queries/trunk/app/helpers/queries_helper.rb +++ b/queries/trunk/app/helpers/queries_helper.rb @@ -1,2 +1,6 @@ module QueriesHelper + + def operators_for_select(filter_type) + Query.operators_by_filter_type[filter_type].collect {|o| [l(Query.operators[o]), o]} + end end diff --git a/queries/trunk/app/models/query.rb b/queries/trunk/app/models/query.rb index 0f3dc8887..d1888c99e 100644 --- a/queries/trunk/app/models/query.rb +++ b/queries/trunk/app/models/query.rb @@ -24,21 +24,23 @@ class Query < ActiveRecord::Base validates_presence_of :name, :on => :save - @@operators = { "=" => "Egal", - "!" => "Different", - "o" => "Ouvert", - "c" => "Ferme", - "!*" => "Aucun", - "*" => "Tous", - " "Dans moins de", - ">t+" => "Dans plus de", - "t+" => "Dans exactement", - "t" => "Aujourd'hui", - ">t-" => "Il y a moins de", - " "Il y a plus de", - "t-" => "Il y a exactement", - "~" => "Contient", - "!~" => "Ne contient pas" } + @@operators = { "=" => :label_equals, + "!" => :label_not_equals, + "o" => :label_open_issues, + "c" => :label_closed_issues, + "!*" => :label_none, + "*" => :label_all, + " :label_in_less_than, + ">t+" => :label_in_more_than, + "t+" => :label_in, + "t" => :label_today, + ">t-" => :label_less_than_ago, + " :label_more_than_ago, + "t-" => :label_ago, + "~" => :label_contains, + "!~" => :label_not_contains } + + cattr_reader :operators @@operators_by_filter_type = { :list => [ "=", "!" ], :list_status => [ "o", "=", "!", "c", "*" ], @@ -46,7 +48,9 @@ class Query < ActiveRecord::Base :date => [ "t+", "t+", "t", ">t-", " [ ">t-", " [ "~", "!~" ] } - + + cattr_reader :operators_by_filter_type + def initialize(attributes = nil) super attributes self.filters ||= { 'status_id' => {:operator => "o", :values => [""]} } @@ -155,12 +159,7 @@ class Query < ActiveRecord::Base when "!~" sql = sql + "issues.#{field} NOT LIKE '%#{connection.quote_string(v.first)}%'" end - end if filters + end if filters and valid? sql end - - def self.operators_for_select(filter_type) - @@operators_by_filter_type[filter_type].collect {|o| [@@operators[o], o]} - end - end diff --git a/queries/trunk/app/views/queries/_filters.rhtml b/queries/trunk/app/views/queries/_filters.rhtml index 31f9e83a2..4cfce899f 100644 --- a/queries/trunk/app/views/queries/_filters.rhtml +++ b/queries/trunk/app/views/queries/_filters.rhtml @@ -69,7 +69,7 @@ function toggle_multi_select(field) { - <%= select_tag "operators[#{field}]", options_for_select(Query.operators_for_select(options[:type]), query.operator_for(field)), :onchange => "toggle_operator('#{field}');", :class => "select-small", :style => "vertical-align: top;" %> + <%= select_tag "operators[#{field}]", options_for_select(operators_for_select(options[:type]), query.operator_for(field)), :onchange => "toggle_operator('#{field}');", :class => "select-small", :style => "vertical-align: top;" %>
@@ -80,7 +80,7 @@ function toggle_multi_select(field) { <%= link_to_function image_tag('expand'), "toggle_multi_select('#{field}');" %> <% when :date, :date_past %> - <%= text_field_tag "values[#{field}][]", query.values_for(field), :size => 3, :class => "select-small" %> jours + <%= text_field_tag "values[#{field}][]", query.values_for(field), :size => 3, :class => "select-small" %> <%= l(:label_day_plural) %> <% when :text %> <%= text_field_tag "values[#{field}][]", query.values_for(field), :size => 30, :class => "select-small" %> <% end %> diff --git a/queries/trunk/app/views/queries/_form.rhtml b/queries/trunk/app/views/queries/_form.rhtml index 2ff6ad35f..a6a82743f 100644 --- a/queries/trunk/app/views/queries/_form.rhtml +++ b/queries/trunk/app/views/queries/_form.rhtml @@ -2,17 +2,14 @@
-
-

+

<%= text_field 'query', 'name', :size => 80 %>

-

+

<%= check_box 'query', 'is_public' %>

<%= render :partial => 'queries/filters', :locals => {:query => query}%> -
- - + \ No newline at end of file diff --git a/queries/trunk/lang/de.yml b/queries/trunk/lang/de.yml index b3c8d919c..254a1ab5c 100644 --- a/queries/trunk/lang/de.yml +++ b/queries/trunk/lang/de.yml @@ -236,16 +236,16 @@ label_confirmation: Bestätigung label_export_to: Export zu label_read: Lesen... label_public_projects: Öffentliche Projekte -label_open_issues: Geöffnet -label_open_issues_plural: Geöffnet -label_closed_issues: Geschlossen -label_closed_issues_plural: Geschlossen +label_open_issues: geöffnet +label_open_issues_plural: geöffnet +label_closed_issues: geschlossen +label_closed_issues_plural: geschlossen label_total: Gesamtzahl label_permissions: Berechtigungen label_current_status: Gegenwärtiger Status label_new_statuses_allowed: Neue Status gewährten -label_all: Alle -label_none: Kein +label_all: alle +label_none: kein label_next: Weiter label_previous: Zurück label_used_by: Benutzt von @@ -264,6 +264,18 @@ label_query_plural: Benutzerdefinierte Fragen label_query_new: Neue Frage label_filter_add: Filter addieren label_filter_plural: Filter +label_equals: ist +label_not_equals: ist nicht +label_in_less_than: an weniger als +label_in_more_than: an mehr als +label_in: an +label_today: heute +label_less_than_ago: vor weniger als +label_more_than_ago: vor mehr als +label_ago: vor +label_contains: enthält +label_not_contains: enthält nicht +label_day_plural: Tage button_login: Einloggen button_submit: Einreichen diff --git a/queries/trunk/lang/en.yml b/queries/trunk/lang/en.yml index c70311434..9a3f97138 100644 --- a/queries/trunk/lang/en.yml +++ b/queries/trunk/lang/en.yml @@ -236,16 +236,16 @@ label_confirmation: Confirmation label_export_to: Export to label_read: Read... label_public_projects: Public projects -label_open_issues: Open -label_open_issues_plural: Open -label_closed_issues: Closed -label_closed_issues_plural: Closed +label_open_issues: open +label_open_issues_plural: open +label_closed_issues: closed +label_closed_issues_plural: closed label_total: Total label_permissions: Permissions label_current_status: Current status label_new_statuses_allowed: New statuses allowed -label_all: All -label_none: None +label_all: all +label_none: none label_next: Next label_previous: Previous label_used_by: Used by @@ -264,6 +264,18 @@ label_query_plural: Custom queries label_query_new: New query label_filter_add: Add filter label_filter_plural: Filters +label_equals: is +label_not_equals: is not +label_in_less_than: in less than +label_in_more_than: in more than +label_in: in +label_today: today +label_less_than_ago: less than days ago +label_more_than_ago: more than days ago +label_ago: days ago +label_contains: contains +label_not_contains: doesn't contain +label_day_plural: days button_login: Login button_submit: Submit diff --git a/queries/trunk/lang/es.yml b/queries/trunk/lang/es.yml index 0bc1846b7..07ec12a7c 100644 --- a/queries/trunk/lang/es.yml +++ b/queries/trunk/lang/es.yml @@ -236,16 +236,16 @@ label_confirmation: Confirmación label_export_to: Exportar a label_read: Leer... label_public_projects: Proyectos publicos -label_open_issues: Abierta -label_open_issues_plural: Abiertas -label_closed_issues: Cerrada -label_closed_issues_plural: Cerradas +label_open_issues: abierto +label_open_issues_plural: abiertos +label_closed_issues: cerrado +label_closed_issues_plural: cerrados label_total: Total label_permissions: Permisos label_current_status: Estado actual label_new_statuses_allowed: Nuevos estatutos autorizados -label_all: Todos -label_none: Ninguno +label_all: todos +label_none: ninguno label_next: Próximo label_previous: Precedente label_used_by: Utilizado por @@ -264,6 +264,18 @@ label_query_plural: Preguntas personalizadas label_query_new: Nueva preguntas label_filter_add: Agregar el filtro label_filter_plural: Filtros +label_equals: igual +label_not_equals: no igual +label_in_less_than: en menos que +label_in_more_than: en más que +label_in: en +label_today: hoy +label_less_than_ago: hace menos de +label_more_than_ago: hace más de +label_ago: hace +label_contains: contiene +label_not_contains: no contiene +label_day_plural: días button_login: Conexión button_submit: Someter diff --git a/queries/trunk/lang/fr.yml b/queries/trunk/lang/fr.yml index 7d5635d3f..cf742ae5d 100644 --- a/queries/trunk/lang/fr.yml +++ b/queries/trunk/lang/fr.yml @@ -237,16 +237,16 @@ label_confirmation: Confirmation label_export_to: Exporter en label_read: Lire... label_public_projects: Projets publics -label_open_issues: Ouverte -label_open_issues_plural: Ouvertes -label_closed_issues: Fermée -label_closed_issues_plural: Fermées +label_open_issues: ouvert +label_open_issues_plural: ouverts +label_closed_issues: fermé +label_closed_issues_plural: fermés label_total: Total label_permissions: Permissions label_current_status: Statut actuel label_new_statuses_allowed: Nouveaux statuts autorisés -label_all: Tous -label_none: Aucun +label_all: tous +label_none: aucun label_next: Suivant label_previous: Précédent label_used_by: Utilisé par @@ -265,6 +265,18 @@ label_query_plural: Rapports personnalisés label_query_new: Nouveau rapport label_filter_add: Ajouter le filtre label_filter_plural: Filtres +label_equals: égal +label_not_equals: différent +label_in_less_than: dans moins de +label_in_more_than: dans plus de +label_in: dans +label_today: aujourd'hui +label_less_than_ago: il y a moins de +label_more_than_ago: il y a plus de +label_ago: il y a +label_contains: contient +label_not_contains: ne contient pas +label_day_plural: jours button_login: Connexion button_submit: Soumettre