Commit 9a636fb9 by Yvon

6212 : create new flux types to send email after super admin balance fix

parent 1cd82b94
......@@ -24,6 +24,8 @@ class CotisationTavApplication extends Flux
const TYPE_REVERSEMENT_COTISATION_ADHERENT = 'reversement_cotisation_adherent';
const TYPE_PRELEVEMENT_COTISATION_ADHERENT = 'prelevement_cotisation_adherent';
const TYPE_PRELEVEMENT_COTISATION_ADHERENT_DEPASSEMENT_PLAFOND = 'prelevement_cotisation_adherent_depassement_plafond';
const TYPE_PRELEVEMENT_COTISATION_ADHERENT_CORRECTION_SOLDE = 'prelevement_cotisation_adherent_correction_solde';
const TYPE_REVERSEMENT_COTISATION_ADHERENT_CORRECTION_SOLDE = 'reversement_cotisation_adherent_correction_solde';
/**
* @return string
......
......@@ -12,6 +12,7 @@ use Doctrine\ORM\Mapping as ORM;
* - [Allocation selon foyer] Le montant reçu calculé est inférieur au montant payé
* - [Allocation selon foyer] Un administrateur effectue une opération manuelle de prélèvement de l'adhérent
* pour ramener son solde au niveau de son plafond.
* - [Allocation selon foyer] Un administrateur effectue une opération de correction de solde qui conduit à un prélèvement.
*
* L'adhérent•e reçoit moins d'emlc que ce qu'elle•il paye en €,
* un second flux est créé pour prélever le complément de la cotisation.
......
<?php
namespace App\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* Child class used to notify adherents by email.
*
* - [Allocation selon foyer] Un administrateur effectue une opération de correction de solde qui conduit à un prélèvement.
* @ORM\Entity
*/
class CotisationTavPrelevementCorrectionSolde extends CotisationTavPrelevement
{
/**
* @return string
*/
public function getType(): string
{
return parent::TYPE_PRELEVEMENT_COTISATION_ADHERENT_CORRECTION_SOLDE;
}
public function getUsersToNotify()
{
return [
'expediteurs' => [$this->getExpediteur()->getUser()],
];
}
}
......@@ -10,6 +10,7 @@ use Doctrine\ORM\Mapping as ORM;
* * Dans les cas suivants :
* - [Profil de Cotisation] La taux est supérieur à 1
* - [Allocation selon foyer] Le montant reçu calculé est supérieur au montant payé
* - [Allocation selon foyer] Un administrateur effectue une opération de correction de solde qui conduit à un reversement.
*
* L'adhérent•e reçoit plus d'emlc que ce qu'elle•il paye en €,
* un second flux est créé pour reverser le complément de la cotisation.
......
<?php
namespace App\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* Child class used to notify adherents by email.
*
* - [Allocation selon foyer] Un administrateur effectue une opération de correction de solde qui conduit à un reversement.
* @ORM\Entity
*/
class CotisationTavReversementCorrectionSolde extends CotisationTavReversement
{
/**
* @return string
*/
public function getType(): string
{
return parent::TYPE_REVERSEMENT_COTISATION_ADHERENT_CORRECTION_SOLDE;
}
public function getUsersToNotify()
{
return [
'destinataires' => [$this->getDestinataire()->getUser()],
];
}
}
......@@ -58,6 +58,8 @@ use Symfony\Component\Validator\Constraints as Assert;
* "reversement_cotisation_adherent" = "CotisationTavReversement",
* "prelevement_cotisation_adherent" = "CotisationTavPrelevement",
* "prelevement_cotisation_adherent_depassement_plafond" = "CotisationTavPrelevementDepassementPlafond",
* "prelevement_cotisation_adherent_correction_solde" = "CotisationTavPrelevementCorrectionSolde",
* "reversement_cotisation_adherent_correction_solde" = "CotisationTavReversementCorrectionSolde",
* })
*/
abstract class Flux implements FluxInterface
......@@ -665,8 +667,10 @@ abstract class Flux implements FluxInterface
VenteEmlc::TYPE_VENTE_EMLC_ADHERENT => "Achat de MonA via cotisation" . ($uniqueValues ? " (au comptoir)" : ""),
AchatMonnaie::TYPE_ACHAT_ADHERENT => "Achat de MonA via cotisation" . ($uniqueValues ? " (via Payzen)" : ""),
CotisationTavApplication::TYPE_REVERSEMENT_COTISATION_ADHERENT => "Allocation complémentaire de la caisse",
CotisationTavApplication::TYPE_REVERSEMENT_COTISATION_ADHERENT_CORRECTION_SOLDE => "Allocation complémentaire de la caisse" . ($uniqueValues ? " (correction solde)" : ""),
CotisationTavApplication::TYPE_PRELEVEMENT_COTISATION_ADHERENT => "Réduction de l'allocation",
CotisationTavApplication::TYPE_PRELEVEMENT_COTISATION_ADHERENT_DEPASSEMENT_PLAFOND => "Réduction de l'allocation" . ($uniqueValues ? " (dépassement plafond)" : ""),
CotisationTavApplication::TYPE_PRELEVEMENT_COTISATION_ADHERENT_CORRECTION_SOLDE => "Réduction de l'allocation" . ($uniqueValues ? " (correction solde)" : ""),
Don::TYPE_DON_ADHERENT => Don::TYPE_DON_ADHERENT,
Don::TYPE_DON_PRESTATAIRE => Don::TYPE_DON_PRESTATAIRE,
Reconversion::TYPE_RECONVERSION_PRESTATAIRE => Reconversion::TYPE_RECONVERSION_PRESTATAIRE,
......
......@@ -3,7 +3,9 @@
namespace App\Utils;
use App\Entity\Adherent;
use App\Entity\CotisationTavPrelevementCorrectionSolde;
use App\Entity\CotisationTavPrelevementDepassementPlafond;
use App\Entity\CotisationTavReversementCorrectionSolde;
use App\Entity\Payment;
use App\Entity\Siege;
use App\Entity\Flux;
......@@ -250,7 +252,7 @@ class TAVCotisationUtils
if ($amountDiff >= 0) {
//Accroissement du solde
$flux = new CotisationTavReversement();
$flux = new CotisationTavReversementCorrectionSolde();
$flux->setExpediteur($siege);
$flux->setDestinataire($adherent);
$flux->setReference(
......@@ -258,7 +260,7 @@ class TAVCotisationUtils
);
} else {
//Réduction du solde
$flux = new CotisationTavPrelevement();
$flux = new CotisationTavPrelevementCorrectionSolde();
$flux->setExpediteur($adherent);
$flux->setDestinataire($siege);
$flux->setReference(
......
......@@ -12,6 +12,10 @@
{{ 'Demande de reconversion' }}
{% elseif flux.type == 'prelevement_cotisation_adherent_depassement_plafond' %}
{{ "Réduction de l'allocation après dépassement du plafond" }}
{% elseif flux.type == 'prelevement_cotisation_adherent_correction_solde' %}
{{ "Correction de solde (réduction de l'allocation) suite à une erreur de cotisation" }}
{% elseif flux.type == 'reversement_cotisation_adherent_correction_solde' %}
{{ "Correction de solde (allocation complémentaire de la caisse) suite à une erreur de cotisation" }}
{% else %}
{{ flux.parenttype|capitalize }} : {{ flux.type|replace({'_' : ' => '}) }}
{% endif %}
......
......@@ -129,3 +129,5 @@ exp_vente_emlc: 'Vente monnaie numérique'
exp_ticket_print: 'Impression de billets'
exp_ticket_destroy: 'Destruction de billets'
exp_prelevement_cotisation_adherent_depassement_plafond_email_subject: 'Réduction de l''allocation après dépassement du plafond'
exp_prelevement_cotisation_adherent_correction_solde_email_subject: 'Correction de solde (réduction de l''allocation) suite à une erreur de cotisation'
des_reversement_cotisation_adherent_correction_solde_email_subject: 'Correction de solde (allocation complémentaire de la caisse) suite à une erreur de cotisation'
\ No newline at end of file
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