backend logic

This commit is contained in:
2025-05-24 14:55:27 +03:00
parent e4fcf0716d
commit b755eda4b5
7 changed files with 160 additions and 31 deletions

View File

@@ -1,5 +1,5 @@
from rest_framework import serializers
from routes.models import Route, City, Country
from routes.models import Route, City, Country, Leads
from django.conf import settings
from routes.constants.routeChoices import cargo_type_choices, type_transport_choices, owner_type_choices
from routes.constants.account_types import account_types
@@ -7,6 +7,8 @@ from api.models import UserProfile
from sitemanagement.models import Pricing
from django.shortcuts import get_object_or_404
import pytz
from django.utils import timezone
from django.contrib.auth.models import User
class CountrySerializer(serializers.ModelSerializer):
value = serializers.CharField(source='international_name') # для совместимости с селектом на фронте
@@ -266,5 +268,20 @@ class PlanChangeSerializer(serializers.Serializer):
instance.save()
return instance
class LeadSerializer(serializers.Serializer):
pass
class LeadSerializer(serializers.ModelSerializer):
route = serializers.PrimaryKeyRelatedField(queryset=Route.objects.all())
moving_user = serializers.PrimaryKeyRelatedField(queryset=User.objects.all())
class Meta:
model = Leads
fields = ['route', 'moving_user', 'moving_price', 'moving_date', 'comment']
def validate_moving_date(self, value):
if value < timezone.now().date():
raise serializers.ValidationError("Дата перевозки не может быть в прошлом")
return value
def validate_moving_price(self, value):
if value <= 0:
raise serializers.ValidationError("Цена должна быть больше нуля")
return value