From 59fee999ccafffbae8887bd27d47ff31bb7ed3ff 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 f869ce236..55b26f31b 100644 --- a/netbox/netbox/settings.py +++ b/netbox/netbox/settings.py @@ -13,7 +13,7 @@ except ImportError: ) -VERSION = '2.0.8' +VERSION = '2.0.9-dev' # Import required configuration parameters ALLOWED_HOSTS = DATABASE = SECRET_KEY = None From bf4e4b2c1822f09af5b14e958ca4e7f582619db0 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 a3fd23aad..f4654c0dd 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 537aa4add80dd4c9bfa1ece31d0f3946d9b8bb0d 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 723b32513..bb42b7315 100644 --- a/netbox/utilities/forms.py +++ b/netbox/utilities/forms.py @@ -489,7 +489,7 @@ class ChainedFieldsMixin(forms.BaseForm): 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 2fbf862f61fe4e19cf8bed1b9ddd888acba6b274 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 89f7a598f..f2371b262 100644 --- a/netbox/circuits/forms.py +++ b/netbox/circuits/forms.py @@ -252,6 +252,11 @@ class CircuitTerminationForm(BootstrapMixin, ChainedFieldsMixin, forms.ModelForm 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 3a81725eed0f6a9c9c8137e66bc0c55b72b7749e 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 55b26f31b..539f68015 100644 --- a/netbox/netbox/settings.py +++ b/netbox/netbox/settings.py @@ -13,7 +13,7 @@ except ImportError: ) -VERSION = '2.0.9-dev' +VERSION = '2.0.9' # Import required configuration parameters ALLOWED_HOSTS = DATABASE = SECRET_KEY = None