Compare commits
2 Commits
1d4bbf6a6d
...
e3949d249f
| Author | SHA1 | Date | |
|---|---|---|---|
| e3949d249f | |||
| e10f2c413b |
@@ -31,6 +31,7 @@ class UnitOfMeasureService:
|
|||||||
{'code': 'банч', 'name': 'Банч', 'short_name': 'банч', 'position': 10},
|
{'code': 'банч', 'name': 'Банч', 'short_name': 'банч', 'position': 10},
|
||||||
{'code': 'ветка', 'name': 'Ветка', 'short_name': 'вет.', 'position': 11},
|
{'code': 'ветка', 'name': 'Ветка', 'short_name': 'вет.', 'position': 11},
|
||||||
{'code': 'пучок', 'name': 'Пучок', 'short_name': 'пуч.', 'position': 12},
|
{'code': 'пучок', 'name': 'Пучок', 'short_name': 'пуч.', 'position': 12},
|
||||||
|
{'code': 'коробка', 'name': 'Коробка', 'short_name': 'кор.', 'position': 13},
|
||||||
]
|
]
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
|
|||||||
@@ -97,7 +97,7 @@
|
|||||||
<a href="{% url 'products:unit-list' %}" class="btn btn-outline-secondary">
|
<a href="{% url 'products:unit-list' %}" class="btn btn-outline-secondary">
|
||||||
Отмена
|
Отмена
|
||||||
</a>
|
</a>
|
||||||
<button type="submit" class="btn btn-primary">
|
<button type="submit" name="submit" class="btn btn-primary">
|
||||||
<i class="bi bi-check-lg"></i> {{ submit_text }}
|
<i class="bi bi-check-lg"></i> {{ submit_text }}
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -63,6 +63,11 @@ def unit_of_measure_create(request):
|
|||||||
"""
|
"""
|
||||||
Создание новой единицы измерения
|
Создание новой единицы измерения
|
||||||
"""
|
"""
|
||||||
|
# Проверка: PlatformAdmin не имеет доступа к бизнес-данным тенантов
|
||||||
|
if request.user.__class__.__name__ == 'PlatformAdmin':
|
||||||
|
messages.error(request, 'У вас недостаточно прав для выполнения этого действия')
|
||||||
|
return redirect('products:unit-list')
|
||||||
|
|
||||||
if request.method == 'POST':
|
if request.method == 'POST':
|
||||||
form = UnitOfMeasureForm(request.POST)
|
form = UnitOfMeasureForm(request.POST)
|
||||||
if form.is_valid():
|
if form.is_valid():
|
||||||
@@ -85,6 +90,11 @@ def unit_of_measure_update(request, pk):
|
|||||||
"""
|
"""
|
||||||
Редактирование единицы измерения
|
Редактирование единицы измерения
|
||||||
"""
|
"""
|
||||||
|
# Проверка: PlatformAdmin не имеет доступа к бизнес-данным тенантов
|
||||||
|
if request.user.__class__.__name__ == 'PlatformAdmin':
|
||||||
|
messages.error(request, 'У вас недостаточно прав для выполнения этого действия')
|
||||||
|
return redirect('products:unit-list')
|
||||||
|
|
||||||
unit = get_object_or_404(UnitOfMeasure, pk=pk)
|
unit = get_object_or_404(UnitOfMeasure, pk=pk)
|
||||||
|
|
||||||
if request.method == 'POST':
|
if request.method == 'POST':
|
||||||
@@ -110,11 +120,16 @@ def unit_of_measure_delete(request, pk):
|
|||||||
"""
|
"""
|
||||||
Удаление единицы измерения
|
Удаление единицы измерения
|
||||||
"""
|
"""
|
||||||
|
# Проверка: PlatformAdmin не имеет доступа к бизнес-данным тенантов
|
||||||
|
if request.user.__class__.__name__ == 'PlatformAdmin':
|
||||||
|
messages.error(request, 'У вас недостаточно прав для выполнения этого действия')
|
||||||
|
return redirect('products:unit-list')
|
||||||
|
|
||||||
unit = get_object_or_404(UnitOfMeasure, pk=pk)
|
unit = get_object_or_404(UnitOfMeasure, pk=pk)
|
||||||
|
|
||||||
# Проверяем использование
|
# Проверяем использование
|
||||||
products_using = unit.products.count()
|
products_using = unit.products.count()
|
||||||
sales_units_using = unit.productsalesunit_set.count()
|
sales_units_using = ProductSalesUnit.objects.filter(product__base_unit=unit).count()
|
||||||
|
|
||||||
can_delete = products_using == 0 and sales_units_using == 0
|
can_delete = products_using == 0 and sales_units_using == 0
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user