Commit 583527a2 authored by Bertrand Gauthier's avatar Bertrand Gauthier
Browse files

Merge branch 'release-1.2.1'

parents 973fe92f d27397e8
Loading
Loading
Loading
Loading
Loading
+20 −0
Original line number Diff line number Diff line
Journal des modifications
=========================

1.2.1 ()
------------------

### Ajout

- Nouvelle page consacrée au dépôt de fichiers divers liés à une thèse (précédemment dans la page "Thèse").
- Possibilité de déposer des fichiers dits "communs" utiles aux gestionnaires, ex: modèle d'avenant à la convention 
  de mise en ligne.

### Améliorations

- Améliorations de la page "Privilèges", notamment le filtrage par rôle. 
- Déplacement des privilèges de la catégorie `fichier-divers` vers la catégorie `these`
  car ils concernent des fichiers liés à une thèse (ex: PV de soutenance).
  La catégorie `fichier-divers` désigne désormais les privilèges concernant des fichiers sans lien aux
  thèses (ex: fichiers déposés pour les pages d'informations).
- Refonte technique de la gestion des fichiers liés aux pages d'informations, prélable au travail sur les droits de 
  dépôt de fichiers "divers" et "communs".


1.2.0 (10/07/2019)
------------------

+3 −2
Original line number Diff line number Diff line
@@ -28,8 +28,9 @@ RUN ln -sf /dev/stderr /var/log/apache2/error.log
ADD docker/apache-ports.conf     ${APACHE_CONF_DIR}/ports.conf
ADD docker/apache-site.conf      ${APACHE_CONF_DIR}/sites-available/app.conf
ADD docker/apache-site-ssl.conf  ${APACHE_CONF_DIR}/sites-available/app-ssl.conf
ADD docker/fpm/pool.d/www.conf   ${PHP_CONF_DIR}/fpm/pool.d/
ADD docker/fpm/conf.d/99-app.ini ${PHP_CONF_DIR}/fpm/conf.d/
ADD docker/php/fpm/pool.d/www.conf   ${PHP_CONF_DIR}/fpm/pool.d/
ADD docker/php/fpm/conf.d/99-app.ini ${PHP_CONF_DIR}/fpm/conf.d/
ADD docker/php/cli/conf.d/99-app.ini ${PHP_CONF_DIR}/cli/conf.d/

# Copie des scripts complémentaires à lancer au démarrage du container
COPY docker/entrypoint.d/* /entrypoint.d/
+2 −2
Original line number Diff line number Diff line
@@ -7,7 +7,7 @@

use Application\Entity\Db\Fichier;
use Application\Entity\Db\NatureFichier;
use Application\Filter\NomFichierFormatter;
use Application\Filter\NomFichierTheseFormatter;
use Application\Service\Fichier\FichierService;
use Application\Service\FichierThese\FichierTheseService;
use Application\Service\File\FileService;
@@ -40,7 +40,7 @@ $qb
/** @var Fichier[] $fichiers */
$fichiers = $qb/*->setMaxResults(50)*/->getQuery()->getResult();

$nomFichierFormatter = new NomFichierFormatter();
$nomFichierFormatter = new NomFichierTheseFormatter();

$updatedFichiers = [];
foreach ($fichiers as $fichier) {
+3 −3
Original line number Diff line number Diff line
@@ -2,9 +2,9 @@
return [
    'unicaen-app' => [
        'app_infos' => [
            'version' => '1.2.0',
            'date' => '10/07/2019',
            'version' => '1.2.1',
            'date' => '11/07/2019',
        ],
    ],
    'comment' => 'Fichier généré le 10/07/2019 à 15:21:25 avec /home/gauthierb/workspace/sygal/bump-version',
    'comment' => 'Fichier généré le 11/07/2019 à 16:32:53 avec /home/gauthierb/workspace/sygal/bump-version',
];
+89 −0
Original line number Diff line number Diff line

--
-- Nouvelle NATURE_FICHIER : 'Fichier divers'
--
insert into NATURE_FICHIER (ID, CODE, LIBELLE) values (NATURE_FICHIER_ID_SEQ.nextval, 'DIVERS', 'Fichier divers')
/
update NATURE_FICHIER set LIBELLE = 'Fichier non PDF joint à une thèse (ex: vidéo)' where CODE = 'FICHIER_NON_PDF'
/


--
-- FICHIER : élargissement de la colonne UUID
--
alter table FICHIER modify UUID VARCHAR2(60)
/


--
-- INFORMATION_FICHIER => FICHIER
--
insert into FICHIER (ID,
                     UUID,
                     NOM,
                     NOM_ORIGINAL,
                     TYPE_MIME,
                     TAILLE,
                     DESCRIPTION,
                     NATURE_ID,
                     VERSION_FICHIER_ID,
                     HISTO_CREATION,
                     HISTO_CREATEUR_ID,
                     HISTO_MODIFICATION,
                     HISTO_MODIFICATEUR_ID)
select FICHIER_ID_SEQ.nextval,
       if.FILENAME as UUID,
       if.FILENAME as NOM,         -- TODO: normaliser ultérieurement pour garantir l'unicité
       if.NOM as NOM_ORIGINAL,
       'application/octet-stream', -- TODO: corriger ultérieurement
       0,                          -- TODO: corriger ultérieurement
       if.NOM as DESCRIPTION,
       nf.ID,
       vf.ID,
       if.CREATION,
       if.CREATEUR,
       if.CREATION,
       if.CREATEUR
from INFORMATION_FICHIER if
         join VERSION_FICHIER vf on vf.CODE = 'VO'
         join NATURE_FICHIER nf on nf.CODE = 'DIVERS'
/
alter table INFORMATION_FICHIER rename to INFORMATION_FICHIER_SAV
/


--
-- INFORMATION : correction des ID de fichiers dans les URL.
--
CREATE OR REPLACE Function new_contenu(information_id in number)
    RETURN clob
    is
    vcontenu clob;
    cursor cur is
        select inf.id as from_id, f.id as to_id
        from INFORMATION_FICHIER_SAV inf
                 join fichier f on f.UUID = inf.FILENAME;
begin
    select contenu into vcontenu from INFORMATION where id = information_id;
    FOR row in cur
        LOOP
            vcontenu := replace(vcontenu, '/fichiers/telecharger/'||row.from_id, '/fichiers/telecharger/'||row.to_id);
        END LOOP;
    return vcontenu;
end;
/
create table information_new as
    select id, contenu, new_contenu(id) new_contenu
    from INFORMATION
/
declare
    cursor cur is select * from information_new;
begin
    FOR r in cur
        LOOP
            update INFORMATION set contenu = r.new_contenu where id = r.id;
        END LOOP;
end;
/
drop table information_new
/
Loading