2.1.0 change model route
This commit is contained in:
@@ -11,8 +11,9 @@ class Admin_Route(Admin_Trans_BaseModel):
|
|||||||
'id', 'owner_type',
|
'id', 'owner_type',
|
||||||
'rising_DT',
|
'rising_DT',
|
||||||
'receive_msg_by_email', 'type_transport', 'cargo_type',
|
'receive_msg_by_email', 'type_transport', 'cargo_type',
|
||||||
'departure_DT', 'from_city', 'from_place',
|
'departure_DT', 'from_city', #'from_place',
|
||||||
'arrival_DT', 'to_city', 'to_place', 'owner',
|
'arrival_DT', 'to_city', #'to_place',
|
||||||
|
'owner',
|
||||||
'order', 'modifiedDT', 'createDT'
|
'order', 'modifiedDT', 'createDT'
|
||||||
]
|
]
|
||||||
list_editable = ['rising_DT']
|
list_editable = ['rising_DT']
|
||||||
@@ -23,7 +24,8 @@ class Admin_Route(Admin_Trans_BaseModel):
|
|||||||
'owner_type', 'type_transport',
|
'owner_type', 'type_transport',
|
||||||
'rising_DT',
|
'rising_DT',
|
||||||
'cargo_type',
|
'cargo_type',
|
||||||
'from_place', 'arrival_DT',
|
# 'from_place',
|
||||||
|
'arrival_DT',
|
||||||
'modifiedDT', 'createDT'
|
'modifiedDT', 'createDT'
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|||||||
@@ -48,16 +48,17 @@ def routeForm_assign_choices_by_type_transport(form, type_transport):
|
|||||||
|
|
||||||
|
|
||||||
class RouteForm(forms.ModelForm):
|
class RouteForm(forms.ModelForm):
|
||||||
from_address_point_txt = forms.CharField(required=True)
|
# from_address_point_txt = forms.CharField(required=True)
|
||||||
to_address_point_txt = forms.CharField(required=True)
|
# to_address_point_txt = forms.CharField(required=True)
|
||||||
departure_DT = forms.DateTimeField(required=True, input_formats=['%d.%m.%Y %H:%M'])
|
departure_DT = forms.DateField(required=True, input_formats=['%d.%m.%Y'])
|
||||||
arrival_DT = forms.DateTimeField(required=True, input_formats=['%d.%m.%Y %H:%M'])
|
arrival_DT = forms.DateField(required=True, input_formats=['%d.%m.%Y'])
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Route
|
model = Route
|
||||||
exclude = [
|
exclude = [
|
||||||
'name', 'name_plural', 'order', 'createDT', 'modifiedDT', 'enable', 'json_data',
|
'name', 'name_plural', 'order', 'createDT', 'modifiedDT', 'enable', 'json_data',
|
||||||
'receive_msg_by_sms', 'owner', 'owner_type'
|
'receive_msg_by_sms', 'owner', 'owner_type',
|
||||||
|
'extra_phone', 'weight', ''
|
||||||
]
|
]
|
||||||
|
|
||||||
def clean(self):
|
def clean(self):
|
||||||
@@ -72,11 +73,11 @@ class RouteForm(forms.ModelForm):
|
|||||||
if error:
|
if error:
|
||||||
self.add_error('phone', error)
|
self.add_error('phone', error)
|
||||||
|
|
||||||
if 'extra_phone' in cleaned_data and 'extra_phone' in cleaned_data:
|
# if 'extra_phone' in cleaned_data and 'extra_phone' in cleaned_data:
|
||||||
from BaseModels.validators.form_field_validators import get_phone_valid_error
|
# from BaseModels.validators.form_field_validators import get_phone_valid_error
|
||||||
error = get_phone_valid_error(cleaned_data["extra_phone"])
|
# error = get_phone_valid_error(cleaned_data["extra_phone"])
|
||||||
if error:
|
# if error:
|
||||||
self.add_error('extra_phone', error)
|
# self.add_error('extra_phone', error)
|
||||||
|
|
||||||
if 'departure_DT' in cleaned_data and 'arrival_DT' in cleaned_data and cleaned_data['arrival_DT'] < cleaned_data['departure_DT']:
|
if 'departure_DT' in cleaned_data and 'arrival_DT' in cleaned_data and cleaned_data['arrival_DT'] < cleaned_data['departure_DT']:
|
||||||
self.add_error('arrival_DT', _('Указана неверная дата прибытия'))
|
self.add_error('arrival_DT', _('Указана неверная дата прибытия'))
|
||||||
|
|||||||
@@ -0,0 +1,48 @@
|
|||||||
|
# Generated by Django 4.2.2 on 2024-12-05 15:59
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('RoutesApp', '0009_alter_route_phone'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='route',
|
||||||
|
name='comment',
|
||||||
|
field=models.TextField(blank=True, null=True, verbose_name='Примечания'),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='route',
|
||||||
|
name='cargo_type',
|
||||||
|
field=models.CharField(choices=[('passenger', 'Пассажир'), ('cargo', 'Груз (свыше 30 кг)'), ('parcel', 'Бандероль (до 5кг)'), ('package', 'Посылка (до 30кг)'), ('letter', 'Письмо\\Документы')], default='parcel', verbose_name='Могу перевезти'),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='route',
|
||||||
|
name='departure_DT',
|
||||||
|
field=models.DateTimeField(blank=True, null=True, verbose_name='Дата и время выезда'),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='route',
|
||||||
|
name='from_place',
|
||||||
|
field=models.CharField(blank=True, choices=[('airport', 'В аэропорту'), ('city', 'По городу'), ('other', 'По договоренности')], default='other', null=True, verbose_name='Откуда можете забрать?'),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='route',
|
||||||
|
name='to_place',
|
||||||
|
field=models.CharField(blank=True, choices=[('airport', 'В аэропорту'), ('city', 'По городу'), ('other', 'По договоренности')], default='other', null=True, verbose_name='Куда можете доставить?'),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='route',
|
||||||
|
name='type_transport',
|
||||||
|
field=models.CharField(blank=True, choices=[('', 'Мне без разницы'), ('avia', 'Авиатранспорт'), ('road', 'Наземный транспорт')], default='', verbose_name='Выберите способ перевозки'),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='route',
|
||||||
|
name='weight',
|
||||||
|
field=models.IntegerField(blank=True, null=True, verbose_name='Укажите вес до (кг)'),
|
||||||
|
),
|
||||||
|
]
|
||||||
@@ -5,7 +5,7 @@ from colorfield.fields import ColorField
|
|||||||
|
|
||||||
|
|
||||||
type_transport_choices = [
|
type_transport_choices = [
|
||||||
('', _('-- Выберите cпособ перевозки --')),
|
('', _('Мне без разницы')),
|
||||||
('avia', _('Авиатранспорт')),
|
('avia', _('Авиатранспорт')),
|
||||||
('road', _('Наземный транспорт'))
|
('road', _('Наземный транспорт'))
|
||||||
]
|
]
|
||||||
@@ -18,10 +18,10 @@ transfer_location_choices = (
|
|||||||
|
|
||||||
cargo_type_choices = (
|
cargo_type_choices = (
|
||||||
('passenger', _('Пассажир')),
|
('passenger', _('Пассажир')),
|
||||||
('cargo', _('Груз')),
|
('cargo', _('Груз (свыше 30 кг)')),
|
||||||
('parcel', _('Бандероль')),
|
('parcel', _('Бандероль (до 5кг)')),
|
||||||
('package', _('Посылка')),
|
('package', _('Посылка (до 30кг)')),
|
||||||
('letter', _('Письмо\Документ'))
|
('letter', _('Письмо\Документы'))
|
||||||
)
|
)
|
||||||
|
|
||||||
owner_type_choices = (
|
owner_type_choices = (
|
||||||
@@ -38,11 +38,19 @@ class Route(BaseModel):
|
|||||||
choices=owner_type_choices, default='customer', verbose_name=_('Тип опреации'))
|
choices=owner_type_choices, default='customer', verbose_name=_('Тип опреации'))
|
||||||
|
|
||||||
type_transport = models.CharField(
|
type_transport = models.CharField(
|
||||||
choices=type_transport_choices, default='', verbose_name=_('Выберите способ перевозки'))
|
choices=type_transport_choices, default='', verbose_name=_('Выберите способ перевозки'),
|
||||||
departure_DT = models.DateTimeField(verbose_name=_('Дата и время выезда'))
|
blank=True
|
||||||
|
)
|
||||||
|
# не обязательно с v2
|
||||||
|
departure_DT = models.DateTimeField(
|
||||||
|
verbose_name=_('Дата и время выезда'), null=True, blank=True
|
||||||
|
)
|
||||||
arrival_DT = models.DateTimeField(verbose_name=_('Дата и время прибытия'))
|
arrival_DT = models.DateTimeField(verbose_name=_('Дата и время прибытия'))
|
||||||
|
# не используем с v2
|
||||||
from_address_point = models.IntegerField(verbose_name=_('Пункт выезда'))
|
from_address_point = models.IntegerField(verbose_name=_('Пункт выезда'))
|
||||||
|
# не используем с v2
|
||||||
to_address_point = models.IntegerField(verbose_name=_('Пункт приезда'))
|
to_address_point = models.IntegerField(verbose_name=_('Пункт приезда'))
|
||||||
|
|
||||||
from_city = models.ForeignKey(
|
from_city = models.ForeignKey(
|
||||||
City, verbose_name=_('Город отправки'), related_name='rel_routes_for_cityFrom', on_delete=models.SET_NULL,
|
City, verbose_name=_('Город отправки'), related_name='rel_routes_for_cityFrom', on_delete=models.SET_NULL,
|
||||||
null=True, blank=True
|
null=True, blank=True
|
||||||
@@ -51,18 +59,34 @@ class Route(BaseModel):
|
|||||||
City, verbose_name=_('Город получения'), related_name='rel_routes_for_cityTo', on_delete=models.SET_NULL,
|
City, verbose_name=_('Город получения'), related_name='rel_routes_for_cityTo', on_delete=models.SET_NULL,
|
||||||
null=True, blank=True
|
null=True, blank=True
|
||||||
)
|
)
|
||||||
from_place = models.CharField(choices=transfer_location_choices, default='other',
|
# не используем с v2
|
||||||
verbose_name=_('Откуда можете забрать?'))
|
from_place = models.CharField(
|
||||||
to_place = models.CharField(choices=transfer_location_choices, default='other',
|
choices=transfer_location_choices, default='other',
|
||||||
verbose_name=_('Куда можете доставить?'))
|
verbose_name=_('Откуда можете забрать?'),
|
||||||
|
null=True, blank=True
|
||||||
|
)
|
||||||
|
# не используем с v2
|
||||||
|
to_place = models.CharField(
|
||||||
|
choices=transfer_location_choices, default='other',
|
||||||
|
verbose_name=_('Куда можете доставить?'),
|
||||||
|
null=True, blank=True
|
||||||
|
)
|
||||||
cargo_type = models.CharField(choices=cargo_type_choices, default='parcel', verbose_name=_('Могу перевезти'))
|
cargo_type = models.CharField(choices=cargo_type_choices, default='parcel', verbose_name=_('Могу перевезти'))
|
||||||
weight = models.IntegerField(verbose_name=_('Укажите вес до (кг)'))
|
# не используем с v2
|
||||||
|
weight = models.IntegerField(verbose_name=_('Укажите вес до (кг)'), null=True, blank=True)
|
||||||
phone = models.CharField(verbose_name=_('Укажите номер для связи'), blank=True, null=True)
|
phone = models.CharField(verbose_name=_('Укажите номер для связи'), blank=True, null=True)
|
||||||
|
# не используем с v2
|
||||||
extra_phone = models.CharField(verbose_name=_('Дополнительный номер'), blank=True, null=True)
|
extra_phone = models.CharField(verbose_name=_('Дополнительный номер'), blank=True, null=True)
|
||||||
|
|
||||||
receive_msg_by_email = models.BooleanField(default=False, verbose_name=_('Получать уведомления по E-mail'))
|
receive_msg_by_email = models.BooleanField(default=False, verbose_name=_('Получать уведомления по E-mail'))
|
||||||
|
# не используем с v2
|
||||||
receive_msg_by_sms = models.BooleanField(default=False, verbose_name=_('Получать уведомления по SMS'))
|
receive_msg_by_sms = models.BooleanField(default=False, verbose_name=_('Получать уведомления по SMS'))
|
||||||
|
|
||||||
owner = models.ForeignKey(User, verbose_name=_('Владелец'), related_name='rel_routes_for_owner', on_delete=models.CASCADE)
|
owner = models.ForeignKey(User, verbose_name=_('Владелец'), related_name='rel_routes_for_owner', on_delete=models.CASCADE)
|
||||||
|
|
||||||
|
# добавлен в v2
|
||||||
|
comment = models.TextField(verbose_name='Примечания', null=True, blank=True)
|
||||||
|
|
||||||
rising_DT = models.DateTimeField(
|
rising_DT = models.DateTimeField(
|
||||||
verbose_name=_('Дата и время последнего поднятия'),
|
verbose_name=_('Дата и время последнего поднятия'),
|
||||||
blank=True, null=True
|
blank=True, null=True
|
||||||
|
|||||||
Reference in New Issue
Block a user