Мелкие правки модели заказа и исправление параметров метода order.create
This commit is contained in:
parent
1e5c479077
commit
ca5ddec512
@ -300,8 +300,7 @@ class ApiAccount:
|
||||
user.password = new_password
|
||||
try:
|
||||
await sync_to_async(user.full_clean)()
|
||||
except:
|
||||
traceback.print_exc()
|
||||
except Exception:
|
||||
raise Exception(API_ERROR_INVALID_PASSWORD)
|
||||
|
||||
if ApiAccount.__check_phone_code(phone, code):
|
||||
@ -502,51 +501,70 @@ class ApiOrder:
|
||||
params=[
|
||||
ApiParamAccessToken(),
|
||||
ApiParamStr(name='name', max_length=200, description="Название заказа"),
|
||||
ApiParamStr(name='description', max_length=1000, description="Описание заказа",
|
||||
required=False, default=""),
|
||||
ApiParamFloat(name='square', value_max=99999.99, value_min=1.0,
|
||||
description='Площадь в м²'),
|
||||
ApiParamStr(name='work_time', max_length=100, description="Рабочее время",
|
||||
ApiParamEnum(name="address_city", description="Город: {choices}", choices=CITIES_CHOICES),
|
||||
ApiParamStr(name='address_text', max_length=70, description="Улица, дом",
|
||||
required=False, default=""),
|
||||
|
||||
ApiParamEnum(name='type_of_renovation', choices=Order.TYPE_OF_RENOVATION_CHOICES, required=False,
|
||||
ApiParamEnum(name='type_of_apartment', choices=Order.TYPE_OF_APARTMENT_CHOICES, required=False,
|
||||
default=Order.CHOICE_UNDEFINED,
|
||||
description="Тип ремонта: {choices}"),
|
||||
description="Вид объекта: {choices}"),
|
||||
ApiParamEnum(name='type_of_house', choices=Order.TYPE_OF_HOUSE_CHOICES, required=False,
|
||||
default=Order.CHOICE_UNDEFINED,
|
||||
description="Тип дома: {choices}"),
|
||||
ApiParamEnum(name='type_of_room', choices=Order.TYPE_OF_ROOM_CHOICES, required=False,
|
||||
default=Order.CHOICE_UNDEFINED,
|
||||
description="Тип квартиры: {choices}"),
|
||||
ApiParamInt(name='number_of_rooms', required=True, value_min=-1, value_max=100,
|
||||
description="Количество комнат, -1 = студия"),
|
||||
ApiParamBoolean(name="is_balcony", default=True, description="Балкон"),
|
||||
ApiParamBoolean(name="is_loggia", default=True, description="Лоджия"),
|
||||
ApiParamStr(name='state_of_room', max_length=40, description="Состояние помещения",
|
||||
required=False, default=""),
|
||||
ApiParamFloat(name='square', value_max=99999.99, value_min=1.0,
|
||||
description='Площадь в м²'),
|
||||
ApiParamFloat(name='ceiling_height', value_max=99.99, value_min=1.0,
|
||||
description='Высота потолков в м'),
|
||||
ApiParamEnum(name='type_of_renovation', choices=Order.TYPE_OF_RENOVATION_CHOICES, required=False,
|
||||
default=Order.CHOICE_UNDEFINED,
|
||||
description="Тип ремонта: {choices}"),
|
||||
ApiParamBoolean(name="is_redevelopment", required=False, default=True,
|
||||
description="Требуется перепланировка"),
|
||||
ApiParamBoolean(name="is_leveling_floors", required=False, default=False,
|
||||
description="Требуется выравнивание полов"),
|
||||
ApiParamBoolean(name="is_heated_floor", required=False, default=False,
|
||||
description="Теплый пол"),
|
||||
ApiParamBoolean(name="is_leveling_walls", required=False, default=False,
|
||||
description="Требуется выравнивание стен"),
|
||||
ApiParamStr(name='type_of_ceiling', max_length=40, description="Тип потолка",
|
||||
required=False, default=""),
|
||||
ApiParamBoolean(name="is_wiring_replace", required=False, default=False,
|
||||
description="Требуется замена проводки"),
|
||||
ApiParamBoolean(name="is_require_design", required=False, default=False,
|
||||
description="Требуется дизайн проект"),
|
||||
|
||||
ApiParamEnum(name='purchase_of_material', choices=Order.PURCHASE_OF_MATERIAL_CHOICES,
|
||||
required=False, default=Order.CHOICE_UNDEFINED,
|
||||
description="Закуп материала: {choices}"),
|
||||
|
||||
# дальше отдельные флаги
|
||||
ApiParamBoolean(name="is_with_warranty", required=False, default=True,
|
||||
description="С гарантией"),
|
||||
ApiParamBoolean(name="is_with_contract", required=False, default=False,
|
||||
description="Работа по договору"),
|
||||
ApiParamBoolean(name="is_with_warranty", required=False, default=True,
|
||||
description="С гарантией"),
|
||||
ApiParamBoolean(name="is_with_trade", required=False, default=False,
|
||||
description="Возможен торг"),
|
||||
ApiParamBoolean(name="is_with_cleaning", required=False, default=False,
|
||||
description="С уборкой"),
|
||||
ApiParamBoolean(name="is_with_garbage_removal", required=False, default=False,
|
||||
description="С вывозом мусора"),
|
||||
ApiParamBoolean(name="is_require_design", required=False, default=False,
|
||||
description="Требуется дизайн проект"),
|
||||
|
||||
# примерная цена
|
||||
ApiParamFloat(name='approximate_price', value_max=9999999999.99, value_min=1.0,
|
||||
description='Примерная цена'),
|
||||
|
||||
# date_start = models.DateField(null=True, blank=True, default=None, verbose_name="Дата начала")
|
||||
# date_end = models.DateField(null=True, blank=True, default=None, verbose_name="Дата окончания")
|
||||
|
||||
ApiParamEnum(name="address_city", description="Город: {choices}", choices=CITIES_CHOICES),
|
||||
ApiParamFloat(name='approximate_price', value_max=9999999999.99, value_min=1.0,
|
||||
description='Примерная цена'),
|
||||
ApiParamStr(name='description', max_length=1000, description="Описание заказа",
|
||||
required=False, default=""),
|
||||
ApiParamStr(name='video_link', max_length=160, description="Ссылка на видео",
|
||||
required=False, default=""),
|
||||
|
||||
ApiParamStr(name='address_text', max_length=70, description="Улица, дом",
|
||||
required=False, default="")
|
||||
# email = models.EmailField(null=True, blank=True, verbose_name="Email")
|
||||
# phone = models.CharField(null=True, blank=True, max_length=16, verbose_name="Телефон")
|
||||
],
|
||||
|
@ -253,7 +253,7 @@ class Order(models.Model):
|
||||
(TYPE_OF_APARTMENT_SECONDARY, 'Вторичка')
|
||||
]
|
||||
type_of_apartment = models.CharField(max_length=10, choices=TYPE_OF_APARTMENT_CHOICES, blank=True,
|
||||
default=CHOICE_UNDEFINED, verbose_name="Тип квартиры")
|
||||
default=CHOICE_UNDEFINED, verbose_name="Вид объекта")
|
||||
|
||||
# тип дома
|
||||
TYPE_OF_HOUSE_BLOCK = 'block'
|
||||
@ -261,6 +261,7 @@ class Order(models.Model):
|
||||
TYPE_OF_HOUSE_MONOLITH = 'monolith'
|
||||
TYPE_OF_HOUSE_PANEL = 'panel'
|
||||
|
||||
# TODO добавить чойсов, их на самом деле больше
|
||||
TYPE_OF_HOUSE_CHOICES = [
|
||||
(TYPE_OF_HOUSE_BLOCK, 'Блочный'),
|
||||
(TYPE_OF_HOUSE_BRICK, 'Кирпичный'),
|
||||
@ -307,7 +308,7 @@ class Order(models.Model):
|
||||
square = models.DecimalField(max_digits=7, decimal_places=2, blank=False, verbose_name="Площадь в м²")
|
||||
|
||||
# высота потолков
|
||||
ceiling_height = models.DecimalField(max_digits=2, decimal_places=2, blank=False,
|
||||
ceiling_height = models.DecimalField(max_digits=4, decimal_places=2, blank=False,
|
||||
verbose_name="Высота потолков в м")
|
||||
|
||||
# Раздел "Ремонт"
|
||||
@ -332,9 +333,9 @@ class Order(models.Model):
|
||||
is_leveling_walls = models.BooleanField(default=False, verbose_name="Выравнивать стены")
|
||||
|
||||
type_of_ceiling = models.CharField(max_length=40, blank=True, default=CHOICE_UNDEFINED,
|
||||
verbose_name="Потолок")
|
||||
verbose_name="Тип потолка")
|
||||
|
||||
is_wiring_replace = models.BooleanField(default=False, verbose_name="Замена проводки")
|
||||
is_wiring_replace = models.BooleanField(default=False, verbose_name="Требуется замена проводки")
|
||||
is_require_design = models.BooleanField(default=False, verbose_name="Требуется дизайн проект")
|
||||
|
||||
# закуп материала
|
||||
@ -362,10 +363,11 @@ class Order(models.Model):
|
||||
|
||||
description = models.TextField(blank=True, verbose_name="Описание")
|
||||
|
||||
# TODO сделать ссылку на видео
|
||||
video_link = models.CharField(max_length=160, blank=True, default=CHOICE_UNDEFINED,
|
||||
verbose_name="Ссылка на видео")
|
||||
|
||||
email = models.EmailField(null=True, blank=True, verbose_name="Email")
|
||||
phone = models.CharField(null=True, blank=True, max_length=16, verbose_name="Телефон", validators=[
|
||||
email = models.EmailField(blank=True, verbose_name="Email")
|
||||
phone = models.CharField(blank=True, max_length=16, verbose_name="Телефон", validators=[
|
||||
RegexValidator(regex="^\\+7[0-9]{10}$")
|
||||
])
|
||||
|
||||
|
Reference in New Issue
Block a user