Commit d9258d80 by Mathieu Poisbeau

fix #201: Import adhérent -> une cotisation doit être > à zéro

parent c8b27916
...@@ -128,11 +128,16 @@ class ImportController extends CRUDController ...@@ -128,11 +128,16 @@ class ImportController extends CRUDController
} }
return $this->redirect($this->admin->generateUrl('show', array('id' => $import->getId()))); return $this->redirect($this->admin->generateUrl('show', array('id' => $import->getId())));
} catch (\Exception $e) { } catch (\Exception $e) {
if ('prod' === $this->container->get('kernel')->getEnvironment()) {
return $this->renderWithExtraParams('admin/import_error.html.twig', [ return $this->renderWithExtraParams('admin/import_error.html.twig', [
'action' => 'list', 'action' => 'list',
'error' => $e->getMessage(), 'error' => $e->getMessage(),
]); ]);
} }
throw $e;
}
} }
return $this->renderWithExtraParams('admin/import.html.twig', array( return $this->renderWithExtraParams('admin/import.html.twig', array(
...@@ -713,10 +718,30 @@ class ImportController extends CRUDController ...@@ -713,10 +718,30 @@ class ImportController extends CRUDController
$cotisation->setMoyen(MoyenEnum::MOYEN_AUTRE); $cotisation->setMoyen(MoyenEnum::MOYEN_AUTRE);
$cotisationDetailsArray = explode(':', $cotisationDetails); $cotisationDetailsArray = explode(':', $cotisationDetails);
if (count($cotisationDetailsArray) == 1) { if (count($cotisationDetailsArray) == 1) {
// fix #201: A 'cotisation' can't be zero! (because of the Flux error management)
if (0 === intval($cotisationDetails)) {
$this->addError($row, $line, 'cotisations',
$this->translator->trans('adherent.cotisations.isZero', [], 'import')
);
$this->nberrors++;
$line++;
continue;
}
$cotisation->setMontant(intval($cotisationDetails)); $cotisation->setMontant(intval($cotisationDetails));
$cotisation->getCotisationInfos()->setDebut($now); $cotisation->getCotisationInfos()->setDebut($now);
$cotisation->getCotisationInfos()->setFin(new DateTime('+ 1 year')); $cotisation->getCotisationInfos()->setFin(new DateTime('+ 1 year'));
} else { } else {
// fix #201: A 'cotisation' can't be zero! (because of the Flux error management)
if (0 === intval($cotisationDetailsArray[0])) {
$this->addError($row, $line, 'cotisations',
$this->translator->trans('adherent.cotisations.isZero', [], 'import')
);
$this->nberrors++;
$line++;
continue;
}
$cotisation->setMontant(intval($cotisationDetailsArray[0])); $cotisation->setMontant(intval($cotisationDetailsArray[0]));
$cotisation->getCotisationInfos()->setAnnee(intval($cotisationDetailsArray[1])); $cotisation->getCotisationInfos()->setAnnee(intval($cotisationDetailsArray[1]));
$cotisation->getCotisationInfos()->setDebut(DateTime::createFromFormat('Ymd', intval($cotisationDetailsArray[1]).'0101')); $cotisation->getCotisationInfos()->setDebut(DateTime::createFromFormat('Ymd', intval($cotisationDetailsArray[1]).'0101'));
......
adherent:
cotisations.isZero: Une cotisation adhérent ne peut pas être égale à zéro.
prestataire: prestataire:
already_exists: 'Le prestataire avec la raison "0" existe déjà !' already_exists: 'Le prestataire avec la raison "0" existe déjà !'
column_required: 'La colonne "0" ne doit pas être vide' column_required: 'La colonne "0" ne doit pas être vide'
......
adherent:
cotisations.isZero: Une cotisation adhérent ne peut pas être égale à zéro.
prestataire: prestataire:
already_exists: 'Le prestataire avec la raison "0" existe déjà !' already_exists: 'Le prestataire avec la raison "0" existe déjà !'
column_required: 'La colonne "0" ne doit pas être vide' column_required: 'La colonne "0" ne doit pas être vide'
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment