Исправлена отображение полей адреса и стили формы заказа
## Основные изменения: ### 1. Исправлена логика выбора режима адреса - Переместил функцию initAddressModeToggle() из jQuery блока в отдельную функцию - Теперь инициализация адреса работает независимо от jQuery - Добавлены подробные логи в консоль для отладки ([ADDRESS MODE] префикс) ### 2. Добавлены CSS классы для управления видимостью - address-history-mode: display: none !important (по умолчанию скрыт) - address-new-mode: display: none !important (по умолчанию скрыт) - .visible класс переводит элементы на display: block !important - Использование classList.add/remove вместо inline styles ### 3. Исправлены стили полей формы (OrderForm) - Добавлена явная обработка для Select полей - получают form-select - Поле "Статус" и другие Select теперь имеют правильные стили Bootstrap - Разделена логика для RadioSelect, Select и остальных полей ### 4. Улучшена отладка - Добавлены console.log сообщения на каждом этапе инициализации - Префикс [ADDRESS MODE] помогает отличить логи системы адреса от других ## Технические детали: - Address сервис использует метод format_address_for_display() для красивого вывода - AJAX endpoint get_customer_address_history() загружает адреса клиента - Три режима адреса: history (из истории), new (новый адрес), empty (без адреса) - Режим empty выбирается по умолчанию 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
from django.contrib import admin
|
||||
from .models import Order, OrderItem, Payment
|
||||
from .models import Order, OrderItem, Payment, Address
|
||||
|
||||
|
||||
class PaymentInline(admin.TabularInline):
|
||||
@@ -228,3 +228,53 @@ class OrderItemAdmin(admin.ModelAdmin):
|
||||
'classes': ('collapse',)
|
||||
}),
|
||||
)
|
||||
|
||||
|
||||
@admin.register(Address)
|
||||
class AddressAdmin(admin.ModelAdmin):
|
||||
"""
|
||||
Админ-панель для управления адресами доставки заказов.
|
||||
"""
|
||||
list_display = [
|
||||
'recipient_name',
|
||||
'recipient_phone',
|
||||
'full_address',
|
||||
'entrance',
|
||||
'floor',
|
||||
'confirm_address_with_recipient',
|
||||
'created_at',
|
||||
]
|
||||
|
||||
list_filter = [
|
||||
'confirm_address_with_recipient',
|
||||
'created_at',
|
||||
]
|
||||
|
||||
search_fields = [
|
||||
'recipient_name',
|
||||
'street',
|
||||
'building_number',
|
||||
]
|
||||
|
||||
readonly_fields = ['created_at', 'updated_at']
|
||||
|
||||
fieldsets = (
|
||||
('Информация о получателе', {
|
||||
'fields': ('recipient_name', 'recipient_phone')
|
||||
}),
|
||||
('Адрес доставки', {
|
||||
'fields': ('street', 'building_number', 'apartment_number', 'entrance', 'floor')
|
||||
}),
|
||||
('Доступ в здание', {
|
||||
'fields': ('intercom_code',),
|
||||
'classes': ('collapse',)
|
||||
}),
|
||||
('Дополнительная информация', {
|
||||
'fields': ('delivery_instructions', 'confirm_address_with_recipient'),
|
||||
'classes': ('collapse',)
|
||||
}),
|
||||
('Даты', {
|
||||
'fields': ('created_at', 'updated_at'),
|
||||
'classes': ('collapse',)
|
||||
}),
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user