refactor(db): консолидация миграций и рефакторинг кода

Объединены изменения из промежуточных миграций в начальные миграции для упрощения истории базы данных.
Удалены миграции: accounts/0002, discounts/0002, orders/0003-0004, products/0002-0005, user_roles/0002, system_settings/0001-0002, integrations/0001-0002.
Добавлена автоматическая creation пользователя при установке пароля.
Обновлен UI страницы установки пароля с кастомным стилем.
Добавлен conditional rendering для кнопки синхронизации Recommerce.
Исправлены редиректы с 'index' на '/' в accounts views.
Добавлена проверка request.tenant в navbar и authenticate метод в auth backend.
This commit is contained in:
2026-01-14 16:30:28 +03:00
parent e7672588c6
commit caeb3f80bd
31 changed files with 238 additions and 558 deletions

View File

@@ -237,11 +237,13 @@
</a>
</li>
<li><hr class="dropdown-divider"></li>
{% if recommerce_integration_enabled %}
<li>
<a class="dropdown-item" href="#" id="bulk-recommerce-sync">
<i class="bi bi-arrow-repeat"></i> Синхронизация с Recommerce
</a>
</li>
{% endif %}
</ul>
</div>
</div>
@@ -595,4 +597,19 @@
<script src="{% static 'products/js/batch-selection.js' %}?v=1.5"></script>
<script src="{% static 'products/js/bulk-category-modal.js' %}?v=1.6"></script>
<script src="{% static 'products/js/recommerce-sync.js' %}?v=1.2"></script>
<script>
// Проверка состояния интеграции Recommerce
document.addEventListener('DOMContentLoaded', function() {
const syncBtn = document.getElementById('bulk-recommerce-sync');
if (syncBtn) {
syncBtn.addEventListener('click', function(e) {
{% if not recommerce_integration_enabled %}
e.preventDefault();
alert('Интеграция с Recommerce отключена. Включите её в настройках.');
return false;
{% endif %}
});
}
});
</script>
{% endblock %}