diff --git a/docs/development/release-checklist.md b/docs/development/release-checklist.md index d924d2c0b..8fe86af80 100644 --- a/docs/development/release-checklist.md +++ b/docs/development/release-checklist.md @@ -41,7 +41,14 @@ Create a file at `/docs/release-notes/X.Y.md` to establish the release notes for ### Manually Perform a New Install -Create a new installation of NetBox by following [the current documentation](http://netbox.readthedocs.io/en/latest/). This should be a manual process, so that issues with the documentation can be identified and corrected. +Install `mkdocs` in your local environment, then start the documentation server: + +```no-highlight +$ pip install -r docs/requirements.txt +$ mkdocs serve +``` + +Follow these instructions to perform a new installation of NetBox. This process must _not_ be automated: The goal of this step is to catch any errors or omissions in the documentation, and ensure that it is kept up-to-date for each release. Make any necessary changes to the documentation before proceeding with the release. ### Close the Release Milestone diff --git a/docs/release-notes/version-2.8.md b/docs/release-notes/version-2.8.md index fb5e8277f..774de491a 100644 --- a/docs/release-notes/version-2.8.md +++ b/docs/release-notes/version-2.8.md @@ -6,6 +6,8 @@ * [#4875](https://github.com/netbox-community/netbox/issues/4875) - Fix documentation for image attachments * [#4876](https://github.com/netbox-community/netbox/issues/4876) - Fix labels for sites in staging or decommissioning status +* [#4880](https://github.com/netbox-community/netbox/issues/4880) - Fix remove tagged vlans if not assigned in bulk interface editting +* [#4887](https://github.com/netbox-community/netbox/issues/4887) - Don't disable NAPALM tabs when device has no primary IP --- diff --git a/netbox/templates/dcim/device.html b/netbox/templates/dcim/device.html index 6bdf26071..2f82ce5e8 100644 --- a/netbox/templates/dcim/device.html +++ b/netbox/templates/dcim/device.html @@ -111,8 +111,6 @@ {% include 'dcim/inc/device_napalm_tabs.html' with disabled_message='No platform assigned to this device' %} {% elif not device.platform.napalm_driver %} {% include 'dcim/inc/device_napalm_tabs.html' with disabled_message='No NAPALM driver assigned for this platform' %} - {% elif not device.primary_ip %} - {% include 'dcim/inc/device_napalm_tabs.html' with disabled_message='No primary IP address assigned to this device' %} {% else %} {% include 'dcim/inc/device_napalm_tabs.html' %} {% endif %} diff --git a/netbox/utilities/views.py b/netbox/utilities/views.py index b773ee63b..50ac87e50 100644 --- a/netbox/utilities/views.py +++ b/netbox/utilities/views.py @@ -942,8 +942,8 @@ class BulkEditView(GetReturnURLMixin, ObjectPermissionRequiredMixin, View): # ManyToManyFields elif isinstance(model_field, ManyToManyField): - getattr(obj, name).set(form.cleaned_data[name]) - + if form.cleaned_data[name].count() > 0: + getattr(obj, name).set(form.cleaned_data[name]) # Normal fields elif form.cleaned_data[name] not in (None, ''): setattr(obj, name, form.cleaned_data[name])