- "donne la liste des homonymes qui ont un alias égal à leur loginbis depuis plus d'un mois, il est temps de supprimer leur alias");
-
-/* verifie qu'il n'y a pas de gens qui recrivent sur un alias qu'ils n'ont plus */
-
-check("SELECT a.alias AS a_un_pb, email, rewrite AS broken
- FROM aliases AS a
- INNER JOIN emails AS e ON (a.id=e.uid AND rewrite!='')
- LEFT JOIN aliases AS b ON (b.id=a.id AND rewrite LIKE CONCAT(b.alias,'@%') AND b.type!='homonyme')
- WHERE a.type='a_vie' AND b.type IS NULL","gens qui ont des rewrite sur un alias perdu");
-
-/* validite du champ matricule_ax de la table auth_user_md5 */
-check("SELECT matricule,nom,prenom,matricule_ax,COUNT(matricule_ax) AS c
- FROM auth_user_md5
- WHERE matricule_ax != '0'
- GROUP BY matricule_ax
- having c > 1", "à chaque personne de l'annuaire de l'AX (identification_ax) doit correspondre AU PLUS UNE personne de notre annuaire (auth_user_md5) -> si ce n'est pas le cas il faut regarder en manuel ce qui ne va pas !");
-
-/* each alumni has one and only one display name by default and one and only one name when we talk to him directly */
-check("SELECT u.`user_id`, u.`nom`, u.`prenom`, COUNT(n.`display`) AS c
- FROM `auth_user_md5` AS u
- LEFT JOIN `profile_names_display` AS n ON(u.`user_id` = n.`user_id` AND FIND_IN_SET(n.`reason`, 'default'))
- GROUP BY u.`user_id`
- HAVING c != 1", "chaque personne doit avoir un et un seul nom par défaut");
-check("SELECT u.`user_id`, u.`nom`, u.`prenom`, COUNT(n.`display`) AS c
- FROM `auth_user_md5` AS u
- LEFT JOIN `profile_names_display` AS n ON(u.`user_id` = n.`user_id` AND FIND_IN_SET(n.`reason`, 'yourself'))
- GROUP BY u.`user_id`
- HAVING c != 1", "chaque personne doit avoir un et un seul nom quand on lui parle");
-
-/* no alumni is allowed to have empty names */
-check("SELECT u.`user_id`, u.`nom`, u.`prenom`
- FROM `auth_user_md5` AS u
- INNER JOIN `profile_names_search` AS n USING(`user_id`)
- WHERE n.`search_name` = ''", "liste des personnes qui ont un de leur nom de recherche vide");
-
-/* verifie qu'il n'y a pas d'utilisateurs ayant un compte Google Apps désactivé et une redirection encore active vers Google Apps */
-check("SELECT a.alias, g.g_status, u.mail_storage
- FROM auth_user_md5 AS u
- INNER JOIN aliases AS a ON (a.id = u.user_id AND a.type = 'a_vie')
- INNER JOIN gapps_accounts AS g ON (g.l_userid = u.user_id)
- WHERE FIND_IN_SET('googleapps', u.mail_storage) > 0 AND g.g_status != 'active'",
- "utilisateurs ayant une redirection vers Google Apps alors que leur compte GApps n'est pas actif");
+ "Donne la liste des homonymes qui ont un alias égal à leur loginbis depuis plus d'un mois, il est temps de supprimer leur alias.");
+
+// Counts empty profile fields that should never be empty.
+infoCountEmpty('profile_addresses', 'text');
+infoCountEmpty('profile_addresses', 'postalText');
+infoCountEmpty('profile_education', 'eduid');
+infoCountEmpty('profile_education', 'degreeid');
+infoCountEmpty('profile_job', 'jobid');
+infoCountEmpty('profile_mentor', 'expertise');
+infoCountEmpty('profile_networking', 'address');
+infoCountEmpty('profile_phones', 'search_tel');
+infoCountEmpty('profile_phones', 'display_tel');
+
+// XXX: counts the number of remaining issues due to the merge (to be removed once all merge related issues have been fixed)
+infoCountEmpty('profile_merge_issues', 'issues', true);