aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichel Etienne2013-06-17 11:43:57 +0200
committerMichel Etienne2013-06-17 11:43:57 +0200
commit70fcdb424efd0478a384ef856775faec84cc2598 (patch)
tree80371d010540258ff862353fbec56644e7cfb3ce
parent41e2db123c923720b9f069668bc6ac9df53ce98c (diff)
downloadchouette-core-70fcdb424efd0478a384ef856775faec84cc2598.tar.bz2
protect import/export view from invalid log messages
-rw-r--r--app/models/export_log_message.rb7
-rw-r--r--app/models/import_log_message.rb7
-rw-r--r--config/locales/exports.yml2
-rw-r--r--config/locales/imports.yml2
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"