Merge branch 'develop' into select2-ui

This commit is contained in:
John Anderson 2019-01-15 10:26:39 -08:00 committed by GitHub
commit d6d8b078b9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 1968 additions and 1950 deletions

View File

@ -17,15 +17,20 @@ about: Report a reproducible bug in the current release of NetBox
--> -->
### Environment ### Environment
* Python version: <!-- Example: 3.5.4 --> * Python version: <!-- Example: 3.5.4 -->
* NetBox version: <!-- Example: 2.3.6 --> * NetBox version: <!-- Example: 2.5.2 -->
<!-- <!--
Describe in detail the steps that someone else can take to reproduce this Describe in detail the exact steps that someone else can take to reproduce
bug using the current stable release of NetBox (or the current beta release this bug using the current stable release of NetBox (or the current beta
where applicable). release where applicable). Begin with the creation of any necessary
database objects and call out every operation being performed explicitly.
If reporting a bug in the REST API, be sure to reconstruct the raw HTTP
request(s) being made: Don't rely on a wrapper like pynetbox.
--> -->
### Steps to Reproduce ### Steps to Reproduce
1.
2.
3.
<!-- What did you expect to happen? --> <!-- What did you expect to happen? -->
### Expected Behavior ### Expected Behavior

View File

@ -5,8 +5,16 @@ Select2 issues
* [#2753](https://github.com/digitalocean/netbox/issues/2753) - Implemented Select2 to replace most all instances of select fields in forms * [#2753](https://github.com/digitalocean/netbox/issues/2753) - Implemented Select2 to replace most all instances of select fields in forms
v2.5.4 (FUTURE)
v2.5.3 (FUTURE) ## Bug Fixes
* [#2779](https://github.com/digitalocean/netbox/issues/2779) - Include "none" option when filter IP addresses by role
* [#2783](https://github.com/digitalocean/netbox/issues/2783) - Fix AttributeError exception when attempting to delete region(s)
---
v2.5.3 (2019-01-11)
## Enhancements ## Enhancements
@ -23,6 +31,7 @@ v2.5.3 (FUTURE)
* [#2742](https://github.com/digitalocean/netbox/issues/2742) - Preserve cluster assignment when editing a device * [#2742](https://github.com/digitalocean/netbox/issues/2742) - Preserve cluster assignment when editing a device
* [#2757](https://github.com/digitalocean/netbox/issues/2757) - Always treat first/last IPs within a /31 or /127 as usable * [#2757](https://github.com/digitalocean/netbox/issues/2757) - Always treat first/last IPs within a /31 or /127 as usable
* [#2762](https://github.com/digitalocean/netbox/issues/2762) - Add missing DCIM field values to API `_choices` endpoint * [#2762](https://github.com/digitalocean/netbox/issues/2762) - Add missing DCIM field values to API `_choices` endpoint
* [#2777](https://github.com/digitalocean/netbox/issues/2777) - Fix cable validation to handle duplicate connections on import
--- ---

View File

@ -2558,9 +2558,12 @@ class Cable(ChangeLoggedModel):
def clean(self): def clean(self):
# Check that termination types are compatible if self.termination_a and self.termination_b:
type_a = self.termination_a_type.model type_a = self.termination_a_type.model
type_b = self.termination_b_type.model type_b = self.termination_b_type.model
# Check that termination types are compatible
if type_b not in COMPATIBLE_TERMINATION_TYPES.get(type_a): if type_b not in COMPATIBLE_TERMINATION_TYPES.get(type_a):
raise ValidationError("Incompatible termination types: {} and {}".format( raise ValidationError("Incompatible termination types: {} and {}".format(
self.termination_a_type, self.termination_b_type self.termination_a_type, self.termination_b_type

View File

@ -162,7 +162,7 @@ class RegionBulkImportView(PermissionRequiredMixin, BulkImportView):
class RegionBulkDeleteView(PermissionRequiredMixin, BulkDeleteView): class RegionBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
permission_required = 'dcim.delete_region' permission_required = 'dcim.delete_region'
queryset = Region.objects.annotate(site_count=Count('sites')) queryset = Region.objects.all()
filter = filters.RegionFilter filter = filters.RegionFilter
table = tables.RegionTable table = tables.RegionTable
default_return_url = 'dcim:region_list' default_return_url = 'dcim:region_list'

View File

@ -996,6 +996,7 @@ class IPAddressFilterForm(BootstrapMixin, CustomFieldFilterForm):
choices=IPADDRESS_ROLE_CHOICES, choices=IPADDRESS_ROLE_CHOICES,
required=False, required=False,
widget=StaticSelect2Multiple() widget=StaticSelect2Multiple()
include_null=True,
) )

View File

@ -22,7 +22,7 @@ except ImportError:
) )
VERSION = '2.5.3-dev' VERSION = '2.5.4-dev'
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))