From: Stéphane Jacob Date: Mon, 14 Nov 2011 14:47:57 +0000 (+0100) Subject: Merge updates: names. X-Git-Tag: xorg/1.1.4~2 X-Git-Url: http://git.polytechnique.org/?a=commitdiff_plain;h=193affc68b71b027a7be843ba0dad48c00cbdaff;p=platal.git Merge updates: names. Signed-off-by: Stéphane Jacob --- 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: *}