From 3fd2911bdc63e08227d289f886a75e39bb97402e Mon Sep 17 00:00:00 2001 From: Joseph Kennedy Date: Thu, 24 Aug 2017 20:09:22 -0400 Subject: [PATCH] Add is_lag field and try to fix lag FlexibleModelChoice in InterfaceCSVForm --- netbox/dcim/forms.py | 8 ++++++-- netbox/dcim/tables.py | 9 +++++---- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/netbox/dcim/forms.py b/netbox/dcim/forms.py index 262ca4cbd..4bf975cd8 100644 --- a/netbox/dcim/forms.py +++ b/netbox/dcim/forms.py @@ -1543,7 +1543,7 @@ class InterfaceCSVForm(forms.ModelForm): ) lag = FlexibleModelChoiceField( required=False, - queryset = Interface.objects.order_naturally().filter(form_factor=IFACE_FF_LAG), + queryset = Interface.objects.order_naturally(method=interface_ordering).filter(device=device,form_factor=IFACE_FF_LAG), help_text='Lag Name', error_messages={'invalid_choice': 'Lag not found.'} ) @@ -1579,10 +1579,14 @@ class InterfaceCSVForm(forms.ModelForm): required=False, help_text='Is Wireless?' ) + is_lag = forms.CharField( + required=False, + help_text='Is Lag?' + ) class Meta: model = Interface - fields = ('device', 'lag','name','mac_address','form_factor','enabled','description','mtu','mgmt_only','is_virtual','is_wireless') + fields = ('device', 'lag','name','mac_address','form_factor','enabled','description','mtu','mgmt_only','is_virtual','is_wireless','is_lag') def clean_interface(self): diff --git a/netbox/dcim/tables.py b/netbox/dcim/tables.py index e3cacf5ad..2f123ab4f 100644 --- a/netbox/dcim/tables.py +++ b/netbox/dcim/tables.py @@ -538,7 +538,7 @@ class InterfaceConnectionTable(BaseTable): class InterfaceImportTable(BaseTable): device = tables.LinkColumn('dcim:device', accessor=Accessor('interface.device'), args=[Accessor('interface.device.pk')], verbose_name='Device') - lag = tables.Column(verbose_name='Lag') + lag = tables.Column(verbose_name='Lag ID') name = tables.Column(verbose_name='Interface') mac_address = tables.Column(verbose_name='MAC Address') form_factor = tables.Column(verbose_name='Form Factor') @@ -546,11 +546,12 @@ class InterfaceImportTable(BaseTable): description = tables.Column(verbose_name='Description') mtu = tables.Column(verbose_name='MTU') mgmt_only = tables.Column(verbose_name='MGMT Only') - is_virtual = tables.Column(verbose_name='Virtual') - is_wireless = tables.Column(verbose_name='Wireless') + is_virtual = tables.Column(verbose_name='Is Virtual?') + is_wireless = tables.Column(verbose_name='Is Wireless?') + is_lag = tables.Column(verbose_name='Is Lag?') class Meta(BaseTable.Meta): model = Interface - fields = ('device', 'lag','name','mac_address','form_factor','enabled','description','mtu','mgmt_only','is_virtual','is_wireless') + fields = ('device', 'lag','name','mac_address','form_factor','enabled','description','mtu','mgmt_only','is_virtual','is_wireless','is_lag') class InterfaceListTable(BaseTable):