Commit 272fbd00 by Yvon

improve month display in export ccas email

parent 4f738436
......@@ -9,6 +9,7 @@ use App\Entity\GlobalParameter;
use App\Entity\Prestataire;
use App\Utils\CustomEntityManager;
use App\Utils\OperationUtils;
use IntlDateFormatter;
use NumberFormatter;
use Symfony\Component\Console\Command\Command;
use Symfony\Component\Console\Input\InputInterface;
......@@ -57,8 +58,7 @@ class SendCcasTransactionsExportToPrestatairesCommand extends Command
/**
* @param Prestataire $p
* @param int $month
* @param $year
* @param $monthYearStr
* @param $montant
* @param $path
*
......@@ -66,10 +66,10 @@ class SendCcasTransactionsExportToPrestatairesCommand extends Command
* @throws RuntimeError
* @throws SyntaxError
*/
public function prepareMail(Prestataire $p, int $month, $year, $montant): \Swift_Message
public function prepareMail(Prestataire $p, $monthYearStr, $montant): \Swift_Message
{
$this->io->text('Envoi du mail pour le prestataire ' . $p->getRaison());
$subject = "Expérimentation de Sécurité Sociale de l’Alimentation en Gironde – Facture CCAS $month/$year";
$subject = "Expérimentation de Sécurité Sociale de l’Alimentation en Gironde – Facture CCAS $monthYearStr";
$globalParamRepo = $this->em->getRepository(GlobalParameter::class);
$mail = (new \Swift_Message($subject))
->setFrom($globalParamRepo->val(GlobalParameter::MLC_NOTIF_EMAIL))
......@@ -79,10 +79,9 @@ class SendCcasTransactionsExportToPrestatairesCommand extends Command
$this->templating->render(
'@kohinos/email/tav/ccas_transactions.html.twig',
[
'subject' => "Facture CCAS $month/$year",
'subject' => "Facture CCAS $monthYearStr",
'montant' => $montant,
'month' => $month,
'year' => $year,
'monthyear' => $monthYearStr
]
),
'text/html'
......@@ -200,19 +199,24 @@ class SendCcasTransactionsExportToPrestatairesCommand extends Command
$prestaRepo = $this->em->getRepository(Prestataire::class);
$prestas = $prestaid ? [0 => $prestaRepo->find($prestaid)] : $prestaRepo->findAll();
$dateFormatter = new IntlDateFormatter('fr_FR', IntlDateFormatter::NONE, IntlDateFormatter::NONE);
$dateFormatter->setPattern("MMMM Y");
$date = new \DateTime();
if ($yearmonth) {
$year = substr($yearmonth, 0, 4);
$month = intval(substr($yearmonth, 4, 2));
$date->setDate(intval($year),$month,1);
$monthYearStr = $dateFormatter->format($date);
} else {
$now = new \DateTime();
$now->modify('previous month');
$year = $now->format('Y');
$month = intval($now->format('m'));
$date->modify('previous month');
$year = $date->format('Y');
$month = intval($date->format('m'));
$monthYearStr = $dateFormatter->format($date);
}
$this->io->title(
'START. Préparation des exports pour ' . count($prestas) . ' prestataires '
. 'contenant les transactions CCAS du mois ' . $month . ' de l\'année ' . $year
. 'contenant les transactions CCAS pour ' . $monthYearStr
);
//projectDir is composer.json
......@@ -238,7 +242,7 @@ class SendCcasTransactionsExportToPrestatairesCommand extends Command
//Send mail as soon as there are data or prestataire is CCAS OK
//If there is no data, just inform there is nothing to do
if ($data || $p->getCcasOk()) {
$mail = $this->prepareMail($p, $month, $year, $prestaTotal);
$mail = $this->prepareMail($p, $monthYearStr, $prestaTotal);
if ($path) {
$mail->attach(\Swift_Attachment::fromPath($path));
}
......
......@@ -11,8 +11,8 @@
</p>
{% if montant > 0 %}
<p>
Vous trouverez ci-joint l’état mensuel des dépenses en MonA réalisées au cours du mois
{{ month }}/{{ year }} dans votre point de vente par les allocataires du dispositif de Sécurité Sociale
Vous trouverez ci-joint l’état mensuel des dépenses en MonA en
{{ monthyear }} dans votre point de vente par les allocataires du dispositif de Sécurité Sociale
de l'Alimentation en Gironde, pour un montant de {{ montant }} euros.
</p>
<p>
......@@ -46,7 +46,7 @@
</ul>
{% else %}
<p>
Pour information, au cours du mois {{ month }}/{{ year }},
Pour information, en {{ monthyear }},
vous n'avez pas réalisé de transaction éligible aux reconversions CCAS et vous n'avez donc rien à faire de plus.
</p>
{% endif %}
......
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