All checks were successful
Deploy MES Core / deploy (push) Successful in 13s
53 lines
1.6 KiB
Python
53 lines
1.6 KiB
Python
from django.contrib import admin
|
|
|
|
from .models import BOM, EntityOperation, Operation, ProductEntity
|
|
|
|
|
|
@admin.register(Operation)
|
|
class OperationAdmin(admin.ModelAdmin):
|
|
list_display = ('name', 'code', 'workshop')
|
|
search_fields = ('name', 'code')
|
|
list_filter = ('workshop',)
|
|
autocomplete_fields = ('workshop',)
|
|
|
|
|
|
class EntityOperationInline(admin.TabularInline):
|
|
model = EntityOperation
|
|
fields = ('seq', 'operation')
|
|
autocomplete_fields = ('operation',)
|
|
extra = 5
|
|
|
|
|
|
class BOMChildInline(admin.TabularInline):
|
|
"""Состав изделия/сборки (строки BOM) прямо в карточке ProductEntity."""
|
|
|
|
model = BOM
|
|
fk_name = 'parent'
|
|
fields = ('child', 'quantity')
|
|
autocomplete_fields = ('child',)
|
|
extra = 10
|
|
|
|
|
|
@admin.register(ProductEntity)
|
|
class ProductEntityAdmin(admin.ModelAdmin):
|
|
list_display = (
|
|
'drawing_number',
|
|
'name',
|
|
'entity_type',
|
|
'planned_material',
|
|
'blank_area_m2',
|
|
'blank_length_mm',
|
|
)
|
|
list_filter = ('entity_type', 'planned_material__category')
|
|
search_fields = ('drawing_number', 'name', 'planned_material__name', 'planned_material__full_name')
|
|
autocomplete_fields = ('planned_material',)
|
|
inlines = (EntityOperationInline, BOMChildInline,)
|
|
|
|
|
|
@admin.register(BOM)
|
|
class BOMAdmin(admin.ModelAdmin):
|
|
list_display = ('parent', 'child', 'quantity')
|
|
search_fields = ('parent__name', 'parent__drawing_number', 'child__name', 'child__drawing_number')
|
|
list_filter = ('parent',)
|
|
autocomplete_fields = ('parent', 'child')
|