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
Loading
Loading
Loading
Loading
Loading
+1 −0
Changes for CHANGELOG.md: 1 added line, 0 removed lines.
Original line number Diff line number Diff line
@@ -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
-----
+9 −6
Changes for module/These/src/These/Form/Diffusion/DiffusionHydrator.php: 9 added lines, 6 removed lines.
Original line number Diff line number Diff line
@@ -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:
+3 −3
Changes for module/These/view/these/these/partial/diffusion.phtml: 3 added lines, 3 removed lines.
Original line number Diff line number Diff line
@@ -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>