Coverage for src/backend/InvenTree/report/admin.py: 75%

18 statements  

« prev     ^ index     » next       coverage.py v7.15.2, created at 2026-10-07 17:47 +0000

1"""Admin functionality for the 'report' app.""" 

2 

3from django.contrib import admin 

4 

5from .helpers import report_model_options 

6from .models import LabelTemplate, ReportAsset, ReportSnippet, ReportTemplate 

7 

8 

9@admin.register(LabelTemplate) 

10@admin.register(ReportTemplate) 

11class ReportAdmin(admin.ModelAdmin): 

12 """Admin class for the LabelTemplate and ReportTemplate models.""" 

13 

14 list_display = ('name', 'description', 'model_type', 'enabled') 

15 

16 list_filter = ('model_type', 'enabled') 

17 

18 def formfield_for_dbfield(self, db_field, request, **kwargs): 

19 """Provide custom choices for 'model_type' field.""" 

20 if db_field.name == 'model_type': 

21 db_field.choices = report_model_options() 

22 

23 return super().formfield_for_dbfield(db_field, request, **kwargs) 

24 

25 

26@admin.register(ReportSnippet) 

27class ReportSnippetAdmin(admin.ModelAdmin): 

28 """Admin class for the ReportSnippet model.""" 

29 

30 list_display = ('id', 'snippet', 'description') 

31 

32 

33@admin.register(ReportAsset) 

34class ReportAssetAdmin(admin.ModelAdmin): 

35 """Admin class for the ReportAsset model.""" 

36 

37 list_display = ('id', 'asset', 'description')