diff --git a/myproject/orders/templates/orders/order_form.html b/myproject/orders/templates/orders/order_form.html index 9d737cd..ab8a2b7 100644 --- a/myproject/orders/templates/orders/order_form.html +++ b/myproject/orders/templates/orders/order_form.html @@ -672,15 +672,52 @@ document.addEventListener('DOMContentLoaded', function() { components: components }) }) - .then(response => response.json()) + .then(response => { + console.log('Response status:', response.status); + if (!response.ok) { + throw new Error(`HTTP error! status: ${response.status}`); + } + return response.json(); + }) .then(data => { + console.log('Response data:', data); if (data.success) { // Закрываем модальное окно const modal = bootstrap.Modal.getInstance(tempKitModal); modal.hide(); - // Добавляем созданный комплект в форму заказа - addOrderItem(`kit_${data.kit_id}`, 'kit', data.kit_name, data.kit_price, 1); + // Добавляем комплект в заказ через клик на кнопку добавления формы + const addButton = document.getElementById('add-order-item-btn'); + addButton.click(); + + // Получаем последнюю добавленную форму + const forms = container.querySelectorAll('.order-item-form'); + const lastForm = forms[forms.length - 1]; + + // Устанавливаем значения для комплекта + const kitSelect = lastForm.querySelector('.select2-order-item'); + const quantityInput = lastForm.querySelector('[name$="-quantity"]'); + const priceInput = lastForm.querySelector('[name$="-price"]'); + + // Добавляем опцию в select + const option = new Option(data.kit_name, `kit_${data.kit_id}`, true, true); + kitSelect.appendChild(option); + + // Триггерим изменение для Select2 + $(kitSelect).trigger('change'); + + // Устанавливаем количество и цену + if (quantityInput) quantityInput.value = '1'; + if (priceInput) { + priceInput.value = data.kit_price; + priceInput.dataset.originalPrice = data.kit_price; + } + + // Очищаем форму модального окна + document.getElementById('temp-kit-name').value = ''; + document.getElementById('temp-kit-description').value = ''; + tempKitComponentsContainer.innerHTML = ''; + tempKitComponentIndex = 0; // Показываем успешное сообщение alert(`Комплект "${data.kit_name}" создан и добавлен в заказ!`); @@ -689,8 +726,9 @@ document.addEventListener('DOMContentLoaded', function() { } }) .catch(error => { - console.error('Error:', error); - alert('Произошла ошибка при создании комплекта'); + console.error('Full error:', error); + console.error('Error message:', error.message); + alert('Произошла ошибка при создании комплекта: ' + error.message); }); }); });