Упрощение системы получателей доставки
- Удалено избыточное поле customer_is_recipient из модели Order - Добавлено свойство @property is_customer_recipient для обратной совместимости - Заменены радиокнопки recipient_mode на чекбокс 'Другой получатель' в форме - Добавлено поле recipient_source для выбора между историей и новым получателем - Обновлен AddressService.process_recipient_from_form() для работы с чекбоксом - Обновлены шаблоны: order_form.html (чекбокс вместо радиокнопок) и order_detail.html - Удалено customer_is_recipient из admin и demo команды - Создана миграция для удаления поля customer_is_recipient Логика упрощена: recipient is None = получатель = покупатель, иначе - отдельный получатель
This commit is contained in:
@@ -94,13 +94,7 @@ class Order(models.Model):
|
||||
)
|
||||
|
||||
# Информация о получателе
|
||||
customer_is_recipient = models.BooleanField(
|
||||
default=True,
|
||||
verbose_name="Покупатель является получателем",
|
||||
help_text="Если отмечено, данные получателя не требуются отдельно"
|
||||
)
|
||||
|
||||
# Получатель (если покупатель != получатель)
|
||||
# Получатель (если None - получатель = покупатель, иначе - отдельный получатель)
|
||||
recipient = models.ForeignKey(
|
||||
Recipient,
|
||||
on_delete=models.SET_NULL,
|
||||
@@ -324,3 +318,8 @@ class Order(models.Model):
|
||||
if hasattr(self, 'delivery') and self.delivery:
|
||||
return self.delivery.pickup_warehouse
|
||||
return None
|
||||
|
||||
@property
|
||||
def is_customer_recipient(self):
|
||||
"""Является ли покупатель получателем (обратная совместимость)"""
|
||||
return self.recipient is None
|
||||
|
||||
Reference in New Issue
Block a user