Merge updates: names.
authorStéphane Jacob <sj@m4x.org>
Mon, 14 Nov 2011 14:47:57 +0000 (15:47 +0100)
committerStéphane Jacob <sj@m4x.org>
Mon, 14 Nov 2011 14:47:57 +0000 (15:47 +0100)
Signed-off-by: Stéphane Jacob <sj@m4x.org>
modules/fusionax.php
templates/fusionax/names.tpl

index cf6f9ec..6fdb360 100644 (file)
@@ -633,27 +633,49 @@ class FusionAxModule extends PLModule
     {
         $page->changeTpl('fusionax/names.tpl');
 
-        $res = XDB::query('SELECT  COUNT(*)
-                             FROM  fusionax_anciens AS f
-                       INNER JOIN  profiles         AS p    ON (f.ax_id = p.ax_id)');
-        $page->assign('total', $res->fetchOneCell());
-
-        $res = XDB::rawFetchOneCell("SELECT  COUNT(*)
-                                       FROM  fusionax_anciens     AS f
-                                 INNER JOIN  profiles             AS p   ON (f.ax_id = p.ax_id)
-                                 INNER JOIN  profile_public_names AS ppn ON (p.pid = ppn.pid)
-                                      WHERE  IF(f.partic_patro, CONCAT(f.partic_patro, CONCAT(' ', f.Nom_patronymique)), f.Nom_patronymique) NOT IN (ppn.lastname_initial, ppn.lastname_main, ppn.lastname_marital, ppn.lastname_ordinary)
-                                             OR IF(f.partic_nom, CONCAT(f.partic_nom, CONCAT(' ', f.Nom_usuel)), f.Nom_usuel) NOT IN (ppn.lastname_initial, ppn.lastname_main, ppn.lastname_marital, ppn.lastname_ordinary)
-                                             OR f.Nom_complet NOT IN (ppn.lastname_initial, ppn.lastname_main, ppn.lastname_marital, ppn.lastname_ordinary)");
-        $page->assign('lastnameIssues', $res);
-
-        $res = XDB::rawFetchOneCell('SELECT  COUNT(*)
-                                       FROM  fusionax_anciens     AS f
-                                 INNER JOIN  profiles             AS p   ON (f.ax_id = p.ax_id)
-                                 INNER JOIN  profile_public_names AS ppn ON (p.pid = ppn.pid)
-                                      WHERE  f.prenom NOT IN (ppn.firstname_initial, ppn.firstname_main, ppn.firstname_ordinary)');
-        $page->assign('firstnameIssues', $res);
+        if ($action == 'first') {
+            $res = XDB::rawFetchAllAssoc('SELECT  p.pid, p.ax_id, p.hrpid,
+                                                  f.prenom, ppn.firstname_initial, ppn.firstname_main, ppn.firstname_ordinary
+                                            FROM  fusionax_anciens     AS f
+                                      INNER JOIN  profiles             AS p   ON (f.ax_id = p.ax_id)
+                                      INNER JOIN  profile_public_names AS ppn ON (p.pid = ppn.pid)
+                                           WHERE  f.prenom NOT IN (ppn.firstname_initial, ppn.firstname_main, ppn.firstname_ordinary)');
+            $page->assign('firstnameIssues', $res);
+        } elseif ($action == 'last') {
+            $res = XDB::rawFetchAllAssoc("SELECT  p.pid, p.ax_id, p.hrpid,
+                                                  f.Nom_patronymique, f.Nom_usuel, f.Nom_complet,
+                                                  ppn.lastname_initial, ppn.lastname_main, ppn.lastname_marital, ppn.lastname_ordinary
+                                            FROM  fusionax_anciens     AS f
+                                      INNER JOIN  profiles             AS p   ON (f.ax_id = p.ax_id)
+                                      INNER JOIN  profile_public_names AS ppn ON (p.pid = ppn.pid)
+                                           WHERE  IF(f.partic_patro, CONCAT(f.partic_patro, CONCAT(' ', f.Nom_patronymique)), f.Nom_patronymique) NOT IN (ppn.lastname_initial, ppn.lastname_main, ppn.lastname_marital, ppn.lastname_ordinary)
+                                                  AND IF(f.partic_nom, CONCAT(f.partic_nom, CONCAT(' ', f.Nom_usuel)), f.Nom_usuel) NOT IN (ppn.lastname_initial, ppn.lastname_main, ppn.lastname_marital, ppn.lastname_ordinary)
+                                                  AND f.Nom_complet NOT IN (ppn.lastname_initial, ppn.lastname_main, ppn.lastname_marital, ppn.lastname_ordinary)");
+            $page->assign('lastnameIssues', $res);
 
+        } else {
+            $res = XDB::query('SELECT  COUNT(*)
+                                 FROM  fusionax_anciens AS f
+                           INNER JOIN  profiles         AS p    ON (f.ax_id = p.ax_id)');
+            $page->assign('total', $res->fetchOneCell());
+
+            $res = XDB::rawFetchOneCell("SELECT  COUNT(*)
+                                           FROM  fusionax_anciens     AS f
+                                     INNER JOIN  profiles             AS p   ON (f.ax_id = p.ax_id)
+                                     INNER JOIN  profile_public_names AS ppn ON (p.pid = ppn.pid)
+                                          WHERE  IF(f.partic_patro, CONCAT(f.partic_patro, CONCAT(' ', f.Nom_patronymique)), f.Nom_patronymique) NOT IN (ppn.lastname_initial, ppn.lastname_main, ppn.lastname_marital, ppn.lastname_ordinary)
+                                                 AND IF(f.partic_nom, CONCAT(f.partic_nom, CONCAT(' ', f.Nom_usuel)), f.Nom_usuel) NOT IN (ppn.lastname_initial, ppn.lastname_main, ppn.lastname_marital, ppn.lastname_ordinary)
+                                                 AND f.Nom_complet NOT IN (ppn.lastname_initial, ppn.lastname_main, ppn.lastname_marital, ppn.lastname_ordinary)");
+            $page->assign('lastnameIssues', $res);
+
+            $res = XDB::rawFetchOneCell('SELECT  COUNT(*)
+                                           FROM  fusionax_anciens     AS f
+                                     INNER JOIN  profiles             AS p   ON (f.ax_id = p.ax_id)
+                                     INNER JOIN  profile_public_names AS ppn ON (p.pid = ppn.pid)
+                                          WHERE  f.prenom NOT IN (ppn.firstname_initial, ppn.firstname_main, ppn.firstname_ordinary)');
+            $page->assign('firstnameIssues', $res);
+        }
+        $page->assign('action', $action);
     }
 
     function handler_edu($page, $action = '')
index 86211c7..2b1e15d 100644 (file)
 
 <p></p>
 
+{if $action eq "first"}
+{if $firstnameIssues|@count eq 0}
+<p>Aucun problème avec les prénoms.</p>
+{else}
+<table class="bicol">
+  <tr>
+    <th>pid</th>
+    <th>ax id</th>
+    <th>hrpid</th>
+    <th colspan="4">Prénoms</th>
+  </tr>
+  <tr>
+    <th></th>
+    <th></th>
+    <th></th>
+    <th>AX</th>
+    <th>initial</th>
+    <th>principal</th>
+    <th>ordinaire</th>
+  </tr>
+{foreach from=$firstnameIssues item=profile}
+  <tr>
+    <td>{$profile.pid}</td>
+    <td>{$profile.ax_id}</td>
+    <td>{$profile.hrpid}</td>
+    <td>{$profile.prenom}</td>
+    <td>{$profile.firstname_initial}</td>
+    <td>{$profile.firstname_main}</td>
+    <td>{$profile.firstname_ordinary}</td>
+  </tr>
+{/foreach}
+</table>
+{/if}
+{elseif $action eq "last"}
+{if $lastnameIssues|@count eq 0}
+<p>Aucun problème avec les noms.</p>
+{else}
+<table class="bicol">
+  <tr>
+    <th>pid</th>
+    <th>ax id</th>
+    <th>hrpid</th>
+    <th colspan="7">Noms</th>
+  </tr>
+  <tr>
+    <th></th>
+    <th></th>
+    <th></th>
+    <th>AX patro</th>
+    <th>AX usuel</th>
+    <th>AX complet</th>
+    <th>initial</th>
+    <th>principal</th>
+    <th>marital</th>
+    <th>ordinaire</th>
+  </tr>
+{foreach from=$lastnameIssues item=profile}
+  <tr>
+    <td>{$profile.pid}</td>
+    <td>{$profile.ax_id}</td>
+    <td>{$profile.hrpid}</td>
+    <td>{$profile.Nom_patronymique}</td>
+    <td>{$profile.Nom_usuel}</td>
+    <td>{$profile.Nom_complet}</td>
+    <td>{$profile.lastname_initial}</td>
+    <td>{$profile.lastname_main}</td>
+    <td>{$profile.lastname_marital}</td>
+    <td>{$profile.lastname_ordinary}</td>
+  </tr>
+{/foreach}
+</table>
+{/if}
+
+{else}
 <p>
   Il y a {$total} camarades dans l'intersection de nos bases.
 </p>
 <ul>
-  <li>{$lastnameIssues} des noms de l'AX ne sont pas dans les notres.</li>
-  <li>{$firstnameIssues} des prénoms de l'AX ne sont pas dans les notres.</li>
+  <li><a href="fusionax/names/last">{$lastnameIssues} des noms de l'AX ne sont pas dans les notres.</a></li>
+  <li><a href="fusionax/names/first">{$firstnameIssues} des prénoms de l'AX ne sont pas dans les notres.</a></li>
 </ul>
+{/if}
 
 {* vim:set et sw=2 sts=2 sws=2 enc=utf-8: *}