diff --git a/CHANGELOG.md b/CHANGELOG.md index 1eb7d641aa1b2cc013634cb7d90afae5350bf563..6611bbaafc75a8175e50ec37e486e3793eaf71d9 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,12 @@ CHANGELOG ========= -3.1.0 (29/01/2020) +3.1.1 (11/02/2021) +------------------ +- Possibilité d'afficher un diff d'import sans tenir compte du filtre global +- Ajout d'un filtre pour ne pas supprimer des données saisies dans OSE même si les données locales sont synchronisables + +3.1.0 (29/01/2021) ------------------ - L'opération de synchro peut maintenant gérer le changement de source d'une donnée (SOURCE_ID qui change). - Si la colonne ID est fournie dans la vue source, alors cette dernière est utilisée pour faire la jointure avec la table diff --git a/src/UnicaenImport/Service/DifferentielService.php b/src/UnicaenImport/Service/DifferentielService.php index a68369b6b2fa7c1a6e963b4bd2d2671fb05b2504..4c08b1423d0c0234f6dba8a66f3273982775bd47 100644 --- a/src/UnicaenImport/Service/DifferentielService.php +++ b/src/UnicaenImport/Service/DifferentielService.php @@ -40,10 +40,12 @@ class DifferentielService extends AbstractService * * @return self */ - public function make(Query $query, $mode = Query::SQL_PARTIAL) + public function make(Query $query, $mode = Query::SQL_PARTIAL, bool $noDefaultSyncFiltre=false) { $this->tableName = $query->getTableName(); - $query->addDefaultSyncFiltre($this->getServiceQueryGenerator()); + if (!$noDefaultSyncFiltre) { + $query->addDefaultSyncFiltre($this->getServiceQueryGenerator()); + } $this->stmt = $this->getEntityManager()->getConnection()->executeQuery($query->toSql($mode), []); return $this; diff --git a/src/UnicaenImport/Service/QueryGeneratorService.php b/src/UnicaenImport/Service/QueryGeneratorService.php index 91ffd3c76b342ee3d447a1415c3aaf520350a7af..f2f5c769f0f6906b17ff429666c1ea7c13556f44 100644 --- a/src/UnicaenImport/Service/QueryGeneratorService.php +++ b/src/UnicaenImport/Service/QueryGeneratorService.php @@ -527,6 +527,8 @@ WHERE ) diff JOIN source on source.id = diff.source_id WHERE import_action IS NOT NULL"; if (!$table->getSyncNonImportables()) { $sql .= " AND source.importable = 1"; + }else{ + $sql .= " AND NOT (source.importable = 0 AND import_action='delete')"; } return $sql;