Commit 8ec224c5 authored by Bertrand Gauthier's avatar Bertrand Gauthier
Browse files

Merge branch 'fix_validation_cines' into release-2.1.5

parents f9f40a26 b02a3250
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -5,6 +5,8 @@ Journal des modifications
-----
- Recherche textuelle de thèses : rétablissement du cochage par défaut de tous les critères.
- Résolution du problème de plantage lorsque le flux des actualités est erroné.
- Validation des corrections desormais réalisée par le président du jury.
- Interface de gestion des comptes locaux pour les présidents de jury.

2.1.4
-----
+28 −10
Original line number Diff line number Diff line
#!/bin/bash

##########################################################################################
##################################################################################################
#
#       Script d'appel du web service proposé par le site facile.cines.fr du CINES.
##########################################################################################
#
##################################################################################################
#
# Arguments :
#   1/ le chemin vers le fichier à valider, OBLIGATOIRE.
#   2/ l'URL du web service, FACULTATIF ("https://facile.cines.fr/xml", par défaut).
##########################################################################################
#   -f|--file    : chemin vers le fichier à valider, OBLIGATOIRE.
#   -u|--url     : URL du web service, FACULTATIF, "https://facile.cines.fr/xml", par défaut.
#   -m|--maxtime : temps max d'exécution.
#   -t|--timeout : temps max de connexion.
#
##################################################################################################

DEFAULT_URL="https://facile.cines.fr/xml"

ARGS=`getopt -o "f:u:m:" -l "file:,url:,maxtime:" -n "getopt.sh" -- "$@"`
ARGS=`getopt -o "f:u:m:t:" -l "file:,url:,maxtime:,timeout:" -n "getopt.sh" -- "$@"`
if [ $? -ne 0 ];
then
  exit 1
@@ -40,6 +46,13 @@ do
      fi
      shift 2;;

    -t|--timeout)
    #---------------
      if [ -n "$2" ]; then
        timeout=$2
      fi
      shift 2;;

    --)
      shift
      break;;
@@ -54,14 +67,19 @@ fi
if [ ! "$url" ]; then
    url="$DEFAULT_URL"
fi
maxtime=""
if [ -n "$maxtime" ]; then
    maxtime="--max-time $maxtime"
fi
if [ -n "$timeout" ]; then
    timeout="--connect-timeout $timeout"
fi

# "-k"             : désactive la vérification du certificat SSL
# "--max-time 600" : spécifie un temps maximum d'exécution de 5 minutes
# Options de curl :
#   --insecure           : pas de vérification du certificat SSL, https://curl.se/docs/manpage.html#-k
#   --max-time 60        : temps max d'exécution d'1 minute, https://curl.se/docs/manpage.html#-m
#   --connect-timeout 10 : temps max de connexion de 10 secondes, https://curl.se/docs/manpage.html#--connect-timeout
#   --silent             : https://curl.se/docs/manpage.html#-s

#curl --silent --connect-timeout 10 --form file="@$file" $host
#curl --max-time 360 --form file="@$1" $host
curl $maxtime --form file="@$file" $url
 No newline at end of file
curl $maxtime $timeout --form file="@$file" $url
+5 −0
Original line number Diff line number Diff line
@@ -16,6 +16,11 @@ return [
        'archivabilite' => [
            'check_ws_script_path' => __DIR__ . '/../../bin/from_cines/check_webservice_response.sh',
            'script_path'          => __DIR__ . '/../../bin/validation_cines.sh',
            'proxy' => [
                'enable' => false,
                //'proxy_host' => 'http://proxy.unicaen.fr',
                //'proxy_port' => 3128,
            ],
        ],
        // Options pour le retraitement des fichiers PDF
        'retraitement' => [
+22 −1
Original line number Diff line number Diff line
@@ -15,4 +15,25 @@ git fetch --tags && git checkout --force 2.1.5 && bash ./install.sh

## 2. Dans la base de données

NOP
 No newline at end of file
```sql
insert into CATEGORIE_PRIVILEGE (ID, CODE, LIBELLE, ORDRE) VALUES
(CATEGORIE_PRIVILEGE_ID_SEQ.nextval, 'gestion-president', 'Gestion des Présidents du jury', 22);

insert into PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES
(PRIVILEGE_ID_SEQ.nextval, CATEGORIE_PRIVILEGE_ID_SEQ.currval, 'gestion-president', 'Affichage de la gestion des Présidents du jury',10);
insert into PROFIL_PRIVILEGE (PROFIL_ID, PRIVILEGE_ID) VALUES (6, PRIVILEGE_ID_SEQ.currval); -- ADMIN TECH
insert into PROFIL_PRIVILEGE (PROFIL_ID, PRIVILEGE_ID) VALUES (4, PRIVILEGE_ID_SEQ.currval); -- MDD

insert into PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES
(PRIVILEGE_ID_SEQ.nextval, CATEGORIE_PRIVILEGE_ID_SEQ.currval, 'modifier-mail-president', 'Modification de l''email des Présidents du jury',20);
insert into PROFIL_PRIVILEGE (PROFIL_ID, PRIVILEGE_ID) VALUES (6, PRIVILEGE_ID_SEQ.currval); -- ADMIN TECH
insert into PROFIL_PRIVILEGE (PROFIL_ID, PRIVILEGE_ID) VALUES (4, PRIVILEGE_ID_SEQ.currval); -- MDD

insert into PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES
(PRIVILEGE_ID_SEQ.nextval, CATEGORIE_PRIVILEGE_ID_SEQ.currval, 'notifier-president', 'Notification des Présidents du jury',30);
insert into PROFIL_PRIVILEGE (PROFIL_ID, PRIVILEGE_ID) VALUES (6, PRIVILEGE_ID_SEQ.currval); -- ADMIN TECH
insert into PROFIL_PRIVILEGE (PROFIL_ID, PRIVILEGE_ID) VALUES (4, PRIVILEGE_ID_SEQ.currval); -- MDD

INSERT INTO SOUTENANCE_PROPOSITION (ID, THESE_ID, DATEPREV, LIEU, RENDU_RAPPORT, CONFIDENTIALITE, LABEL_EUROPEEN, MANUSCRIT_ANGLAIS, SOUTENANCE_ANGLAIS, HUIT_CLOS, EXTERIEUR, NOUVEAU_TITRE, ETAT_ID, SURSIS, ADRESSE_EXACTE, HISTO_CREATION, HISTO_CREATEUR_ID, HISTO_MODIFICATION, HISTO_MODIFICATEUR_ID, HISTO_DESTRUCTION, HISTO_DESTRUCTEUR_ID) VALUES (0, 23581, null, '---', null, null, 0, 0, 0, 0, 0, null, 3, null, null, TO_DATE('2021-01-27 16:32:51', 'YYYY-MM-DD HH24:MI:SS'), 1, TO_DATE('2021-01-27 16:32:53', 'YYYY-MM-DD HH24:MI:SS'), 1, TO_DATE('2021-01-27 16:32:59', 'YYYY-MM-DD HH24:MI:SS'), 1);

``
 No newline at end of file
+138 −0
Original line number Diff line number Diff line
<?php

namespace Application;

use Application\Controller\CoEncadrantController;
use Application\Controller\Factory\PresidentJuryControllerFactory;
use Application\Controller\PresidentJuryController;
use Application\Form\AdresseMail\AdresseMailForm;
use Application\Form\AdresseMail\AdresseMailFormFactory;
use Application\Form\AdresseMail\AdresseMailHydrator;
use Application\Provider\Privilege\PresidentJuryPrivileges;
use UnicaenAuth\Guard\PrivilegeController;
use Zend\Router\Http\Literal;
use Zend\Router\Http\Segment;

return [
    'bjyauthorize'    => [
        'guards' => [
            PrivilegeController::class => [
                [
                    'controller' => PresidentJuryController::class,
                    'action'     => [
                        'index',
                    ],
                    'privileges' => [
                        PresidentJuryPrivileges::PRESIDENT_GESTION
                    ],
                ],
                [
                    'controller' => PresidentJuryController::class,
                    'action'     => [
                        'ajouter-mail',
                        'supprimer-mail',
                    ],
                    'privileges' => [
                        PresidentJuryPrivileges::PRESIDENT_MODIFIER_MAIL,
                    ],
                ],
                [
                    'controller' => PresidentJuryController::class,
                    'action'     => [
                        'notifier-correction',
                    ],
                    'privileges' => [
                        PresidentJuryPrivileges::PRESIDENT_NOTIFIER,
                    ],
                ],
            ],
        ],
    ],

    'router'          => [
        'routes' => [
            'president-jury' => [
                'type'          => Literal::class,
                'options'       => [
                    'route'    => '/president-jury',
                    'defaults' => [
                        'controller'    => PresidentJuryController::class,
                        'action'        => 'index',
                    ],
                ],
                'may_terminate' => true,
                'child_routes'  => [
                    'notifier-correction' => [
                        'type'          => Segment::class,
                        'options'       => [
                            'route'    => '/notifier-correction/:president',
                            'defaults' => [
                                'controller'    => PresidentJuryController::class,
                                'action'        => 'notifier-correction',
                            ],
                        ],
                    ],
                    'ajouter-mail' => [
                        'type'          => Segment::class,
                        'options'       => [
                            'route'    => '/ajouter-mail/:president',
                            'defaults' => [
                                'controller'    => PresidentJuryController::class,
                                'action'        => 'ajouter-mail',
                            ],
                        ],
                    ],
                    'supprimer-mail' => [
                        'type'          => Segment::class,
                        'options'       => [
                            'route'    => '/supprimer-mail/:president',
                            'defaults' => [
                                'controller'    => PresidentJuryController::class,
                                'action'        => 'supprimer-mail',
                            ],
                        ],
                    ],
                ],
            ],
        ],
    ],

    'navigation'      => [
        'default' => [
            'home' => [
                'pages' => [
                    'admin' => [
                        'pages' => [
                            'president-jury' => [
                                'label'    => 'Présidents du jury',
                                'route'    => 'president-jury',
                                'resource' => PrivilegeController::getResourceId(CoEncadrantController::class, 'index'),
                                'order'    => 1100,
                            ],
                        ],
                    ],
                ],
            ],
        ],
    ],

    'controllers' => [
        'factories' => [
            PresidentJuryController::class => PresidentJuryControllerFactory::class,
        ],
    ],
    'form_elements' => [
        'factories' => [
            AdresseMailForm::class => AdresseMailFormFactory::class,
        ],
    ],
    'hydrators' => [
        'invokables' => [
            AdresseMailHydrator::class => AdresseMailHydrator::class,
        ]
    ],
    'service_manager' => [
        'factories' => [
        ],
    ],
];
Loading