temporary update to debug email
This commit is contained in:
@ -1,8 +1,8 @@
|
||||
import uuid
|
||||
from django.db import IntegrityError
|
||||
from django.core.mail import send_mail
|
||||
from django.conf import settings
|
||||
from django.urls import reverse
|
||||
from django.contrib.auth.password_validation import validate_password
|
||||
|
||||
from django.db import transaction
|
||||
from rest_framework import serializers
|
||||
@ -14,7 +14,6 @@ from drf_extra_fields.fields import Base64ImageField
|
||||
#from django.contrib.auth.models import User
|
||||
from .models import CustomUser
|
||||
from django.contrib.auth import authenticate
|
||||
from .utils import send_activation_email
|
||||
|
||||
from .models import TestModel
|
||||
import logging
|
||||
@ -72,8 +71,41 @@ class GifuAreaSerializer(serializers.ModelSerializer):
|
||||
model= GifuAreas
|
||||
fields=['id', 'adm0_ja', 'adm0_pcode', 'adm1_en', 'adm1_ja', 'adm1_pcode', 'adm2_ja', 'adm2_en', 'adm2_pcode', 'area_nm']
|
||||
|
||||
class UserRegistrationSerializer(serializers.ModelSerializer):
|
||||
password = serializers.CharField(write_only=True, required=True, validators=[validate_password])
|
||||
|
||||
class Meta:
|
||||
model = CustomUser
|
||||
fields = ('email', 'password', 'firstname', 'lastname', 'date_of_birth', 'female')
|
||||
extra_kwargs = {
|
||||
'email': {'required': True},
|
||||
'firstname': {'required': True},
|
||||
'lastname': {'required': True},
|
||||
'date_of_birth': {'required': True},
|
||||
}
|
||||
|
||||
def validate_email(self, value):
|
||||
if CustomUser.objects.filter(email=value).exists() or TempUser.objects.filter(email=value).exists():
|
||||
raise serializers.ValidationError("この電子メールアドレスは既に使用されています。")
|
||||
return value
|
||||
|
||||
def create(self, validated_data):
|
||||
try:
|
||||
user = CustomUser.objects.create_user(
|
||||
email=validated_data['email'],
|
||||
password=validated_data['password'],
|
||||
firstname=validated_data['firstname'],
|
||||
lastname=validated_data['lastname'],
|
||||
date_of_birth=validated_data['date_of_birth'],
|
||||
female=validated_data.get('female', False),
|
||||
group='' # この値は必要に応じて変更してください
|
||||
)
|
||||
return user
|
||||
except ValidationError as e:
|
||||
raise serializers.ValidationError({"password": list(e.messages)})
|
||||
|
||||
|
||||
'''
|
||||
class CreateUserSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = CustomUser
|
||||
@ -83,6 +115,17 @@ class CreateUserSerializer(serializers.ModelSerializer):
|
||||
def create(self, validated_data):
|
||||
user = CustomUser.objects.create_user(validated_data['email'],validated_data['password'], '大垣-初心者','','')
|
||||
return user
|
||||
'''
|
||||
|
||||
class TempUserRegistrationSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = TempUser
|
||||
fields = ('email', 'firstname', 'lastname', 'date_of_birth', 'female')
|
||||
|
||||
def create(self, validated_data):
|
||||
validated_data['verification_code'] = str(uuid.uuid4())
|
||||
return TempUser.objects.create(**validated_data)
|
||||
|
||||
|
||||
class UserSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
@ -385,10 +428,16 @@ class EntrySerializer(serializers.ModelSerializer):
|
||||
|
||||
def to_representation(self, instance):
|
||||
ret = super().to_representation(instance)
|
||||
if isinstance(ret['date'], datetime):
|
||||
ret['date'] = ret['date'].date().isoformat()
|
||||
ret['team'] = TeamSerializer(instance.team).data
|
||||
ret['event'] = NewEvent2Serializer(instance.event).data
|
||||
ret['category'] = NewCategorySerializer(instance.category).data
|
||||
ret['owner'] = CustomUserSerializer(instance.owner).data
|
||||
return ret
|
||||
|
||||
#if isinstance(ret['date'], datetime):
|
||||
# ret['date'] = ret['date'].date().isoformat()
|
||||
#return ret
|
||||
|
||||
#def to_representation(self, instance):
|
||||
# ret = super().to_representation(instance)
|
||||
# ret['team'] = instance.team.team_name
|
||||
@ -400,9 +449,8 @@ class EntrySerializer(serializers.ModelSerializer):
|
||||
class CustomUserSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = CustomUser
|
||||
#fields = ['email', 'is_staff', 'is_active', 'is_rogaining', 'zekken_number', 'event_code', 'team_name', 'group', 'firstname', 'lastname', 'date_of_birth', 'female']
|
||||
fields = ['id','email', 'firstname', 'lastname', 'date_of_birth', 'female']
|
||||
read_only_fields = ['email']
|
||||
read_only_fields = ['id','email']
|
||||
|
||||
class TeamDetailSerializer(serializers.ModelSerializer):
|
||||
category = NewCategorySerializer(read_only=True)
|
||||
@ -448,7 +496,7 @@ class MemberWithUserSerializer(serializers.ModelSerializer):
|
||||
|
||||
class MemberSerializer(serializers.ModelSerializer):
|
||||
user = CustomUserSerializer(read_only=True)
|
||||
team = TeamDetailSerializer(read_only=True)
|
||||
#team = TeamDetailSerializer(read_only=True)
|
||||
|
||||
#email = serializers.EmailField(write_only=True, required=False)
|
||||
#firstname = serializers.CharField(write_only=True, required=False)
|
||||
@ -487,16 +535,35 @@ class MemberSerializer(serializers.ModelSerializer):
|
||||
user_data = validated_data.pop('user', {})
|
||||
user = instance.user
|
||||
|
||||
if user.email.startswith('dummy_'): # dummy_ で始まるメールアドレスの場合のみ更新
|
||||
for attr, value in user_data.items():
|
||||
setattr(user, attr, value)
|
||||
user.save()
|
||||
else:
|
||||
raise serializers.ValidationError("このユーザーの情報は更新できません。")
|
||||
for attr, value in user_data.items():
|
||||
setattr(user, attr, value)
|
||||
user.save()
|
||||
|
||||
return super().update(instance, validated_data)
|
||||
|
||||
|
||||
#if user.email.startswith('dummy_'): # dummy_ で始まるメールアドレスの場合のみ更新
|
||||
# for attr, value in user_data.items():
|
||||
# setattr(user, attr, value)
|
||||
# user.save()
|
||||
#else:
|
||||
# raise serializers.ValidationError("このユーザーの情報は更新できません。")
|
||||
|
||||
#return super().update(instance, validated_data)
|
||||
|
||||
def to_representation(self, instance):
|
||||
representation = super().to_representation(instance)
|
||||
user_data = representation['user']
|
||||
return {
|
||||
'id': representation['id'],
|
||||
'email': user_data['email'],
|
||||
'firstname': user_data['firstname'],
|
||||
'lastname': user_data['lastname'],
|
||||
'date_of_birth': user_data['date_of_birth'],
|
||||
'female': user_data['female'],
|
||||
'team': representation['team']
|
||||
}
|
||||
|
||||
|
||||
class EntryMemberSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
@ -507,7 +574,8 @@ class EntryMemberSerializer(serializers.ModelSerializer):
|
||||
class TempUserSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = TempUser
|
||||
fields = ['id','email', 'password', 'is_rogaining', 'zekken_number', 'event_code', 'team_name', 'group', 'firstname', 'lastname', 'date_of_birth', 'female', 'verification_code', 'created_at', 'expires_at']
|
||||
#fields = ['id','email', 'password', 'is_rogaining', 'zekken_number', 'event_code', 'team_name', 'group', 'firstname', 'lastname', 'date_of_birth', 'female', 'verification_code', 'created_at', 'expires_at']
|
||||
fields = ['email', 'password', 'firstname', 'lastname', 'date_of_birth', 'female', 'verification_code']
|
||||
|
||||
class EntryCreationSerializer(serializers.Serializer):
|
||||
owner_email = serializers.EmailField()
|
||||
|
||||
Reference in New Issue
Block a user