Feat: Автоматическая себестоимость товара (read-only)
- Удалено ручное редактирование себестоимости из формы товара - Себестоимость теперь рассчитывается автоматически из партий (FIFO) - Добавлена модель CostPriceHistory для логирования изменений - Добавлен signal для автоматического логирования изменений cost_price - Админ-панель: себестоимость read-only с детальной информацией о партиях - Фронтенд: цены перемещены под название, теги под категории - Поле cost_price сделано опциональным (default=0) для создания товаров 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -30,7 +30,7 @@ class ProductForm(forms.ModelForm):
|
||||
model = Product
|
||||
fields = [
|
||||
'name', 'sku', 'description', 'short_description', 'categories',
|
||||
'tags', 'unit', 'cost_price', 'price', 'sale_price', 'status'
|
||||
'tags', 'unit', 'price', 'sale_price', 'status'
|
||||
]
|
||||
labels = {
|
||||
'name': 'Название',
|
||||
@@ -40,7 +40,6 @@ class ProductForm(forms.ModelForm):
|
||||
'categories': 'Категории',
|
||||
'tags': 'Теги',
|
||||
'unit': 'Единица измерения',
|
||||
'cost_price': 'Себестоимость',
|
||||
'price': 'Основная цена',
|
||||
'sale_price': 'Цена со скидкой',
|
||||
'status': 'Статус'
|
||||
@@ -66,7 +65,6 @@ class ProductForm(forms.ModelForm):
|
||||
'rows': 2,
|
||||
'placeholder': 'Краткое описание для превью и площадок'
|
||||
})
|
||||
self.fields['cost_price'].widget.attrs.update({'class': 'form-control'})
|
||||
self.fields['price'].widget.attrs.update({'class': 'form-control'})
|
||||
self.fields['sale_price'].widget.attrs.update({'class': 'form-control'})
|
||||
self.fields['unit'].widget.attrs.update({'class': 'form-control'})
|
||||
|
||||
Reference in New Issue
Block a user