refactor: rename primary_category to external_category

This commit is contained in:
2026-01-14 02:59:11 +03:00
parent 1fb280607a
commit e7672588c6
12 changed files with 306 additions and 85 deletions

View File

@@ -109,18 +109,18 @@ input[name*="DELETE"] {
{% endif %}
</div>
<!-- Основная категория для интеграций -->
<!-- Внешняя категория для интеграций -->
<div class="mb-3">
<label for="id_primary_category" class="form-label">
Основная категория
<label for="id_external_category" class="form-label">
Внешняя категория
<small class="text-muted">(для интеграций)</small>
</label>
{{ form.primary_category }}
{% if form.primary_category.help_text %}
<div class="form-text">{{ form.primary_category.help_text }}</div>
{{ form.external_category }}
{% if form.external_category.help_text %}
<div class="form-text">{{ form.external_category.help_text }}</div>
{% endif %}
{% if form.primary_category.errors %}
<div class="text-danger small">{{ form.primary_category.errors.0 }}</div>
{% if form.external_category.errors %}
<div class="text-danger small">{{ form.external_category.errors.0 }}</div>
{% endif %}
</div>

View File

@@ -467,18 +467,17 @@
{% endif %}
</div>
<!-- Основная категория для интеграций -->
<!-- Внешняя категория для интеграций -->
<div class="mb-3">
<label for="id_primary_category" class="form-label">
Основная категория
<small class="text-muted">(для интеграций)</small>
<label for="id_external_category" class="form-label">
Внешняя категория
</label>
{{ form.primary_category }}
{% if form.primary_category.help_text %}
<div class="form-text">{{ form.primary_category.help_text }}</div>
{{ form.external_category }}
{% if form.external_category.help_text %}
<div class="form-text">{{ form.external_category.help_text }}</div>
{% endif %}
{% if form.primary_category.errors %}
<div class="text-danger">{{ form.primary_category.errors }}</div>
{% if form.external_category.errors %}
<div class="text-danger">{{ form.external_category.errors }}</div>
{% endif %}
</div>

View File

@@ -183,14 +183,14 @@
{% endif %}
</div>
<!-- Основная категория для интеграций -->
<!-- Внешняя категория для интеграций -->
<div class="mb-2">
<label for="id_primary_category" class="form-label small mb-1 text-muted">
Основная категория <small>(для интеграций)</small>
<label for="id_external_category" class="form-label small mb-1 text-muted">
Внешняя категория <small>(для интеграций)</small>
</label>
{{ form.primary_category }}
{% if form.primary_category.errors %}
<div class="text-danger small mt-1">{{ form.primary_category.errors }}</div>
{{ form.external_category }}
{% if form.external_category.errors %}
<div class="text-danger small mt-1">{{ form.external_category.errors }}</div>
{% endif %}
</div>

View File

@@ -184,14 +184,14 @@
{% endif %}
</div>
<!-- Основная категория для интеграций -->
<!-- Внешняя категория для интеграций -->
<div class="mb-2">
<label for="id_primary_category" class="form-label small mb-1 text-muted">
Основная категория <small>(для интеграций)</small>
<label for="id_external_category" class="form-label small mb-1 text-muted">
Внешняя категория <small>(для интеграций)</small>
</label>
{{ form.primary_category }}
{% if form.primary_category.errors %}
<div class="text-danger small mt-1">{{ form.primary_category.errors }}</div>
{{ form.external_category }}
{% if form.external_category.errors %}
<div class="text-danger small mt-1">{{ form.external_category.errors }}</div>
{% endif %}
</div>

View File

@@ -259,6 +259,7 @@
<th style="width: 120px;">Артикул</th>
<th style="width: 80px;">Тип</th>
<th>Категория</th>
<th style="width: 100px;">Внешняя кат.</th>
<th style="width: 150px;">Теги</th>
<th style="width: 130px;">Цена</th>
<th style="width: 120px;">Остаток</th>
@@ -314,6 +315,15 @@
<span class="text-muted">-</span>
{% endfor %}
</td>
<td>
{% if item.external_category %}
<span class="badge bg-warning text-dark" title="{{ item.external_category.name }}">
<i class="bi bi-star-fill"></i> {{ item.external_category.name|truncatechars:15 }}
</span>
{% else %}
<span class="text-muted"></span>
{% endif %}
</td>
<td title="{% if item.tags.all|length %}{% for t in item.tags.all %}{{ t.name }}{% if not forloop.last %}, {% endif %}{% endfor %}{% else %}-{% endif %}">
{% for tag in item.tags.all|slice:":2" %}
<span class="badge bg-primary">{{ tag.name }}</span>
@@ -528,6 +538,35 @@
</div>
</div>
<!-- Секция ВНЕШНЕЙ категории для интеграций -->
<div class="mb-4 border-top pt-3">
<label class="form-label fw-bold">
<i class="bi bi-star-fill text-warning"></i>
Внешняя категория (для интеграций)
</label>
<p class="small text-muted mb-2">
Внешняя категория используется при экспорте на внешние площадки (Recommerce, WooCommerce и др.)
</p>
<!-- Выбор внешней категории -->
<div class="mb-2">
<select class="form-select" id="externalCategorySelect">
<option value="">Не выбрана —</option>
{% for category in filters.categories %}
<option value="{{ category.id }}">{{ category.name }}</option>
{% endfor %}
</select>
</div>
<!-- Чекбокс для очистки -->
<div class="form-check">
<input class="form-check-input" type="checkbox" id="clearExternalCategory">
<label class="form-check-label text-danger" for="clearExternalCategory">
<strong>Очистить внешнюю категорию</strong>
</label>
</div>
</div>
<!-- Сообщения об ошибках -->
<div id="bulkCategoryError" class="alert alert-danger d-none" role="alert"></div>
</div>