From e83b5f9db05a5ede7bcc5955008bd3a1636d23fb Mon Sep 17 00:00:00 2001 From: Oliver Date: Sat, 4 Dec 2021 20:01:56 +1100 Subject: [PATCH] Add autocomplete admin fields for "part" app --- InvenTree/part/admin.py | 48 +++++++++++++++++++++++++++-------------- 1 file changed, 32 insertions(+), 16 deletions(-) diff --git a/InvenTree/part/admin.py b/InvenTree/part/admin.py index 63f48a4e07..c429603176 100644 --- a/InvenTree/part/admin.py +++ b/InvenTree/part/admin.py @@ -8,10 +8,9 @@ from import_export.resources import ModelResource from import_export.fields import Field import import_export.widgets as widgets -import part.models as models - -from stock.models import StockLocation from company.models import SupplierPart +import part.models as models +from stock.models import StockLocation class PartResource(ModelResource): @@ -76,6 +75,13 @@ class PartAdmin(ImportExportModelAdmin): search_fields = ('name', 'description', 'category__name', 'category__description', 'IPN') + autocomplete_fields = [ + 'variant_of', + 'category', + 'default_location', + 'default_supplier', + ] + class PartCategoryResource(ModelResource): """ Class for managing PartCategory data import/export """ @@ -105,13 +111,6 @@ class PartCategoryResource(ModelResource): models.PartCategory.objects.rebuild() -class PartCategoryInline(admin.TabularInline): - """ - Inline for PartCategory model - """ - model = models.PartCategory - - class PartCategoryAdmin(ImportExportModelAdmin): resource_class = PartCategoryResource @@ -120,35 +119,44 @@ class PartCategoryAdmin(ImportExportModelAdmin): search_fields = ('name', 'description') - inlines = [ - PartCategoryInline, - ] + autocomplete_fields = ('parent', 'default_location',) class PartRelatedAdmin(admin.ModelAdmin): - ''' Class to manage PartRelated objects ''' - pass + """ + Class to manage PartRelated objects + """ + + autocomplete_fields = ('part_1', 'part_2') class PartAttachmentAdmin(admin.ModelAdmin): list_display = ('part', 'attachment', 'comment') + autocomplete_fields = ('part',) + class PartStarAdmin(admin.ModelAdmin): list_display = ('part', 'user') + autocomplete_fields = ('part',) + class PartCategoryStarAdmin(admin.ModelAdmin): list_display = ('category', 'user') + + autocomplete_fields = ('category',) class PartTestTemplateAdmin(admin.ModelAdmin): list_display = ('part', 'test_name', 'required') + autocomplete_fields = ('part',) + class BomItemResource(ModelResource): """ Class for managing BomItem data import/export """ @@ -253,10 +261,14 @@ class BomItemAdmin(ImportExportModelAdmin): search_fields = ('part__name', 'part__description', 'sub_part__name', 'sub_part__description') + autocomplete_fields = ('part', 'sub_part',) + class ParameterTemplateAdmin(ImportExportModelAdmin): list_display = ('name', 'units') + search_fields = ('name', 'units') + class ParameterResource(ModelResource): """ Class for managing PartParameter data import/export """ @@ -282,10 +294,12 @@ class ParameterAdmin(ImportExportModelAdmin): list_display = ('part', 'template', 'data') + autocomplete_fields = ('part', 'template') + class PartCategoryParameterAdmin(admin.ModelAdmin): - pass + autocomplete_fields = ('category', 'parameter_template',) class PartSellPriceBreakAdmin(admin.ModelAdmin): @@ -303,6 +317,8 @@ class PartInternalPriceBreakAdmin(admin.ModelAdmin): list_display = ('part', 'quantity', 'price',) + autocomplete_fields = ('part',) + admin.site.register(models.Part, PartAdmin) admin.site.register(models.PartCategory, PartCategoryAdmin)