diff options
| author | Luc Donnet | 2015-05-20 13:34:32 +0200 |
|---|---|---|
| committer | Luc Donnet | 2015-05-20 13:34:32 +0200 |
| commit | d54aad9538e9452498c8d5a98628f4af2d9f87c5 (patch) | |
| tree | 41fa9159638f0255cbefcd9039bccc7c94f5db6a | |
| parent | 57945951bdd6a2b861d2b799eca22aadee8b81a4 (diff) | |
| download | chouette-core-d54aad9538e9452498c8d5a98628f4af2d9f87c5.tar.bz2 | |
Integration of failure for iev and use faraday exception in controller Bug Refs #0035646
| -rw-r--r-- | app/controllers/compliance_check_tasks_controller.rb | 8 | ||||
| -rw-r--r-- | app/controllers/compliance_checks_controller.rb | 12 | ||||
| -rw-r--r-- | app/controllers/export_tasks_controller.rb | 8 | ||||
| -rw-r--r-- | app/controllers/exports_controller.rb | 16 | ||||
| -rw-r--r-- | app/controllers/import_tasks_controller.rb | 8 | ||||
| -rw-r--r-- | app/controllers/imports_controller.rb | 24 | ||||
| -rw-r--r-- | app/models/concerns/report_concern.rb | 8 | ||||
| -rw-r--r-- | app/views/imports/show.html.erb | 5 | ||||
| -rw-r--r-- | config/locales/iev.en.yml | 9 | ||||
| -rw-r--r-- | config/locales/iev.fr.yml | 22 | ||||
| -rw-r--r-- | lib/ievkit/response/raise_error.rb | 9 |
11 files changed, 81 insertions, 48 deletions
diff --git a/app/controllers/compliance_check_tasks_controller.rb b/app/controllers/compliance_check_tasks_controller.rb index cc5ba8ee7..6c25d2d48 100644 --- a/app/controllers/compliance_check_tasks_controller.rb +++ b/app/controllers/compliance_check_tasks_controller.rb @@ -9,9 +9,9 @@ class ComplianceCheckTasksController < ChouetteController def new begin new! - rescue Ievkit::Error => error + rescue Ievkit::Error, Faraday::Error => error logger.error("Iev failure : #{error.message}") - flash[:error] = t('iev.failure') + flash[:error] = t('iev.exception.default') redirect_to referential_path(@referential) end end @@ -21,9 +21,9 @@ class ComplianceCheckTasksController < ChouetteController create! do |success, failure| success.html { redirect_to referential_compliance_checks_path(@referential) } end - rescue Ievkit::Error => error + rescue Ievkit::Error, Faraday::Error => error logger.error("Iev failure : #{error.message}") - flash[:error] = t('iev.failure') + flash[:error] = t('iev.exception.default') redirect_to referential_path(@referential) end end diff --git a/app/controllers/compliance_checks_controller.rb b/app/controllers/compliance_checks_controller.rb index 9a6657e5c..4949edbd7 100644 --- a/app/controllers/compliance_checks_controller.rb +++ b/app/controllers/compliance_checks_controller.rb @@ -12,9 +12,9 @@ class ComplianceChecksController < ChouetteController index! do build_breadcrumb :index end - rescue Ievkit::Error => error + rescue Ievkit::Error, Faraday::Error => error logger.error("Iev failure : #{error.message}") - flash[:error] = t('iev.failure') + flash[:error] = t('iev.exception.default') redirect_to referential_path(@referential) end end @@ -24,9 +24,9 @@ class ComplianceChecksController < ChouetteController show! do |format| build_breadcrumb :show end - rescue Ievkit::Error => error + rescue Ievkit::Error, Faraday::Error => error logger.error("Iev failure : #{error.message}") - flash[:error] = t('iev.failure') + flash[:error] = t('iev.exception.default') redirect_to referential_path(@referential) end end @@ -45,9 +45,9 @@ class ComplianceChecksController < ChouetteController @rule_parameter_set = resource.rule_parameter_set build_breadcrumb :rule_parameter_set render "rule_parameter_sets/show" - rescue Ievkit::Error => error + rescue Ievkit::Error, Faraday::Error => error logger.error("Iev failure : #{error.message}") - flash[:error] = t('iev.failure') + flash[:error] = t('iev.exception.default') redirect_to referential_path(@referential) end end diff --git a/app/controllers/export_tasks_controller.rb b/app/controllers/export_tasks_controller.rb index 94312cd6a..9eedd1b94 100644 --- a/app/controllers/export_tasks_controller.rb +++ b/app/controllers/export_tasks_controller.rb @@ -9,9 +9,9 @@ class ExportTasksController < ChouetteController @available_exports = available_exports begin new! - rescue Ievkit::Error => error + rescue Ievkit::Error, Faraday::Error => error logger.error("Iev failure : #{error.message}") - flash[:error] = t('iev.failure') + flash[:error] = t('iev.exception.default') redirect_to referential_path(@referential) end end @@ -22,9 +22,9 @@ class ExportTasksController < ChouetteController create! do |success, failure| success.html { redirect_to referential_exports_path(@referential) } end - rescue Ievkit::Error => error + rescue Ievkit::Error, Faraday::Error => error logger.error("Iev failure : #{error.message}") - flash[:error] = t('iev.failure') + flash[:error] = t('iev.exception.default') redirect_to referential_path(@referential) end end diff --git a/app/controllers/exports_controller.rb b/app/controllers/exports_controller.rb index 68ee00568..80c70902e 100644 --- a/app/controllers/exports_controller.rb +++ b/app/controllers/exports_controller.rb @@ -13,9 +13,9 @@ class ExportsController < ChouetteController index! do build_breadcrumb :index end - rescue Ievkit::Error => error + rescue Ievkit::Error, Faraday::Error => error logger.error("Iev failure : #{error.message}") - flash[:error] = t('iev.failure') + flash[:error] = t('iev.exception.default') redirect_to referential_path(@referential) end end @@ -25,9 +25,9 @@ class ExportsController < ChouetteController show! do build_breadcrumb :show end - rescue Ievkit::Error => error + rescue Ievkit::Error, Faraday::Error => error logger.error("Iev failure : #{error.message}") - flash[:error] = t('iev.failure') + flash[:error] = t('iev.exception.default') redirect_to referential_path(@referential) end end @@ -35,9 +35,9 @@ class ExportsController < ChouetteController def destroy begin destroy! - rescue Ievkit::Error => error + rescue Ievkit::Error, Faraday::Error => error logger.error("Iev failure : #{error.message}") - flash[:error] = t('iev.failure') + flash[:error] = t('iev.exception.default') redirect_to referential_path(@referential) end end @@ -49,9 +49,9 @@ class ExportsController < ChouetteController OpenURI::Buffer.const_set 'StringMax', 0 begin send_file open(resource.file_path), { :type => "application/#{resource.filename_extension}", :disposition => "attachment", :filename => resource.filename } - rescue Ievkit::Error => error + rescue Ievkit::Error, Faraday::Error => error logger.error("Iev failure : #{error.message}") - flash[:error] = t('iev.failure') + flash[:error] = t('iev.exception.default') redirect_to referential_path(@referential) end end diff --git a/app/controllers/import_tasks_controller.rb b/app/controllers/import_tasks_controller.rb index 52988ce75..0e3ed6445 100644 --- a/app/controllers/import_tasks_controller.rb +++ b/app/controllers/import_tasks_controller.rb @@ -10,9 +10,9 @@ class ImportTasksController < ChouetteController @available_imports = available_imports begin new! - rescue Ievkit::Error => error + rescue Ievkit::Error, Faraday::Error => error logger.error("Iev failure : #{error.message}") - flash[:error] = t('iev.failure') + flash[:error] = t('iev.exception.default') redirect_to referential_path(@referential) end end @@ -23,9 +23,9 @@ class ImportTasksController < ChouetteController create! do |success, failure| success.html { redirect_to referential_imports_path(@referential) } end - rescue Ievkit::Error => error + rescue Ievkit::Error, Faraday::Error => error logger.error("Iev failure : #{error.message}") - flash[:error] = t('iev.failure') + flash[:error] = t('iev.exception.default') redirect_to referential_path(@referential) end end diff --git a/app/controllers/imports_controller.rb b/app/controllers/imports_controller.rb index 2c6ba9511..b056af1fa 100644 --- a/app/controllers/imports_controller.rb +++ b/app/controllers/imports_controller.rb @@ -14,9 +14,9 @@ class ImportsController < ChouetteController index! do build_breadcrumb :index end - rescue Ievkit::Error => error + rescue Ievkit::Error, Faraday::Error => error logger.error("Iev failure : #{error.message}") - flash[:error] = t('iev.failure') + flash[:error] = t('iev.exception.default') redirect_to referential_path(@referential) end end @@ -24,9 +24,9 @@ class ImportsController < ChouetteController def show begin show! - rescue Ievkit::Error => error + rescue Ievkit::Error, Faraday::Error => error logger.error("Iev failure : #{error.message}") - flash[:error] = t('iev.failure') + flash[:error] = t('iev.exception.default') redirect_to referential_path(@referential) end end @@ -34,9 +34,9 @@ class ImportsController < ChouetteController def destroy begin destroy! - rescue Ievkit::Error => error + rescue Ievkit::Error, Faraday::Error => error logger.error("Iev failure : #{error.message}") - flash[:error] = t('iev.failure') + flash[:error] = t('iev.exception.default') redirect_to referential_path(@referential) end end @@ -48,9 +48,9 @@ class ImportsController < ChouetteController OpenURI::Buffer.const_set 'StringMax', 0 begin send_file open(resource.file_path), { :type => "application/#{resource.filename_extension}", :disposition => "attachment", :filename => resource.filename } - rescue Ievkit::Error => error + rescue Ievkit::Error, Faraday::Error => error logger.error("Iev failure : #{error.message}") - flash[:error] = t('iev.failure') + flash[:error] = t('iev.exception.default') redirect_to referential_path(@referential) end end @@ -60,9 +60,9 @@ class ImportsController < ChouetteController @rule_parameter_set = resource.rule_parameter_set build_breadcrumb :rule_parameter_set render "rule_parameter_sets/show" - rescue Ievkit::Error => error + rescue Ievkit::Error, Faraday::Error => error logger.error("Iev failure : #{error.message}") - flash[:error] = t('iev.failure') + flash[:error] = t('iev.exception.default') redirect_to referential_path(@referential) end end @@ -78,9 +78,9 @@ class ImportsController < ChouetteController @compliance_check = resource build_breadcrumb :compliance_check render "compliance_checks/show" - rescue Ievkit::Error => error + rescue Ievkit::Error, Faraday::Error => error logger.error("Iev failure : #{error.message}") - flash[:error] = t('iev.failure') + flash[:error] = t('iev.exception.default') redirect_to referential_path(@referential) end end diff --git a/app/models/concerns/report_concern.rb b/app/models/concerns/report_concern.rb index 762c86698..2f8df9f96 100644 --- a/app/models/concerns/report_concern.rb +++ b/app/models/concerns/report_concern.rb @@ -11,6 +11,14 @@ module ReportConcern module ClassMethods end + def failure_code? + datas.result == "NOK" && datas.failure? + end + + def failure_code + datas.failure.code.downcase if failure_code? + end + def progression? datas.progression? end diff --git a/app/views/imports/show.html.erb b/app/views/imports/show.html.erb index c31d3d26b..226c9ea77 100644 --- a/app/views/imports/show.html.erb +++ b/app/views/imports/show.html.erb @@ -1,6 +1,11 @@ <div class="test"> <%= title_tag job_status_title(@import) %> </div> +<% if @import.report.failure_code? %> +<div class="alert alert-danger"> + <%= t("iev.failure.#{@import.report.failure_code}") %> +</div> +<% end %> <div class="progress_bars"> <%= progress_bar_tag(@import) %> </div> diff --git a/config/locales/iev.en.yml b/config/locales/iev.en.yml index d7b7088bf..8e58196cb 100644 --- a/config/locales/iev.en.yml +++ b/config/locales/iev.en.yml @@ -1,4 +1,11 @@ en: iev: - failure: "Impossible to access IEV service" + failure: + invalid_parameters: "Paramètres invalides" + no_data_found: "Pas de données à traiter dans l'ensemble du traitement" + no_data_proceeded: "Pas de données traitée dans l'ensemble du traitement" + invalid_data: "Données invalides" + internal_error: "Erreur interne" + exception: + default: "Impossible d'accéder au service IEV"
\ No newline at end of file diff --git a/config/locales/iev.fr.yml b/config/locales/iev.fr.yml index 5a7070c90..034bffb0f 100644 --- a/config/locales/iev.fr.yml +++ b/config/locales/iev.fr.yml @@ -1,4 +1,24 @@ fr: iev: - failure: "Impossible d'accéder au service IEV" + failure: + invalid_parameters: "Paramètres invalides" + no_data_found: "Pas de données à traiter dans l'ensemble du traitement" + no_data_proceeded: "Pas de données traitée dans l'ensemble du traitement" + invalid_data: "Données invalides" + internal_error: "Erreur interne" + exception: + default: "Impossible d'accéder aux services IEV" + invalid_request: "Requête invalide" + unknown_referential: "Référentiel inconnu" + unknown_file: "Fichier inconnu" + unknown_action: "Action ou type inconnu" + dupplicate_or_missing_data: "Donnée manquante ou en double" + dupplicate_parameters: "Paramètres fournis en double" + missing_parameters: "Paramètres d'action manquants" + invalid_parameters: "Paramètres d'action incorrects" + unreadable_parameters: "Paramètres non lisibles (format erroné)" + unknown_job: "Numéro de job inconnu" + scheduled_job: "Méthode interdite sur un job non terminé" + internal_error: "Erreur interne" +
\ No newline at end of file diff --git a/lib/ievkit/response/raise_error.rb b/lib/ievkit/response/raise_error.rb index 21369a7cd..65aa3de45 100644 --- a/lib/ievkit/response/raise_error.rb +++ b/lib/ievkit/response/raise_error.rb @@ -14,14 +14,7 @@ module Ievkit def on_complete(response) if error = Ievkit::Error.from_response(response) raise error - end - - # Big horrible hack to fix - #body = response[:body] - #if body["{\"jobs\":"].present? - # response[:body] = body.gsub("{\"jobs\":", "").chomp("}") - #end - + end end end end |
