27 lines
997 B
Python
27 lines
997 B
Python
from allauth.account.adapter import DefaultAccountAdapter
|
|
from allauth.account.utils import user_email, user_field, user_username
|
|
|
|
class AccountAdapter(DefaultAccountAdapter):
|
|
def save_user(self, request, user, form, commit=True):
|
|
data = form.cleaned_data
|
|
first_name = data.get("first_name")
|
|
last_name = data.get("last_name")
|
|
email = data.get("email")
|
|
username = data.get("email")
|
|
user_email(user, email)
|
|
user_username(user, username)
|
|
if first_name:
|
|
user_field(user, "first_name", first_name)
|
|
if last_name:
|
|
user_field(user, "last_name", last_name)
|
|
if "password1" in data:
|
|
user.set_password(data["password1"])
|
|
else:
|
|
user.set_unusable_password()
|
|
self.populate_username(request, user)
|
|
if commit:
|
|
# Ability not to commit makes it easier to derive from
|
|
# this adapter by adding
|
|
user.save()
|
|
return user
|