create lead table

This commit is contained in:
2025-05-24 14:14:44 +03:00
parent 4d53b7c2c4
commit e4fcf0716d
5 changed files with 60 additions and 3 deletions

View File

@@ -264,4 +264,7 @@ class PlanChangeSerializer(serializers.Serializer):
"""
instance.account_type = validated_data['account_type']
instance.save()
return instance
return instance
class LeadSerializer(serializers.Serializer):
pass

View File

@@ -190,4 +190,12 @@ class GetMembershipData(ViewSet):
"""Получаем данные по тарифам"""
pricing_data = Pricing.objects.all().order_by('price')
serializer = PricingSerializer(pricing_data, many=True)
return Response(serializer.data, status=status.HTTP_200_OK)
return Response(serializer.data, status=status.HTTP_200_OK)
class LeadViewSet(ViewSet):
"""Собираем лиды"""
@action(detail=False, methods=['post'])
@handle_exceptions
def send_lead(self, request, id):
pass

View File

@@ -14,7 +14,8 @@ AccountActionsView,
CityView,
CountryView,
GetMembershipData,
ChangeUserMembership)
ChangeUserMembership,
LeadViewSet)
from api.search.views import SearchRouteListView
@@ -35,6 +36,8 @@ urlpatterns = [
path("v1/account/routes/", AccountActionsView.as_view({'get':'user_routes'}), name='user_routes'),
path("v1/account/create_route/", AccountActionsView.as_view({'post':'create_route'}), name='create_route'),
path("v1/account/sendlead/", LeadViewSet.as_view({'post':'send_lead'}), name='send_lead'),
path("v1/cities/", CityView.as_view({'get':'get_cities'}), name='get_cities'),
path("v1/countries/", CountryView.as_view({'get':'get_countries'}), name='get_countries'),

View File

@@ -0,0 +1,27 @@
# Generated by Django 5.2.1 on 2025-05-24 11:12
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('routes', '0003_alter_route_owner_type'),
]
operations = [
migrations.CreateModel(
name='Leads',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('moving_date', models.DateField()),
('comment', models.CharField(blank=True, max_length=500, null=True)),
('created_at', models.DateTimeField(auto_now_add=True)),
],
options={
'verbose_name': 'Заявка',
'verbose_name_plural': 'Заявки',
'ordering': ['-created_at'],
},
),
]

View File

@@ -112,3 +112,19 @@ class Route(models.Model):
verbose_name = (u'Маршрут')
verbose_name_plural = (u'Маршруты')
ordering = ('id',)
class Leads(models.Model):
route = models.ForeignKey(Route, verbose_name="Маршрут", on_delete=models.CASCADE),
moving_user = models.ForeignKey(User, verbose_name="Перевозчик", on_delete=models.CASCADE),
moving_price = models.DecimalField(max_digits=10, decimal_places=2),
moving_date = models.DateField()
comment = models.CharField(max_length=500, null=True, blank=True)
created_at = models.DateTimeField(auto_now_add=True)
class Meta:
verbose_name = 'Заявка'
verbose_name_plural = 'Заявки'
ordering = ['-created_at']
def __str__(self):
return f"Заявка по маршруту ${self.route}"