You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
32 lines
1.1 KiB
Python
32 lines
1.1 KiB
Python
from rest_auth.registration.serializers import RegisterSerializer
|
|
from rest_auth.serializers import PasswordResetSerializer
|
|
from rest_framework import serializers
|
|
|
|
from django.conf import settings
|
|
|
|
|
|
class RegisterSerializerEx(RegisterSerializer):
|
|
first_name = serializers.CharField(required=False)
|
|
last_name = serializers.CharField(required=False)
|
|
|
|
def get_cleaned_data(self):
|
|
data = super().get_cleaned_data()
|
|
data.update({
|
|
'first_name': self.validated_data.get('first_name', ''),
|
|
'last_name': self.validated_data.get('last_name', ''),
|
|
})
|
|
|
|
return data
|
|
|
|
class PasswordResetSerializerEx(PasswordResetSerializer):
|
|
def get_email_options(self):
|
|
domain = None
|
|
if hasattr(settings, 'UI_HOST') and settings.UI_HOST:
|
|
domain = settings.UI_HOST
|
|
if hasattr(settings, 'UI_PORT') and settings.UI_PORT:
|
|
domain += ':{}'.format(settings.UI_PORT)
|
|
return {
|
|
'email_template_name': 'authentication/password_reset_email.html',
|
|
'domain_override': domain
|
|
}
|