Commit 1cd82b94 by Yvon

6213 : send mail on ceiling cut

parent 8642988e
...@@ -23,6 +23,7 @@ class CotisationTavApplication extends Flux ...@@ -23,6 +23,7 @@ class CotisationTavApplication extends Flux
{ {
const TYPE_REVERSEMENT_COTISATION_ADHERENT = 'reversement_cotisation_adherent'; const TYPE_REVERSEMENT_COTISATION_ADHERENT = 'reversement_cotisation_adherent';
const TYPE_PRELEVEMENT_COTISATION_ADHERENT = 'prelevement_cotisation_adherent'; const TYPE_PRELEVEMENT_COTISATION_ADHERENT = 'prelevement_cotisation_adherent';
const TYPE_PRELEVEMENT_COTISATION_ADHERENT_DEPASSEMENT_PLAFOND = 'prelevement_cotisation_adherent_depassement_plafond';
/** /**
* @return string * @return string
......
<?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 manuelle de prélèvement de l'adhérent
* pour ramener son solde au niveau de son plafond.
* @ORM\Entity
*/
class CotisationTavPrelevementDepassementPlafond extends CotisationTavPrelevement
{
/**
* @return string
*/
public function getType(): string
{
return parent::TYPE_PRELEVEMENT_COTISATION_ADHERENT_DEPASSEMENT_PLAFOND;
}
public function getUsersToNotify()
{
return [
'expediteurs' => [$this->getExpediteur()->getUser()],
];
}
}
...@@ -57,6 +57,7 @@ use Symfony\Component\Validator\Constraints as Assert; ...@@ -57,6 +57,7 @@ use Symfony\Component\Validator\Constraints as Assert;
* "application_cotisation_tav" = "CotisationTavApplication", * "application_cotisation_tav" = "CotisationTavApplication",
* "reversement_cotisation_adherent" = "CotisationTavReversement", * "reversement_cotisation_adherent" = "CotisationTavReversement",
* "prelevement_cotisation_adherent" = "CotisationTavPrelevement", * "prelevement_cotisation_adherent" = "CotisationTavPrelevement",
* "prelevement_cotisation_adherent_depassement_plafond" = "CotisationTavPrelevementDepassementPlafond",
* }) * })
*/ */
abstract class Flux implements FluxInterface abstract class Flux implements FluxInterface
...@@ -658,13 +659,14 @@ abstract class Flux implements FluxInterface ...@@ -658,13 +659,14 @@ abstract class Flux implements FluxInterface
: $this->type; : $this->type;
} }
public static function ssaUsefulFriendlyTypeNames($differentiateAchatsDeMonaPayzenOrComptoir = false) public static function ssaUsefulFriendlyTypeNames($uniqueValues = false)
{ {
return [ return [
VenteEmlc::TYPE_VENTE_EMLC_ADHERENT => "Achat de MonA via cotisation" . ($differentiateAchatsDeMonaPayzenOrComptoir ? " (au comptoir)" : ""), VenteEmlc::TYPE_VENTE_EMLC_ADHERENT => "Achat de MonA via cotisation" . ($uniqueValues ? " (au comptoir)" : ""),
AchatMonnaie::TYPE_ACHAT_ADHERENT => "Achat de MonA via cotisation" . ($differentiateAchatsDeMonaPayzenOrComptoir ? " (via Payzen)" : ""), 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 => "Allocation complémentaire de la caisse",
CotisationTavApplication::TYPE_PRELEVEMENT_COTISATION_ADHERENT => "Réduction de l'allocation", 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)" : ""),
Don::TYPE_DON_ADHERENT => Don::TYPE_DON_ADHERENT, Don::TYPE_DON_ADHERENT => Don::TYPE_DON_ADHERENT,
Don::TYPE_DON_PRESTATAIRE => Don::TYPE_DON_PRESTATAIRE, Don::TYPE_DON_PRESTATAIRE => Don::TYPE_DON_PRESTATAIRE,
Reconversion::TYPE_RECONVERSION_PRESTATAIRE => Reconversion::TYPE_RECONVERSION_PRESTATAIRE, Reconversion::TYPE_RECONVERSION_PRESTATAIRE => Reconversion::TYPE_RECONVERSION_PRESTATAIRE,
......
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
namespace App\Utils; namespace App\Utils;
use App\Entity\Adherent; use App\Entity\Adherent;
use App\Entity\CotisationTavPrelevementDepassementPlafond;
use App\Entity\Payment; use App\Entity\Payment;
use App\Entity\Siege; use App\Entity\Siege;
use App\Entity\Flux; use App\Entity\Flux;
...@@ -223,7 +224,7 @@ class TAVCotisationUtils ...@@ -223,7 +224,7 @@ class TAVCotisationUtils
throw new \Exception("Impossible de prélèver : le solde de l'adhérent est inférieur ou égal au plafond."); throw new \Exception("Impossible de prélèver : le solde de l'adhérent est inférieur ou égal au plafond.");
} }
$flux = new CotisationTavPrelevement(); $flux = new CotisationTavPrelevementDepassementPlafond();
$flux->setExpediteur($adherent); $flux->setExpediteur($adherent);
$flux->setDestinataire($siege); $flux->setDestinataire($siege);
$flux->setMontant(-$amountDiff); $flux->setMontant(-$amountDiff);
......
...@@ -10,6 +10,8 @@ ...@@ -10,6 +10,8 @@
<h3> <h3>
{% if flux.type == 'reconversion' %} {% if flux.type == 'reconversion' %}
{{ 'Demande de reconversion' }} {{ 'Demande de reconversion' }}
{% elseif flux.type == 'prelevement_cotisation_adherent_depassement_plafond' %}
{{ "Réduction de l'allocation après dépassement du plafond" }}
{% else %} {% else %}
{{ flux.parenttype|capitalize }} : {{ flux.type|replace({'_' : ' => '}) }} {{ flux.parenttype|capitalize }} : {{ flux.type|replace({'_' : ' => '}) }}
{% endif %} {% endif %}
......
...@@ -128,3 +128,4 @@ des_vente_emlc: 'Achat monnaie numérique' ...@@ -128,3 +128,4 @@ des_vente_emlc: 'Achat monnaie numérique'
exp_vente_emlc: 'Vente monnaie numérique' exp_vente_emlc: 'Vente monnaie numérique'
exp_ticket_print: 'Impression de billets' exp_ticket_print: 'Impression de billets'
exp_ticket_destroy: 'Destruction 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'
\ 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