+# Clean up group_members
+UPDATE group_members SET prenom = NULL WHERE LENGTH(TRIM(prenom)) = 0;
+UPDATE group_members SET nom = NULL WHERE LENGTH(TRIM(nom)) = 0;
+
# Create one account by email
INSERT INTO accounts (
SELECT NULL AS uid,
'' AS flags,
comm AS comment,
email,
- CONCAT(prenom,' ',nom) AS full_name,
- prenom AS display_name,
+ IF(prenom IS NULL,
+ REPLACE(LEFT(email, POSITION('@' IN email)-1),'.',' '),
+ CONCAT(prenom,' ',nom)) AS full_name,
+ IF(prenom IS NULL,
+ LEFT(email, POSITION('.' IN REPLACE(email,'@','.'))-1),
+ prenom) AS display_name,
IF(sexe,'female','male') AS sex,
'html' AS email_format,
1 AS skin,
NULL as last_version
FROM group_members WHERE origine = 'ext' GROUP BY hruid);
+# Make Upper case for first letters in fake full_names and display_names
+UPDATE accounts AS a, group_members AS g
+ SET a.display_name = CONCAT(UPPER(LEFT(a.display_name,1)),LOWER(MID(a.display_name, 2))),
+ a.full_name = CONCAT(UPPER(LEFT(a.full_name,1)),LOWER(MID(a.full_name, 2)))
+ WHERE a.hruid = CONCAT(LOWER(REPLACE(g.email,'@','.')),'.ext') AND g.prenom IS NULL;
+UPDATE accounts AS a, group_members AS g
+ SET a.full_name = CONCAT(
+ LEFT(a.full_name, POSITION(' ' IN a.full_name)),
+ UPPER(MID(a.full_name, POSITION(' ' IN a.full_name) + 1, 1)),
+ MID(a.full_name, POSITION(' ' IN a.full_name) + 2))
+ WHERE a.hruid = CONCAT(LOWER(REPLACE(g.email,'@','.')),'.ext') AND POSITION(' ' IN a.full_name);
+
# Delete person that are several time in same asso
DELETE g2
FROM group_members AS g1