Coverage for src/backend/InvenTree/company/admin.py: 100%
35 statements
« prev ^ index » next coverage.py v7.15.2, created at 2026-10-07 17:47 +0000
« prev ^ index » next coverage.py v7.15.2, created at 2026-10-07 17:47 +0000
1"""Admin class for the 'company' app."""
3from django.contrib import admin
5import company.serializers
7from .models import (
8 Address,
9 Company,
10 Contact,
11 ManufacturerPart,
12 SupplierPart,
13 SupplierPriceBreak,
14)
17@admin.register(Company)
18class CompanyAdmin(admin.ModelAdmin):
19 """Admin class for the Company model."""
21 serializer_class = company.serializers.CompanySerializer
23 list_display = ('name', 'website', 'contact')
25 search_fields = ['name', 'description']
28class SupplierPriceBreakInline(admin.TabularInline):
29 """Inline for supplier-part pricing."""
31 model = SupplierPriceBreak
34@admin.register(SupplierPart)
35class SupplierPartAdmin(admin.ModelAdmin):
36 """Admin class for the SupplierPart model."""
38 list_display = ('part', 'supplier', 'SKU')
40 search_fields = ['supplier__name', 'part__name', 'manufacturer_part__MPN', 'SKU']
42 inlines = [SupplierPriceBreakInline]
44 autocomplete_fields = ('part', 'supplier', 'manufacturer_part')
47@admin.register(ManufacturerPart)
48class ManufacturerPartAdmin(admin.ModelAdmin):
49 """Admin class for ManufacturerPart model."""
51 list_display = ('part', 'manufacturer', 'MPN')
53 search_fields = ['manufacturer__name', 'part__name', 'MPN']
55 autocomplete_fields = ('part', 'manufacturer')
58@admin.register(SupplierPriceBreak)
59class SupplierPriceBreakAdmin(admin.ModelAdmin):
60 """Admin class for the SupplierPriceBreak model."""
62 list_display = ('part', 'quantity', 'price')
64 autocomplete_fields = ('part',)
67@admin.register(Address)
68class AddressAdmin(admin.ModelAdmin):
69 """Admin class for the Address model."""
71 list_display = ('company', 'line1', 'postal_code', 'country')
73 search_fields = ['company', 'country', 'postal_code']
75 autocomplete_fields = ['company']
78@admin.register(Contact)
79class ContactAdmin(admin.ModelAdmin):
80 """Admin class for the Contact model."""
82 list_display = ('company', 'name', 'role', 'email', 'phone')
84 search_fields = ['company', 'name', 'email']
86 autocomplete_fields = ['company']