diff options
| author | Michel Etienne | 2013-06-17 11:43:57 +0200 |
|---|---|---|
| committer | Michel Etienne | 2013-06-17 11:43:57 +0200 |
| commit | 70fcdb424efd0478a384ef856775faec84cc2598 (patch) | |
| tree | 80371d010540258ff862353fbec56644e7cfb3ce | |
| parent | 41e2db123c923720b9f069668bc6ac9df53ce98c (diff) | |
| download | chouette-core-70fcdb424efd0478a384ef856775faec84cc2598.tar.bz2 | |
protect import/export view from invalid log messages
| -rw-r--r-- | app/models/export_log_message.rb | 7 | ||||
| -rw-r--r-- | app/models/import_log_message.rb | 7 | ||||
| -rw-r--r-- | config/locales/exports.yml | 2 | ||||
| -rw-r--r-- | config/locales/imports.yml | 2 |
4 files changed, 16 insertions, 2 deletions
diff --git a/app/models/export_log_message.rb b/app/models/export_log_message.rb index 8d6a09a6b..4bb9d3cc7 100644 --- a/app/models/export_log_message.rb +++ b/app/models/export_log_message.rb @@ -32,6 +32,11 @@ class ExportLogMessage < ActiveRecord::Base def full_message last_key=key.rpartition("|").last - I18n.translate last_key, arguments.symbolize_keys.merge(:scope => "export_log_messages.messages").merge(:default => :undefined).merge(:key => last_key) + begin + I18n.translate last_key, arguments.symbolize_keys.merge(:scope => "export_log_messages.messages").merge(:default => :undefined).merge(:key => last_key) + rescue => e + Rails.logger.error "missing arguments for message "+last_key + I18n.translate "WRONG_DATA",{"0"=>last_key}.symbolize_keys.merge(:scope => "export_log_messages.messages").merge(:default => :undefined).merge(:key => "WRONG_DATA") + end end end diff --git a/app/models/import_log_message.rb b/app/models/import_log_message.rb index ae331eb20..4b56f03bd 100644 --- a/app/models/import_log_message.rb +++ b/app/models/import_log_message.rb @@ -31,7 +31,12 @@ class ImportLogMessage < ActiveRecord::Base def full_message last_key=key.rpartition("|").last - I18n.translate last_key, arguments.symbolize_keys.merge(:scope => "import_log_messages.messages").merge(:default => :undefined).merge(:key => last_key) + begin + I18n.translate last_key, arguments.symbolize_keys.merge(:scope => "import_log_messages.messages").merge(:default => :undefined).merge(:key => last_key) + rescue => e + Rails.logger.error "missing arguments for message "+last_key + I18n.translate "WRONG_DATA",{"0"=>last_key}.symbolize_keys.merge(:scope => "import_log_messages.messages").merge(:default => :undefined).merge(:key => "WRONG_DATA") + end end end diff --git a/config/locales/exports.yml b/config/locales/exports.yml index 3d359d609..41b3d891e 100644 --- a/config/locales/exports.yml +++ b/config/locales/exports.yml @@ -28,6 +28,7 @@ en: EMPTY_LINE: "Line without valid vehicle journey : not exported" EXPORT_ERROR: "Error durring export" EXCEPTION: "Origin %{0}" + WRONG_DATA: "Missing arguments to produce log message %{0}" # old report for backward compatibility NEPTUNE_EXPORT: "Neptune Export" NEPTUNE_EXPORTED_LINE: "Line %{0} (%{1}) exported" @@ -116,6 +117,7 @@ fr: EMPTY_LINE: "Ligne sans course valide : non exportée" EXPORT_ERROR: "Erreur lors de l'export" EXCEPTION: "Cause %{0}" + WRONG_DATA: "Il manque des données pour afficher le message de log %{0}" # old report for backward compatibility NEPTUNE_EXPORT: "Export Neptune" NEPTUNE_EXPORTED_LINE: "Ligne %{0} (%{1}) exportée" diff --git a/config/locales/imports.yml b/config/locales/imports.yml index b10888a35..28e65084c 100644 --- a/config/locales/imports.yml +++ b/config/locales/imports.yml @@ -51,6 +51,7 @@ en: SAVE_ERROR: "%{0} save failed : %{1}" IMPORT_ERROR: "Import Error" EXCEPTION: "Problem : %{0}" + WRONG_DATA: "Missing arguments to produce log message %{0}" # old Import reports (before 2.0.3) SAVE: "Save" NEPTUNE_ONE: "Conformité du fichier" @@ -195,6 +196,7 @@ fr: SAVE_ERROR: "Echec de l'enregistrement de %{0} : %{1}" IMPORT_ERROR: "Erreur d'import" EXCEPTION: "Problème : %{0}" + WRONG_DATA: "Il manque des données pour afficher le message de log %{0}" # old Import reports (before 2.0.3) SAVE: "Sauvegarde" NEPTUNE_ONE: "Conformité du fichier" |
