From 96de61ddfb72c6ff053be7fda208f6821875c530 Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Tue, 20 Dec 2016 16:13:45 -0500 Subject: [PATCH] Closes #716: Add ASN field to site bulk edit form --- netbox/dcim/forms.py | 3 ++- netbox/utilities/views.py | 7 +++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/netbox/dcim/forms.py b/netbox/dcim/forms.py index c72ee74d0..13603f179 100644 --- a/netbox/dcim/forms.py +++ b/netbox/dcim/forms.py @@ -91,9 +91,10 @@ class SiteImportForm(BulkImportForm, BootstrapMixin): class SiteBulkEditForm(BootstrapMixin, CustomFieldBulkEditForm): pk = forms.ModelMultipleChoiceField(queryset=Site.objects.all(), widget=forms.MultipleHiddenInput) tenant = forms.ModelChoiceField(queryset=Tenant.objects.all(), required=False) + asn = forms.IntegerField(min_value=1, max_value=4294967295, required=False, label='ASN') class Meta: - nullable_fields = ['tenant'] + nullable_fields = ['tenant', 'asn'] class SiteFilterForm(BootstrapMixin, CustomFieldFilterForm): diff --git a/netbox/utilities/views.py b/netbox/utilities/views.py index 3bd969295..ee625076d 100644 --- a/netbox/utilities/views.py +++ b/netbox/utilities/views.py @@ -7,7 +7,7 @@ from django.core.exceptions import ImproperlyConfigured, ValidationError from django.core.urlresolvers import reverse from django.db import transaction, IntegrityError from django.db.models import ProtectedError -from django.forms import ModelMultipleChoiceField, MultipleHiddenInput, TypedChoiceField +from django.forms import CharField, ModelMultipleChoiceField, MultipleHiddenInput, TypedChoiceField from django.http import HttpResponse, HttpResponseRedirect from django.shortcuts import get_object_or_404, redirect, render from django.template import TemplateSyntaxError @@ -398,7 +398,10 @@ class BulkEditView(View): fields_to_update = {} for field in standard_fields: if field in form.nullable_fields and field in nullified_fields: - fields_to_update[field] = '' + if isinstance(form.fields[field], CharField): + fields_to_update[field] = '' + else: + fields_to_update[field] = None elif form.cleaned_data[field]: fields_to_update[field] = form.cleaned_data[field] updated_count = self.cls.objects.filter(pk__in=pk_list).update(**fields_to_update)