diff --git a/myproject/orders/templates/orders/order_form.html b/myproject/orders/templates/orders/order_form.html index 37dc404..1316c54 100644 --- a/myproject/orders/templates/orders/order_form.html +++ b/myproject/orders/templates/orders/order_form.html @@ -774,6 +774,47 @@ document.addEventListener('DOMContentLoaded', function() { }) .then(data => { console.log('Response data:', data); + + // Функция заполнения формы данными комплекта + function fillFormWithKit(form, kitData) { + if (!kitData || !kitData.kit_id || !kitData.kit_name || !kitData.kit_price) { + console.error('Invalid kit data:', kitData); + alert('Ошибка: неверные данные комплекта'); + return; + } + + // Устанавливаем значения для комплекта + const kitSelect = form.querySelector('.select2-order-item'); + const quantityInput = form.querySelector('[name$="-quantity"]'); + const priceInput = form.querySelector('[name$="-price"]'); + + if (!kitSelect) { + console.error('Kit select not found in form'); + return; + } + + // Используем Select2 API для добавления опции + const newOption = new Option(kitData.kit_name, `kit_${kitData.kit_id}`, true, true); + $(kitSelect).append(newOption).trigger('change'); + + // Устанавливаем количество и цену + if (quantityInput) quantityInput.value = '1'; + if (priceInput) { + priceInput.value = kitData.kit_price; + priceInput.dataset.originalPrice = kitData.kit_price; + } + + // Явно вызываем событие select2:select для запуска автосохранения + $(kitSelect).trigger('select2:select', { + params: { + data: { + id: `kit_${kitData.kit_id}`, + text: kitData.kit_name + } + } + }); + } + if (data.success) { // Закрываем модальное окно const modal = bootstrap.Modal.getInstance(tempKitModal); @@ -807,35 +848,6 @@ document.addEventListener('DOMContentLoaded', function() { fillFormWithKit(targetForm, data); } - // Функция заполнения формы данными комплекта - function fillFormWithKit(form, kitData) { - // Устанавливаем значения для комплекта - const kitSelect = form.querySelector('.select2-order-item'); - const quantityInput = form.querySelector('[name$="-quantity"]'); - const priceInput = form.querySelector('[name$="-price"]'); - - // Используем Select2 API для добавления опции - const newOption = new Option(kitData.kit_name, `kit_${kitData.kit_id}`, true, true); - $(kitSelect).append(newOption).trigger('change'); - - // Устанавливаем количество и цену - if (quantityInput) quantityInput.value = '1'; - if (priceInput) { - priceInput.value = kitData.kit_price; - priceInput.dataset.originalPrice = kitData.kit_price; - } - - // Явно вызываем событие select2:select для запуска автосохранения - $(kitSelect).trigger('select2:select', { - params: { - data: { - id: `kit_${kitData.kit_id}`, - text: kitData.kit_name - } - } - }); - } - // Очищаем форму модального окна document.getElementById('temp-kit-name').value = ''; document.getElementById('temp-kit-description').value = '';