Skip to content
Snippets Groups Projects
Commit cdeb6a66 authored by Bertrand Gauthier's avatar Bertrand Gauthier
Browse files

Merge branch 'release-1.2.5'

parents fb77bb3e 23aed282
No related branches found
No related tags found
No related merge requests found
Pipeline #5435 failed
Journal des modifications
=========================
1.2.5 (04/10/2019)
------------------
### Améliorations
- Ligne de commande d'import : nouvel argument --verbose pour obtenir plus de logs.
1.2.4 (27/09/2019)
------------------
......
Doxyfile 0 → 100644
This diff is collapsed.
......@@ -2,9 +2,9 @@
return [
'unicaen-app' => [
'app_infos' => [
'version' => '1.2.4',
'date' => '27/09/2019',
'version' => '1.2.5',
'date' => '04/10/2019',
],
],
'comment' => 'Fichier généré le 27/09/2019 à 10:25:28 avec /home/metivier/MyWeb/sygal/bump-version',
'comment' => 'Fichier généré le 04/10/2019 à 16:27:10 avec /home/gauthierb/workspace/sygal/bump-version',
];
# Version 1.2.5
## 1. Sur le serveur d'application
- Placez-vous dans le répertoire de l'application puis lancez la commande suivante
pour installer la nouvelle version :
```bash
git fetch --tags && git checkout --force 1.2.5 && \
bash ./install.sh
```
- Selon le moteur PHP que vous avez installé, rechargez le service, exemple :
- php7.0-fpm : `service php7.0-fpm reload`
- apache2-mod-php7.0 : `service apache2 reload`
## 2. Dans la base de données
Néant.
......@@ -40,20 +40,22 @@ class Module
{
return [
// command
'import --service= --etablissement= [--source-code=] [--synchronize=] [--em=]' => "Importer toutes les données d'un service d'un établissement.",
'import --service= --etablissement= [--source-code=] [--synchronize=] [--verbose] [--em=]' => "Importer toutes les données d'un service d'un établissement.",
// parameters
['--service', "Requis. Identifiant du service, ex: 'variable'"],
['--etablissement', "Requis. Identifiant de l'établissement, ex: 'UCN'"],
['--source-code', "Facultatif. Source code du seul enregistrement à importer"],
['--synchronize', "Facultatif. Réaliser ou non la synchro SRC_XXX => XXX. Valeurs possibles: 0, 1. Valeur par défaut: 1."],
['--verbose', "Facultatif. Activer les logs verbeux (debug)."],
['--em', "Facultatif. Nom de l'EntityManager à utiliser. Valeur par défaut: 'orm_default'."],
// command
'import-all --etablissement= [--synchronize=] [--em=]' => "Importer toutes les données de tous les serviceq d'un établissement.",
'import-all --etablissement= [--synchronize=] [--verbose] [--em=]' => "Importer toutes les données de tous les serviceq d'un établissement.",
// parameters
['--etablissement', "Requis. Identifiant de l'établissement, ex: 'UCN'"],
['--breakOnServiceNotFound', "Facultatif. Faut-il stopper si un service appelé n'existe pas. Valeurs possibles: 0, 1. Valeur par défaut: 1."],
['--synchronize', "Facultatif. Réaliser ou non la synchro SRC_XXX => XXX. Valeurs possibles: 0, 1. Valeur par défaut: 1."],
['--verbose', "Facultatif. Activer les logs verbeux (debug)."],
['--em', "Facultatif. Nom de l'EntityManager à utiliser. Valeur par défaut: 'orm_default'."],
// command
......
......@@ -67,7 +67,7 @@ return [
'import-console' => [
'type' => Simple::class,
'options' => [
'route' => 'import --service= --etablissement= [--source-code=] [--synchronize=] [--em=]',
'route' => 'import --service= --etablissement= [--source-code=] [--synchronize=] [--verbose] [--em=]',
'defaults' => [
'controller' => Import\Controller\ImportController::class,
'action' => 'import-console',
......@@ -77,7 +77,7 @@ return [
'import-all-console' => [
'type' => Simple::class,
'options' => [
'route' => 'import-all --etablissement= [--breakOnServiceNotFound=] [--synchronize=] [--em=]',
'route' => 'import-all --etablissement= [--breakOnServiceNotFound=] [--synchronize=] [--verbose] [--em=]',
'defaults' => [
'controller' => Import\Controller\ImportController::class,
'action' => 'import-all-console',
......
......@@ -132,19 +132,21 @@ class ImportController extends AbstractActionController
* avec les tables destinations.
*
* @return ViewModel
* @throws StructureNotFoundException
*/
public function importAction()
{
$service = $this->params('service');
$codeStructure = $this->params('etablissement'); // ex: 'UCN'
$sourceCode = $this->params('source_code');
$verbose = (bool) $this->params('verbose', 0);
$queryParams = $this->params()->fromQuery();
$etablissement = $this->fetchEtablissementByCodeStructure($codeStructure);
$stream = fopen('php://memory','r+');
$this->setLoggerStream($stream);
$this->setLoggerStream($stream, $verbose);
$this->importService->import($service, $etablissement, $sourceCode, $queryParams);
......@@ -165,15 +167,17 @@ class ImportController extends AbstractActionController
* des données obtenues avec les tables destinations.
*
* @return ViewModel
* @throws StructureNotFoundException
*/
public function importAllAction()
{
$codeStructure = $this->params('etablissement'); // ex: 'UCN'
$verbose = (bool) $this->params('verbose', 0);
$etablissement = $this->fetchEtablissementByCodeStructure($codeStructure);
$stream = fopen('php://memory','r+');
$this->setLoggerStream($stream);
$this->setLoggerStream($stream, $verbose);
$this->importService->importAll($etablissement);
......@@ -196,6 +200,7 @@ class ImportController extends AbstractActionController
{
$codeEtablissement = $this->params('etablissement');
$sourceCodeThese = $this->params('source_code');
$verbose = (bool) $this->params('verbose', 0);
if (! $sourceCodeThese) {
throw new LogicException("Le source code de la thèse est requis");
......@@ -210,7 +215,7 @@ class ImportController extends AbstractActionController
}
$stream = fopen('php://memory','r+');
$this->setLoggerStream($stream);
$this->setLoggerStream($stream, $verbose);
$this->importService->updateThese($these);
......@@ -226,6 +231,9 @@ class ImportController extends AbstractActionController
]);
}
/**
* @throws StructureNotFoundException
*/
public function importConsoleAction()
{
$service = $this->params('service');
......@@ -233,8 +241,9 @@ class ImportController extends AbstractActionController
$sourceCode = $this->params('source-code');
$synchronize = (bool) $this->params('synchronize', 1);
$emName = $this->params('em', 'orm_default');
$verbose = (bool) $this->params('verbose', 0);
$this->setLoggerStream('php://output');
$this->setLoggerStream('php://output', $verbose);
$etablissement = $this->fetchEtablissementByCodeStructure($codeStructure);
......@@ -254,16 +263,20 @@ class ImportController extends AbstractActionController
) . PHP_EOL;
}
/**
* @throws StructureNotFoundException
*/
public function importAllConsoleAction()
{
$codeStructure = $this->params('etablissement'); // ex: 'UCN'
$breakOnServiceNotFound = (bool) $this->params('breakOnServiceNotFound', 1);
$synchronize = (bool) $this->params('synchronize', 1);
$emName = $this->params('em', 'orm_default');
$verbose = (bool) $this->params('verbose', 0);
$etablissement = $this->fetchEtablissementByCodeStructure($codeStructure);
$this->setLoggerStream('php://output');
$this->setLoggerStream('php://output', $verbose);
/** @var EntityManager $entityManager */
$entityManager = $this->getServiceLocator()->get("doctrine.entitymanager.$emName");
......@@ -282,10 +295,11 @@ class ImportController extends AbstractActionController
/**
* @param string|resource $stream
* @param bool $verbose
*/
private function setLoggerStream($stream)
private function setLoggerStream($stream, $verbose = false)
{
$filter = new Priority(Logger::INFO);
$filter = new Priority($verbose ? Logger::DEBUG : Logger::INFO);
$writer = new Stream($stream);
$writer->addFilter($filter);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment