From a0fac328b3ee946f181d719bcfee1297d7c969f2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Laurent=20L=C3=A9cluse?= <laurent.lecluse@unicaen.fr>
Date: Tue, 16 Feb 2021 10:00:36 +0100
Subject: [PATCH] =?UTF-8?q?-=20Par=20d=C3=A9faut,=20IntervenantProcessus->?=
 =?UTF-8?q?execMaj=20r=C3=A9utilise=20les=20filtres=20positionn=C3=A9s=20d?=
 =?UTF-8?q?ans=20la=20config=20des=20tables=20-=20Msg=20d'avertissement=20?=
 =?UTF-8?q?pour=20les=20OR=20sur=20les=20filtres?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 CHANGELOG.md                                    | 5 +++++
 src/UnicaenImport/Form/TableForm.php            | 3 ++-
 src/UnicaenImport/Processus/ImportProcessus.php | 6 +++++-
 3 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 6611bba..abe2ddf 100755
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,6 +1,11 @@
 CHANGELOG
 =========
 
+3.1.2 (16/02/2021)
+------------------
+- Par défaut, IntervenantProcessus->execMaj réutilise les filtres positionnés dans la config des tables
+- Msg d'avertissement pour les OR sur les filtres
+
 3.1.1 (11/02/2021)
 ------------------
 - Possibilité d'afficher un diff d'import sans tenir compte du filtre global
diff --git a/src/UnicaenImport/Form/TableForm.php b/src/UnicaenImport/Form/TableForm.php
index 9d285b2..4f54da4 100755
--- a/src/UnicaenImport/Form/TableForm.php
+++ b/src/UnicaenImport/Form/TableForm.php
@@ -41,7 +41,8 @@ class TableForm extends Form implements InputFilterProviderInterface
         $this->add([
             'name'    => 'syncFiltre',
             'options' => [
-                'label' => 'Filtre de synchronisation (SQL partiel)',
+                'label' => 'Filtre de synchronisation (SQL partiel) <div class="alert alert-warning" style="padding:2px;margin-bottom:1px;font-size:8pt">Attention : Si vous utilisez un filtre "OR", pensez bien à entourer l\'ensemble de votre expression avec des parenthèses, sans quoi le filtre provoquera des dysfonctionnements</div>',
+                'label_options' => ['disable_html_escape' => true],
             ],
             'attributes' => [
                 'id' => 'sync_filtre',
diff --git a/src/UnicaenImport/Processus/ImportProcessus.php b/src/UnicaenImport/Processus/ImportProcessus.php
index 19251ff..9d77056 100644
--- a/src/UnicaenImport/Processus/ImportProcessus.php
+++ b/src/UnicaenImport/Processus/ImportProcessus.php
@@ -55,15 +55,19 @@ class ImportProcessus
      * @param string      $name      Nom du champ à tester
      * @param string|null $value     Valeur de test du champ
      * @param string      $action    Action
+     * @param bool        $useSyncFiltre Utilisation ou non du filtre par défaut                              
      *
      * @retun self
      */
-    public function execMaj($tableName, $name, $value = null, $action = self::A_ALL)
+    public function execMaj($tableName, $name, $value = null, $action = self::A_ALL, ?bool $useSyncFiltre = true)
     {
         if ('SOURCE_CODE' == $name && $value !== null) {
             $value = (string)$value;
         }
         $query = new Query($tableName);
+        if ($useSyncFiltre) {
+            $query->addDefaultSyncFiltre($this->getServiceQueryGenerator());
+        }
         if (null !== $value) $query->addColValue($name, $value);
         switch ($action) {
             case 'insert':
-- 
GitLab