Commit d0358722 authored by Cyril Vazquez's avatar Cyril Vazquez

Merge branch 'hotfix/8076-archiveActions' into 'master'

Hotfix/8076 archive actions

See merge request !99
parents 57b83ff6 4ce245e4
......@@ -41,7 +41,6 @@ INSERT INTO "auth"."privilege"("roleId", "userStory") VALUES
('UTILISATEUR', 'archiveRetrieval/*'),
('UTILISATEUR', 'archiveDeposit/*'),
('UTILISATEUR', 'archiveManagement/modify'),
('UTILISATEUR', 'archiveManagement/retrieve'),
('UTILISATEUR', 'archiveManagement/filePlan');
......
# Modification configuration 2.1 => 2.2
# Migration 2.1 => 2.2
Pour toutes les modifications ci-dessous, merci de vous référer à la documentation **AVANT tout changement** pour plus de détails'.
## CSRF
## Exploitation
Suppression de la dépendance CSRF dans le fichier **vhost.conf** et ajout de la configuration suivante :
Les clés des comptes de service doivent être réinitialisées
## Virtual host
Suppression de la dépendance CSRF dans le fichier **vhost.conf**
## SQL
Voir le fichier spécifique
laabs/data/maarchRM/sql/pgsql/migrationV2.1_V2.2.sql
## Configuration
Les modifications de configuration font référence au fichier **configuration.ini**
### CSRF
Ajout de la configuration suivante :
csrfWhiteList = "['user/login']"
csrfConfig = '{
......@@ -14,7 +33,7 @@ Suppression de la dépendance CSRF dans le fichier **vhost.conf** et ajout de la
[Documentation](https://labs.maarch.org/maarch/maarchRM.doc/blob/b5ff8d2a3c3ad5669eeb01b0ec56f33184ee474e/conf/csrf.md)
## Customisation CSS
### Customisation CSS
L'ajout de la customisation CSS permet d'utiliser une feuille de style personnalisable.
......@@ -22,7 +41,7 @@ L'ajout de la customisation CSS permet d'utiliser une feuille de style personnal
[Documentation](https://labs.maarch.org/maarch/maarchRM.doc/blob/b5ff8d2a3c3ad5669eeb01b0ec56f33184ee474e/conf/customisation.md)
## Gestion des répertoires de log
### Gestion des répertoires de log
Les répertoires des logs sont personnalisables depuis la 2.2.
......@@ -43,7 +62,7 @@ Les répertoires des logs sont personnalisables depuis la 2.2.
[Documentation](https://labs.maarch.org/maarch/maarchRM.doc/blob/b5ff8d2a3c3ad5669eeb01b0ec56f33184ee474e/conf/log_filePlan_path.md)
## Rôle d'organisation
### Rôle d'organisation
Les rôles d'organisation ont été déplacés de la base de données vers la configuration.
......@@ -57,7 +76,7 @@ Les rôles d'organisation ont été déplacés de la base de données vers la co
[Documentation](https://labs.maarch.org/maarch/maarchRM.doc/blob/b5ff8d2a3c3ad5669eeb01b0ec56f33184ee474e/conf/organization_roles.md)
## Ajout d'une nouvelle tâche planifiée
### Ajout d'une nouvelle tâche planifiée
Une tâche se prénommant "Mise à jour de la durée d'utilité administrative" a été ajoutée.
......@@ -106,7 +125,7 @@ De ce fait, il faut ajouter le privilège :
}
]"
et la tâche :
et toutes les tâches :
[batchProcessing]
tasks = "[
......
......@@ -235,7 +235,6 @@ trait archiveModificationTrait
if (!is_array($archiveIds)) {
$archiveIds = array($archiveIds);
}
$res = $this->setStatus($archiveIds, 'frozen');
$archives = array();
......@@ -243,12 +242,20 @@ trait archiveModificationTrait
$archive = $this->getDescription($archiveId);
$this->checkRights($archive);
$operationResult = true;
$archives[$archiveId] = $archive;
}
$res = $this->setStatus($archiveIds, 'frozen');
$archives[] = $archive;
// Life cycle journal
$this->logFreeze($archive, $operationResult);
for ($i = 0, $count = count($res['success']); $i < $count; $i++) {
$archive = $archives[$res['success'][$i]];
$this->logFreeze($archive, true);
}
for ($i = 0, $count = count($res['error']); $i < $count; $i++) {
$archive = $archives[$res['error'][$i]];
$this->logFreeze($archive, false);
}
return $res;
......@@ -265,19 +272,27 @@ trait archiveModificationTrait
if (!is_array($archiveIds)) {
$archiveIds = array($archiveIds);
}
$res = $this->setStatus($archiveIds, 'preserved');
$archives = array();
foreach ($archiveIds as $archiveId) {
$archive = $this->getDescription($archiveId);
$this->checkRights($archive);
$operationResult = true;
$archives[$archiveId] = $archive;
}
$res = $this->setStatus($archiveIds, 'preserved');
$archives[] = $archive;
for ($i = 0, $count = count($res['success']); $i < $count; $i++) {
$archive = $archives[$res['success'][$i]];
$this->logUnfreeze($archive, true);
}
// Life cycle journal
$this->logUnfreeze($archive, $operationResult);
for ($i = 0, $count = count($res['error']); $i < $count; $i++) {
$archive = $archives[$res['error'][$i]];
$this->logUnfreeze($archive, false);
}
return $res;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment