Исправлена валидация SKU: разрешено сохранение существующего артикула
При редактировании товара проверка зарезервированных префиксов теперь пропускается, если артикул не изменился. Это позволяет редактировать товары с автоматически сгенерированными артикулами. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -38,13 +38,17 @@ class SKUUniqueMixin:
|
|||||||
sku = sku.strip()
|
sku = sku.strip()
|
||||||
|
|
||||||
# Проверяем зарезервированные префиксы
|
# Проверяем зарезервированные префиксы
|
||||||
|
# Но пропускаем проверку, если это редактирование и артикул не изменился
|
||||||
sku_upper = sku.upper()
|
sku_upper = sku.upper()
|
||||||
for prefix, entity_type in self.RESERVED_PREFIXES.items():
|
is_existing_sku = self.instance.pk and self.instance.sku == sku
|
||||||
if sku_upper.startswith(prefix):
|
|
||||||
raise forms.ValidationError(
|
if not is_existing_sku:
|
||||||
f'Префикс "{prefix}" зарезервирован для автоматической генерации артикулов {entity_type}. '
|
for prefix, entity_type in self.RESERVED_PREFIXES.items():
|
||||||
f'Пожалуйста, используйте другой артикул или оставьте поле пустым для автогенерации.'
|
if sku_upper.startswith(prefix):
|
||||||
)
|
raise forms.ValidationError(
|
||||||
|
f'Префикс "{prefix}" зарезервирован для автоматической генерации артикулов {entity_type}. '
|
||||||
|
f'Пожалуйста, используйте другой артикул или оставьте поле пустым для автогенерации.'
|
||||||
|
)
|
||||||
|
|
||||||
# Проверяем во всех моделях
|
# Проверяем во всех моделях
|
||||||
models_to_check = [
|
models_to_check = [
|
||||||
|
|||||||
Reference in New Issue
Block a user