From 193affc68b71b027a7be843ba0dad48c00cbdaff Mon Sep 17 00:00:00 2001 From: =?utf8?q?St=C3=A9phane=20Jacob?= Date: Mon, 14 Nov 2011 15:47:57 +0100 Subject: [PATCH] Merge updates: names. MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Stéphane Jacob --- modules/fusionax.php | 62 +++++++++++++++++++++++----------- templates/fusionax/names.tpl | 79 ++++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 119 insertions(+), 22 deletions(-) diff --git a/modules/fusionax.php b/modules/fusionax.php index cf6f9ec..6fdb360 100644 --- a/modules/fusionax.php +++ b/modules/fusionax.php @@ -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 = '') diff --git a/templates/fusionax/names.tpl b/templates/fusionax/names.tpl index 86211c7..2b1e15d 100644 --- a/templates/fusionax/names.tpl +++ b/templates/fusionax/names.tpl @@ -24,12 +24,87 @@

+{if $action eq "first"} +{if $firstnameIssues|@count eq 0} +

Aucun problème avec les prénoms.

+{else} + + + + + + + + + + + + + + + + +{foreach from=$firstnameIssues item=profile} + + + + + + + + + +{/foreach} +
pidax idhrpidPrénoms
AXinitialprincipalordinaire
{$profile.pid}{$profile.ax_id}{$profile.hrpid}{$profile.prenom}{$profile.firstname_initial}{$profile.firstname_main}{$profile.firstname_ordinary}
+{/if} +{elseif $action eq "last"} +{if $lastnameIssues|@count eq 0} +

Aucun problème avec les noms.

+{else} + + + + + + + + + + + + + + + + + + + +{foreach from=$lastnameIssues item=profile} + + + + + + + + + + + + +{/foreach} +
pidax idhrpidNoms
AX patroAX usuelAX completinitialprincipalmaritalordinaire
{$profile.pid}{$profile.ax_id}{$profile.hrpid}{$profile.Nom_patronymique}{$profile.Nom_usuel}{$profile.Nom_complet}{$profile.lastname_initial}{$profile.lastname_main}{$profile.lastname_marital}{$profile.lastname_ordinary}
+{/if} + +{else}

Il y a {$total} camarades dans l'intersection de nos bases.

+{/if} {* vim:set et sw=2 sts=2 sws=2 enc=utf-8: *} -- 2.1.4