Commit 032e406b authored by Jean-Philippe Metivier's avatar Jean-Philippe Metivier
Browse files

Amélioration de l'affichage des blocs 'intégrité scientifique' et 'validations acteurs'

parent 5f0b072e
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -39,7 +39,7 @@ $canRevoquer = $this->isAllowed($these,PropositionPrivileges::PROPOSITION_DECLAR
<div class="box card">
    <div class="card-header
    <?php
    if ($isValider === null)  echo " bg-warning";
    if ($isValider === null OR empty($attestationsIntegriteScientifique) )  echo " bg-warning";
    if ($isValider === true AND !empty($attestationsIntegriteScientifique))  echo " bg-success";
    if ($isValider === false) echo " bg-danger";
    ?>
@@ -132,6 +132,7 @@ $canRevoquer = $this->isAllowed($these,PropositionPrivileges::PROPOSITION_DECLAR
                    <?php endif; ?>
                <?php endif; ?>
                <?php if (!empty($refus) OR !empty($validation)) : ?>
                    <?php if ($canRevoquer) : ?>
                        <?php /** @see \Soutenance\Controller\PropositionController::revoquerDeclarationNonPlagiatAction() */ ?>
                        <a href="<?php echo $this->url('soutenance/proposition/declaration-non-plagiat/revoquer', ['these' => $these->getId()], [], true); ?>"
                           class="btn btn-danger"
@@ -140,6 +141,8 @@ $canRevoquer = $this->isAllowed($these,PropositionPrivileges::PROPOSITION_DECLAR
                            Révoquer la déclaration
                        </a>
                    <?php endif; ?>
                <?php endif; ?>
            </div>
        </div>
        </div>

+37 −35
Original line number Diff line number Diff line
@@ -2,6 +2,7 @@
/**
 * @var Proposition $proposition
 * @var Validation[][] $validations
 * @var Justificatif[] $attestationsIntegriteScientifique
 *
 * @var boolean $isOk
 * @var boolean $canValiderActeur
@@ -13,10 +14,11 @@
 * @var Individu $currentIndividu
 * @var boolean $validationActeur
 *
 * @var bool $informationsOk
 * @var bool $isInformationsOk
 */


use Soutenance\Entity\Justificatif;
use Soutenance\Service\Horodatage\HorodatageService;
use These\Entity\Db\Acteur;
use Doctorant\Entity\Db\Doctorant;
@@ -28,8 +30,11 @@ use Soutenance\Provider\Validation\TypeValidation;

$these = $proposition->getThese();

$declarationHonneur = !empty($validations[TypeValidation::CODE_VALIDATION_DECLARATION_HONNEUR]);
$a=1;
$hasDeclaration= !empty($validations[TypeValidation::CODE_VALIDATION_DECLARATION_HONNEUR]);
$hasAttestation = !empty($attestationsIntegriteScientifique);

$isDateOk = ((new DateTime())->add(new DateInterval('P2M')) < $proposition->getDate());
$isAllOk = ($hasDeclaration AND $hasAttestation AND $isDateOk AND $isInformationsOk)
?>

<div class="box card">
@@ -40,27 +45,39 @@ $a=1;
    </div>
    <div class="card-body">

        <?php if (!$informationsOk) : ?>
        <?php if (!$isAllOk) : ?>
         <div class="alert alert-danger">
            <strong>
                <span class="icon icon-attention"></span>
                Au moins une information sur la direction ou l'encadrement de la thèse est manquante.
            </div>
                Au moins une information ou validation est manquante ; ceci bloque la validation de votre proposition.
            </strong>
            <ul>
            <?php if (!$isInformationsOk) : ?>
                <li> Au moins une information sur la direction ou l'encadrement de la thèse est manquante. </li>
            <?php endif; ?>
        <?php if (!$declarationHonneur) : ?>
            <div class="alert alert-danger">
                <span class="icon icon-attention"></span>
                La déclaration sur l'honneur de non-plagiat doit être validée avant de permettre la validation de la proposition.
            <?php if (!$isOk): ?>
                <li> La proposition de soutenance doit être recevable : date et lieu, composition du jury, ... </li>
            <?php endif; ?>
            <?php if (!$isDateOk): ?>
                <li> Le délai de deux mois entre la date de validation et la date de soutenance est non respecté </li>
            <?php endif; ?>
            <?php if (!$hasDeclaration) : ?>
                <li> La déclaration sur l'honneur de non-plagiat doit être validée avant de permettre la validation de la proposition. </li>
            <?php endif; ?>
            <?php if (!$hasAttestation) : ?>
                <li> L'attestation de suivi de la formation "Intégrité Scientifique" est manquante. </li>
            <?php endif; ?>
            </ul>
         </div>
        <?php endif; ?>

        <div class="row">
            <div class="col-md-6" >
            <div class="col-md-8" >
                <h4>
                    Liste des validations
                </h4>

                <?php if ($declarationHonneur === true) : ?>
                <ul>
                        <!-- Validation du doctorant -->
                        <li>
                            <?php echo $doctorant->getIndividu(); ?>
                            <br/>
@@ -71,9 +88,8 @@ $a=1;
                            <?php else: ?>
                                <span class="badge bg-secondary"> Aucune validation</span>
                            <?php endif; ?>

                        </li>

                        <!-- Validation des directeurs -->
                        <?php $validationsDirecteurs = array_merge($validations[Role::CODE_DIRECTEUR_THESE], $validations[Role::CODE_CODIRECTEUR_THESE]); ?>
                        <?php foreach ($directeurs as $directeur): ?>
                            <?php $validation = current(array_filter($validationsDirecteurs, function (Validation $v) use ($directeur) { return $v->getIndividu()->getId() === $directeur->getIndividu()->getId();})); ?>
@@ -90,33 +106,19 @@ $a=1;
                            </li>
                        <?php endforeach; ?>
                </ul>
                <?php endif; ?>
            </div>

            <div class="col-md-6 float-end" >
                <?php if (! $validationActeur) : ?>
                    <?php if (!$isOk): ?>
                        <div class="alert card-bodywarning">
                            <span class="fas fa-exclamation-triangle"></span>
                            Pour pouvoir être valider la proposition de soutenance doit être recevable : date et lieu, composition du jury, ...
                        </div>
                    <?php endif; ?>
                    <?php if (!$canValiderActeur) : ?>
                        <?php if (!$proposition->hasSursis()) : ?>
                            <div class="alert alert-warning">
                                <span class="fas fa-exclamation-triangle"></span>
                               Il est possible de valider une proposition seulement si le délai de deux mois entre la date de validation et la date de soutenance est respecté.
                            </div>
                        <?php endif; ?>
                    <?php else : ?>
            <div class="col-md-4" >
                <?php if ($canValiderActeur AND $isAllOk) : ?>
                        <a
                            <?php /** @see \Soutenance\Controller\PropositionController::validerActeurAction(); */ ?>
                            href="<?php echo $this->url('soutenance/proposition/valider', ['these' => $these->getId()], [], true); ?>"
                            class="btn btn-success action ">
                                <span class="icon icon-ok"></span> Valider la proposition de soutenance
                            <span class="icon icon-ok"></span>
                            Valider la proposition de soutenance
                        </a>
                <?php endif; ?>
                <?php endif; ?>
            </div>
        </div>

        <?php if ($canSursis) : ?>
@@ -133,6 +135,6 @@ $a=1;

                <?php echo $this->dernierHorodatage($proposition, HorodatageService::TYPE_ETAT, "Sursis"); ?>
        <?php endif; ?>
        </div>

    </div>
</div>
+3 −1
Original line number Diff line number Diff line
@@ -154,12 +154,14 @@ echo $this->partial('partial/validations-acteurs', [
    'canValiderActeur' => $canValiderActeur,
    'canSursis' => $canSursis,

    'attestationsIntegriteScientifique' => $attestationsIntegriteScientifique,

    'isOk' => $isOk,
    'doctorant' => $doctorant,
    'directeurs' => $directeurs,
    'validationActeur' => $validationActeur,

    'informationsOk' => $informationsOk,
    'isInformationsOk' => $informationsOk,

]); ?>