From 175c1f2720ff7edeffbdda4d46570a514f2b9283 Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Wed, 5 Jul 2017 14:36:25 -0400 Subject: [PATCH 1/5] Post-release version bump --- netbox/netbox/settings.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/netbox/netbox/settings.py b/netbox/netbox/settings.py index f869ce2367b..55b26f31b02 100644 --- a/netbox/netbox/settings.py +++ b/netbox/netbox/settings.py @@ -13,7 +13,7 @@ ) -VERSION = '2.0.8' +VERSION = '2.0.9-dev' # Import required configuration parameters ALLOWED_HOSTS = DATABASE = SECRET_KEY = None From 0fc9ed852ee7930c6c981b2ccc8d2f39348f6629 Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Thu, 6 Jul 2017 13:14:10 -0400 Subject: [PATCH 2/5] Fixed typo in example --- docs/data-model/extras.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/data-model/extras.md b/docs/data-model/extras.md index a3fd23aadaf..f4654c0ddee 100644 --- a/docs/data-model/extras.md +++ b/docs/data-model/extras.md @@ -119,7 +119,7 @@ Each line of the **device patterns** field represents a hierarchical layer withi ``` core-switch-[abcd] dist-switch\d -access-switch\d+,oob-switch\d+ +access-switch\d+;oob-switch\d+ ``` Note that you can combine multiple regexes onto one line using semicolons. The order in which regexes are listed on a line is significant: devices matching the first regex will be rendered first, and subsequent groups will be rendered to the right of those. From b253c8cc95bc44aa29be4609fb651c8dcc7070f5 Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Thu, 6 Jul 2017 13:20:53 -0400 Subject: [PATCH 3/5] Fixes #1319: Fixed server error when attempting to create console/power connections --- netbox/utilities/forms.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/netbox/utilities/forms.py b/netbox/utilities/forms.py index 723b32513c6..bb42b731508 100644 --- a/netbox/utilities/forms.py +++ b/netbox/utilities/forms.py @@ -489,7 +489,7 @@ def __init__(self, *args, **kwargs): if filters_dict: field.queryset = field.queryset.filter(**filters_dict) - elif not self.is_bound and self.instance and hasattr(self.instance, field_name): + elif not self.is_bound and getattr(self, 'instance', None) and hasattr(self.instance, field_name): obj = getattr(self.instance, field_name) if obj is not None: field.queryset = field.queryset.filter(pk=obj.pk) From bfd7881b7b4d408302c297d109c62616d595338c Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Mon, 10 Jul 2017 09:38:59 -0400 Subject: [PATCH 4/5] Fixes #1325: Retain interface attachment when editing a circuit termination --- netbox/circuits/forms.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/netbox/circuits/forms.py b/netbox/circuits/forms.py index 89f7a598f6c..f2371b26219 100644 --- a/netbox/circuits/forms.py +++ b/netbox/circuits/forms.py @@ -252,6 +252,11 @@ def __init__(self, *args, **kwargs): super(CircuitTerminationForm, self).__init__(*args, **kwargs) # Mark connected interfaces as disabled - self.fields['interface'].choices = [ - (iface.id, {'label': iface.name, 'disabled': iface.is_connected}) for iface in self.fields['interface'].queryset - ] + self.fields['interface'].choices = [] + for iface in self.fields['interface'].queryset: + self.fields['interface'].choices.append( + (iface.id, { + 'label': iface.name, + 'disabled': iface.is_connected and iface.pk != self.initial.get('interface'), + }) + ) From 41ea433e7c7c1fd9d86f397120462b39fef87ccc Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Mon, 10 Jul 2017 09:42:07 -0400 Subject: [PATCH 5/5] Release v2.0.9 --- netbox/netbox/settings.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/netbox/netbox/settings.py b/netbox/netbox/settings.py index 55b26f31b02..539f68015e4 100644 --- a/netbox/netbox/settings.py +++ b/netbox/netbox/settings.py @@ -13,7 +13,7 @@ ) -VERSION = '2.0.9-dev' +VERSION = '2.0.9' # Import required configuration parameters ALLOWED_HOSTS = DATABASE = SECRET_KEY = None