Fixes the hruid generation when mass-importing a new promotion.
authorVincent Zanotti <vincent.zanotti@m4x.org>
Fri, 10 Apr 2009 00:02:55 +0000 (02:02 +0200)
committerVincent Zanotti <vincent.zanotti@m4x.org>
Fri, 10 Apr 2009 00:02:55 +0000 (02:02 +0200)
Signed-off-by: Vincent Zanotti <vincent.zanotti@m4x.org>
core
modules/admin.php
modules/axletter.php

diff --git a/core b/core
index adc69ce..82ccb54 160000 (submodule)
--- a/core
+++ b/core
@@ -1 +1 @@
-Subproject commit adc69ced9c75421c5ee596fbd0a3426fffb9940c
+Subproject commit 82ccb5452cd953d71c49e0075d9ecbbb2f6b5456
index b233c91..3c5b87a 100644 (file)
@@ -691,13 +691,14 @@ class AdminModule extends PLModule
         $page->assign('bans', $bans);
     }
 
-    function getHruid($line, $key)
+    function getHruid($line, $partial_result, $key)
     {
-        var_dump($line);
-        if (!isset($line['nom']) || !isset($line['prenom']) || !isset($line['promo'])) {
+        if (!isset($partial_result['nom']) ||
+            !isset($partial_result['prenom']) ||
+            !isset($partial_result['promo'])) {
             return null;
         }
-        return make_forlife($line['prenom'], $line['nom'], $line['promo']);
+        return make_forlife($partial_result['prenom'], $partial_result['nom'], $partial_result['promo']);
     }
 
     function getMatricule($line, $key)
@@ -738,9 +739,11 @@ class AdminModule extends PLModule
             $fields = array('hruid', 'nom', 'nom_ini', 'prenom', 'naissance_ini',
                             'prenom_ini', 'promo', 'promo_sortie', 'flags',
                             'matricule', 'matricule_ax', 'perms');
-            $importer->forceValue('hruid', array($this, 'getHruid'));
             $importer->forceValue('promo', $promo);
             $importer->forceValue('promo_sortie', $promo + 3);
+            // The hruid generation callback is set last, so that it is called once 'promo'
+            // has already been computed for that line.
+            $importer->forceValue('hruid', array($this, 'getHruid'));
             break;
           case 'ax':
             $fields = array('matricule', 'matricule_ax');
index 9414f8d..9159b46 100644 (file)
@@ -365,7 +365,7 @@ class AXLetterModule extends PLModule
         return $id ? $id : '0';
     }
 
-    function createHash($line, $key)
+    function createHash($line, $partial_result, $key)
     {
         $hash = implode(time(), $line) . rand();
         $hash = md5($hash);