Добавлено разделение типов поступлений на склад
- Добавлено поле receipt_type в модель IncomingBatch с типами: supplier, inventory, adjustment - Исправлен баг в InventoryProcessor: теперь корректно создается IncomingBatch при инвентаризации - Создан IncomingAdjustmentCreateView для оприходования без инвентаризации - Обновлены формы, шаблоны и админка для поддержки разных типов поступлений - Добавлена навигация и URL для оприходования - Тип поступления отображается в списках приходов и партий
This commit is contained in:
@@ -94,13 +94,13 @@ class StockBatchAdmin(admin.ModelAdmin):
|
||||
# ===== INCOMING BATCH =====
|
||||
@admin.register(IncomingBatch)
|
||||
class IncomingBatchAdmin(admin.ModelAdmin):
|
||||
list_display = ('document_number', 'warehouse', 'supplier_name', 'items_count', 'created_at')
|
||||
list_filter = ('warehouse', 'created_at')
|
||||
list_display = ('document_number', 'warehouse', 'receipt_type_display', 'supplier_name', 'items_count', 'created_at')
|
||||
list_filter = ('warehouse', 'receipt_type', 'created_at')
|
||||
search_fields = ('document_number', 'supplier_name')
|
||||
date_hierarchy = 'created_at'
|
||||
fieldsets = (
|
||||
('Партия поступления', {
|
||||
'fields': ('document_number', 'warehouse', 'supplier_name', 'notes')
|
||||
'fields': ('document_number', 'warehouse', 'receipt_type', 'supplier_name', 'notes')
|
||||
}),
|
||||
('Даты', {
|
||||
'fields': ('created_at', 'updated_at'),
|
||||
@@ -113,6 +113,20 @@ class IncomingBatchAdmin(admin.ModelAdmin):
|
||||
return obj.items.count()
|
||||
items_count.short_description = 'Товаров'
|
||||
|
||||
def receipt_type_display(self, obj):
|
||||
colors = {
|
||||
'supplier': '#0d6efd', # primary (синий)
|
||||
'inventory': '#0dcaf0', # info (голубой)
|
||||
'adjustment': '#198754', # success (зеленый)
|
||||
}
|
||||
color = colors.get(obj.receipt_type, '#6c757d')
|
||||
return format_html(
|
||||
'<span style="color: {}; font-weight: bold;">{}</span>',
|
||||
color,
|
||||
obj.get_receipt_type_display()
|
||||
)
|
||||
receipt_type_display.short_description = 'Тип поступления'
|
||||
|
||||
|
||||
# ===== INCOMING =====
|
||||
@admin.register(Incoming)
|
||||
|
||||
Reference in New Issue
Block a user