From 239133e355d03096495d61f66107e48212a4197f Mon Sep 17 00:00:00 2001 From: Skia Date: Tue, 2 Feb 2016 10:57:55 +0100 Subject: [PATCH] Fix generate_username for accents --- core/models.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/core/models.py b/core/models.py index ca8b3227..1cb16de7 100644 --- a/core/models.py +++ b/core/models.py @@ -8,6 +8,8 @@ from django.core.urlresolvers import reverse from django.conf import settings from datetime import datetime, timedelta +import unicodedata + class Group(AuthGroup): def get_absolute_url(self): """ @@ -134,7 +136,10 @@ class User(AbstractBaseUser, PermissionsMixin): For example: Guy Carlier gives gcarlier, and gcarlier1 if the first one exists Returns the generated username """ - user_name = str(self.first_name[0]+self.last_name).lower() + def remove_accents(data): + return ''.join(x for x in unicodedata.normalize('NFKD', data) if \ + unicodedata.category(x)[0] == 'L').lower() + user_name = remove_accents(self.first_name[0]+self.last_name).encode('ascii', 'ignore').decode('utf-8') un_set = [u.username for u in User.objects.all()] if user_name in un_set: i = 1