Merge pull request #1728 from tchak/handle-partial-success-as-error
Improvements to API Entreprise: handle partial success as error and ajax errors
This commit is contained in:
commit
b7d31aac96
3 changed files with 15 additions and 10 deletions
|
@ -1,4 +1,6 @@
|
|||
$(document).on('turbolinks:load', the_terms);
|
||||
$(document)
|
||||
.on('turbolinks:load', the_terms)
|
||||
.on('turbolinks:load', handle_siret_form_errors);
|
||||
|
||||
function the_terms() {
|
||||
var the_terms = $("#dossier_autorisation_donnees");
|
||||
|
@ -41,3 +43,13 @@ function toggle_etape_1() {
|
|||
$('.row.etape.etape_1 .etapes-menu #logos').toggle(100);
|
||||
$('.row.etape.etape_1 .etapes-informations #description_procedure').toggle(100);
|
||||
}
|
||||
|
||||
function handle_siret_form_errors() {
|
||||
$(".form-inline[data-remote]").on("ajax:error", function(event) {
|
||||
var input = $('#dossier-siret', event.target);
|
||||
if (input.length) {
|
||||
var invalid_siret = input.val();
|
||||
error_form_siret(invalid_siret);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
|
@ -106,15 +106,11 @@ class Users::DossiersController < UsersController
|
|||
update_current_user_siret!(siret)
|
||||
|
||||
etablissement_attributes = SIRETService.fetch(siret, @facade.dossier)
|
||||
Rails.logger.info("etablissement_attributes for siret: #{siret}, present?: #{etablissement_attributes.present?}")
|
||||
|
||||
if etablissement_attributes.present?
|
||||
etablissement_attributes = ActionController::Parameters.new(etablissement_attributes).permit!
|
||||
etablissement = @facade.dossier.build_etablissement(etablissement_attributes)
|
||||
if etablissement.save
|
||||
Rails.logger.info("etablissement saved, siret: #{siret}, id: #{etablissement.id}")
|
||||
else
|
||||
Rails.logger.info("etablissement not saved, siret: #{siret}, errors: #{etablissement.errors.full_messages}")
|
||||
if !etablissement.save
|
||||
return errors_valid_siret
|
||||
end
|
||||
else
|
||||
|
@ -128,9 +124,6 @@ class Users::DossiersController < UsersController
|
|||
else
|
||||
render '/dossiers/new_siret', formats: 'js'
|
||||
end
|
||||
rescue RestClient::ResourceNotFound, RestClient::BadRequest
|
||||
errors_valid_siret
|
||||
|
||||
rescue ActiveRecord::RecordNotFound
|
||||
flash.alert = t('errors.messages.dossier_not_found')
|
||||
redirect_to url_for users_dossiers_path
|
||||
|
|
|
@ -36,7 +36,7 @@ class ApiEntreprise::API
|
|||
params: params,
|
||||
timeout: 20)
|
||||
|
||||
if response.success?
|
||||
if response.success? && response.code != 206
|
||||
JSON.parse(response.body, symbolize_names: true)
|
||||
else
|
||||
raise RestClient::ResourceNotFound
|
||||
|
|
Loading…
Add table
Reference in a new issue