Commit 2a632198 authored by Bertrand Gauthier's avatar Bertrand Gauthier
Browse files

Nouvelle page dédiée au dépôt de fichiers divers liés à une thèse.

parent e265afeb
Loading
Loading
Loading
Loading
+22 −8
Original line number Diff line number Diff line
@@ -226,15 +226,7 @@ class TheseController extends AbstractController
            'these'                     => $these,
            'etablissement'             => $etablissement,
            'estDoctorant'              => (bool)$this->userContextService->getSelectedRoleDoctorant(),
//            'modifierPersopassUrl'      => $this->urlDoctorant()->modifierPersopassUrl($these),
            'modifierPersopassUrl'      => $urlModification,
            'pvSoutenanceUrl'           => $this->urlThese()->depotFichiers($these, NatureFichier::CODE_PV_SOUTENANCE),
            'rapportSoutenanceUrl'      => $this->urlThese()->depotFichiers($these, NatureFichier::CODE_RAPPORT_SOUTENANCE),
            'preRapportSoutenanceUrl'   => $this->urlThese()->depotFichiers($these, NatureFichier::CODE_PRE_RAPPORT_SOUTENANCE),
            'demandeConfidentUrl'       => $this->urlThese()->depotFichiers($these, NatureFichier::CODE_DEMANDE_CONFIDENT),
            'prolongConfidentUrl'       => $this->urlThese()->depotFichiers($these, NatureFichier::CODE_PROLONG_CONFIDENT),
            'convMiseEnLigneUrl'        => $this->urlThese()->depotFichiers($these, NatureFichier::CODE_CONV_MISE_EN_LIGNE),
            'avenantConvMiseEnLigneUrl' => $this->urlThese()->depotFichiers($these, NatureFichier::CODE_AVENANT_CONV_MISE_EN_LIGNE),
            'modifierCorrecAutorUrl'    => $this->urlThese()->modifierCorrecAutoriseeForceeUrl($these),
            'nextStepUrl'               => $this->urlWorkflow()->nextStepBox($these, null, [
                WfEtape::PSEUDO_ETAPE_FINALE,
@@ -355,6 +347,28 @@ class TheseController extends AbstractController
        return $view;
    }

    /**
     * @return ViewModel
     */
    public function detailDepotDiversAction()
    {
        $these = $this->requestedThese();

        $view = new ViewModel([
            'these'                     => $these,
            'pvSoutenanceUrl'           => $this->urlThese()->depotFichiers($these, NatureFichier::CODE_PV_SOUTENANCE),
            'rapportSoutenanceUrl'      => $this->urlThese()->depotFichiers($these, NatureFichier::CODE_RAPPORT_SOUTENANCE),
            'preRapportSoutenanceUrl'   => $this->urlThese()->depotFichiers($these, NatureFichier::CODE_PRE_RAPPORT_SOUTENANCE),
            'demandeConfidentUrl'       => $this->urlThese()->depotFichiers($these, NatureFichier::CODE_DEMANDE_CONFIDENT),
            'prolongConfidentUrl'       => $this->urlThese()->depotFichiers($these, NatureFichier::CODE_PROLONG_CONFIDENT),
            'convMiseEnLigneUrl'        => $this->urlThese()->depotFichiers($these, NatureFichier::CODE_CONV_MISE_EN_LIGNE),
            'avenantConvMiseEnLigneUrl' => $this->urlThese()->depotFichiers($these, NatureFichier::CODE_AVENANT_CONV_MISE_EN_LIGNE),
        ]);
        $view->setTemplate('application/these/depot-divers');

        return $view;
    }

    public function detailArchivageAction()
    {
        $view = $this->detailArchivageActionViewModel(false);
+125 −0
Original line number Diff line number Diff line
<?php

use Application\Controller\TheseController;
use Application\Entity\Db\These;
use Application\Provider\Privilege\ThesePrivileges;
use Application\View\Renderer\PhpRenderer;

/**
 * Dépot de fichiers divers liés à une thèse.
 *
 * @var PhpRenderer $this
 * @var These       $these
 * @var string      $pvSoutenanceUrl
 * @var string      $rapportSoutenanceUrl
 * @var string      $preRapportSoutenanceUrl
 * @var string      $demandeConfidentUrl
 * @var string      $prolongConfidentUrl
 * @var string      $convMiseEnLigneUrl
 * @var string      $avenantConvMiseEnLigneUrl
 *
 * @see TheseController::detailDepotDiversAction()
 */

?>

<?php $this->headTitle($this->translate($title = "Dépôt de fichiers divers"))
    ->prepend($these->getDoctorant()->getIndividu()->getNomUsuel()) ?>

<h1 class="page-header">
    <?php echo $this->translate($title); ?>
    <small><?php echo $this->partial('application/these/partial/titre') ?></small>
</h1>

<p class="lead">
    Cette page vous permet de téléverser/télécharger divers fichiers <strong>liés à la thèse</strong> de
    <?php echo $these->getDoctorant() ?>.
</p>

<?php if ($this->isAllowed($these, ThesePrivileges::THESE_FICHIER_DIVERS_CONSULTER)): ?>
    <div class="row">
        <div class="col-md-4">
            <div id="pvSoutenanceDiv" class="" data-url="<?php echo $pvSoutenanceUrl ?>">
                <!-- màj via ajax -->
            </div>
        </div>

        <div class="col-md-4">
            <div id="preRapportSoutenanceDiv" class="" data-url="<?php echo $preRapportSoutenanceUrl ?>">
                <!-- màj via ajax -->
            </div>
        </div>

        <div class="col-md-4">
            <div id="rapportSoutenanceDiv" class="" data-url="<?php echo $rapportSoutenanceUrl ?>">
                <!-- màj via ajax -->
            </div>
        </div>
    </div>

    <div class="row">
        <div class="col-md-4">
            <div id="demandeConfidentDiv" class="" data-url="<?php echo $demandeConfidentUrl ?>">
                <!-- màj via ajax -->
            </div>
        </div>

        <div class="col-md-4">
            <div id="prolongConfidentDiv" class="" data-url="<?php echo $prolongConfidentUrl ?>">
                <!-- màj via ajax -->
            </div>
        </div>
    </div>

    <div class="row">
        <div class="col-md-4">
            <div id="convMiseEnLigneDiv" class="" data-url="<?php echo $convMiseEnLigneUrl ?>">
                <!-- màj via ajax -->
            </div>
        </div>

        <div class="col-md-4">
            <div id="avenantConvMiseEnLigneDiv" class="" data-url="<?php echo $avenantConvMiseEnLigneUrl ?>">
                <!-- màj via ajax -->
            </div>
        </div>
    </div>
<?php endif ?>


<script>
    $(function () {
        var self = this;

        var loaderFactory = function (divName) {
            return function (done, effect) {
                return function () {
                    $("#" + divName).addClass("loading").refresh(null, function () {
                        $(this).removeClass("loading").show();
                        if (done) done();
                    });
                };
            };
        };

        var pvSoutenanceLoader = loaderFactory("pvSoutenanceDiv");
        var rapportSoutenanceLoader = loaderFactory("rapportSoutenanceDiv");
        var preRapportSoutenanceLoader = loaderFactory("preRapportSoutenanceDiv");

        var demandeConfidentLoader = loaderFactory("demandeConfidentDiv");
        var prolongConfidentLoader = loaderFactory("prolongConfidentDiv");
        var convMiseEnLigneLoader = loaderFactory("convMiseEnLigneDiv");
        var avenantConvMiseEnLigneLoader = loaderFactory("avenantConvMiseEnLigneDiv");

        // Au chargement de la page, on actualise les div
        runInCascade([
            pvSoutenanceLoader,
            preRapportSoutenanceLoader,
            rapportSoutenanceLoader,
            demandeConfidentLoader,
            prolongConfidentLoader,
            convMiseEnLigneLoader,
            avenantConvMiseEnLigneLoader
        ], self);
    });
</script>
 No newline at end of file
+1 −77
Original line number Diff line number Diff line
@@ -17,13 +17,6 @@ use Application\View\Renderer\PhpRenderer;
 * @var These        $these
 * @var string       $modifierPersopassUrl
 * @var bool         $estDoctorant
 * @var string       $pvSoutenanceUrl
 * @var string       $rapportSoutenanceUrl
 * @var string       $preRapportSoutenanceUrl
 * @var string       $demandeConfidentUrl
 * @var string       $prolongConfidentUrl
 * @var string       $convMiseEnLigneUrl
 * @var string       $avenantConvMiseEnLigneUrl
 * @var string       $modifierCorrecAutorUrl
 * @var string       $nextStepUrl
 * @var string       $mailContact
@@ -379,59 +372,6 @@ $financementFormatter->setDisplayAs(FinancementFormatter::DISPLAY_AS_LINE);
</div>


<!-------------------------------------- Fichiers divers --------------------------------------->

<?php if ($this->isAllowed($these, ThesePrivileges::FICHIER_DIVERS_CONSULTER)): ?>
    <div class="row">
        <div class="col-md-4">
            <div id="pvSoutenanceDiv" class="" data-url="<?php echo $pvSoutenanceUrl ?>">
                <!-- màj via ajax -->
            </div>
        </div>

        <div class="col-md-4">
            <div id="preRapportSoutenanceDiv" class="" data-url="<?php echo $preRapportSoutenanceUrl ?>">
                <!-- màj via ajax -->
            </div>
        </div>

        <div class="col-md-4">
            <div id="rapportSoutenanceDiv" class="" data-url="<?php echo $rapportSoutenanceUrl ?>">
                <!-- màj via ajax -->
            </div>
        </div>
    </div>

    <div class="row">
        <div class="col-md-4">
            <div id="demandeConfidentDiv" class="" data-url="<?php echo $demandeConfidentUrl ?>">
                <!-- màj via ajax -->
            </div>
        </div>

        <div class="col-md-4">
            <div id="prolongConfidentDiv" class="" data-url="<?php echo $prolongConfidentUrl ?>">
                <!-- màj via ajax -->
            </div>
        </div>
    </div>

    <div class="row">
        <div class="col-md-4">
            <div id="convMiseEnLigneDiv" class="" data-url="<?php echo $convMiseEnLigneUrl ?>">
                <!-- màj via ajax -->
            </div>
        </div>

        <div class="col-md-4">
            <div id="avenantConvMiseEnLigneDiv" class="" data-url="<?php echo $avenantConvMiseEnLigneUrl ?>">
                <!-- màj via ajax -->
            </div>
        </div>
    </div>
<?php endif ?>


<!-------------------------------------- Next step --------------------------------------->
<div id="nextStepDiv" data-url="<?php echo $nextStepUrl ?>" style="display: none">
    <!-- màj via ajax -->
@@ -454,27 +394,11 @@ $financementFormatter->setDisplayAs(FinancementFormatter::DISPLAY_AS_LINE);
            };
        };

        var pvSoutenanceLoader = loaderFactory("pvSoutenanceDiv");
        var rapportSoutenanceLoader = loaderFactory("rapportSoutenanceDiv");
        var preRapportSoutenanceLoader = loaderFactory("preRapportSoutenanceDiv");

        var demandeConfidentLoader = loaderFactory("demandeConfidentDiv");
        var prolongConfidentLoader = loaderFactory("prolongConfidentDiv");
        var convMiseEnLigneLoader = loaderFactory("convMiseEnLigneDiv");
        var avenantConvMiseEnLigneLoader = loaderFactory("avenantConvMiseEnLigneDiv");

        var refreshingNextStep = loaderFactory("nextStepDiv");

        // Au chargement de la page, on actualise les div
        runInCascade([
            pvSoutenanceLoader,
            preRapportSoutenanceLoader,
            rapportSoutenanceLoader,
            refreshingNextStep,
            demandeConfidentLoader,
            prolongConfidentLoader,
            convMiseEnLigneLoader,
            avenantConvMiseEnLigneLoader,
            refreshingNextStep
        ], self);

        body.one("<?php echo $persopassModifiedEvent ?>", function (event, data) {