version 4.8.17 -- カレンダーで今日以降しか選べないようにした

This commit is contained in:
hayano
2024-08-09 23:49:36 +00:00
parent 3d195973fc
commit 95b787c819
255 changed files with 59200 additions and 53 deletions

View File

@ -179,15 +179,37 @@ class UserSerializer(serializers.ModelSerializer):
class GolaImageSerializer(serializers.ModelSerializer):
goalimage = Base64ImageField(max_length=None, use_url=True)
class Meta:
model = GoalImages
fields="__all__"
def get_goalimage_url(self, car):
def get_goalimage_url_old(self, car):
request = self.context.get('request')
photo_url = GoalImages.goalimage.url
return request.build_absolute_uri(photo_url)
def get_goalimage_url(self, obj):
request = self.context.get('request')
if request is None:
logger.warning("Request not found in serializer context")
return None
try:
photo_url = obj.goalimage.url
absolute_url = request.build_absolute_uri(photo_url)
logger.info(f"Generated URL for goalimage: {absolute_url}")
return absolute_url
except AttributeError as e:
logger.error(f"Error generating URL for goalimage: {str(e)}")
return None
def to_representation(self, instance):
representation = super().to_representation(instance)
representation['goalimage_url'] = self.get_goalimage_url(instance)
logger.debug(f"Serialized data: {representation}")
return representation
class CheckinImageSerializer(serializers.ModelSerializer):
checkinimage = Base64ImageField(max_length=None, use_url=True)
class Meta:
@ -470,6 +492,10 @@ class EntrySerializer(serializers.ModelSerializer):
owner = self.context['request'].user
zekken_number = data.get('zekken_number')
logger.debug(f"Parsed data: team={team}, event={event}, category={category}, "
f"entry_date={entry_date}, owner={owner}, zekken_number={zekken_number}")
# Check if team, event, and category exist
if not Team.objects.filter(id=team.id).exists():
raise serializers.ValidationError("指定されたチームは存在しません。")
@ -486,8 +512,8 @@ class EntrySerializer(serializers.ModelSerializer):
if zekken_number is not None:
if zekken_number <= 0:
raise serializers.ValidationError("ゼッケン番号は正の整数である必要があります。")
if Entry.objects.filter(event=event, zekken_number=zekken_number).exists():
raise serializers.ValidationError("このゼッケン番号は既に使用されています。")
# if Entry.objects.filter(event=event, zekken_number=zekken_number).exists():
# raise serializers.ValidationError("このゼッケン番号は既に使用されています。")
return data
@ -824,3 +850,7 @@ class PasswordResetConfirmSerializer(serializers.Serializer):
validate_password(data['new_password'])
return data
class UserLastGoalTimeSerializer(serializers.Serializer):
user_email = serializers.EmailField()
last_goal_time = serializers.DateTimeField()