Skip to content
Snippets Groups Projects
Commit ae65e34c authored by Bertrand Gauthier's avatar Bertrand Gauthier
Browse files

[FIX] Enregistrement de la date de fin de confidentialité dans la Diffusion.

parent f352b557
No related branches found
No related tags found
No related merge requests found
Pipeline #16722 passed
......@@ -13,6 +13,7 @@ Journal des modifications
- [FIX] Création/modification d'individu : erreur 'Adresse existante (Utilisateur)'.
- [FIX] Masquage du message abscons 'Cette personne ne pourra pas utiliser l'application...' sur la fiche Thèse.
- [FIX] Page Assistance : ne plante plus et affiche toutes les adresses possibles en cas d'adresse établissement introuvable.
- [FIX] Enregistrement de la date de fin de confidentialité dans la Diffusion.
5.2.4
-----
......
......@@ -2,8 +2,8 @@
namespace These\Form\Diffusion;
use These\Entity\Db\Diffusion;
use Doctrine\Laminas\Hydrator\DoctrineObject;
use These\Entity\Db\Diffusion;
use UnicaenApp\Service\EntityManagerAwareInterface;
use UnicaenApp\Service\EntityManagerAwareTrait;
......@@ -31,14 +31,17 @@ class DiffusionHydrator extends DoctrineObject implements EntityManagerAwareInte
* Hydrate $object with the provided $data.
*
* @param array $data
* @param Diffusion $attestation
* @param Diffusion $object
* @return Diffusion
*/
public function hydrate(array $data, $attestation)
public function hydrate(array $data, $object): Diffusion
{
// le champ de saisie de la confidentialité est grisé pour l'instant
// NB : le champ de saisie de la confidentialité est grisé pour l'instant
if (!isset($data['confidentielle'])) {
$data['confidentielle'] = $attestation->getThese()->getDateFinConfidentialite() !== null ? Diffusion::CONFIDENTIELLE_OUI : Diffusion::CONFIDENTIELLE_NON;
$data['confidentielle'] = $object->getThese()->getDateFinConfidentialite() !== null ? Diffusion::CONFIDENTIELLE_OUI : Diffusion::CONFIDENTIELLE_NON;
}
if (!isset($data['dateFinConfidentialite'])) {
$data['dateFinConfidentialite'] = $object->getThese()->getDateFinConfidentialite();
}
if (!isset($data['orcid'])) {
......@@ -49,7 +52,7 @@ class DiffusionHydrator extends DoctrineObject implements EntityManagerAwareInte
}
/** @var Diffusion $diff */
$diff = parent::hydrate($data, $attestation);
$diff = parent::hydrate($data, $object);
switch ($diff->getAutorisMel()) {
case Diffusion::AUTORISATION_OUI_IMMEDIAT:
......
......@@ -10,16 +10,16 @@
use These\Entity\Db\Diffusion;
use These\Entity\Db\These;
use These\Form\Diffusion\DiffusionTheseForm;
use Application\Service\Message\DiffusionMessages;
?>
<?php if ($diffusion->getConfidentielle()): ?>
<?php if ($diffusion->getConfidentielle() || $diffusion->getThese()->estConfidentielle()): ?>
<div class="row">
<div class="col-6">
<div class="alert alert-md alert-danger">
<?php echo sprintf("La thèse est confidentielle jusqu'au %s.", $diffusion->getDateFinConfidentialiteToString()) ?>
<?php echo sprintf("La thèse est confidentielle jusqu'au %s.",
$diffusion->getDateFinConfidentialiteToString() ?: $diffusion->getThese()->getDateFinConfidentialiteToString()) ?>
</div>
</div>
</div>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment