diff --git a/.github/ISSUE_TEMPLATE/bug_report.yaml b/.github/ISSUE_TEMPLATE/bug_report.yaml index 9735da5b5..11b7e9aff 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yaml +++ b/.github/ISSUE_TEMPLATE/bug_report.yaml @@ -14,7 +14,7 @@ body: attributes: label: NetBox version description: What version of NetBox are you currently running? - placeholder: v3.3.3 + placeholder: v3.3.4 validations: required: true - type: dropdown diff --git a/.github/ISSUE_TEMPLATE/feature_request.yaml b/.github/ISSUE_TEMPLATE/feature_request.yaml index 691e99cc6..bc00a3921 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.yaml +++ b/.github/ISSUE_TEMPLATE/feature_request.yaml @@ -14,7 +14,7 @@ body: attributes: label: NetBox version description: What version of NetBox are you currently running? - placeholder: v3.3.3 + placeholder: v3.3.4 validations: required: true - type: dropdown diff --git a/.github/workflows/lock.yml b/.github/workflows/lock.yml index b6073a71b..9df4bc441 100644 --- a/.github/workflows/lock.yml +++ b/.github/workflows/lock.yml @@ -9,13 +9,9 @@ jobs: lock: runs-on: ubuntu-latest steps: - - uses: dessant/lock-threads@v2 + - uses: dessant/lock-threads@v3 with: github-token: ${{ github.token }} - issue-lock-inactive-days: '90' - issue-exclude-created-before: '' - issue-exclude-labels: '' - issue-lock-labels: '' - issue-lock-comment: '' + issue-inactive-days: 90 + pr-inactive-days: 30 issue-lock-reason: 'resolved' - process-only: 'issues' diff --git a/docs/release-notes/version-3.3.md b/docs/release-notes/version-3.3.md index da9dbd856..a51089c70 100644 --- a/docs/release-notes/version-3.3.md +++ b/docs/release-notes/version-3.3.md @@ -1,5 +1,14 @@ # NetBox v3.3 +## v3.3.4 (2022-09-16) + +### Bug Fixes + +* [#10383](https://github.com/netbox-community/netbox/issues/10383) - Fix assignment of component templates to module types via web UI +* [#10387](https://github.com/netbox-community/netbox/issues/10387) - Fix `MultiValueDictKeyError` exception when editing a device interface + +--- + ## v3.3.3 (2022-09-15) ### Enhancements diff --git a/netbox/dcim/forms/models.py b/netbox/dcim/forms/models.py index 4fa27ae69..5728e7f2d 100644 --- a/netbox/dcim/forms/models.py +++ b/netbox/dcim/forms/models.py @@ -1000,11 +1000,22 @@ class ComponentTemplateForm(BootstrapMixin, forms.ModelForm): class ModularComponentTemplateForm(ComponentTemplateForm): + device_type = DynamicModelChoiceField( + queryset=DeviceType.objects.all().all(), + required=False + ) module_type = DynamicModelChoiceField( queryset=ModuleType.objects.all(), required=False ) + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + + # Disable reassignment of ModuleType when editing an existing instance + if self.instance.pk: + self.fields['module_type'].disabled = True + class ConsolePortTemplateForm(ModularComponentTemplateForm): fieldsets = ( @@ -1429,16 +1440,6 @@ class InterfaceForm(InterfaceCommonForm, ModularDeviceComponentForm): 'rf_channel_width': "Populated by selected channel (if set)", } - def __init__(self, *args, **kwargs): - super().__init__(*args, **kwargs) - - # Restrict LAG/bridge interface assignment by device/VC - device_id = self.data['device'] if self.is_bound else self.initial.get('device') - device = Device.objects.filter(pk=device_id).first() - if device and device.virtual_chassis and device.virtual_chassis.master: - self.fields['lag'].widget.add_query_param('device_id', device.virtual_chassis.master.pk) - self.fields['bridge'].widget.add_query_param('device_id', device.virtual_chassis.master.pk) - class FrontPortForm(ModularDeviceComponentForm): rear_port = DynamicModelChoiceField( diff --git a/netbox/netbox/settings.py b/netbox/netbox/settings.py index 6588d2e84..e24ac6492 100644 --- a/netbox/netbox/settings.py +++ b/netbox/netbox/settings.py @@ -29,7 +29,7 @@ django.utils.encoding.force_text = force_str # Environment setup # -VERSION = '3.3.3' +VERSION = '3.3.4' # Hostname HOSTNAME = platform.node()