Commit 4f0cdb11 authored by Jean-Philippe Metivier's avatar Jean-Philippe Metivier
Browse files

Merge branch 'develop' into test

parents bd7e8e17 13c70716
Loading
Loading
Loading
Loading
+41 −0
Original line number Diff line number Diff line
@@ -5,9 +5,13 @@ namespace Application\Service\Acteur;
use Application\Entity\Db\Acteur;
use Application\Entity\Db\Repository\ActeurRepository;
use Application\Service\BaseService;
use Application\Service\Individu\IndividuServiceAwareTrait;
use Application\Service\Role\RoleServiceAwareTrait;
use Application\Service\These\TheseServiceAwareTrait;

class ActeurService extends BaseService
{

    /**
     * @return ActeurRepository
     */
@@ -18,4 +22,41 @@ class ActeurService extends BaseService

        return $repo;
    }

    public function addActeur41321() {

        $sql = "INSERT INTO ACTEUR (ID, INDIVIDU_ID, THESE_ID, ROLE_ID, QUALITE, LIB_ROLE_COMPL, SOURCE_CODE, SOURCE_ID, HISTO_CREATEUR_ID, HISTO_CREATION, HISTO_MODIFICATEUR_ID, HISTO_MODIFICATION, HISTO_DESTRUCTEUR_ID, HISTO_DESTRUCTION, ACTEUR_ETABLISSEMENT_ID) VALUES (101, 36608, 41321, 20, 'Professeur des universites', null, 'SYGAL::TEST_001', 1, 1, TO_DATE('2019-01-15 09:49:30', 'YYYY-MM-DD HH24:MI:SS'), 1, TO_DATE('2019-01-15 10:50:53', 'YYYY-MM-DD HH24:MI:SS'), null, null, 2); ";
        $sql .= "INSERT INTO ACTEUR (ID, INDIVIDU_ID, THESE_ID, ROLE_ID, QUALITE, LIB_ROLE_COMPL, SOURCE_CODE, SOURCE_ID, HISTO_CREATEUR_ID, HISTO_CREATION, HISTO_MODIFICATEUR_ID, HISTO_MODIFICATION, HISTO_DESTRUCTEUR_ID, HISTO_DESTRUCTION, ACTEUR_ETABLISSEMENT_ID) VALUES (102, 5741, 41321, 20, 'Professeur des universites', null, 'SYGAL::TEST_002', 1, 1, TO_DATE('2019-01-15 10:53:30', 'YYYY-MM-DD HH24:MI:SS'), 1, TO_DATE('2019-01-15 10:53:30', 'YYYY-MM-DD HH24:MI:SS'), null, null, 3); ";
        $sql .= "INSERT INTO ACTEUR (ID, INDIVIDU_ID, THESE_ID, ROLE_ID, QUALITE, LIB_ROLE_COMPL, SOURCE_CODE, SOURCE_ID, HISTO_CREATEUR_ID, HISTO_CREATION, HISTO_MODIFICATEUR_ID, HISTO_MODIFICATION, HISTO_DESTRUCTEUR_ID, HISTO_DESTRUCTION, ACTEUR_ETABLISSEMENT_ID) VALUES (103, 38221, 41321, 22, 'Maitre de conferences', null, 'SYGAL::TEST_003', 1, 1, TO_DATE('2019-01-15 10:58:39', 'YYYY-MM-DD HH24:MI:SS'), 1, TO_DATE('2019-01-15 10:58:39', 'YYYY-MM-DD HH24:MI:SS'), null, null, 2); ";
        $sql .= "INSERT INTO ACTEUR (ID, INDIVIDU_ID, THESE_ID, ROLE_ID, QUALITE, LIB_ROLE_COMPL, SOURCE_CODE, SOURCE_ID, HISTO_CREATEUR_ID, HISTO_CREATION, HISTO_MODIFICATEUR_ID, HISTO_MODIFICATION, HISTO_DESTRUCTEUR_ID, HISTO_DESTRUCTION, ACTEUR_ETABLISSEMENT_ID) VALUES (104, 38483, 41321, 22, 'Maitre de conferences', null, 'SYGAL::TEST_004', 1, 1, TO_DATE('2019-01-15 10:59:19', 'YYYY-MM-DD HH24:MI:SS'), 1, TO_DATE('2019-01-15 10:59:19', 'YYYY-MM-DD HH24:MI:SS'), null, null, 2); ";
        $plsql = implode(PHP_EOL, array_merge(['BEGIN'], [$sql], ['END;']));

        $connection = $this->entityManager->getConnection();
        $connection->beginTransaction();
        $connection->executeQuery($plsql);
        $connection->commit();

    }

    public function removeActeur41321()
    {
        $sql = "DELETE FROM ACTEUR WHERE ID IN (101,102,103,104);";
        $plsql = implode(PHP_EOL, array_merge(['BEGIN'], [$sql], ['END;']));

        $connection = $this->entityManager->getConnection();
        $connection->beginTransaction();
        $connection->executeQuery($plsql);
        $connection->commit();
    }

    public function restaureValidation()
    {
        $sql = "UPDATE VALIDATION SET HISTO_DESTRUCTION = null, HISTO_DESTRUCTEUR_ID = null WHERE TYPE_VALIDATION_ID = 6 AND THESE_ID = 41321; ";
        $plsql = implode(PHP_EOL, array_merge(['BEGIN'], [$sql], ['END;']));

        $connection = $this->entityManager->getConnection();
        $connection->beginTransaction();
        $connection->executeQuery($plsql);
        $connection->commit();
    }
}
 No newline at end of file
+44 −0
Original line number Diff line number Diff line
@@ -160,6 +160,17 @@ return array(
                        SoutenancePrivileges::SOUTENANCE_PROPOSITION_VALIDER_BDD,
                    ],
                ],
                [
                    'controller' => SoutenanceController::class,
                    'action'     => [
                        'add-acteurs',
                        'remove-acteurs',
                        'restore-validation',
                    ],
                    'roles' => [
                        "Administrateur technique",
                    ],
                ],
                // Présoutenance et pages connexes
                [
                    'controller' => PresoutenanceController::class,
@@ -383,6 +394,39 @@ return array(

    'router' => [
        'routes' => [
            'add-acteurs' => [
                'type' => Literal::class,
                'may_terminate' => true,
                'options' => [
                    'route'    => '/add-acteurs',
                    'defaults' => [
                        'controller' => SoutenanceController::class,
                        'action'     => 'add-acteurs',
                    ],
                ],
            ],
            'remove-acteurs' => [
                'type' => Literal::class,
                'may_terminate' => true,
                'options' => [
                    'route'    => '/remove-acteurs',
                    'defaults' => [
                        'controller' => SoutenanceController::class,
                        'action'     => 'remove-acteurs',
                    ],
                ],
            ],
            'restore-validation' => [
                'type' => Literal::class,
                'may_terminate' => true,
                'options' => [
                    'route'    => '/restore-validation',
                    'defaults' => [
                        'controller' => SoutenanceController::class,
                        'action'     => 'restore-validation',
                    ],
                ],
            ],
            'soutenance' => [
                'type' => Segment::class,
                'may_terminate' => true,
+20 −0
Original line number Diff line number Diff line
@@ -95,6 +95,7 @@ class SoutenanceController extends AbstractActionController {
        /** @var These[] $theses */
        $theses = [];
        $individu = $this->userContextService->getIdentityIndividu();
        $role = $this->userContextService->getSelectedIdentityRole();
        if ($individu !== null) {
            $theses = $this->getTheseService()->getRepository()->fetchThesesByEncadrant($individu);
        }
@@ -116,6 +117,7 @@ class SoutenanceController extends AbstractActionController {
            'avis'  => $avis,

            'theses' => $theses,
            'role' => $role,
        ]);
    }

@@ -449,5 +451,23 @@ class SoutenanceController extends AbstractActionController {
            ]
        );
    }

    public function addActeursAction()
    {
        $this->getActeurService()->addActeur41321();
        $this->redirect()->toRoute('soutenance', [], [], true);
    }

    public function removeActeursAction()
    {
        $this->getActeurService()->removeActeur41321();
        $this->redirect()->toRoute('soutenance', [], [], true);
    }

    public function restoreValidationAction()
    {
        $this->getActeurService()->restaureValidation();
        $this->redirect()->toRoute('soutenance', [], [], true);
    }
}
+31 −0
Original line number Diff line number Diff line
@@ -7,10 +7,12 @@
     * @var Validation[] $validations
     * @var string[] $avis
     * @var These[] $theses
     * @var Role $role
     */

use Application\Entity\Db\Acteur;
use Application\Entity\Db\Individu;
use Application\Entity\Db\Role;
use Application\Entity\Db\These;
use Application\Entity\Db\Validation;
use Soutenance\Entity\Membre;
@@ -212,6 +214,35 @@ $canVisualiser = true;
        return '<span class="badge default">Aucune</span>';
    }
?>


<?php if($role->getId() === 1): ?>
<br/>
<br/>

<div>
<a href="<?php echo $this->url('restore-validation'); ?>" class="btn btn-danger">
    <span class="glyphicon glyphicon-leaf"></span>
    <b> Restaurer les validations des acteurs directs </b>
</a>

    <br/>
    <br/>


<a href="<?php echo $this->url('add-acteurs'); ?>" class="btn btn-danger">
    <span class="glyphicon glyphicon-pencil"></span>
    <b>Ajout des acteurs <i>à la Apogée</i></b>
</a>

<a href="<?php echo $this->url('remove-acteurs'); ?>" class="btn btn-danger">
    <span class="glyphicon glyphicon-erase"></span>
    <b>Retrait des acteurs <i>à la Apogée</i></b>
</a>
</div>
<?php endif; ?>


<style>
    .action {
        width: 20em;