sender page
This commit is contained in:
@@ -6,6 +6,26 @@ from api.models import UserProfile
|
||||
from django.shortcuts import get_object_or_404
|
||||
import pytz
|
||||
|
||||
class CountrySerializer(serializers.ModelSerializer):
|
||||
value = serializers.CharField(source='international_name') # для совместимости с селектом на фронте
|
||||
label = serializers.SerializerMethodField() # для отображения в селекте
|
||||
|
||||
class Meta:
|
||||
model = Country
|
||||
fields = ['id', 'value', 'label', 'flag_img_url']
|
||||
|
||||
def get_label(self, obj):
|
||||
return obj.international_name or obj.official_name
|
||||
|
||||
class CitySerializer(serializers.ModelSerializer):
|
||||
value = serializers.CharField(source='name') # для совместимости с селектом
|
||||
label = serializers.CharField(source='name') # для отображения в селекте
|
||||
country_name = serializers.CharField(source='country.international_name')
|
||||
|
||||
class Meta:
|
||||
model = City
|
||||
fields = ['id', 'value', 'label', 'country_name']
|
||||
|
||||
class RouteSerializer(serializers.ModelSerializer):
|
||||
from_city_name = serializers.SerializerMethodField()
|
||||
to_city_name = serializers.SerializerMethodField()
|
||||
@@ -160,16 +180,16 @@ class CreateRouteSerializer(serializers.ModelSerializer):
|
||||
to_city = City.objects.get(name=validated_data.pop('city_to'), country=country_to)
|
||||
|
||||
# обновляем номер телефона в профиле пользователя
|
||||
contact_number = validated_data.pop('contact_number')
|
||||
phone_number = validated_data.pop('phone_number')
|
||||
user_profile = get_object_or_404(UserProfile, user=self.context['request'].user)
|
||||
|
||||
# проверяем, не используется ли этот номер другим пользователем
|
||||
if UserProfile.objects.filter(phone_number=contact_number).exclude(user=self.context['request'].user).exists():
|
||||
if UserProfile.objects.filter(phone_number=phone_number).exclude(user=self.context['request'].user).exists():
|
||||
raise serializers.ValidationError({
|
||||
"contact_number": "Этот номер телефона уже используется другим пользователем"
|
||||
"phone_number": "Этот номер телефона уже используется другим пользователем"
|
||||
})
|
||||
|
||||
user_profile.phone_number = contact_number
|
||||
user_profile.phone_number = phone_number
|
||||
user_profile.save()
|
||||
|
||||
# создаем маршрут
|
||||
|
||||
Reference in New Issue
Block a user