Coverage for wireless/tables/wirelesslink.py: 100%

19 statements  

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

1import django_tables2 as tables 

2from django.utils.translation import gettext_lazy as _ 

3 

4from netbox.tables import PrimaryModelTable, columns 

5from tenancy.tables import TenancyColumnsMixin 

6from wireless.models import * 

7 

8__all__ = ( 

9 'WirelessLinkTable', 

10) 

11 

12 

13class WirelessLinkTable(TenancyColumnsMixin, PrimaryModelTable): 

14 id = tables.Column( 

15 linkify=True, 

16 verbose_name=_('ID') 

17 ) 

18 status = columns.ChoiceFieldColumn( 

19 verbose_name=_('Status'), 

20 ) 

21 device_a = tables.Column( 

22 verbose_name=_('Device A'), 

23 accessor=tables.A('interface_a__device'), 

24 linkify=True 

25 ) 

26 interface_a = tables.Column( 

27 verbose_name=_('Interface A'), 

28 linkify=True 

29 ) 

30 device_b = tables.Column( 

31 verbose_name=_('Device B'), 

32 accessor=tables.A('interface_b__device'), 

33 linkify=True 

34 ) 

35 interface_b = tables.Column( 

36 verbose_name=_('Interface B'), 

37 linkify=True 

38 ) 

39 distance = columns.DistanceColumn() 

40 tags = columns.TagColumn( 

41 url_name='wireless:wirelesslink_list' 

42 ) 

43 

44 class Meta(PrimaryModelTable.Meta): 

45 model = WirelessLink 

46 fields = ( 

47 'pk', 'id', 'status', 'device_a', 'interface_a', 'device_b', 'interface_b', 'ssid', 'tenant', 

48 'tenant_group', 'distance', 'description', 'auth_type', 'auth_cipher', 'auth_psk', 'tags', 

49 'created', 'last_updated', 

50 ) 

51 default_columns = ( 

52 'pk', 'id', 'status', 'device_a', 'interface_a', 'device_b', 'interface_b', 'ssid', 'auth_type', 

53 'description', 

54 )