diff --git a/module/Application/src/Application/Controller/ExportController.php b/module/Application/src/Application/Controller/ExportController.php index 604c0fb541c18fb434460324bc47c5c306be223f..4025cd05588887c754d4ded4f679ce0ec5601170 100644 --- a/module/Application/src/Application/Controller/ExportController.php +++ b/module/Application/src/Application/Controller/ExportController.php @@ -30,6 +30,7 @@ class ExportController extends AbstractController 'Date de naissance' => function (These $these) { return $these->getDoctorant()->getIndividu()->getDateNaissance(); }, 'Nationalité' => function (These $these) { return $these->getDoctorant()->getIndividu()->getNationalite(); }, 'Adresse électronique' => function (These $these) { return $these->getDoctorant()->getIndividu()->getEmail(); }, + 'Adresse électronique personnelle' => function (These $these) { return $these->getDoctorant()->getIndividu()->getMailContact(); }, 'Numéro étudiant' => function (These $these) { return $this->sourceCodeStringHelper->removePrefixFrom($these->getDoctorant()->getSourceCode()); }, //These 'Identifiant de la thèse' => function (These $these) { return $these->getSourceCode(); }, diff --git a/module/Application/src/Application/Entity/Db/Individu.php b/module/Application/src/Application/Entity/Db/Individu.php index da3553aa9c001bb4935e9e69e0596863ef88b650..3f463fe6845c6a9af3eaecf168292bce37b4cb49 100644 --- a/module/Application/src/Application/Entity/Db/Individu.php +++ b/module/Application/src/Application/Entity/Db/Individu.php @@ -4,6 +4,7 @@ namespace Application\Entity\Db; use Application\Constants; use Application\Filter\NomCompletFormatter; +use Doctrine\Common\Collections\ArrayCollection; use UnicaenApp\Entity\HistoriqueAwareInterface; use UnicaenApp\Entity\HistoriqueAwareTrait; use UnicaenImport\Entity\Db\Interfaces\SourceAwareInterface; @@ -92,6 +93,15 @@ class Individu implements HistoriqueAwareInterface, SourceAwareInterface */ private $id; + /** + * @var ArrayCollection (mailContact) + */ + private $mailsConfirmations; + + + public function __construct() { + $this->mailsConfirmations = new ArrayCollection(); + } /** * @return string * @see supannId @@ -445,4 +455,19 @@ class Individu implements HistoriqueAwareInterface, SourceAwareInterface { return $this->id; } + + /** @return string */ + public function getMailContact() + { + if (! $this->mailsConfirmations->isEmpty()) + { + /** @var MailConfirmation $mailConfirmation */ + foreach ($this->mailsConfirmations as $mailConfirmation) { + if ($mailConfirmation->getEtat() === MailConfirmation::CONFIRMER) { + return $mailConfirmation->getEmail(); + } + } + } + return null; + } } \ No newline at end of file diff --git a/module/Application/src/Application/Entity/Db/Mapping/Application.Entity.Db.Individu.dcm.xml b/module/Application/src/Application/Entity/Db/Mapping/Application.Entity.Db.Individu.dcm.xml index c56887c9c1420032816c215819cb2ed21120d9b7..04c22529e68112f46e882a5c41be211a6eac9b7d 100644 --- a/module/Application/src/Application/Entity/Db/Mapping/Application.Entity.Db.Individu.dcm.xml +++ b/module/Application/src/Application/Entity/Db/Mapping/Application.Entity.Db.Individu.dcm.xml @@ -21,10 +21,11 @@ <field name="sourceCode" column="SOURCE_CODE" nullable="true"/> + <one-to-many target-entity="Application\Entity\Db\MailConfirmation" mapped-by="individu" field="mailsConfirmations"/> + <field name="histoCreation" type="datetime" column="HISTO_CREATION"/> <field name="histoDestruction" type="datetime" column="HISTO_DESTRUCTION" nullable="true"/> <field name="histoModification" type="datetime" column="HISTO_MODIFICATION"/> - <many-to-one field="source" target-entity="Application\Entity\Db\Source"> <join-columns> <join-column name="SOURCE_ID" referenced-column-name="ID"/>