Coverage for product_risk_suite / threat_model / admin.py: 87%

15 statements  

« prev     ^ index     » next       coverage.py v7.14.0, created at 2026-05-13 23:42 +0000

1from django.contrib import admin 

2 

3from .models import ThreatModel, ThreatModelConnectionName 

4 

5class ThreatModelConnectionNameAdmin(admin.ModelAdmin): 

6 list_display = ["name"] 

7 ordering = ['human_name'] 

8 

9class ThreatModelAdmin(admin.ModelAdmin): 

10 list_display = ["product", "title", "description", "available_connections"] 

11 exclude = ('slug','connection_names') 

12 

13 @admin.display(description='Product') 

14 def product(self, obj): 

15 return obj.product.title 

16 

17 def available_connections(self, obj): 

18 return len(obj.connection_names.all()) 

19 

20 

21admin.site.register(ThreatModelConnectionName, ThreatModelConnectionNameAdmin) 

22admin.site.register(ThreatModel, ThreatModelAdmin)