From 824b4e0923f5d215153cf8623c5f20fc7190f857 Mon Sep 17 00:00:00 2001 From: kkthxbye-code Date: Sun, 18 Sep 2022 15:06:28 +0200 Subject: [PATCH 001/162] Add scheduling for reports and scripts --- netbox/extras/forms/reports.py | 16 ++++++++++++++++ netbox/extras/forms/scripts.py | 16 ++++++++++++---- netbox/extras/models/models.py | 6 +++++- netbox/extras/views.py | 14 ++++++++++++-- netbox/project-static/package.json | 2 +- netbox/templates/extras/report.html | 25 ++++++++++++++++--------- netbox/templates/extras/script.html | 2 +- 7 files changed, 63 insertions(+), 18 deletions(-) create mode 100644 netbox/extras/forms/reports.py diff --git a/netbox/extras/forms/reports.py b/netbox/extras/forms/reports.py new file mode 100644 index 000000000..658796bb5 --- /dev/null +++ b/netbox/extras/forms/reports.py @@ -0,0 +1,16 @@ +from django import forms + +from utilities.forms import BootstrapMixin, DateTimePicker + +__all__ = ( + 'ReportForm', +) + + +class ReportForm(BootstrapMixin, forms.Form): + schedule_at = forms.DateTimeField( + required=False, + widget=DateTimePicker(), + label="Schedule at", + help_text="Schedule execution of report to a set time", + ) \ No newline at end of file diff --git a/netbox/extras/forms/scripts.py b/netbox/extras/forms/scripts.py index 380b4364c..de55a3ee6 100644 --- a/netbox/extras/forms/scripts.py +++ b/netbox/extras/forms/scripts.py @@ -1,6 +1,6 @@ from django import forms -from utilities.forms import BootstrapMixin +from utilities.forms import BootstrapMixin, DateTimePicker __all__ = ( 'ScriptForm', @@ -14,17 +14,25 @@ class ScriptForm(BootstrapMixin, forms.Form): label="Commit changes", help_text="Commit changes to the database (uncheck for a dry-run)" ) + _schedule_at = forms.DateTimeField( + required=False, + widget=DateTimePicker(), + label="Schedule at", + help_text="Schedule execution of script to a set time", + ) def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) - # Move _commit to the end of the form + # Move _commit and _schedule_at to the end of the form + schedule_at = self.fields.pop('_schedule_at') commit = self.fields.pop('_commit') + self.fields['_schedule_at'] = schedule_at self.fields['_commit'] = commit @property def requires_input(self): """ - A boolean indicating whether the form requires user input (ignore the _commit field). + A boolean indicating whether the form requires user input (ignore the _commit and _schedule_at fields). """ - return bool(len(self.fields) > 1) + return bool(len(self.fields) > 2) diff --git a/netbox/extras/models/models.py b/netbox/extras/models/models.py index 4873a1f9e..1d3c142c7 100644 --- a/netbox/extras/models/models.py +++ b/netbox/extras/models/models.py @@ -550,7 +550,11 @@ class JobResult(models.Model): ) queue = django_rq.get_queue("default") - queue.enqueue(func, job_id=str(job_result.job_id), job_result=job_result, **kwargs) + + if schedule_at := kwargs.pop("schedule_at", None): + queue.enqueue_at(schedule_at, func, job_id=str(job_result.job_id), job_result=job_result, **kwargs) + else: + queue.enqueue(func, job_id=str(job_result.job_id), job_result=job_result, **kwargs) return job_result diff --git a/netbox/extras/views.py b/netbox/extras/views.py index 5b589c181..073496773 100644 --- a/netbox/extras/views.py +++ b/netbox/extras/views.py @@ -15,6 +15,7 @@ from utilities.utils import copy_safe_request, count_related, get_viewname, norm from utilities.views import ContentTypePermissionRequiredMixin from . import filtersets, forms, tables from .choices import JobResultStatusChoices +from .forms.reports import ReportForm from .models import * from .reports import get_report, get_reports, run_report from .scripts import get_scripts, run_script @@ -562,7 +563,7 @@ class ReportView(ContentTypePermissionRequiredMixin, View): return render(request, 'extras/report.html', { 'report': report, - 'run_form': ConfirmationForm(), + 'form': ReportForm(), }) def post(self, request, module, name): @@ -575,6 +576,12 @@ class ReportView(ContentTypePermissionRequiredMixin, View): if report is None: raise Http404 + schedule_at = None + form = ReportForm(request.POST) + + if form.is_valid(): + schedule_at = form.cleaned_data.get("schedule_at") + # Allow execution only if RQ worker process is running if not Worker.count(get_connection('default')): messages.error(request, "Unable to run report: RQ worker process not running.") @@ -589,7 +596,8 @@ class ReportView(ContentTypePermissionRequiredMixin, View): report.full_name, report_content_type, request.user, - job_timeout=report.job_timeout + job_timeout=report.job_timeout, + schedule_at=schedule_at, ) return redirect('extras:report_result', job_result_pk=job_result.pk) @@ -707,6 +715,7 @@ class ScriptView(ContentTypePermissionRequiredMixin, GetScriptMixin, View): elif form.is_valid(): commit = form.cleaned_data.pop('_commit') + schedule_at = form.cleaned_data.pop("_schedule_at") script_content_type = ContentType.objects.get(app_label='extras', model='script') @@ -719,6 +728,7 @@ class ScriptView(ContentTypePermissionRequiredMixin, GetScriptMixin, View): request=copy_safe_request(request), commit=commit, job_timeout=script.job_timeout, + schedule_at=schedule_at, ) return redirect('extras:script_result', job_result_pk=job_result.pk) diff --git a/netbox/project-static/package.json b/netbox/project-static/package.json index 256696947..808a49825 100644 --- a/netbox/project-static/package.json +++ b/netbox/project-static/package.json @@ -28,7 +28,7 @@ "clipboard": "^2.0.8", "color2k": "^1.2.4", "dayjs": "^1.10.4", - "flatpickr": "4.6.3", + "flatpickr": "4.6.13", "htmx.org": "^1.6.1", "just-debounce-it": "^1.4.0", "masonry-layout": "^4.2.2", diff --git a/netbox/templates/extras/report.html b/netbox/templates/extras/report.html index 391de6614..94f37571b 100644 --- a/netbox/templates/extras/report.html +++ b/netbox/templates/extras/report.html @@ -1,5 +1,6 @@ {% extends 'generic/object.html' %} {% load helpers %} +{% load form_helpers %} {% block title %}{{ report.name }}{% endblock %} @@ -33,18 +34,24 @@ {% block content %}
{% if perms.extras.run_report %} -
-
+
+
+ {% csrf_token %} - + {% render_form form %} +
+ +
+
+ {% endif %}
diff --git a/netbox/templates/extras/script.html b/netbox/templates/extras/script.html index 99eade0a0..6fbcde322 100644 --- a/netbox/templates/extras/script.html +++ b/netbox/templates/extras/script.html @@ -43,7 +43,7 @@ You do not have permission to run scripts.
{% endif %} -
+ {% csrf_token %}
{% if form.requires_input %} From c8671ce8e823bcd450855c37a0a237008cfca69f Mon Sep 17 00:00:00 2001 From: kkthxbye <> Date: Tue, 20 Sep 2022 08:53:57 +0200 Subject: [PATCH 002/162] Update yarn.lock (flatpickr bump) --- netbox/project-static/yarn.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/netbox/project-static/yarn.lock b/netbox/project-static/yarn.lock index 8e21446c6..d0b438453 100644 --- a/netbox/project-static/yarn.lock +++ b/netbox/project-static/yarn.lock @@ -1368,10 +1368,10 @@ flat-cache@^3.0.4: flatted "^3.1.0" rimraf "^3.0.2" -flatpickr@4.6.3: - version "4.6.3" - resolved "https://registry.yarnpkg.com/flatpickr/-/flatpickr-4.6.3.tgz#15a8b76b6e34e3a072861250503a5995b9d3bc60" - integrity sha512-007VucCkqNOMMb9ggRLNuJowwaJcyOh4sKAFcdGfahfGc7JQbf94zSzjdBq/wVyHWUEs5o3+idhFZ0wbZMRmVQ== +flatpickr@4.6.13: + version "4.6.13" + resolved "https://registry.yarnpkg.com/flatpickr/-/flatpickr-4.6.13.tgz#8a029548187fd6e0d670908471e43abe9ad18d94" + integrity sha512-97PMG/aywoYpB4IvbvUJi0RQi8vearvU0oov1WW3k0WZPBMrTQVqekSX5CjSG/M4Q3i6A/0FKXC7RyAoAUUSPw== flatted@^3.1.0: version "3.2.2" From cbb3378d10adc6ca72de64c976bb6b4d5385444c Mon Sep 17 00:00:00 2001 From: kkthxbye-code Date: Fri, 23 Sep 2022 06:45:40 +0200 Subject: [PATCH 003/162] Job Scheduling WIP --- netbox/extras/choices.py | 2 ++ netbox/extras/filtersets.py | 21 +++++++++++++++++++++ netbox/extras/forms/filtersets.py | 8 ++++++++ netbox/extras/models/models.py | 11 ++++++++++- netbox/extras/tables/tables.py | 25 +++++++++++++++++++++++++ netbox/extras/urls.py | 4 ++++ netbox/extras/views.py | 11 +++++++++++ 7 files changed, 81 insertions(+), 1 deletion(-) diff --git a/netbox/extras/choices.py b/netbox/extras/choices.py index 123fd2cd4..fe0f0eed5 100644 --- a/netbox/extras/choices.py +++ b/netbox/extras/choices.py @@ -139,6 +139,7 @@ class LogLevelChoices(ChoiceSet): class JobResultStatusChoices(ChoiceSet): STATUS_PENDING = 'pending' + STATUS_SCHEDULED = 'pending' STATUS_RUNNING = 'running' STATUS_COMPLETED = 'completed' STATUS_ERRORED = 'errored' @@ -146,6 +147,7 @@ class JobResultStatusChoices(ChoiceSet): CHOICES = ( (STATUS_PENDING, 'Pending'), + (STATUS_SCHEDULED, 'Pending'), (STATUS_RUNNING, 'Running'), (STATUS_COMPLETED, 'Completed'), (STATUS_ERRORED, 'Errored'), diff --git a/netbox/extras/filtersets.py b/netbox/extras/filtersets.py index df0af3541..25f1a04c9 100644 --- a/netbox/extras/filtersets.py +++ b/netbox/extras/filtersets.py @@ -16,6 +16,7 @@ __all__ = ( 'ConfigContextFilterSet', 'ContentTypeFilterSet', 'CustomFieldFilterSet', + 'JobResultFilterSet', 'CustomLinkFilterSet', 'ExportTemplateFilterSet', 'ImageAttachmentFilterSet', @@ -86,6 +87,26 @@ class CustomFieldFilterSet(BaseFilterSet): Q(description__icontains=value) ) +class JobResultFilterSet(BaseFilterSet): + q = django_filters.CharFilter( + method='search', + label='Search', + ) + + # TODO: Add filters + + class Meta: + model = JobResult + fields = [ + 'id', 'name', 'obj_type', 'created', 'completed', 'user', 'status' + ] + + def search(self, queryset, name, value): + if not value.strip(): + return queryset + return queryset.filter( + Q(name__icontains=value) + ) class CustomLinkFilterSet(BaseFilterSet): q = django_filters.CharFilter( diff --git a/netbox/extras/forms/filtersets.py b/netbox/extras/forms/filtersets.py index 526d47013..2e715d9a7 100644 --- a/netbox/extras/forms/filtersets.py +++ b/netbox/extras/forms/filtersets.py @@ -19,6 +19,7 @@ from virtualization.models import Cluster, ClusterGroup, ClusterType __all__ = ( 'ConfigContextFilterForm', 'CustomFieldFilterForm', + 'JobResultFilterForm', 'CustomLinkFilterForm', 'ExportTemplateFilterForm', 'JournalEntryFilterForm', @@ -65,6 +66,13 @@ class CustomFieldFilterForm(FilterForm): ) +class JobResultFilterForm(FilterForm): + fieldsets = ( + (None, ('q',)), + #('Attributes', ('type', 'content_type_id', 'group_name', 'weight', 'required', 'ui_visibility')), + ) + + class CustomLinkFilterForm(FilterForm): fieldsets = ( (None, ('q',)), diff --git a/netbox/extras/models/models.py b/netbox/extras/models/models.py index 100766d53..574b51f70 100644 --- a/netbox/extras/models/models.py +++ b/netbox/extras/models/models.py @@ -509,12 +509,18 @@ class JobResult(models.Model): unique=True ) + objects = RestrictedQuerySet.as_manager() + class Meta: ordering = ['obj_type', 'name', '-created'] def __str__(self): return str(self.job_id) + def get_absolute_url(self): + # TODO: Fix this to point the right place + return reverse('virtualization:clustertype', args=[self.pk]) + @property def duration(self): if not self.completed: @@ -546,7 +552,7 @@ class JobResult(models.Model): args: additional args passed to the callable kwargs: additional kargs passed to the callable """ - job_result = cls.objects.create( + job_result: JobResult = cls.objects.create( name=name, obj_type=obj_type, user=user, @@ -556,6 +562,9 @@ class JobResult(models.Model): queue = django_rq.get_queue("default") if schedule_at := kwargs.pop("schedule_at", None): + job_result.status = JobResultStatusChoices.STATUS_SCHEDULED + job_result.save() + queue.enqueue_at(schedule_at, func, job_id=str(job_result.job_id), job_result=job_result, **kwargs) else: queue.enqueue(func, job_id=str(job_result.job_id), job_result=job_result, **kwargs) diff --git a/netbox/extras/tables/tables.py b/netbox/extras/tables/tables.py index 1df5c9487..60e500da6 100644 --- a/netbox/extras/tables/tables.py +++ b/netbox/extras/tables/tables.py @@ -8,6 +8,7 @@ from .template_code import * __all__ = ( 'ConfigContextTable', 'CustomFieldTable', + 'JobResultTable', 'CustomLinkTable', 'ExportTemplateTable', 'JournalEntryTable', @@ -39,6 +40,30 @@ class CustomFieldTable(NetBoxTable): default_columns = ('pk', 'name', 'content_types', 'label', 'group_name', 'type', 'required', 'description') +# +# Custom fields +# + +class JobResultTable(NetBoxTable): + name = tables.Column( + linkify=True + ) + #obj_type = columns.ContentTypesColumn() + required = columns.BooleanColumn() + ui_visibility = columns.ChoiceFieldColumn(verbose_name="UI visibility") + + actions = columns.ActionsColumn( + actions=() # TODO: Delete + ) + + class Meta(NetBoxTable.Meta): + model = JobResult + fields = ( + 'pk', 'id', 'name', 'obj_type', 'created', 'completed', 'user', 'status', 'job_id', + ) + default_columns = ('pk', 'id', 'name', 'obj_type', 'created', 'completed', 'user', 'status', 'job_id') + + # # Custom links # diff --git a/netbox/extras/urls.py b/netbox/extras/urls.py index ced3bd4b9..66d60133f 100644 --- a/netbox/extras/urls.py +++ b/netbox/extras/urls.py @@ -103,6 +103,10 @@ urlpatterns = [ path('reports/results//', views.ReportResultView.as_view(), name='report_result'), re_path(r'^reports/(?P.([^.]+)).(?P.(.+))/', views.ReportView.as_view(), name='report'), + # Job results + path('job-results/', views.JobResultListView.as_view(), name='jobresult_view'), + # path('custom-fields//', views.CustomFieldView.as_view(), name='customfield'), + # Scripts path('scripts/', views.ScriptListView.as_view(), name='script_list'), path('scripts/results//', views.ScriptResultView.as_view(), name='script_result'), diff --git a/netbox/extras/views.py b/netbox/extras/views.py index 21bffdff3..bf122955e 100644 --- a/netbox/extras/views.py +++ b/netbox/extras/views.py @@ -775,3 +775,14 @@ class ScriptResultView(ContentTypePermissionRequiredMixin, GetScriptMixin, View) 'result': result, 'class_name': script.__class__.__name__ }) + + +# +# Job results +# + +class JobResultListView(generic.ObjectListView): + queryset = JobResult.objects.all() + filterset = filtersets.JobResultFilterSet + filterset_form = forms.JobResultFilterForm + table = tables.JobResultTable \ No newline at end of file From 06dea8ef3f53b08c85f4ac17c04f71520d868bb3 Mon Sep 17 00:00:00 2001 From: kkthxbye-code <> Date: Fri, 23 Sep 2022 13:44:24 +0200 Subject: [PATCH 004/162] WIP: Moving JobResults out of the admin panel --- netbox/extras/filtersets.py | 24 +---------- netbox/extras/models/models.py | 5 +-- netbox/extras/tables/tables.py | 5 +-- netbox/extras/urls.py | 6 ++- netbox/extras/views.py | 14 ++++++ netbox/netbox/navigation_menu.py | 5 +++ netbox/templates/extras/jobresult.html | 60 ++++++++++++++++++++++++++ 7 files changed, 88 insertions(+), 31 deletions(-) create mode 100644 netbox/templates/extras/jobresult.html diff --git a/netbox/extras/filtersets.py b/netbox/extras/filtersets.py index 25f1a04c9..aed8d4bb3 100644 --- a/netbox/extras/filtersets.py +++ b/netbox/extras/filtersets.py @@ -87,27 +87,6 @@ class CustomFieldFilterSet(BaseFilterSet): Q(description__icontains=value) ) -class JobResultFilterSet(BaseFilterSet): - q = django_filters.CharFilter( - method='search', - label='Search', - ) - - # TODO: Add filters - - class Meta: - model = JobResult - fields = [ - 'id', 'name', 'obj_type', 'created', 'completed', 'user', 'status' - ] - - def search(self, queryset, name, value): - if not value.strip(): - return queryset - return queryset.filter( - Q(name__icontains=value) - ) - class CustomLinkFilterSet(BaseFilterSet): q = django_filters.CharFilter( method='search', @@ -472,7 +451,8 @@ class JobResultFilterSet(BaseFilterSet): if not value.strip(): return queryset return queryset.filter( - Q(user__username__icontains=value) + Q(user__username__icontains=value) | + Q(name__icontains=value) ) diff --git a/netbox/extras/models/models.py b/netbox/extras/models/models.py index 574b51f70..51cd30dbf 100644 --- a/netbox/extras/models/models.py +++ b/netbox/extras/models/models.py @@ -518,8 +518,7 @@ class JobResult(models.Model): return str(self.job_id) def get_absolute_url(self): - # TODO: Fix this to point the right place - return reverse('virtualization:clustertype', args=[self.pk]) + return reverse('extras:jobresult', args=[self.pk]) @property def duration(self): @@ -560,7 +559,7 @@ class JobResult(models.Model): ) queue = django_rq.get_queue("default") - + if schedule_at := kwargs.pop("schedule_at", None): job_result.status = JobResultStatusChoices.STATUS_SCHEDULED job_result.save() diff --git a/netbox/extras/tables/tables.py b/netbox/extras/tables/tables.py index 60e500da6..39f186ed6 100644 --- a/netbox/extras/tables/tables.py +++ b/netbox/extras/tables/tables.py @@ -48,12 +48,9 @@ class JobResultTable(NetBoxTable): name = tables.Column( linkify=True ) - #obj_type = columns.ContentTypesColumn() - required = columns.BooleanColumn() - ui_visibility = columns.ChoiceFieldColumn(verbose_name="UI visibility") actions = columns.ActionsColumn( - actions=() # TODO: Delete + actions=('delete',) ) class Meta(NetBoxTable.Meta): diff --git a/netbox/extras/urls.py b/netbox/extras/urls.py index 66d60133f..1d42211c4 100644 --- a/netbox/extras/urls.py +++ b/netbox/extras/urls.py @@ -104,8 +104,10 @@ urlpatterns = [ re_path(r'^reports/(?P.([^.]+)).(?P.(.+))/', views.ReportView.as_view(), name='report'), # Job results - path('job-results/', views.JobResultListView.as_view(), name='jobresult_view'), - # path('custom-fields//', views.CustomFieldView.as_view(), name='customfield'), + path('job-results/', views.JobResultListView.as_view(), name='jobresult_list'), + path('job-results//', views.JobResultView.as_view(), name='jobresult'), + path('job-results/delete/', views.JobResultBulkDeleteView.as_view(), name='jobresult_bulk_delete'), + path('job-results//delete/', views.JobResultDeleteView.as_view(), name='jobresult_delete'), # Scripts path('scripts/', views.ScriptListView.as_view(), name='script_list'), diff --git a/netbox/extras/views.py b/netbox/extras/views.py index bf122955e..8ffa1ce29 100644 --- a/netbox/extras/views.py +++ b/netbox/extras/views.py @@ -781,8 +781,22 @@ class ScriptResultView(ContentTypePermissionRequiredMixin, GetScriptMixin, View) # Job results # +class JobResultView(generic.ObjectView): + queryset = JobResult.objects.all() + + class JobResultListView(generic.ObjectListView): queryset = JobResult.objects.all() filterset = filtersets.JobResultFilterSet filterset_form = forms.JobResultFilterForm + table = tables.JobResultTable + actions = ('delete', 'bulk_delete', ) + +class JobResultDeleteView(generic.ObjectDeleteView): + queryset = JobResult.objects.all() + + +class JobResultBulkDeleteView(generic.BulkDeleteView): + queryset = JobResult.objects.all() + filterset = filtersets.JobResultFilterSet table = tables.JobResultTable \ No newline at end of file diff --git a/netbox/netbox/navigation_menu.py b/netbox/netbox/navigation_menu.py index a495f17c9..e82c07ca0 100644 --- a/netbox/netbox/navigation_menu.py +++ b/netbox/netbox/navigation_menu.py @@ -375,6 +375,11 @@ OTHER_MENU = Menu( link_text='Scripts', permissions=['extras.view_script'] ), + MenuItem( + link='extras:jobresult_list', + link_text='Job Results', + permissions=['extras.view_jobresult'], + ), ), ), MenuGroup( diff --git a/netbox/templates/extras/jobresult.html b/netbox/templates/extras/jobresult.html new file mode 100644 index 000000000..5f46dd6ac --- /dev/null +++ b/netbox/templates/extras/jobresult.html @@ -0,0 +1,60 @@ +{% extends 'generic/object.html' %} +{% load helpers %} +{% load plugins %} + +{% block title %}{{ object.name }} ({{object.job_id}}){% endblock %} + +{# JobResult does not support add/edit controls #} +{% block controls %}{% endblock %} +{% block subtitle %}{% endblock %} + +{% block content %} +
+
+
+
+ Tag +
+
+ + + + + + + + + + + + + +
Name + {{ object.name }} +
Created + {{ object.created|annotated_date }} +
Completed + {{ object.completed|annotated_date }} +
+
+
+
+
+
+
+ TODO +
+
+ + TODO +
+
+
+
+
+
+
+ {% plugin_full_width_page object %} +
+
+{% endblock %} From a0b17887fdbcc23a4629cacd704e58834c01d3cc Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Mon, 26 Sep 2022 15:45:58 -0400 Subject: [PATCH 005/162] Fixes #10445: Avoid rounding virtual machine memory values --- docs/release-notes/version-3.3.md | 1 + netbox/utilities/templatetags/helpers.py | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/release-notes/version-3.3.md b/docs/release-notes/version-3.3.md index 2955e17d5..7a5553b41 100644 --- a/docs/release-notes/version-3.3.md +++ b/docs/release-notes/version-3.3.md @@ -7,6 +7,7 @@ * [#9497](https://github.com/netbox-community/netbox/issues/9497) - Adjust non-racked device filter on site and location detailed view * [#10435](https://github.com/netbox-community/netbox/issues/10435) - Fix exception when filtering VLANs by virtual machine with no cluster assigned * [#10439](https://github.com/netbox-community/netbox/issues/10439) - Fix form widget styling for DeviceType airflow field +* [#10445](https://github.com/netbox-community/netbox/issues/10445) - Avoid rounding virtual machine memory values --- diff --git a/netbox/utilities/templatetags/helpers.py b/netbox/utilities/templatetags/helpers.py index 67ed553b2..462b37feb 100644 --- a/netbox/utilities/templatetags/helpers.py +++ b/netbox/utilities/templatetags/helpers.py @@ -73,9 +73,9 @@ def humanize_megabytes(mb): """ if not mb: return '' - if mb >= 1048576: + if not mb % 1048576: # 1024^2 return f'{int(mb / 1048576)} TB' - if mb >= 1024: + if not mb % 1024: return f'{int(mb / 1024)} GB' return f'{mb} MB' From 2463e4efd3f4c38ba4f3db0622f0c4c5576bf587 Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Mon, 26 Sep 2022 16:42:11 -0400 Subject: [PATCH 006/162] Fixes #10461: Enable filtering by read-only custom fields in the UI --- docs/release-notes/version-3.3.md | 1 + netbox/extras/forms/customfields.py | 11 +++-------- netbox/extras/models/customfields.py | 9 ++++++++- netbox/netbox/forms/base.py | 6 +++--- 4 files changed, 15 insertions(+), 12 deletions(-) diff --git a/docs/release-notes/version-3.3.md b/docs/release-notes/version-3.3.md index 7a5553b41..d4d2d35f5 100644 --- a/docs/release-notes/version-3.3.md +++ b/docs/release-notes/version-3.3.md @@ -8,6 +8,7 @@ * [#10435](https://github.com/netbox-community/netbox/issues/10435) - Fix exception when filtering VLANs by virtual machine with no cluster assigned * [#10439](https://github.com/netbox-community/netbox/issues/10439) - Fix form widget styling for DeviceType airflow field * [#10445](https://github.com/netbox-community/netbox/issues/10445) - Avoid rounding virtual machine memory values +* [#10461](https://github.com/netbox-community/netbox/issues/10461) - Enable filtering by read-only custom fields in the UI --- diff --git a/netbox/extras/forms/customfields.py b/netbox/extras/forms/customfields.py index 7574f4f2b..40d068450 100644 --- a/netbox/extras/forms/customfields.py +++ b/netbox/extras/forms/customfields.py @@ -34,7 +34,9 @@ class CustomFieldsMixin: return ContentType.objects.get_for_model(self.model) def _get_custom_fields(self, content_type): - return CustomField.objects.filter(content_types=content_type) + return CustomField.objects.filter(content_types=content_type).exclude( + ui_visibility=CustomFieldVisibilityChoices.VISIBILITY_HIDDEN + ) def _get_form_field(self, customfield): return customfield.to_form_field() @@ -50,13 +52,6 @@ class CustomFieldsMixin: field_name = f'cf_{customfield.name}' self.fields[field_name] = self._get_form_field(customfield) - if customfield.ui_visibility == CustomFieldVisibilityChoices.VISIBILITY_READ_ONLY: - self.fields[field_name].disabled = True - if self.fields[field_name].help_text: - self.fields[field_name].help_text += '
' - self.fields[field_name].help_text += ' ' \ - 'Field is set to read-only.' - # Annotate the field in the list of CustomField form fields self.custom_fields[field_name] = customfield if customfield.group_name not in self.custom_field_groups: diff --git a/netbox/extras/models/customfields.py b/netbox/extras/models/customfields.py index 43c4f9671..d52d73848 100644 --- a/netbox/extras/models/customfields.py +++ b/netbox/extras/models/customfields.py @@ -297,12 +297,13 @@ class CustomField(CloningMixin, ExportTemplatesMixin, WebhooksMixin, ChangeLogge return model.objects.filter(pk__in=value) return value - def to_form_field(self, set_initial=True, enforce_required=True, for_csv_import=False): + def to_form_field(self, set_initial=True, enforce_required=True, enforce_visibility=True, for_csv_import=False): """ Return a form field suitable for setting a CustomField's value for an object. set_initial: Set initial data for the field. This should be False when generating a field for bulk editing. enforce_required: Honor the value of CustomField.required. Set to False for filtering/bulk editing. + enforce_visibility: Honor the value of CustomField.ui_visibility. Set to False for filtering. for_csv_import: Return a form field suitable for bulk import of objects in CSV format. """ initial = self.default if set_initial else None @@ -398,6 +399,12 @@ class CustomField(CloningMixin, ExportTemplatesMixin, WebhooksMixin, ChangeLogge if self.description: field.help_text = escape(self.description) + # Annotate read-only fields + if enforce_visibility and self.ui_visibility == CustomFieldVisibilityChoices.VISIBILITY_READ_ONLY: + field.disabled = True + prepend = '
' if field.help_text else '' + field.help_text += f'{prepend} Field is set to read-only.' + return field def to_filter(self, lookup_expr=None): diff --git a/netbox/netbox/forms/base.py b/netbox/netbox/forms/base.py index 2676e4cde..fa741faf7 100644 --- a/netbox/netbox/forms/base.py +++ b/netbox/netbox/forms/base.py @@ -2,7 +2,7 @@ from django import forms from django.contrib.contenttypes.models import ContentType from django.db.models import Q -from extras.choices import CustomFieldFilterLogicChoices, CustomFieldTypeChoices +from extras.choices import CustomFieldFilterLogicChoices, CustomFieldTypeChoices, CustomFieldVisibilityChoices from extras.forms.customfields import CustomFieldsMixin from extras.models import CustomField, Tag from utilities.forms import BootstrapMixin, CSVModelForm @@ -125,10 +125,10 @@ class NetBoxModelFilterSetForm(BootstrapMixin, CustomFieldsMixin, forms.Form): ) def _get_custom_fields(self, content_type): - return CustomField.objects.filter(content_types=content_type).exclude( + return super()._get_custom_fields(content_type).exclude( Q(filter_logic=CustomFieldFilterLogicChoices.FILTER_DISABLED) | Q(type=CustomFieldTypeChoices.TYPE_JSON) ) def _get_form_field(self, customfield): - return customfield.to_form_field(set_initial=False, enforce_required=False) + return customfield.to_form_field(set_initial=False, enforce_required=False, enforce_visibility=False) From dda193247adf92df860ad799bb2127e34f2fe2b4 Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Mon, 26 Sep 2022 16:47:34 -0400 Subject: [PATCH 007/162] Fixes #10470: Omit read-only custom fields from CSV import forms --- docs/release-notes/version-3.3.md | 1 + netbox/netbox/forms/base.py | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/docs/release-notes/version-3.3.md b/docs/release-notes/version-3.3.md index d4d2d35f5..60d8b5381 100644 --- a/docs/release-notes/version-3.3.md +++ b/docs/release-notes/version-3.3.md @@ -9,6 +9,7 @@ * [#10439](https://github.com/netbox-community/netbox/issues/10439) - Fix form widget styling for DeviceType airflow field * [#10445](https://github.com/netbox-community/netbox/issues/10445) - Avoid rounding virtual machine memory values * [#10461](https://github.com/netbox-community/netbox/issues/10461) - Enable filtering by read-only custom fields in the UI +* [#10470](https://github.com/netbox-community/netbox/issues/10470) - Omit read-only custom fields from CSV import forms --- diff --git a/netbox/netbox/forms/base.py b/netbox/netbox/forms/base.py index fa741faf7..2cbc67971 100644 --- a/netbox/netbox/forms/base.py +++ b/netbox/netbox/forms/base.py @@ -63,6 +63,11 @@ class NetBoxModelCSVForm(CSVModelForm, NetBoxModelForm): """ tags = None # Temporary fix in lieu of tag import support (see #9158) + def _get_custom_fields(self, content_type): + return CustomField.objects.filter(content_types=content_type).filter( + ui_visibility=CustomFieldVisibilityChoices.VISIBILITY_READ_WRITE + ) + def _get_form_field(self, customfield): return customfield.to_form_field(for_csv_import=True) From 43b18c13e3406febf41f95812d1351ab74af5336 Mon Sep 17 00:00:00 2001 From: Patrick Hurrelmann Date: Tue, 27 Sep 2022 13:23:51 +0200 Subject: [PATCH 008/162] Fixes: #10480 Fix link-target on cable-trace svg to open link in the same window. --- netbox/dcim/svg/cables.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/netbox/dcim/svg/cables.py b/netbox/dcim/svg/cables.py index 3872bc4fe..9a847acc9 100644 --- a/netbox/dcim/svg/cables.py +++ b/netbox/dcim/svg/cables.py @@ -35,7 +35,7 @@ class Node(Hyperlink): """ def __init__(self, position, width, url, color, labels, radius=10, **extra): - super(Node, self).__init__(href=url, target='_blank', **extra) + super(Node, self).__init__(href=url, target='_parent', **extra) x, y = position From 669e86f96e5866124db04e7efc1542b84966987a Mon Sep 17 00:00:00 2001 From: Patrick Hurrelmann Date: Tue, 27 Sep 2022 17:24:19 +0200 Subject: [PATCH 009/162] Fixes: #10465 Format all remaining displayed rackunits with floatformat (#10481) * Fixes: #10465 Try to finish #10268 and format all remaining displayed rackunits with floatformat * #10465: PEP8 fix Co-authored-by: Patrick Hurrelmann Co-authored-by: jeremystretch --- netbox/dcim/svg/racks.py | 3 ++- netbox/dcim/tables/devicetypes.py | 3 +++ netbox/templates/dcim/device.html | 4 ++-- netbox/templates/dcim/devicetype.html | 2 +- 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/netbox/dcim/svg/racks.py b/netbox/dcim/svg/racks.py index 573fc966c..6c57e6023 100644 --- a/netbox/dcim/svg/racks.py +++ b/netbox/dcim/svg/racks.py @@ -9,6 +9,7 @@ from svgwrite.text import Text from django.conf import settings from django.core.exceptions import FieldError from django.db.models import Q +from django.template.defaultfilters import floatformat from django.urls import reverse from django.utils.http import urlencode @@ -41,7 +42,7 @@ def get_device_description(device): device.device_role, device.device_type.manufacturer.name, device.device_type.model, - device.device_type.u_height, + floatformat(device.device_type.u_height), device.asset_tag or '', device.serial or '' ) diff --git a/netbox/dcim/tables/devicetypes.py b/netbox/dcim/tables/devicetypes.py index 3ed4d8c08..ec71245f7 100644 --- a/netbox/dcim/tables/devicetypes.py +++ b/netbox/dcim/tables/devicetypes.py @@ -85,6 +85,9 @@ class DeviceTypeTable(NetBoxTable): tags = columns.TagColumn( url_name='dcim:devicetype_list' ) + u_height = columns.TemplateColumn( + template_code='{{ value|floatformat }}' + ) class Meta(NetBoxTable.Meta): model = DeviceType diff --git a/netbox/templates/dcim/device.html b/netbox/templates/dcim/device.html index 6cc859749..253d905f2 100644 --- a/netbox/templates/dcim/device.html +++ b/netbox/templates/dcim/device.html @@ -66,7 +66,7 @@ {% with object.parent_bay.device as parent %} {{ parent|linkify }} / {{ object.parent_bay }} {% if parent.position %} - (U{{ parent.position }} / {{ parent.get_face_display }}) + (U{{ parent.position|floatformat }} / {{ parent.get_face_display }}) {% endif %} {% endwith %} {% elif object.rack and object.position %} @@ -90,7 +90,7 @@ Device Type - {{ object.device_type|linkify:"get_full_name" }} ({{ object.device_type.u_height }}U) + {{ object.device_type|linkify:"get_full_name" }} ({{ object.device_type.u_height|floatformat }}U) diff --git a/netbox/templates/dcim/devicetype.html b/netbox/templates/dcim/devicetype.html index bb3ec9d2e..1fde72d27 100644 --- a/netbox/templates/dcim/devicetype.html +++ b/netbox/templates/dcim/devicetype.html @@ -29,7 +29,7 @@ Height (U) - {{ object.u_height }} + {{ object.u_height|floatformat }} Full Depth From 05542324fc57aee1a7939f7ea7e497a2490d0f9d Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Tue, 27 Sep 2022 11:53:11 -0400 Subject: [PATCH 010/162] Changelog for #10465, #10480 --- docs/release-notes/version-3.3.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/release-notes/version-3.3.md b/docs/release-notes/version-3.3.md index 60d8b5381..4edda4e9b 100644 --- a/docs/release-notes/version-3.3.md +++ b/docs/release-notes/version-3.3.md @@ -2,6 +2,10 @@ ## v3.3.5 (FUTURE) +### Enhancements + +* [#10465](https://github.com/netbox-community/netbox/issues/10465) - Improve formatting of device heights and rack positions + ### Bug Fixes * [#9497](https://github.com/netbox-community/netbox/issues/9497) - Adjust non-racked device filter on site and location detailed view @@ -10,12 +14,14 @@ * [#10445](https://github.com/netbox-community/netbox/issues/10445) - Avoid rounding virtual machine memory values * [#10461](https://github.com/netbox-community/netbox/issues/10461) - Enable filtering by read-only custom fields in the UI * [#10470](https://github.com/netbox-community/netbox/issues/10470) - Omit read-only custom fields from CSV import forms +* [#10480](https://github.com/netbox-community/netbox/issues/10480) - Cable trace SVG links should not force a new window --- ## 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 From 2d9852d6f108b745181f23b39c4e72ee970bb7f8 Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Tue, 27 Sep 2022 13:11:57 -0400 Subject: [PATCH 011/162] Fixes #10408: Fix validation when attempting to add redundant contact assignments --- docs/release-notes/version-3.3.md | 1 + netbox/templates/tenancy/contactassignment_edit.html | 3 +++ netbox/tenancy/forms/models.py | 4 +++- 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/docs/release-notes/version-3.3.md b/docs/release-notes/version-3.3.md index 4edda4e9b..e91e825f5 100644 --- a/docs/release-notes/version-3.3.md +++ b/docs/release-notes/version-3.3.md @@ -9,6 +9,7 @@ ### Bug Fixes * [#9497](https://github.com/netbox-community/netbox/issues/9497) - Adjust non-racked device filter on site and location detailed view +* [#10408](https://github.com/netbox-community/netbox/issues/10408) - Fix validation when attempting to add redundant contact assignments * [#10435](https://github.com/netbox-community/netbox/issues/10435) - Fix exception when filtering VLANs by virtual machine with no cluster assigned * [#10439](https://github.com/netbox-community/netbox/issues/10439) - Fix form widget styling for DeviceType airflow field * [#10445](https://github.com/netbox-community/netbox/issues/10445) - Avoid rounding virtual machine memory values diff --git a/netbox/templates/tenancy/contactassignment_edit.html b/netbox/templates/tenancy/contactassignment_edit.html index 4d1747e72..d904deead 100644 --- a/netbox/templates/tenancy/contactassignment_edit.html +++ b/netbox/templates/tenancy/contactassignment_edit.html @@ -3,6 +3,9 @@ {% load form_helpers %} {% block form %} + {% for field in form.hidden_fields %} + {{ field }} + {% endfor %}
Contact Assignment
diff --git a/netbox/tenancy/forms/models.py b/netbox/tenancy/forms/models.py index 021e36a5b..eabcb1d0f 100644 --- a/netbox/tenancy/forms/models.py +++ b/netbox/tenancy/forms/models.py @@ -119,8 +119,10 @@ class ContactAssignmentForm(BootstrapMixin, forms.ModelForm): class Meta: model = ContactAssignment fields = ( - 'group', 'contact', 'role', 'priority', + 'content_type', 'object_id', 'group', 'contact', 'role', 'priority', ) widgets = { + 'content_type': forms.HiddenInput(), + 'object_id': forms.HiddenInput(), 'priority': StaticSelect(), } From 3c32c09a5a1a1156340193c2d6eda98c8a4876eb Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Wed, 28 Sep 2022 09:30:38 -0400 Subject: [PATCH 012/162] Fixes #10496: Use page.canonical_url to identify ReadTheDocs builds --- docs/_theme/main.html | 4 ++-- mkdocs.yml | 1 - 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/docs/_theme/main.html b/docs/_theme/main.html index 4dfc4e14e..3ff44b9cb 100644 --- a/docs/_theme/main.html +++ b/docs/_theme/main.html @@ -2,8 +2,8 @@ {% block site_meta %} {{ super() }} - {# Disable search indexing unless we're building for ReadTheDocs #} - {% if not config.extra.readthedocs %} + {# Disable search indexing unless we're building for ReadTheDocs (see #10496) #} + {% if page.canonical_url != 'https://docs.netbox.dev/' %} {% endif %} {% endblock %} diff --git a/mkdocs.yml b/mkdocs.yml index 530c6d52e..a10fd6e67 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -38,7 +38,6 @@ plugins: show_root_toc_entry: false show_source: false extra: - readthedocs: !ENV READTHEDOCS social: - icon: fontawesome/brands/github link: https://github.com/netbox-community/netbox From 4cb6984a6591b63d3870e3a7e8b7351794f0166e Mon Sep 17 00:00:00 2001 From: Alex Date: Thu, 29 Sep 2022 18:41:33 +0300 Subject: [PATCH 013/162] GitHub Workflows security hardening (#10456) * build: harden lock.yml permissions Signed-off-by: Alex * build: harden stale.yml permissions Signed-off-by: Alex * build: harden ci.yml permissions Signed-off-by: Alex Signed-off-by: Alex --- .github/workflows/ci.yml | 2 ++ .github/workflows/lock.yml | 5 +++++ .github/workflows/stale.yml | 5 +++++ 3 files changed, 12 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 67f5028cd..9431863b7 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,5 +1,7 @@ name: CI on: [push, pull_request] +permissions: + contents: read # to fetch code (actions/checkout) jobs: build: runs-on: ubuntu-latest diff --git a/.github/workflows/lock.yml b/.github/workflows/lock.yml index 9df4bc441..b928fc128 100644 --- a/.github/workflows/lock.yml +++ b/.github/workflows/lock.yml @@ -5,8 +5,13 @@ on: schedule: - cron: '0 3 * * *' +permissions: {} jobs: lock: + permissions: + issues: write # to lock issues (dessant/lock-threads) + pull-requests: write # to lock PRs (dessant/lock-threads) + runs-on: ubuntu-latest steps: - uses: dessant/lock-threads@v3 diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml index 57666417a..1df1c7044 100644 --- a/.github/workflows/stale.yml +++ b/.github/workflows/stale.yml @@ -4,8 +4,13 @@ on: schedule: - cron: '0 4 * * *' +permissions: {} jobs: stale: + permissions: + issues: write # to close stale issues (actions/stale) + pull-requests: write # to close stale PRs (actions/stale) + runs-on: ubuntu-latest steps: - uses: actions/stale@v5 From 309a70df8908b354cb6634071913878dd1aea4e1 Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Thu, 29 Sep 2022 11:59:15 -0400 Subject: [PATCH 014/162] Tweak workflow permissions --- .github/workflows/lock.yml | 5 ++--- .github/workflows/stale.yml | 5 ++--- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/.github/workflows/lock.yml b/.github/workflows/lock.yml index b928fc128..4f73f66f0 100644 --- a/.github/workflows/lock.yml +++ b/.github/workflows/lock.yml @@ -5,12 +5,11 @@ on: schedule: - cron: '0 3 * * *' -permissions: {} jobs: lock: permissions: - issues: write # to lock issues (dessant/lock-threads) - pull-requests: write # to lock PRs (dessant/lock-threads) + issues: write + pull-requests: write runs-on: ubuntu-latest steps: diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml index 1df1c7044..70a2511c8 100644 --- a/.github/workflows/stale.yml +++ b/.github/workflows/stale.yml @@ -4,12 +4,11 @@ on: schedule: - cron: '0 4 * * *' -permissions: {} jobs: stale: permissions: - issues: write # to close stale issues (actions/stale) - pull-requests: write # to close stale PRs (actions/stale) + issues: write + pull-requests: write runs-on: ubuntu-latest steps: From cbbfcd0e7b9acba46dbaa725fd7bd02366aa1303 Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Thu, 29 Sep 2022 12:00:44 -0400 Subject: [PATCH 015/162] Bump stale to v6 --- .github/workflows/stale.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml index 70a2511c8..cbc8d8b87 100644 --- a/.github/workflows/stale.yml +++ b/.github/workflows/stale.yml @@ -12,7 +12,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/stale@v5 + - uses: actions/stale@v6 with: close-issue-message: > This issue has been automatically closed due to lack of activity. In an From 04738587e80ca0cc9ecdf3a833c9af555877e902 Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Thu, 29 Sep 2022 12:17:10 -0400 Subject: [PATCH 016/162] Move permissions block to root --- .github/workflows/lock.yml | 9 ++++----- .github/workflows/stale.yml | 8 +++++--- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/.github/workflows/lock.yml b/.github/workflows/lock.yml index 4f73f66f0..a53cf728c 100644 --- a/.github/workflows/lock.yml +++ b/.github/workflows/lock.yml @@ -5,17 +5,16 @@ on: schedule: - cron: '0 3 * * *' +permissions: + issues: write + pull-requests: write + jobs: lock: - permissions: - issues: write - pull-requests: write - runs-on: ubuntu-latest steps: - uses: dessant/lock-threads@v3 with: - github-token: ${{ github.token }} issue-inactive-days: 90 pr-inactive-days: 30 issue-lock-reason: 'resolved' diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml index cbc8d8b87..68e475f24 100644 --- a/.github/workflows/stale.yml +++ b/.github/workflows/stale.yml @@ -1,14 +1,16 @@ # close-stale-issues (https://github.com/marketplace/actions/close-stale-issues) name: 'Close stale issues/PRs' + on: schedule: - cron: '0 4 * * *' +permissions: + issues: write + pull-requests: write + jobs: stale: - permissions: - issues: write - pull-requests: write runs-on: ubuntu-latest steps: From 62820ea2b8fc4d61f2e68390520d72bccdfff53e Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Thu, 29 Sep 2022 12:36:10 -0400 Subject: [PATCH 017/162] Add workflow_dispatch event --- .github/workflows/ci.yml | 2 +- .github/workflows/lock.yml | 1 + .github/workflows/stale.yml | 1 + 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9431863b7..d75f98fbc 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,7 +1,7 @@ name: CI on: [push, pull_request] permissions: - contents: read # to fetch code (actions/checkout) + contents: read jobs: build: runs-on: ubuntu-latest diff --git a/.github/workflows/lock.yml b/.github/workflows/lock.yml index a53cf728c..6019cef5d 100644 --- a/.github/workflows/lock.yml +++ b/.github/workflows/lock.yml @@ -4,6 +4,7 @@ name: 'Lock threads' on: schedule: - cron: '0 3 * * *' + workflow_dispatch: permissions: issues: write diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml index 68e475f24..ab259af2a 100644 --- a/.github/workflows/stale.yml +++ b/.github/workflows/stale.yml @@ -4,6 +4,7 @@ name: 'Close stale issues/PRs' on: schedule: - cron: '0 4 * * *' + workflow_dispatch: permissions: issues: write From 02ffc2ddeed9483de6e765f7f5b4205ce10ea2b3 Mon Sep 17 00:00:00 2001 From: Arthur Date: Fri, 30 Sep 2022 09:09:21 -0700 Subject: [PATCH 018/162] 10491 improve error message for ProtectedError on contact assignment --- netbox/tenancy/models/contacts.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/netbox/tenancy/models/contacts.py b/netbox/tenancy/models/contacts.py index 41881f853..1dba814a6 100644 --- a/netbox/tenancy/models/contacts.py +++ b/netbox/tenancy/models/contacts.py @@ -163,8 +163,8 @@ class ContactAssignment(WebhooksMixin, ChangeLoggedModel): def __str__(self): if self.priority: - return f"{self.contact} ({self.get_priority_display()})" - return str(self.contact) + return f"{self.contact} ({self.get_priority_display()}) -> {self.object}" + return str(f"{self.contact} -> {self.object}") def get_absolute_url(self): return reverse('tenancy:contact', args=[self.contact.pk]) From ada5c58acffa2528bee1f82b4daabb77ae147d9f Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Fri, 30 Sep 2022 15:05:13 -0400 Subject: [PATCH 019/162] Closes #10529: Run validation on each value of a multi-value filter --- netbox/utilities/filters.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/netbox/utilities/filters.py b/netbox/utilities/filters.py index 543449b73..3d7f7d7ad 100644 --- a/netbox/utilities/filters.py +++ b/netbox/utilities/filters.py @@ -23,6 +23,14 @@ def multivalue_field_factory(field_class): field.to_python(v) for v in value if v ] + def run_validators(self, value): + for v in value: + super().run_validators(v) + + def validate(self, value): + for v in value: + super().validate(v) + return type('MultiValue{}'.format(field_class.__name__), (NewField,), dict()) From af8bb0c4b9c0b8d6599f110f522bd1e598c40b88 Mon Sep 17 00:00:00 2001 From: Arthur Hanson Date: Fri, 30 Sep 2022 13:03:24 -0700 Subject: [PATCH 020/162] 10348 add decimal custom field (#10422) * 10348 add decimal custom field * 10348 fix tests * 10348 add documentation * Rearrange custom fields to be ordered consistently * Rename number_field to integer_field for clarity * Clean up validation logic * Apply suggested changes from PR * Store decimal custom field values natively * Fix filter test * Update custom field model migrations to use new encoder Co-authored-by: jeremystretch --- docs/customization/custom-fields.md | 1 + netbox/circuits/migrations/0001_squashed.py | 10 +- ...uit_termination_date_tags_custom_fields.py | 4 +- netbox/dcim/migrations/0001_squashed.py | 52 +-- netbox/dcim/migrations/0146_modules.py | 8 +- .../dcim/migrations/0147_inventoryitemrole.py | 4 +- netbox/extras/api/serializers.py | 2 + netbox/extras/choices.py | 2 + .../0073_journalentry_tags_custom_fields.py | 4 +- netbox/extras/models/customfields.py | 50 ++- netbox/extras/tests/test_customfields.py | 300 +++++++++++------- netbox/extras/tests/test_forms.py | 3 + netbox/ipam/migrations/0001_squashed.py | 22 +- netbox/ipam/migrations/0050_iprange.py | 4 +- netbox/ipam/migrations/0052_fhrpgroup.py | 4 +- netbox/ipam/migrations/0053_asn_model.py | 4 +- .../ipam/migrations/0055_servicetemplate.py | 4 +- netbox/ipam/migrations/0059_l2vpn.py | 6 +- netbox/netbox/filtersets.py | 3 +- netbox/netbox/models/features.py | 4 +- .../tenancy/migrations/0001_squashed_0012.py | 6 +- netbox/tenancy/migrations/0003_contacts.py | 8 +- netbox/utilities/filters.py | 8 +- netbox/utilities/json.py | 17 + .../migrations/0001_squashed_0022.py | 12 +- netbox/wireless/migrations/0001_wireless.py | 8 +- 26 files changed, 343 insertions(+), 207 deletions(-) create mode 100644 netbox/utilities/json.py diff --git a/docs/customization/custom-fields.md b/docs/customization/custom-fields.md index c443fa9f6..81aaa5247 100644 --- a/docs/customization/custom-fields.md +++ b/docs/customization/custom-fields.md @@ -13,6 +13,7 @@ Custom fields may be created by navigating to Customization > Custom Fields. Net * Text: Free-form text (intended for single-line use) * Long text: Free-form of any length; supports Markdown rendering * Integer: A whole number (positive or negative) +* Decimal: A fixed-precision decimal number (4 decimal places) * Boolean: True or false * Date: A date in ISO 8601 format (YYYY-MM-DD) * URL: This will be presented as a link in the web UI diff --git a/netbox/circuits/migrations/0001_squashed.py b/netbox/circuits/migrations/0001_squashed.py index 851f40a22..971233162 100644 --- a/netbox/circuits/migrations/0001_squashed.py +++ b/netbox/circuits/migrations/0001_squashed.py @@ -1,5 +1,5 @@ import dcim.fields -import django.core.serializers.json +from utilities.json import CustomFieldJSONEncoder from django.db import migrations, models import django.db.models.deletion @@ -21,7 +21,7 @@ class Migration(migrations.Migration): fields=[ ('created', models.DateField(auto_now_add=True, null=True)), ('last_updated', models.DateTimeField(auto_now=True, null=True)), - ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=django.core.serializers.json.DjangoJSONEncoder)), + ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=CustomFieldJSONEncoder)), ('id', models.BigAutoField(primary_key=True, serialize=False)), ('cid', models.CharField(max_length=100)), ('status', models.CharField(default='active', max_length=50)), @@ -58,7 +58,7 @@ class Migration(migrations.Migration): fields=[ ('created', models.DateField(auto_now_add=True, null=True)), ('last_updated', models.DateTimeField(auto_now=True, null=True)), - ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=django.core.serializers.json.DjangoJSONEncoder)), + ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=CustomFieldJSONEncoder)), ('id', models.BigAutoField(primary_key=True, serialize=False)), ('name', models.CharField(max_length=100, unique=True)), ('slug', models.SlugField(max_length=100, unique=True)), @@ -73,7 +73,7 @@ class Migration(migrations.Migration): fields=[ ('created', models.DateField(auto_now_add=True, null=True)), ('last_updated', models.DateTimeField(auto_now=True, null=True)), - ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=django.core.serializers.json.DjangoJSONEncoder)), + ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=CustomFieldJSONEncoder)), ('id', models.BigAutoField(primary_key=True, serialize=False)), ('name', models.CharField(max_length=100, unique=True)), ('slug', models.SlugField(max_length=100, unique=True)), @@ -93,7 +93,7 @@ class Migration(migrations.Migration): fields=[ ('created', models.DateField(auto_now_add=True, null=True)), ('last_updated', models.DateTimeField(auto_now=True, null=True)), - ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=django.core.serializers.json.DjangoJSONEncoder)), + ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=CustomFieldJSONEncoder)), ('id', models.BigAutoField(primary_key=True, serialize=False)), ('name', models.CharField(max_length=100)), ('description', models.CharField(blank=True, max_length=200)), diff --git a/netbox/circuits/migrations/0036_circuit_termination_date_tags_custom_fields.py b/netbox/circuits/migrations/0036_circuit_termination_date_tags_custom_fields.py index c686bf042..96b2a9d97 100644 --- a/netbox/circuits/migrations/0036_circuit_termination_date_tags_custom_fields.py +++ b/netbox/circuits/migrations/0036_circuit_termination_date_tags_custom_fields.py @@ -1,4 +1,4 @@ -import django.core.serializers.json +from utilities.json import CustomFieldJSONEncoder from django.db import migrations, models import taggit.managers @@ -18,7 +18,7 @@ class Migration(migrations.Migration): migrations.AddField( model_name='circuittermination', name='custom_field_data', - field=models.JSONField(blank=True, default=dict, encoder=django.core.serializers.json.DjangoJSONEncoder), + field=models.JSONField(blank=True, default=dict, encoder=CustomFieldJSONEncoder), ), migrations.AddField( model_name='circuittermination', diff --git a/netbox/dcim/migrations/0001_squashed.py b/netbox/dcim/migrations/0001_squashed.py index 374d3bf45..fca7d8eb9 100644 --- a/netbox/dcim/migrations/0001_squashed.py +++ b/netbox/dcim/migrations/0001_squashed.py @@ -1,6 +1,6 @@ import dcim.fields import django.contrib.postgres.fields -import django.core.serializers.json +from utilities.json import CustomFieldJSONEncoder import django.core.validators from django.db import migrations, models import django.db.models.deletion @@ -28,7 +28,7 @@ class Migration(migrations.Migration): fields=[ ('created', models.DateField(auto_now_add=True, null=True)), ('last_updated', models.DateTimeField(auto_now=True, null=True)), - ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=django.core.serializers.json.DjangoJSONEncoder)), + ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=CustomFieldJSONEncoder)), ('id', models.BigAutoField(primary_key=True, serialize=False)), ('termination_a_id', models.PositiveIntegerField()), ('termination_b_id', models.PositiveIntegerField()), @@ -60,7 +60,7 @@ class Migration(migrations.Migration): fields=[ ('created', models.DateField(auto_now_add=True, null=True)), ('last_updated', models.DateTimeField(auto_now=True, null=True)), - ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=django.core.serializers.json.DjangoJSONEncoder)), + ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=CustomFieldJSONEncoder)), ('id', models.BigAutoField(primary_key=True, serialize=False)), ('name', models.CharField(max_length=64)), ('_name', utilities.fields.NaturalOrderingField('name', blank=True, max_length=100, naturalize_function=utilities.ordering.naturalize)), @@ -96,7 +96,7 @@ class Migration(migrations.Migration): fields=[ ('created', models.DateField(auto_now_add=True, null=True)), ('last_updated', models.DateTimeField(auto_now=True, null=True)), - ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=django.core.serializers.json.DjangoJSONEncoder)), + ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=CustomFieldJSONEncoder)), ('id', models.BigAutoField(primary_key=True, serialize=False)), ('name', models.CharField(max_length=64)), ('_name', utilities.fields.NaturalOrderingField('name', blank=True, max_length=100, naturalize_function=utilities.ordering.naturalize)), @@ -132,7 +132,7 @@ class Migration(migrations.Migration): fields=[ ('created', models.DateField(auto_now_add=True, null=True)), ('last_updated', models.DateTimeField(auto_now=True, null=True)), - ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=django.core.serializers.json.DjangoJSONEncoder)), + ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=CustomFieldJSONEncoder)), ('id', models.BigAutoField(primary_key=True, serialize=False)), ('local_context_data', models.JSONField(blank=True, null=True)), ('name', models.CharField(blank=True, max_length=64, null=True)), @@ -155,7 +155,7 @@ class Migration(migrations.Migration): fields=[ ('created', models.DateField(auto_now_add=True, null=True)), ('last_updated', models.DateTimeField(auto_now=True, null=True)), - ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=django.core.serializers.json.DjangoJSONEncoder)), + ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=CustomFieldJSONEncoder)), ('id', models.BigAutoField(primary_key=True, serialize=False)), ('name', models.CharField(max_length=64)), ('_name', utilities.fields.NaturalOrderingField('name', blank=True, max_length=100, naturalize_function=utilities.ordering.naturalize)), @@ -186,7 +186,7 @@ class Migration(migrations.Migration): fields=[ ('created', models.DateField(auto_now_add=True, null=True)), ('last_updated', models.DateTimeField(auto_now=True, null=True)), - ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=django.core.serializers.json.DjangoJSONEncoder)), + ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=CustomFieldJSONEncoder)), ('id', models.BigAutoField(primary_key=True, serialize=False)), ('name', models.CharField(max_length=100, unique=True)), ('slug', models.SlugField(max_length=100, unique=True)), @@ -203,7 +203,7 @@ class Migration(migrations.Migration): fields=[ ('created', models.DateField(auto_now_add=True, null=True)), ('last_updated', models.DateTimeField(auto_now=True, null=True)), - ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=django.core.serializers.json.DjangoJSONEncoder)), + ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=CustomFieldJSONEncoder)), ('id', models.BigAutoField(primary_key=True, serialize=False)), ('model', models.CharField(max_length=100)), ('slug', models.SlugField(max_length=100)), @@ -224,7 +224,7 @@ class Migration(migrations.Migration): fields=[ ('created', models.DateField(auto_now_add=True, null=True)), ('last_updated', models.DateTimeField(auto_now=True, null=True)), - ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=django.core.serializers.json.DjangoJSONEncoder)), + ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=CustomFieldJSONEncoder)), ('id', models.BigAutoField(primary_key=True, serialize=False)), ('name', models.CharField(max_length=64)), ('_name', utilities.fields.NaturalOrderingField('name', blank=True, max_length=100, naturalize_function=utilities.ordering.naturalize)), @@ -261,7 +261,7 @@ class Migration(migrations.Migration): fields=[ ('created', models.DateField(auto_now_add=True, null=True)), ('last_updated', models.DateTimeField(auto_now=True, null=True)), - ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=django.core.serializers.json.DjangoJSONEncoder)), + ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=CustomFieldJSONEncoder)), ('id', models.BigAutoField(primary_key=True, serialize=False)), ('name', models.CharField(max_length=64)), ('label', models.CharField(blank=True, max_length=64)), @@ -302,7 +302,7 @@ class Migration(migrations.Migration): fields=[ ('created', models.DateField(auto_now_add=True, null=True)), ('last_updated', models.DateTimeField(auto_now=True, null=True)), - ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=django.core.serializers.json.DjangoJSONEncoder)), + ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=CustomFieldJSONEncoder)), ('id', models.BigAutoField(primary_key=True, serialize=False)), ('name', models.CharField(max_length=64)), ('_name', utilities.fields.NaturalOrderingField('name', blank=True, max_length=100, naturalize_function=utilities.ordering.naturalize)), @@ -326,7 +326,7 @@ class Migration(migrations.Migration): fields=[ ('created', models.DateField(auto_now_add=True, null=True)), ('last_updated', models.DateTimeField(auto_now=True, null=True)), - ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=django.core.serializers.json.DjangoJSONEncoder)), + ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=CustomFieldJSONEncoder)), ('id', models.BigAutoField(primary_key=True, serialize=False)), ('name', models.CharField(max_length=100)), ('slug', models.SlugField(max_length=100)), @@ -345,7 +345,7 @@ class Migration(migrations.Migration): fields=[ ('created', models.DateField(auto_now_add=True, null=True)), ('last_updated', models.DateTimeField(auto_now=True, null=True)), - ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=django.core.serializers.json.DjangoJSONEncoder)), + ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=CustomFieldJSONEncoder)), ('id', models.BigAutoField(primary_key=True, serialize=False)), ('name', models.CharField(max_length=100, unique=True)), ('slug', models.SlugField(max_length=100, unique=True)), @@ -360,7 +360,7 @@ class Migration(migrations.Migration): fields=[ ('created', models.DateField(auto_now_add=True, null=True)), ('last_updated', models.DateTimeField(auto_now=True, null=True)), - ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=django.core.serializers.json.DjangoJSONEncoder)), + ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=CustomFieldJSONEncoder)), ('id', models.BigAutoField(primary_key=True, serialize=False)), ('name', models.CharField(max_length=100, unique=True)), ('slug', models.SlugField(max_length=100, unique=True)), @@ -377,7 +377,7 @@ class Migration(migrations.Migration): fields=[ ('created', models.DateField(auto_now_add=True, null=True)), ('last_updated', models.DateTimeField(auto_now=True, null=True)), - ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=django.core.serializers.json.DjangoJSONEncoder)), + ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=CustomFieldJSONEncoder)), ('id', models.BigAutoField(primary_key=True, serialize=False)), ('_cable_peer_id', models.PositiveIntegerField(blank=True, null=True)), ('mark_connected', models.BooleanField(default=False)), @@ -401,7 +401,7 @@ class Migration(migrations.Migration): fields=[ ('created', models.DateField(auto_now_add=True, null=True)), ('last_updated', models.DateTimeField(auto_now=True, null=True)), - ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=django.core.serializers.json.DjangoJSONEncoder)), + ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=CustomFieldJSONEncoder)), ('id', models.BigAutoField(primary_key=True, serialize=False)), ('name', models.CharField(max_length=64)), ('_name', utilities.fields.NaturalOrderingField('name', blank=True, max_length=100, naturalize_function=utilities.ordering.naturalize)), @@ -438,7 +438,7 @@ class Migration(migrations.Migration): fields=[ ('created', models.DateField(auto_now_add=True, null=True)), ('last_updated', models.DateTimeField(auto_now=True, null=True)), - ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=django.core.serializers.json.DjangoJSONEncoder)), + ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=CustomFieldJSONEncoder)), ('id', models.BigAutoField(primary_key=True, serialize=False)), ('name', models.CharField(max_length=100)), ], @@ -451,7 +451,7 @@ class Migration(migrations.Migration): fields=[ ('created', models.DateField(auto_now_add=True, null=True)), ('last_updated', models.DateTimeField(auto_now=True, null=True)), - ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=django.core.serializers.json.DjangoJSONEncoder)), + ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=CustomFieldJSONEncoder)), ('id', models.BigAutoField(primary_key=True, serialize=False)), ('name', models.CharField(max_length=64)), ('_name', utilities.fields.NaturalOrderingField('name', blank=True, max_length=100, naturalize_function=utilities.ordering.naturalize)), @@ -490,7 +490,7 @@ class Migration(migrations.Migration): fields=[ ('created', models.DateField(auto_now_add=True, null=True)), ('last_updated', models.DateTimeField(auto_now=True, null=True)), - ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=django.core.serializers.json.DjangoJSONEncoder)), + ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=CustomFieldJSONEncoder)), ('id', models.BigAutoField(primary_key=True, serialize=False)), ('name', models.CharField(max_length=100)), ('_name', utilities.fields.NaturalOrderingField('name', blank=True, max_length=100, naturalize_function=utilities.ordering.naturalize)), @@ -516,7 +516,7 @@ class Migration(migrations.Migration): fields=[ ('created', models.DateField(auto_now_add=True, null=True)), ('last_updated', models.DateTimeField(auto_now=True, null=True)), - ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=django.core.serializers.json.DjangoJSONEncoder)), + ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=CustomFieldJSONEncoder)), ('id', models.BigAutoField(primary_key=True, serialize=False)), ('units', django.contrib.postgres.fields.ArrayField(base_field=models.PositiveSmallIntegerField(), size=None)), ('description', models.CharField(max_length=200)), @@ -530,7 +530,7 @@ class Migration(migrations.Migration): fields=[ ('created', models.DateField(auto_now_add=True, null=True)), ('last_updated', models.DateTimeField(auto_now=True, null=True)), - ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=django.core.serializers.json.DjangoJSONEncoder)), + ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=CustomFieldJSONEncoder)), ('id', models.BigAutoField(primary_key=True, serialize=False)), ('name', models.CharField(max_length=100, unique=True)), ('slug', models.SlugField(max_length=100, unique=True)), @@ -546,7 +546,7 @@ class Migration(migrations.Migration): fields=[ ('created', models.DateField(auto_now_add=True, null=True)), ('last_updated', models.DateTimeField(auto_now=True, null=True)), - ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=django.core.serializers.json.DjangoJSONEncoder)), + ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=CustomFieldJSONEncoder)), ('id', models.BigAutoField(primary_key=True, serialize=False)), ('name', models.CharField(max_length=64)), ('_name', utilities.fields.NaturalOrderingField('name', blank=True, max_length=100, naturalize_function=utilities.ordering.naturalize)), @@ -583,7 +583,7 @@ class Migration(migrations.Migration): fields=[ ('created', models.DateField(auto_now_add=True, null=True)), ('last_updated', models.DateTimeField(auto_now=True, null=True)), - ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=django.core.serializers.json.DjangoJSONEncoder)), + ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=CustomFieldJSONEncoder)), ('id', models.BigAutoField(primary_key=True, serialize=False)), ('name', models.CharField(max_length=100, unique=True)), ('slug', models.SlugField(max_length=100, unique=True)), @@ -602,7 +602,7 @@ class Migration(migrations.Migration): fields=[ ('created', models.DateField(auto_now_add=True, null=True)), ('last_updated', models.DateTimeField(auto_now=True, null=True)), - ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=django.core.serializers.json.DjangoJSONEncoder)), + ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=CustomFieldJSONEncoder)), ('id', models.BigAutoField(primary_key=True, serialize=False)), ('name', models.CharField(max_length=100, unique=True)), ('_name', utilities.fields.NaturalOrderingField('name', blank=True, max_length=100, naturalize_function=utilities.ordering.naturalize)), @@ -630,7 +630,7 @@ class Migration(migrations.Migration): fields=[ ('created', models.DateField(auto_now_add=True, null=True)), ('last_updated', models.DateTimeField(auto_now=True, null=True)), - ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=django.core.serializers.json.DjangoJSONEncoder)), + ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=CustomFieldJSONEncoder)), ('id', models.BigAutoField(primary_key=True, serialize=False)), ('name', models.CharField(max_length=100, unique=True)), ('slug', models.SlugField(max_length=100, unique=True)), @@ -649,7 +649,7 @@ class Migration(migrations.Migration): fields=[ ('created', models.DateField(auto_now_add=True, null=True)), ('last_updated', models.DateTimeField(auto_now=True, null=True)), - ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=django.core.serializers.json.DjangoJSONEncoder)), + ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=CustomFieldJSONEncoder)), ('id', models.BigAutoField(primary_key=True, serialize=False)), ('name', models.CharField(max_length=64)), ('domain', models.CharField(blank=True, max_length=30)), diff --git a/netbox/dcim/migrations/0146_modules.py b/netbox/dcim/migrations/0146_modules.py index 11324fc58..821cf6119 100644 --- a/netbox/dcim/migrations/0146_modules.py +++ b/netbox/dcim/migrations/0146_modules.py @@ -1,4 +1,4 @@ -import django.core.serializers.json +from utilities.json import CustomFieldJSONEncoder from django.db import migrations, models import django.db.models.deletion import taggit.managers @@ -107,7 +107,7 @@ class Migration(migrations.Migration): fields=[ ('created', models.DateField(auto_now_add=True, null=True)), ('last_updated', models.DateTimeField(auto_now=True, null=True)), - ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=django.core.serializers.json.DjangoJSONEncoder)), + ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=CustomFieldJSONEncoder)), ('id', models.BigAutoField(primary_key=True, serialize=False)), ('model', models.CharField(max_length=100)), ('part_number', models.CharField(blank=True, max_length=50)), @@ -125,7 +125,7 @@ class Migration(migrations.Migration): fields=[ ('created', models.DateField(auto_now_add=True, null=True)), ('last_updated', models.DateTimeField(auto_now=True, null=True)), - ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=django.core.serializers.json.DjangoJSONEncoder)), + ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=CustomFieldJSONEncoder)), ('id', models.BigAutoField(primary_key=True, serialize=False)), ('name', models.CharField(max_length=64)), ('_name', utilities.fields.NaturalOrderingField('name', blank=True, max_length=100, naturalize_function=utilities.ordering.naturalize)), @@ -145,7 +145,7 @@ class Migration(migrations.Migration): fields=[ ('created', models.DateField(auto_now_add=True, null=True)), ('last_updated', models.DateTimeField(auto_now=True, null=True)), - ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=django.core.serializers.json.DjangoJSONEncoder)), + ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=CustomFieldJSONEncoder)), ('id', models.BigAutoField(primary_key=True, serialize=False)), ('local_context_data', models.JSONField(blank=True, null=True)), ('serial', models.CharField(blank=True, max_length=50)), diff --git a/netbox/dcim/migrations/0147_inventoryitemrole.py b/netbox/dcim/migrations/0147_inventoryitemrole.py index f5e1f23f5..cbdd36c08 100644 --- a/netbox/dcim/migrations/0147_inventoryitemrole.py +++ b/netbox/dcim/migrations/0147_inventoryitemrole.py @@ -1,4 +1,4 @@ -import django.core.serializers.json +from utilities.json import CustomFieldJSONEncoder from django.db import migrations, models import django.db.models.deletion import taggit.managers @@ -18,7 +18,7 @@ class Migration(migrations.Migration): fields=[ ('created', models.DateField(auto_now_add=True, null=True)), ('last_updated', models.DateTimeField(auto_now=True, null=True)), - ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=django.core.serializers.json.DjangoJSONEncoder)), + ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=CustomFieldJSONEncoder)), ('id', models.BigAutoField(primary_key=True, serialize=False)), ('name', models.CharField(max_length=100, unique=True)), ('slug', models.SlugField(max_length=100, unique=True)), diff --git a/netbox/extras/api/serializers.py b/netbox/extras/api/serializers.py index 764c7750a..fd774f8ff 100644 --- a/netbox/extras/api/serializers.py +++ b/netbox/extras/api/serializers.py @@ -99,6 +99,8 @@ class CustomFieldSerializer(ValidatedModelSerializer): types = CustomFieldTypeChoices if obj.type == types.TYPE_INTEGER: return 'integer' + if obj.type == types.TYPE_DECIMAL: + return 'decimal' if obj.type == types.TYPE_BOOLEAN: return 'boolean' if obj.type in (types.TYPE_JSON, types.TYPE_OBJECT): diff --git a/netbox/extras/choices.py b/netbox/extras/choices.py index 123fd2cd4..5afe9f33f 100644 --- a/netbox/extras/choices.py +++ b/netbox/extras/choices.py @@ -10,6 +10,7 @@ class CustomFieldTypeChoices(ChoiceSet): TYPE_TEXT = 'text' TYPE_LONGTEXT = 'longtext' TYPE_INTEGER = 'integer' + TYPE_DECIMAL = 'decimal' TYPE_BOOLEAN = 'boolean' TYPE_DATE = 'date' TYPE_URL = 'url' @@ -23,6 +24,7 @@ class CustomFieldTypeChoices(ChoiceSet): (TYPE_TEXT, 'Text'), (TYPE_LONGTEXT, 'Text (long)'), (TYPE_INTEGER, 'Integer'), + (TYPE_DECIMAL, 'Decimal'), (TYPE_BOOLEAN, 'Boolean (true/false)'), (TYPE_DATE, 'Date'), (TYPE_URL, 'URL'), diff --git a/netbox/extras/migrations/0073_journalentry_tags_custom_fields.py b/netbox/extras/migrations/0073_journalentry_tags_custom_fields.py index 73a3e466c..5f2d7f7f3 100644 --- a/netbox/extras/migrations/0073_journalentry_tags_custom_fields.py +++ b/netbox/extras/migrations/0073_journalentry_tags_custom_fields.py @@ -1,4 +1,4 @@ -import django.core.serializers.json +from utilities.json import CustomFieldJSONEncoder from django.db import migrations, models import taggit.managers @@ -13,7 +13,7 @@ class Migration(migrations.Migration): migrations.AddField( model_name='journalentry', name='custom_field_data', - field=models.JSONField(blank=True, default=dict, encoder=django.core.serializers.json.DjangoJSONEncoder), + field=models.JSONField(blank=True, default=dict, encoder=CustomFieldJSONEncoder), ), migrations.AddField( model_name='journalentry', diff --git a/netbox/extras/models/customfields.py b/netbox/extras/models/customfields.py index 43c4f9671..3cb5b506c 100644 --- a/netbox/extras/models/customfields.py +++ b/netbox/extras/models/customfields.py @@ -1,5 +1,6 @@ import re from datetime import datetime, date +import decimal import django_filters from django import forms @@ -219,14 +220,11 @@ class CustomField(CloningMixin, ExportTemplatesMixin, WebhooksMixin, ChangeLogge }) # Minimum/maximum values can be set only for numeric fields - if self.validation_minimum is not None and self.type != CustomFieldTypeChoices.TYPE_INTEGER: - raise ValidationError({ - 'validation_minimum': "A minimum value may be set only for numeric fields" - }) - if self.validation_maximum is not None and self.type != CustomFieldTypeChoices.TYPE_INTEGER: - raise ValidationError({ - 'validation_maximum': "A maximum value may be set only for numeric fields" - }) + if self.type not in (CustomFieldTypeChoices.TYPE_INTEGER, CustomFieldTypeChoices.TYPE_DECIMAL): + if self.validation_minimum: + raise ValidationError({'validation_minimum': "A minimum value may be set only for numeric fields"}) + if self.validation_maximum: + raise ValidationError({'validation_maximum': "A maximum value may be set only for numeric fields"}) # Regex validation can be set only for text fields regex_types = ( @@ -317,6 +315,17 @@ class CustomField(CloningMixin, ExportTemplatesMixin, WebhooksMixin, ChangeLogge max_value=self.validation_maximum ) + # Decimal + elif self.type == CustomFieldTypeChoices.TYPE_DECIMAL: + field = forms.DecimalField( + required=required, + initial=initial, + max_digits=12, + decimal_places=4, + min_value=self.validation_minimum, + max_value=self.validation_maximum + ) + # Boolean elif self.type == CustomFieldTypeChoices.TYPE_BOOLEAN: choices = ( @@ -426,6 +435,10 @@ class CustomField(CloningMixin, ExportTemplatesMixin, WebhooksMixin, ChangeLogge elif self.type == CustomFieldTypeChoices.TYPE_INTEGER: filter_class = filters.MultiValueNumberFilter + # Decimal + elif self.type == CustomFieldTypeChoices.TYPE_DECIMAL: + filter_class = filters.MultiValueDecimalFilter + # Boolean elif self.type == CustomFieldTypeChoices.TYPE_BOOLEAN: filter_class = django_filters.BooleanFilter @@ -475,7 +488,7 @@ class CustomField(CloningMixin, ExportTemplatesMixin, WebhooksMixin, ChangeLogge raise ValidationError(f"Value must match regex '{self.validation_regex}'") # Validate integer - if self.type == CustomFieldTypeChoices.TYPE_INTEGER: + elif self.type == CustomFieldTypeChoices.TYPE_INTEGER: if type(value) is not int: raise ValidationError("Value must be an integer.") if self.validation_minimum is not None and value < self.validation_minimum: @@ -483,12 +496,23 @@ class CustomField(CloningMixin, ExportTemplatesMixin, WebhooksMixin, ChangeLogge if self.validation_maximum is not None and value > self.validation_maximum: raise ValidationError(f"Value must not exceed {self.validation_maximum}") + # Validate decimal + elif self.type == CustomFieldTypeChoices.TYPE_DECIMAL: + try: + decimal.Decimal(value) + except decimal.InvalidOperation: + raise ValidationError("Value must be a decimal.") + if self.validation_minimum is not None and value < self.validation_minimum: + raise ValidationError(f"Value must be at least {self.validation_minimum}") + if self.validation_maximum is not None and value > self.validation_maximum: + raise ValidationError(f"Value must not exceed {self.validation_maximum}") + # Validate boolean - if self.type == CustomFieldTypeChoices.TYPE_BOOLEAN and value not in [True, False, 1, 0]: + elif self.type == CustomFieldTypeChoices.TYPE_BOOLEAN and value not in [True, False, 1, 0]: raise ValidationError("Value must be true or false.") # Validate date - if self.type == CustomFieldTypeChoices.TYPE_DATE: + elif self.type == CustomFieldTypeChoices.TYPE_DATE: if type(value) is not date: try: datetime.strptime(value, '%Y-%m-%d') @@ -496,14 +520,14 @@ class CustomField(CloningMixin, ExportTemplatesMixin, WebhooksMixin, ChangeLogge raise ValidationError("Date values must be in the format YYYY-MM-DD.") # Validate selected choice - if self.type == CustomFieldTypeChoices.TYPE_SELECT: + elif self.type == CustomFieldTypeChoices.TYPE_SELECT: if value not in self.choices: raise ValidationError( f"Invalid choice ({value}). Available choices are: {', '.join(self.choices)}" ) # Validate all selected choices - if self.type == CustomFieldTypeChoices.TYPE_MULTISELECT: + elif self.type == CustomFieldTypeChoices.TYPE_MULTISELECT: if not set(value).issubset(self.choices): raise ValidationError( f"Invalid choice(s) ({', '.join(value)}). Available choices are: {', '.join(self.choices)}" diff --git a/netbox/extras/tests/test_customfields.py b/netbox/extras/tests/test_customfields.py index 946999bc2..6080ce2e5 100644 --- a/netbox/extras/tests/test_customfields.py +++ b/netbox/extras/tests/test_customfields.py @@ -1,3 +1,5 @@ +from decimal import Decimal + from django.contrib.contenttypes.models import ContentType from django.core.exceptions import ValidationError from django.urls import reverse @@ -102,6 +104,32 @@ class CustomFieldTest(TestCase): instance.refresh_from_db() self.assertIsNone(instance.custom_field_data.get(cf.name)) + def test_decimal_field(self): + + # Create a custom field & check that initial value is null + cf = CustomField.objects.create( + name='decimal_field', + type=CustomFieldTypeChoices.TYPE_DECIMAL, + required=False + ) + cf.content_types.set([self.object_type]) + instance = Site.objects.first() + self.assertIsNone(instance.custom_field_data[cf.name]) + + for value in (123456.54, 0, -123456.78): + + # Assign a value and check that it is saved + instance.custom_field_data[cf.name] = value + instance.save() + instance.refresh_from_db() + self.assertEqual(instance.custom_field_data[cf.name], value) + + # Delete the stored value and check that it is now null + instance.custom_field_data.pop(cf.name) + instance.save() + instance.refresh_from_db() + self.assertIsNone(instance.custom_field_data.get(cf.name)) + def test_boolean_field(self): # Create a custom field & check that initial value is null @@ -373,7 +401,8 @@ class CustomFieldAPITest(APITestCase): custom_fields = ( CustomField(type=CustomFieldTypeChoices.TYPE_TEXT, name='text_field', default='foo'), CustomField(type=CustomFieldTypeChoices.TYPE_LONGTEXT, name='longtext_field', default='ABC'), - CustomField(type=CustomFieldTypeChoices.TYPE_INTEGER, name='number_field', default=123), + CustomField(type=CustomFieldTypeChoices.TYPE_INTEGER, name='integer_field', default=123), + CustomField(type=CustomFieldTypeChoices.TYPE_DECIMAL, name='decimal_field', default=123.45), CustomField(type=CustomFieldTypeChoices.TYPE_BOOLEAN, name='boolean_field', default=False), CustomField(type=CustomFieldTypeChoices.TYPE_DATE, name='date_field', default='2020-01-01'), CustomField(type=CustomFieldTypeChoices.TYPE_URL, name='url_field', default='http://example.com/1'), @@ -424,14 +453,15 @@ class CustomFieldAPITest(APITestCase): custom_fields[0].name: 'bar', custom_fields[1].name: 'DEF', custom_fields[2].name: 456, - custom_fields[3].name: True, - custom_fields[4].name: '2020-01-02', - custom_fields[5].name: 'http://example.com/2', - custom_fields[6].name: '{"foo": 1, "bar": 2}', - custom_fields[7].name: 'Bar', - custom_fields[8].name: ['Bar', 'Baz'], - custom_fields[9].name: vlans[1].pk, - custom_fields[10].name: [vlans[2].pk, vlans[3].pk], + custom_fields[3].name: Decimal('456.78'), + custom_fields[4].name: True, + custom_fields[5].name: '2020-01-02', + custom_fields[6].name: 'http://example.com/2', + custom_fields[7].name: '{"foo": 1, "bar": 2}', + custom_fields[8].name: 'Bar', + custom_fields[9].name: ['Bar', 'Baz'], + custom_fields[10].name: vlans[1].pk, + custom_fields[11].name: [vlans[2].pk, vlans[3].pk], } sites[1].save() @@ -440,6 +470,7 @@ class CustomFieldAPITest(APITestCase): CustomFieldTypeChoices.TYPE_TEXT: 'string', CustomFieldTypeChoices.TYPE_LONGTEXT: 'string', CustomFieldTypeChoices.TYPE_INTEGER: 'integer', + CustomFieldTypeChoices.TYPE_DECIMAL: 'decimal', CustomFieldTypeChoices.TYPE_BOOLEAN: 'boolean', CustomFieldTypeChoices.TYPE_DATE: 'string', CustomFieldTypeChoices.TYPE_URL: 'string', @@ -473,7 +504,8 @@ class CustomFieldAPITest(APITestCase): self.assertEqual(response.data['custom_fields'], { 'text_field': None, 'longtext_field': None, - 'number_field': None, + 'integer_field': None, + 'decimal_field': None, 'boolean_field': None, 'date_field': None, 'url_field': None, @@ -497,7 +529,8 @@ class CustomFieldAPITest(APITestCase): self.assertEqual(response.data['name'], site2.name) self.assertEqual(response.data['custom_fields']['text_field'], site2_cfvs['text_field']) self.assertEqual(response.data['custom_fields']['longtext_field'], site2_cfvs['longtext_field']) - self.assertEqual(response.data['custom_fields']['number_field'], site2_cfvs['number_field']) + self.assertEqual(response.data['custom_fields']['integer_field'], site2_cfvs['integer_field']) + self.assertEqual(response.data['custom_fields']['decimal_field'], site2_cfvs['decimal_field']) self.assertEqual(response.data['custom_fields']['boolean_field'], site2_cfvs['boolean_field']) self.assertEqual(response.data['custom_fields']['date_field'], site2_cfvs['date_field']) self.assertEqual(response.data['custom_fields']['url_field'], site2_cfvs['url_field']) @@ -531,7 +564,8 @@ class CustomFieldAPITest(APITestCase): response_cf = response.data['custom_fields'] self.assertEqual(response_cf['text_field'], cf_defaults['text_field']) self.assertEqual(response_cf['longtext_field'], cf_defaults['longtext_field']) - self.assertEqual(response_cf['number_field'], cf_defaults['number_field']) + self.assertEqual(response_cf['integer_field'], cf_defaults['integer_field']) + self.assertEqual(response_cf['decimal_field'], cf_defaults['decimal_field']) self.assertEqual(response_cf['boolean_field'], cf_defaults['boolean_field']) self.assertEqual(response_cf['date_field'], cf_defaults['date_field']) self.assertEqual(response_cf['url_field'], cf_defaults['url_field']) @@ -548,7 +582,8 @@ class CustomFieldAPITest(APITestCase): site = Site.objects.get(pk=response.data['id']) self.assertEqual(site.custom_field_data['text_field'], cf_defaults['text_field']) self.assertEqual(site.custom_field_data['longtext_field'], cf_defaults['longtext_field']) - self.assertEqual(site.custom_field_data['number_field'], cf_defaults['number_field']) + self.assertEqual(site.custom_field_data['integer_field'], cf_defaults['integer_field']) + self.assertEqual(site.custom_field_data['decimal_field'], cf_defaults['decimal_field']) self.assertEqual(site.custom_field_data['boolean_field'], cf_defaults['boolean_field']) self.assertEqual(str(site.custom_field_data['date_field']), cf_defaults['date_field']) self.assertEqual(site.custom_field_data['url_field'], cf_defaults['url_field']) @@ -568,7 +603,8 @@ class CustomFieldAPITest(APITestCase): 'custom_fields': { 'text_field': 'bar', 'longtext_field': 'blah blah blah', - 'number_field': 456, + 'integer_field': 456, + 'decimal_field': 456.78, 'boolean_field': True, 'date_field': '2020-01-02', 'url_field': 'http://example.com/2', @@ -590,7 +626,8 @@ class CustomFieldAPITest(APITestCase): data_cf = data['custom_fields'] self.assertEqual(response_cf['text_field'], data_cf['text_field']) self.assertEqual(response_cf['longtext_field'], data_cf['longtext_field']) - self.assertEqual(response_cf['number_field'], data_cf['number_field']) + self.assertEqual(response_cf['integer_field'], data_cf['integer_field']) + self.assertEqual(response_cf['decimal_field'], data_cf['decimal_field']) self.assertEqual(response_cf['boolean_field'], data_cf['boolean_field']) self.assertEqual(response_cf['date_field'], data_cf['date_field']) self.assertEqual(response_cf['url_field'], data_cf['url_field']) @@ -607,7 +644,8 @@ class CustomFieldAPITest(APITestCase): site = Site.objects.get(pk=response.data['id']) self.assertEqual(site.custom_field_data['text_field'], data_cf['text_field']) self.assertEqual(site.custom_field_data['longtext_field'], data_cf['longtext_field']) - self.assertEqual(site.custom_field_data['number_field'], data_cf['number_field']) + self.assertEqual(site.custom_field_data['integer_field'], data_cf['integer_field']) + self.assertEqual(site.custom_field_data['decimal_field'], data_cf['decimal_field']) self.assertEqual(site.custom_field_data['boolean_field'], data_cf['boolean_field']) self.assertEqual(str(site.custom_field_data['date_field']), data_cf['date_field']) self.assertEqual(site.custom_field_data['url_field'], data_cf['url_field']) @@ -652,7 +690,8 @@ class CustomFieldAPITest(APITestCase): response_cf = response.data[i]['custom_fields'] self.assertEqual(response_cf['text_field'], cf_defaults['text_field']) self.assertEqual(response_cf['longtext_field'], cf_defaults['longtext_field']) - self.assertEqual(response_cf['number_field'], cf_defaults['number_field']) + self.assertEqual(response_cf['integer_field'], cf_defaults['integer_field']) + self.assertEqual(response_cf['decimal_field'], cf_defaults['decimal_field']) self.assertEqual(response_cf['boolean_field'], cf_defaults['boolean_field']) self.assertEqual(response_cf['date_field'], cf_defaults['date_field']) self.assertEqual(response_cf['url_field'], cf_defaults['url_field']) @@ -669,7 +708,8 @@ class CustomFieldAPITest(APITestCase): site = Site.objects.get(pk=response.data[i]['id']) self.assertEqual(site.custom_field_data['text_field'], cf_defaults['text_field']) self.assertEqual(site.custom_field_data['longtext_field'], cf_defaults['longtext_field']) - self.assertEqual(site.custom_field_data['number_field'], cf_defaults['number_field']) + self.assertEqual(site.custom_field_data['integer_field'], cf_defaults['integer_field']) + self.assertEqual(site.custom_field_data['decimal_field'], cf_defaults['decimal_field']) self.assertEqual(site.custom_field_data['boolean_field'], cf_defaults['boolean_field']) self.assertEqual(str(site.custom_field_data['date_field']), cf_defaults['date_field']) self.assertEqual(site.custom_field_data['url_field'], cf_defaults['url_field']) @@ -686,7 +726,8 @@ class CustomFieldAPITest(APITestCase): custom_field_data = { 'text_field': 'bar', 'longtext_field': 'abcdefghij', - 'number_field': 456, + 'integer_field': 456, + 'decimal_field': 456.78, 'boolean_field': True, 'date_field': '2020-01-02', 'url_field': 'http://example.com/2', @@ -726,7 +767,8 @@ class CustomFieldAPITest(APITestCase): response_cf = response.data[i]['custom_fields'] self.assertEqual(response_cf['text_field'], custom_field_data['text_field']) self.assertEqual(response_cf['longtext_field'], custom_field_data['longtext_field']) - self.assertEqual(response_cf['number_field'], custom_field_data['number_field']) + self.assertEqual(response_cf['integer_field'], custom_field_data['integer_field']) + self.assertEqual(response_cf['decimal_field'], custom_field_data['decimal_field']) self.assertEqual(response_cf['boolean_field'], custom_field_data['boolean_field']) self.assertEqual(response_cf['date_field'], custom_field_data['date_field']) self.assertEqual(response_cf['url_field'], custom_field_data['url_field']) @@ -743,7 +785,8 @@ class CustomFieldAPITest(APITestCase): site = Site.objects.get(pk=response.data[i]['id']) self.assertEqual(site.custom_field_data['text_field'], custom_field_data['text_field']) self.assertEqual(site.custom_field_data['longtext_field'], custom_field_data['longtext_field']) - self.assertEqual(site.custom_field_data['number_field'], custom_field_data['number_field']) + self.assertEqual(site.custom_field_data['integer_field'], custom_field_data['integer_field']) + self.assertEqual(site.custom_field_data['decimal_field'], custom_field_data['decimal_field']) self.assertEqual(site.custom_field_data['boolean_field'], custom_field_data['boolean_field']) self.assertEqual(str(site.custom_field_data['date_field']), custom_field_data['date_field']) self.assertEqual(site.custom_field_data['url_field'], custom_field_data['url_field']) @@ -763,7 +806,7 @@ class CustomFieldAPITest(APITestCase): data = { 'custom_fields': { 'text_field': 'ABCD', - 'number_field': 1234, + 'integer_field': 1234, }, } url = reverse('dcim-api:site-detail', kwargs={'pk': site2.pk}) @@ -775,8 +818,9 @@ class CustomFieldAPITest(APITestCase): # Validate response data response_cf = response.data['custom_fields'] self.assertEqual(response_cf['text_field'], data['custom_fields']['text_field']) - self.assertEqual(response_cf['number_field'], data['custom_fields']['number_field']) self.assertEqual(response_cf['longtext_field'], original_cfvs['longtext_field']) + self.assertEqual(response_cf['integer_field'], data['custom_fields']['integer_field']) + self.assertEqual(response_cf['decimal_field'], original_cfvs['decimal_field']) self.assertEqual(response_cf['boolean_field'], original_cfvs['boolean_field']) self.assertEqual(response_cf['date_field'], original_cfvs['date_field']) self.assertEqual(response_cf['url_field'], original_cfvs['url_field']) @@ -792,8 +836,9 @@ class CustomFieldAPITest(APITestCase): # Validate database data site2.refresh_from_db() self.assertEqual(site2.custom_field_data['text_field'], data['custom_fields']['text_field']) - self.assertEqual(site2.custom_field_data['number_field'], data['custom_fields']['number_field']) self.assertEqual(site2.custom_field_data['longtext_field'], original_cfvs['longtext_field']) + self.assertEqual(site2.custom_field_data['integer_field'], data['custom_fields']['integer_field']) + self.assertEqual(site2.custom_field_data['decimal_field'], original_cfvs['decimal_field']) self.assertEqual(site2.custom_field_data['boolean_field'], original_cfvs['boolean_field']) self.assertEqual(site2.custom_field_data['date_field'], original_cfvs['date_field']) self.assertEqual(site2.custom_field_data['url_field'], original_cfvs['url_field']) @@ -808,20 +853,20 @@ class CustomFieldAPITest(APITestCase): url = reverse('dcim-api:site-detail', kwargs={'pk': site2.pk}) self.add_permissions('dcim.change_site') - cf_integer = CustomField.objects.get(name='number_field') + cf_integer = CustomField.objects.get(name='integer_field') cf_integer.validation_minimum = 10 cf_integer.validation_maximum = 20 cf_integer.save() - data = {'custom_fields': {'number_field': 9}} + data = {'custom_fields': {'integer_field': 9}} response = self.client.patch(url, data, format='json', **self.header) self.assertHttpStatus(response, status.HTTP_400_BAD_REQUEST) - data = {'custom_fields': {'number_field': 21}} + data = {'custom_fields': {'integer_field': 21}} response = self.client.patch(url, data, format='json', **self.header) self.assertHttpStatus(response, status.HTTP_400_BAD_REQUEST) - data = {'custom_fields': {'number_field': 15}} + data = {'custom_fields': {'integer_field': 15}} response = self.client.patch(url, data, format='json', **self.header) self.assertHttpStatus(response, status.HTTP_200_OK) @@ -860,6 +905,7 @@ class CustomFieldImportTest(TestCase): CustomField(name='text', type=CustomFieldTypeChoices.TYPE_TEXT), CustomField(name='longtext', type=CustomFieldTypeChoices.TYPE_LONGTEXT), CustomField(name='integer', type=CustomFieldTypeChoices.TYPE_INTEGER), + CustomField(name='decimal', type=CustomFieldTypeChoices.TYPE_DECIMAL), CustomField(name='boolean', type=CustomFieldTypeChoices.TYPE_BOOLEAN), CustomField(name='date', type=CustomFieldTypeChoices.TYPE_DATE), CustomField(name='url', type=CustomFieldTypeChoices.TYPE_URL), @@ -880,10 +926,10 @@ class CustomFieldImportTest(TestCase): Import a Site in CSV format, including a value for each CustomField. """ data = ( - ('name', 'slug', 'status', 'cf_text', 'cf_longtext', 'cf_integer', 'cf_boolean', 'cf_date', 'cf_url', 'cf_json', 'cf_select', 'cf_multiselect'), - ('Site 1', 'site-1', 'active', 'ABC', 'Foo', '123', 'True', '2020-01-01', 'http://example.com/1', '{"foo": 123}', 'Choice A', '"Choice A,Choice B"'), - ('Site 2', 'site-2', 'active', 'DEF', 'Bar', '456', 'False', '2020-01-02', 'http://example.com/2', '{"bar": 456}', 'Choice B', '"Choice B,Choice C"'), - ('Site 3', 'site-3', 'active', '', '', '', '', '', '', '', '', ''), + ('name', 'slug', 'status', 'cf_text', 'cf_longtext', 'cf_integer', 'cf_decimal', 'cf_boolean', 'cf_date', 'cf_url', 'cf_json', 'cf_select', 'cf_multiselect'), + ('Site 1', 'site-1', 'active', 'ABC', 'Foo', '123', '123.45', 'True', '2020-01-01', 'http://example.com/1', '{"foo": 123}', 'Choice A', '"Choice A,Choice B"'), + ('Site 2', 'site-2', 'active', 'DEF', 'Bar', '456', '456.78', 'False', '2020-01-02', 'http://example.com/2', '{"bar": 456}', 'Choice B', '"Choice B,Choice C"'), + ('Site 3', 'site-3', 'active', '', '', '', '', '', '', '', '', '', ''), ) csv_data = '\n'.join(','.join(row) for row in data) @@ -893,10 +939,11 @@ class CustomFieldImportTest(TestCase): # Validate data for site 1 site1 = Site.objects.get(name='Site 1') - self.assertEqual(len(site1.custom_field_data), 9) + self.assertEqual(len(site1.custom_field_data), 10) self.assertEqual(site1.custom_field_data['text'], 'ABC') self.assertEqual(site1.custom_field_data['longtext'], 'Foo') self.assertEqual(site1.custom_field_data['integer'], 123) + self.assertEqual(site1.custom_field_data['decimal'], 123.45) self.assertEqual(site1.custom_field_data['boolean'], True) self.assertEqual(site1.custom_field_data['date'], '2020-01-01') self.assertEqual(site1.custom_field_data['url'], 'http://example.com/1') @@ -906,10 +953,11 @@ class CustomFieldImportTest(TestCase): # Validate data for site 2 site2 = Site.objects.get(name='Site 2') - self.assertEqual(len(site2.custom_field_data), 9) + self.assertEqual(len(site2.custom_field_data), 10) self.assertEqual(site2.custom_field_data['text'], 'DEF') self.assertEqual(site2.custom_field_data['longtext'], 'Bar') self.assertEqual(site2.custom_field_data['integer'], 456) + self.assertEqual(site2.custom_field_data['decimal'], 456.78) self.assertEqual(site2.custom_field_data['boolean'], False) self.assertEqual(site2.custom_field_data['date'], '2020-01-02') self.assertEqual(site2.custom_field_data['url'], 'http://example.com/2') @@ -1034,53 +1082,78 @@ class CustomFieldModelFilterTest(TestCase): cf.save() cf.content_types.set([obj_type]) + # Decimal filtering + cf = CustomField(name='cf2', type=CustomFieldTypeChoices.TYPE_DECIMAL) + cf.save() + cf.content_types.set([obj_type]) + # Boolean filtering - cf = CustomField(name='cf2', type=CustomFieldTypeChoices.TYPE_BOOLEAN) + cf = CustomField(name='cf3', type=CustomFieldTypeChoices.TYPE_BOOLEAN) cf.save() cf.content_types.set([obj_type]) # Exact text filtering - cf = CustomField(name='cf3', type=CustomFieldTypeChoices.TYPE_TEXT, - filter_logic=CustomFieldFilterLogicChoices.FILTER_EXACT) + cf = CustomField( + name='cf4', + type=CustomFieldTypeChoices.TYPE_TEXT, + filter_logic=CustomFieldFilterLogicChoices.FILTER_EXACT + ) cf.save() cf.content_types.set([obj_type]) # Loose text filtering - cf = CustomField(name='cf4', type=CustomFieldTypeChoices.TYPE_TEXT, - filter_logic=CustomFieldFilterLogicChoices.FILTER_LOOSE) + cf = CustomField( + name='cf5', + type=CustomFieldTypeChoices.TYPE_TEXT, + filter_logic=CustomFieldFilterLogicChoices.FILTER_LOOSE + ) cf.save() cf.content_types.set([obj_type]) # Date filtering - cf = CustomField(name='cf5', type=CustomFieldTypeChoices.TYPE_DATE) + cf = CustomField(name='cf6', type=CustomFieldTypeChoices.TYPE_DATE) cf.save() cf.content_types.set([obj_type]) # Exact URL filtering - cf = CustomField(name='cf6', type=CustomFieldTypeChoices.TYPE_URL, - filter_logic=CustomFieldFilterLogicChoices.FILTER_EXACT) + cf = CustomField( + name='cf7', + type=CustomFieldTypeChoices.TYPE_URL, + filter_logic=CustomFieldFilterLogicChoices.FILTER_EXACT + ) cf.save() cf.content_types.set([obj_type]) # Loose URL filtering - cf = CustomField(name='cf7', type=CustomFieldTypeChoices.TYPE_URL, - filter_logic=CustomFieldFilterLogicChoices.FILTER_LOOSE) + cf = CustomField( + name='cf8', + type=CustomFieldTypeChoices.TYPE_URL, + filter_logic=CustomFieldFilterLogicChoices.FILTER_LOOSE + ) cf.save() cf.content_types.set([obj_type]) # Selection filtering - cf = CustomField(name='cf8', type=CustomFieldTypeChoices.TYPE_SELECT, choices=['Foo', 'Bar', 'Baz']) + cf = CustomField( + name='cf9', + type=CustomFieldTypeChoices.TYPE_SELECT, + choices=['Foo', 'Bar', 'Baz'] + ) cf.save() cf.content_types.set([obj_type]) # Multiselect filtering - cf = CustomField(name='cf9', type=CustomFieldTypeChoices.TYPE_MULTISELECT, choices=['A', 'B', 'C', 'X']) + cf = CustomField( + name='cf10', + type=CustomFieldTypeChoices.TYPE_MULTISELECT, + choices=['A', 'B', 'C', 'X'] + ) cf.save() cf.content_types.set([obj_type]) # Object filtering cf = CustomField( - name='cf10', + name='cf11', type=CustomFieldTypeChoices.TYPE_OBJECT, object_type=ContentType.objects.get_for_model(Manufacturer) ) @@ -1089,7 +1162,7 @@ class CustomFieldModelFilterTest(TestCase): # Multi-object filtering cf = CustomField( - name='cf11', + name='cf12', type=CustomFieldTypeChoices.TYPE_MULTIOBJECT, object_type=ContentType.objects.get_for_model(Manufacturer) ) @@ -1099,42 +1172,45 @@ class CustomFieldModelFilterTest(TestCase): Site.objects.bulk_create([ Site(name='Site 1', slug='site-1', custom_field_data={ 'cf1': 100, - 'cf2': True, - 'cf3': 'foo', + 'cf2': 100.1, + 'cf3': True, 'cf4': 'foo', - 'cf5': '2016-06-26', - 'cf6': 'http://a.example.com', + 'cf5': 'foo', + 'cf6': '2016-06-26', 'cf7': 'http://a.example.com', - 'cf8': 'Foo', - 'cf9': ['A', 'X'], - 'cf10': manufacturers[0].pk, - 'cf11': [manufacturers[0].pk, manufacturers[3].pk], + 'cf8': 'http://a.example.com', + 'cf9': 'Foo', + 'cf10': ['A', 'X'], + 'cf11': manufacturers[0].pk, + 'cf12': [manufacturers[0].pk, manufacturers[3].pk], }), Site(name='Site 2', slug='site-2', custom_field_data={ 'cf1': 200, - 'cf2': True, - 'cf3': 'foobar', + 'cf2': 200.2, + 'cf3': True, 'cf4': 'foobar', - 'cf5': '2016-06-27', - 'cf6': 'http://b.example.com', + 'cf5': 'foobar', + 'cf6': '2016-06-27', 'cf7': 'http://b.example.com', - 'cf8': 'Bar', - 'cf9': ['B', 'X'], - 'cf10': manufacturers[1].pk, - 'cf11': [manufacturers[1].pk, manufacturers[3].pk], + 'cf8': 'http://b.example.com', + 'cf9': 'Bar', + 'cf10': ['B', 'X'], + 'cf11': manufacturers[1].pk, + 'cf12': [manufacturers[1].pk, manufacturers[3].pk], }), Site(name='Site 3', slug='site-3', custom_field_data={ 'cf1': 300, - 'cf2': False, - 'cf3': 'bar', + 'cf2': 300.3, + 'cf3': False, 'cf4': 'bar', - 'cf5': '2016-06-28', - 'cf6': 'http://c.example.com', + 'cf5': 'bar', + 'cf6': '2016-06-28', 'cf7': 'http://c.example.com', - 'cf8': 'Baz', - 'cf9': ['C', 'X'], - 'cf10': manufacturers[2].pk, - 'cf11': [manufacturers[2].pk, manufacturers[3].pk], + 'cf8': 'http://c.example.com', + 'cf9': 'Baz', + 'cf10': ['C', 'X'], + 'cf11': manufacturers[2].pk, + 'cf12': [manufacturers[2].pk, manufacturers[3].pk], }), ]) @@ -1146,60 +1222,68 @@ class CustomFieldModelFilterTest(TestCase): self.assertEqual(self.filterset({'cf_cf1__lt': [200]}, self.queryset).qs.count(), 1) self.assertEqual(self.filterset({'cf_cf1__lte': [200]}, self.queryset).qs.count(), 2) + def test_filter_decimal(self): + self.assertEqual(self.filterset({'cf_cf2': [100.1, 200.2]}, self.queryset).qs.count(), 2) + self.assertEqual(self.filterset({'cf_cf2__n': [200.2]}, self.queryset).qs.count(), 2) + self.assertEqual(self.filterset({'cf_cf2__gt': [200.2]}, self.queryset).qs.count(), 1) + self.assertEqual(self.filterset({'cf_cf2__gte': [200.2]}, self.queryset).qs.count(), 2) + self.assertEqual(self.filterset({'cf_cf2__lt': [200.2]}, self.queryset).qs.count(), 1) + self.assertEqual(self.filterset({'cf_cf2__lte': [200.2]}, self.queryset).qs.count(), 2) + def test_filter_boolean(self): - self.assertEqual(self.filterset({'cf_cf2': True}, self.queryset).qs.count(), 2) - self.assertEqual(self.filterset({'cf_cf2': False}, self.queryset).qs.count(), 1) + self.assertEqual(self.filterset({'cf_cf3': True}, self.queryset).qs.count(), 2) + self.assertEqual(self.filterset({'cf_cf3': False}, self.queryset).qs.count(), 1) def test_filter_text_strict(self): - self.assertEqual(self.filterset({'cf_cf3': ['foo']}, self.queryset).qs.count(), 1) - self.assertEqual(self.filterset({'cf_cf3__n': ['foo']}, self.queryset).qs.count(), 2) - self.assertEqual(self.filterset({'cf_cf3__ic': ['foo']}, self.queryset).qs.count(), 2) - self.assertEqual(self.filterset({'cf_cf3__nic': ['foo']}, self.queryset).qs.count(), 1) - self.assertEqual(self.filterset({'cf_cf3__isw': ['foo']}, self.queryset).qs.count(), 2) - self.assertEqual(self.filterset({'cf_cf3__nisw': ['foo']}, self.queryset).qs.count(), 1) - self.assertEqual(self.filterset({'cf_cf3__iew': ['bar']}, self.queryset).qs.count(), 2) - self.assertEqual(self.filterset({'cf_cf3__niew': ['bar']}, self.queryset).qs.count(), 1) - self.assertEqual(self.filterset({'cf_cf3__ie': ['FOO']}, self.queryset).qs.count(), 1) - self.assertEqual(self.filterset({'cf_cf3__nie': ['FOO']}, self.queryset).qs.count(), 2) + self.assertEqual(self.filterset({'cf_cf4': ['foo']}, self.queryset).qs.count(), 1) + self.assertEqual(self.filterset({'cf_cf4__n': ['foo']}, self.queryset).qs.count(), 2) + self.assertEqual(self.filterset({'cf_cf4__ic': ['foo']}, self.queryset).qs.count(), 2) + self.assertEqual(self.filterset({'cf_cf4__nic': ['foo']}, self.queryset).qs.count(), 1) + self.assertEqual(self.filterset({'cf_cf4__isw': ['foo']}, self.queryset).qs.count(), 2) + self.assertEqual(self.filterset({'cf_cf4__nisw': ['foo']}, self.queryset).qs.count(), 1) + self.assertEqual(self.filterset({'cf_cf4__iew': ['bar']}, self.queryset).qs.count(), 2) + self.assertEqual(self.filterset({'cf_cf4__niew': ['bar']}, self.queryset).qs.count(), 1) + self.assertEqual(self.filterset({'cf_cf4__ie': ['FOO']}, self.queryset).qs.count(), 1) + self.assertEqual(self.filterset({'cf_cf4__nie': ['FOO']}, self.queryset).qs.count(), 2) def test_filter_text_loose(self): - self.assertEqual(self.filterset({'cf_cf4': ['foo']}, self.queryset).qs.count(), 2) + self.assertEqual(self.filterset({'cf_cf5': ['foo']}, self.queryset).qs.count(), 2) def test_filter_date(self): - self.assertEqual(self.filterset({'cf_cf5': ['2016-06-26', '2016-06-27']}, self.queryset).qs.count(), 2) - self.assertEqual(self.filterset({'cf_cf5__n': ['2016-06-27']}, self.queryset).qs.count(), 2) - self.assertEqual(self.filterset({'cf_cf5__gt': ['2016-06-27']}, self.queryset).qs.count(), 1) - self.assertEqual(self.filterset({'cf_cf5__gte': ['2016-06-27']}, self.queryset).qs.count(), 2) - self.assertEqual(self.filterset({'cf_cf5__lt': ['2016-06-27']}, self.queryset).qs.count(), 1) - self.assertEqual(self.filterset({'cf_cf5__lte': ['2016-06-27']}, self.queryset).qs.count(), 2) + self.assertEqual(self.filterset({'cf_cf6': ['2016-06-26', '2016-06-27']}, self.queryset).qs.count(), 2) + self.assertEqual(self.filterset({'cf_cf6__n': ['2016-06-27']}, self.queryset).qs.count(), 2) + self.assertEqual(self.filterset({'cf_cf6__gt': ['2016-06-27']}, self.queryset).qs.count(), 1) + self.assertEqual(self.filterset({'cf_cf6__gte': ['2016-06-27']}, self.queryset).qs.count(), 2) + self.assertEqual(self.filterset({'cf_cf6__lt': ['2016-06-27']}, self.queryset).qs.count(), 1) + self.assertEqual(self.filterset({'cf_cf6__lte': ['2016-06-27']}, self.queryset).qs.count(), 2) def test_filter_url_strict(self): - self.assertEqual(self.filterset({'cf_cf6': ['http://a.example.com', 'http://b.example.com']}, self.queryset).qs.count(), 2) - self.assertEqual(self.filterset({'cf_cf6__n': ['http://b.example.com']}, self.queryset).qs.count(), 2) - self.assertEqual(self.filterset({'cf_cf6__ic': ['b']}, self.queryset).qs.count(), 1) - self.assertEqual(self.filterset({'cf_cf6__nic': ['b']}, self.queryset).qs.count(), 2) - self.assertEqual(self.filterset({'cf_cf6__isw': ['http://']}, self.queryset).qs.count(), 3) - self.assertEqual(self.filterset({'cf_cf6__nisw': ['http://']}, self.queryset).qs.count(), 0) - self.assertEqual(self.filterset({'cf_cf6__iew': ['.com']}, self.queryset).qs.count(), 3) - self.assertEqual(self.filterset({'cf_cf6__niew': ['.com']}, self.queryset).qs.count(), 0) - self.assertEqual(self.filterset({'cf_cf6__ie': ['HTTP://A.EXAMPLE.COM']}, self.queryset).qs.count(), 1) - self.assertEqual(self.filterset({'cf_cf6__nie': ['HTTP://A.EXAMPLE.COM']}, self.queryset).qs.count(), 2) + self.assertEqual(self.filterset({'cf_cf7': ['http://a.example.com', 'http://b.example.com']}, self.queryset).qs.count(), 2) + self.assertEqual(self.filterset({'cf_cf7__n': ['http://b.example.com']}, self.queryset).qs.count(), 2) + self.assertEqual(self.filterset({'cf_cf7__ic': ['b']}, self.queryset).qs.count(), 1) + self.assertEqual(self.filterset({'cf_cf7__nic': ['b']}, self.queryset).qs.count(), 2) + self.assertEqual(self.filterset({'cf_cf7__isw': ['http://']}, self.queryset).qs.count(), 3) + self.assertEqual(self.filterset({'cf_cf7__nisw': ['http://']}, self.queryset).qs.count(), 0) + self.assertEqual(self.filterset({'cf_cf7__iew': ['.com']}, self.queryset).qs.count(), 3) + self.assertEqual(self.filterset({'cf_cf7__niew': ['.com']}, self.queryset).qs.count(), 0) + self.assertEqual(self.filterset({'cf_cf7__ie': ['HTTP://A.EXAMPLE.COM']}, self.queryset).qs.count(), 1) + self.assertEqual(self.filterset({'cf_cf7__nie': ['HTTP://A.EXAMPLE.COM']}, self.queryset).qs.count(), 2) def test_filter_url_loose(self): - self.assertEqual(self.filterset({'cf_cf7': ['example.com']}, self.queryset).qs.count(), 3) + self.assertEqual(self.filterset({'cf_cf8': ['example.com']}, self.queryset).qs.count(), 3) def test_filter_select(self): - self.assertEqual(self.filterset({'cf_cf8': ['Foo', 'Bar']}, self.queryset).qs.count(), 2) + self.assertEqual(self.filterset({'cf_cf9': ['Foo', 'Bar']}, self.queryset).qs.count(), 2) def test_filter_multiselect(self): - self.assertEqual(self.filterset({'cf_cf9': ['A', 'B']}, self.queryset).qs.count(), 2) - self.assertEqual(self.filterset({'cf_cf9': ['X']}, self.queryset).qs.count(), 3) + self.assertEqual(self.filterset({'cf_cf10': ['A', 'B']}, self.queryset).qs.count(), 2) + self.assertEqual(self.filterset({'cf_cf10': ['X']}, self.queryset).qs.count(), 3) def test_filter_object(self): manufacturer_ids = Manufacturer.objects.values_list('id', flat=True) - self.assertEqual(self.filterset({'cf_cf10': [manufacturer_ids[0], manufacturer_ids[1]]}, self.queryset).qs.count(), 2) + self.assertEqual(self.filterset({'cf_cf11': [manufacturer_ids[0], manufacturer_ids[1]]}, self.queryset).qs.count(), 2) def test_filter_multiobject(self): manufacturer_ids = Manufacturer.objects.values_list('id', flat=True) - self.assertEqual(self.filterset({'cf_cf11': [manufacturer_ids[0], manufacturer_ids[1]]}, self.queryset).qs.count(), 2) - self.assertEqual(self.filterset({'cf_cf11': [manufacturer_ids[3]]}, self.queryset).qs.count(), 3) + self.assertEqual(self.filterset({'cf_cf12': [manufacturer_ids[0], manufacturer_ids[1]]}, self.queryset).qs.count(), 2) + self.assertEqual(self.filterset({'cf_cf12': [manufacturer_ids[3]]}, self.queryset).qs.count(), 3) diff --git a/netbox/extras/tests/test_forms.py b/netbox/extras/tests/test_forms.py index 1ec50b7dd..35402bda3 100644 --- a/netbox/extras/tests/test_forms.py +++ b/netbox/extras/tests/test_forms.py @@ -23,6 +23,9 @@ class CustomFieldModelFormTest(TestCase): cf_integer = CustomField.objects.create(name='integer', type=CustomFieldTypeChoices.TYPE_INTEGER) cf_integer.content_types.set([obj_type]) + cf_integer = CustomField.objects.create(name='decimal', type=CustomFieldTypeChoices.TYPE_DECIMAL) + cf_integer.content_types.set([obj_type]) + cf_boolean = CustomField.objects.create(name='boolean', type=CustomFieldTypeChoices.TYPE_BOOLEAN) cf_boolean.content_types.set([obj_type]) diff --git a/netbox/ipam/migrations/0001_squashed.py b/netbox/ipam/migrations/0001_squashed.py index 545fd46c6..b5d68439a 100644 --- a/netbox/ipam/migrations/0001_squashed.py +++ b/netbox/ipam/migrations/0001_squashed.py @@ -1,5 +1,5 @@ import django.contrib.postgres.fields -import django.core.serializers.json +from utilities.json import CustomFieldJSONEncoder import django.core.validators from django.db import migrations, models import django.db.models.deletion @@ -29,7 +29,7 @@ class Migration(migrations.Migration): fields=[ ('created', models.DateField(auto_now_add=True, null=True)), ('last_updated', models.DateTimeField(auto_now=True, null=True)), - ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=django.core.serializers.json.DjangoJSONEncoder)), + ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=CustomFieldJSONEncoder)), ('id', models.BigAutoField(primary_key=True, serialize=False)), ('prefix', ipam.fields.IPNetworkField()), ('date_added', models.DateField(blank=True, null=True)), @@ -44,7 +44,7 @@ class Migration(migrations.Migration): fields=[ ('created', models.DateField(auto_now_add=True, null=True)), ('last_updated', models.DateTimeField(auto_now=True, null=True)), - ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=django.core.serializers.json.DjangoJSONEncoder)), + ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=CustomFieldJSONEncoder)), ('id', models.BigAutoField(primary_key=True, serialize=False)), ('address', ipam.fields.IPAddressField()), ('status', models.CharField(default='active', max_length=50)), @@ -64,7 +64,7 @@ class Migration(migrations.Migration): fields=[ ('created', models.DateField(auto_now_add=True, null=True)), ('last_updated', models.DateTimeField(auto_now=True, null=True)), - ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=django.core.serializers.json.DjangoJSONEncoder)), + ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=CustomFieldJSONEncoder)), ('id', models.BigAutoField(primary_key=True, serialize=False)), ('prefix', ipam.fields.IPNetworkField()), ('status', models.CharField(default='active', max_length=50)), @@ -81,7 +81,7 @@ class Migration(migrations.Migration): fields=[ ('created', models.DateField(auto_now_add=True, null=True)), ('last_updated', models.DateTimeField(auto_now=True, null=True)), - ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=django.core.serializers.json.DjangoJSONEncoder)), + ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=CustomFieldJSONEncoder)), ('id', models.BigAutoField(primary_key=True, serialize=False)), ('name', models.CharField(max_length=100, unique=True)), ('slug', models.SlugField(max_length=100, unique=True)), @@ -99,7 +99,7 @@ class Migration(migrations.Migration): fields=[ ('created', models.DateField(auto_now_add=True, null=True)), ('last_updated', models.DateTimeField(auto_now=True, null=True)), - ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=django.core.serializers.json.DjangoJSONEncoder)), + ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=CustomFieldJSONEncoder)), ('id', models.BigAutoField(primary_key=True, serialize=False)), ('name', models.CharField(max_length=100, unique=True)), ('slug', models.SlugField(max_length=100, unique=True)), @@ -115,7 +115,7 @@ class Migration(migrations.Migration): fields=[ ('created', models.DateField(auto_now_add=True, null=True)), ('last_updated', models.DateTimeField(auto_now=True, null=True)), - ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=django.core.serializers.json.DjangoJSONEncoder)), + ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=CustomFieldJSONEncoder)), ('id', models.BigAutoField(primary_key=True, serialize=False)), ('name', models.CharField(max_length=21, unique=True)), ('description', models.CharField(blank=True, max_length=200)), @@ -129,7 +129,7 @@ class Migration(migrations.Migration): fields=[ ('created', models.DateField(auto_now_add=True, null=True)), ('last_updated', models.DateTimeField(auto_now=True, null=True)), - ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=django.core.serializers.json.DjangoJSONEncoder)), + ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=CustomFieldJSONEncoder)), ('id', models.BigAutoField(primary_key=True, serialize=False)), ('name', models.CharField(max_length=100)), ('rd', models.CharField(blank=True, max_length=21, null=True, unique=True)), @@ -151,7 +151,7 @@ class Migration(migrations.Migration): fields=[ ('created', models.DateField(auto_now_add=True, null=True)), ('last_updated', models.DateTimeField(auto_now=True, null=True)), - ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=django.core.serializers.json.DjangoJSONEncoder)), + ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=CustomFieldJSONEncoder)), ('id', models.BigAutoField(primary_key=True, serialize=False)), ('name', models.CharField(max_length=100)), ('slug', models.SlugField(max_length=100)), @@ -170,7 +170,7 @@ class Migration(migrations.Migration): fields=[ ('created', models.DateField(auto_now_add=True, null=True)), ('last_updated', models.DateTimeField(auto_now=True, null=True)), - ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=django.core.serializers.json.DjangoJSONEncoder)), + ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=CustomFieldJSONEncoder)), ('id', models.BigAutoField(primary_key=True, serialize=False)), ('vid', models.PositiveSmallIntegerField(validators=[django.core.validators.MinValueValidator(1), django.core.validators.MaxValueValidator(4094)])), ('name', models.CharField(max_length=64)), @@ -193,7 +193,7 @@ class Migration(migrations.Migration): fields=[ ('created', models.DateField(auto_now_add=True, null=True)), ('last_updated', models.DateTimeField(auto_now=True, null=True)), - ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=django.core.serializers.json.DjangoJSONEncoder)), + ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=CustomFieldJSONEncoder)), ('id', models.BigAutoField(primary_key=True, serialize=False)), ('name', models.CharField(max_length=100)), ('protocol', models.CharField(max_length=50)), diff --git a/netbox/ipam/migrations/0050_iprange.py b/netbox/ipam/migrations/0050_iprange.py index 5b8861f29..374b2547c 100644 --- a/netbox/ipam/migrations/0050_iprange.py +++ b/netbox/ipam/migrations/0050_iprange.py @@ -1,6 +1,6 @@ # Generated by Django 3.2.5 on 2021-07-16 14:15 -import django.core.serializers.json +from utilities.json import CustomFieldJSONEncoder from django.db import migrations, models import django.db.models.deletion import django.db.models.expressions @@ -22,7 +22,7 @@ class Migration(migrations.Migration): fields=[ ('created', models.DateField(auto_now_add=True, null=True)), ('last_updated', models.DateTimeField(auto_now=True, null=True)), - ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=django.core.serializers.json.DjangoJSONEncoder)), + ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=CustomFieldJSONEncoder)), ('id', models.BigAutoField(primary_key=True, serialize=False)), ('start_address', ipam.fields.IPAddressField()), ('end_address', ipam.fields.IPAddressField()), diff --git a/netbox/ipam/migrations/0052_fhrpgroup.py b/netbox/ipam/migrations/0052_fhrpgroup.py index 70219543f..e69e49d48 100644 --- a/netbox/ipam/migrations/0052_fhrpgroup.py +++ b/netbox/ipam/migrations/0052_fhrpgroup.py @@ -1,4 +1,4 @@ -import django.core.serializers.json +from utilities.json import CustomFieldJSONEncoder import django.core.validators from django.db import migrations, models import django.db.models.deletion @@ -19,7 +19,7 @@ class Migration(migrations.Migration): fields=[ ('created', models.DateField(auto_now_add=True, null=True)), ('last_updated', models.DateTimeField(auto_now=True, null=True)), - ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=django.core.serializers.json.DjangoJSONEncoder)), + ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=CustomFieldJSONEncoder)), ('id', models.BigAutoField(primary_key=True, serialize=False)), ('group_id', models.PositiveSmallIntegerField()), ('protocol', models.CharField(max_length=50)), diff --git a/netbox/ipam/migrations/0053_asn_model.py b/netbox/ipam/migrations/0053_asn_model.py index 1c7ee8e23..3b074634c 100644 --- a/netbox/ipam/migrations/0053_asn_model.py +++ b/netbox/ipam/migrations/0053_asn_model.py @@ -1,7 +1,7 @@ # Generated by Django 3.2.8 on 2021-11-02 16:16 import dcim.fields -import django.core.serializers.json +from utilities.json import CustomFieldJSONEncoder from django.db import migrations, models import django.db.models.deletion import taggit.managers @@ -21,7 +21,7 @@ class Migration(migrations.Migration): fields=[ ('created', models.DateField(auto_now_add=True, null=True)), ('last_updated', models.DateTimeField(auto_now=True, null=True)), - ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=django.core.serializers.json.DjangoJSONEncoder)), + ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=CustomFieldJSONEncoder)), ('id', models.BigAutoField(primary_key=True, serialize=False)), ('asn', dcim.fields.ASNField(unique=True)), ('description', models.CharField(blank=True, max_length=200)), diff --git a/netbox/ipam/migrations/0055_servicetemplate.py b/netbox/ipam/migrations/0055_servicetemplate.py index 738317907..c8ba6645c 100644 --- a/netbox/ipam/migrations/0055_servicetemplate.py +++ b/netbox/ipam/migrations/0055_servicetemplate.py @@ -1,5 +1,5 @@ import django.contrib.postgres.fields -import django.core.serializers.json +from utilities.json import CustomFieldJSONEncoder import django.core.validators from django.db import migrations, models import taggit.managers @@ -18,7 +18,7 @@ class Migration(migrations.Migration): fields=[ ('created', models.DateField(auto_now_add=True, null=True)), ('last_updated', models.DateTimeField(auto_now=True, null=True)), - ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=django.core.serializers.json.DjangoJSONEncoder)), + ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=CustomFieldJSONEncoder)), ('id', models.BigAutoField(primary_key=True, serialize=False)), ('protocol', models.CharField(max_length=50)), ('ports', django.contrib.postgres.fields.ArrayField(base_field=models.PositiveIntegerField(validators=[django.core.validators.MinValueValidator(1), django.core.validators.MaxValueValidator(65535)]), size=None)), diff --git a/netbox/ipam/migrations/0059_l2vpn.py b/netbox/ipam/migrations/0059_l2vpn.py index bd4761593..59dbab632 100644 --- a/netbox/ipam/migrations/0059_l2vpn.py +++ b/netbox/ipam/migrations/0059_l2vpn.py @@ -1,4 +1,4 @@ -import django.core.serializers.json +from utilities.json import CustomFieldJSONEncoder from django.db import migrations, models import django.db.models.deletion import taggit.managers @@ -20,7 +20,7 @@ class Migration(migrations.Migration): ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False)), ('created', models.DateTimeField(auto_now_add=True, null=True)), ('last_updated', models.DateTimeField(auto_now=True, null=True)), - ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=django.core.serializers.json.DjangoJSONEncoder)), + ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=CustomFieldJSONEncoder)), ('name', models.CharField(max_length=100, unique=True)), ('slug', models.SlugField()), ('type', models.CharField(max_length=50)), @@ -42,7 +42,7 @@ class Migration(migrations.Migration): ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False)), ('created', models.DateTimeField(auto_now_add=True, null=True)), ('last_updated', models.DateTimeField(auto_now=True, null=True)), - ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=django.core.serializers.json.DjangoJSONEncoder)), + ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=CustomFieldJSONEncoder)), ('assigned_object_id', models.PositiveBigIntegerField()), ('assigned_object_type', models.ForeignKey(limit_choices_to=models.Q(models.Q(models.Q(('app_label', 'dcim'), ('model', 'interface')), models.Q(('app_label', 'ipam'), ('model', 'vlan')), models.Q(('app_label', 'virtualization'), ('model', 'vminterface')), _connector='OR')), on_delete=django.db.models.deletion.PROTECT, related_name='+', to='contenttypes.contenttype')), ('l2vpn', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='terminations', to='ipam.l2vpn')), diff --git a/netbox/netbox/filtersets.py b/netbox/netbox/filtersets.py index b6776e3c1..6a8f5d0d3 100644 --- a/netbox/netbox/filtersets.py +++ b/netbox/netbox/filtersets.py @@ -46,7 +46,7 @@ class BaseFilterSet(django_filters.FilterSet): 'filter_class': filters.MultiValueDateTimeFilter }, models.DecimalField: { - 'filter_class': filters.MultiValueNumberFilter + 'filter_class': filters.MultiValueDecimalFilter }, models.EmailField: { 'filter_class': filters.MultiValueCharFilter @@ -95,6 +95,7 @@ class BaseFilterSet(django_filters.FilterSet): filters.MultiValueDateFilter, filters.MultiValueDateTimeFilter, filters.MultiValueNumberFilter, + filters.MultiValueDecimalFilter, filters.MultiValueTimeFilter )): return FILTER_NUMERIC_BASED_LOOKUP_MAP diff --git a/netbox/netbox/models/features.py b/netbox/netbox/models/features.py index 9fa1c5cef..ce80cec3e 100644 --- a/netbox/netbox/models/features.py +++ b/netbox/netbox/models/features.py @@ -4,7 +4,6 @@ from django.contrib.contenttypes.fields import GenericRelation from django.db.models.signals import class_prepared from django.dispatch import receiver -from django.core.serializers.json import DjangoJSONEncoder from django.core.validators import ValidationError from django.db import models from taggit.managers import TaggableManager @@ -12,6 +11,7 @@ from taggit.managers import TaggableManager from extras.choices import CustomFieldVisibilityChoices, ObjectChangeActionChoices from extras.utils import is_taggable, register_features from netbox.signals import post_clean +from utilities.json import CustomFieldJSONEncoder from utilities.utils import serialize_object __all__ = ( @@ -124,7 +124,7 @@ class CustomFieldsMixin(models.Model): Enables support for custom fields. """ custom_field_data = models.JSONField( - encoder=DjangoJSONEncoder, + encoder=CustomFieldJSONEncoder, blank=True, default=dict ) diff --git a/netbox/tenancy/migrations/0001_squashed_0012.py b/netbox/tenancy/migrations/0001_squashed_0012.py index 77297b982..e8a028a92 100644 --- a/netbox/tenancy/migrations/0001_squashed_0012.py +++ b/netbox/tenancy/migrations/0001_squashed_0012.py @@ -1,4 +1,4 @@ -import django.core.serializers.json +from utilities.json import CustomFieldJSONEncoder from django.db import migrations, models import django.db.models.deletion import mptt.fields @@ -34,7 +34,7 @@ class Migration(migrations.Migration): fields=[ ('created', models.DateField(auto_now_add=True, null=True)), ('last_updated', models.DateTimeField(auto_now=True, null=True)), - ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=django.core.serializers.json.DjangoJSONEncoder)), + ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=CustomFieldJSONEncoder)), ('id', models.BigAutoField(primary_key=True, serialize=False)), ('name', models.CharField(max_length=100, unique=True)), ('slug', models.SlugField(max_length=100, unique=True)), @@ -54,7 +54,7 @@ class Migration(migrations.Migration): fields=[ ('created', models.DateField(auto_now_add=True, null=True)), ('last_updated', models.DateTimeField(auto_now=True, null=True)), - ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=django.core.serializers.json.DjangoJSONEncoder)), + ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=CustomFieldJSONEncoder)), ('id', models.BigAutoField(primary_key=True, serialize=False)), ('name', models.CharField(max_length=100, unique=True)), ('slug', models.SlugField(max_length=100, unique=True)), diff --git a/netbox/tenancy/migrations/0003_contacts.py b/netbox/tenancy/migrations/0003_contacts.py index 35e568ab1..ba9bef50f 100644 --- a/netbox/tenancy/migrations/0003_contacts.py +++ b/netbox/tenancy/migrations/0003_contacts.py @@ -1,4 +1,4 @@ -import django.core.serializers.json +from utilities.json import CustomFieldJSONEncoder from django.db import migrations, models import django.db.models.deletion import mptt.fields @@ -19,7 +19,7 @@ class Migration(migrations.Migration): fields=[ ('created', models.DateField(auto_now_add=True, null=True)), ('last_updated', models.DateTimeField(auto_now=True, null=True)), - ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=django.core.serializers.json.DjangoJSONEncoder)), + ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=CustomFieldJSONEncoder)), ('id', models.BigAutoField(primary_key=True, serialize=False)), ('name', models.CharField(max_length=100, unique=True)), ('slug', models.SlugField(max_length=100, unique=True)), @@ -34,7 +34,7 @@ class Migration(migrations.Migration): fields=[ ('created', models.DateField(auto_now_add=True, null=True)), ('last_updated', models.DateTimeField(auto_now=True, null=True)), - ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=django.core.serializers.json.DjangoJSONEncoder)), + ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=CustomFieldJSONEncoder)), ('id', models.BigAutoField(primary_key=True, serialize=False)), ('name', models.CharField(max_length=100)), ('slug', models.SlugField(max_length=100)), @@ -55,7 +55,7 @@ class Migration(migrations.Migration): fields=[ ('created', models.DateField(auto_now_add=True, null=True)), ('last_updated', models.DateTimeField(auto_now=True, null=True)), - ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=django.core.serializers.json.DjangoJSONEncoder)), + ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=CustomFieldJSONEncoder)), ('id', models.BigAutoField(primary_key=True, serialize=False)), ('name', models.CharField(max_length=100)), ('title', models.CharField(blank=True, max_length=100)), diff --git a/netbox/utilities/filters.py b/netbox/utilities/filters.py index 3d7f7d7ad..d41eff498 100644 --- a/netbox/utilities/filters.py +++ b/netbox/utilities/filters.py @@ -3,8 +3,6 @@ from django import forms from django.conf import settings from django_filters.constants import EMPTY_VALUES -from utilities.forms import MACAddressField - def multivalue_field_factory(field_class): """ @@ -31,7 +29,7 @@ def multivalue_field_factory(field_class): for v in value: super().validate(v) - return type('MultiValue{}'.format(field_class.__name__), (NewField,), dict()) + return type(f'MultiValue{field_class.__name__}', (NewField,), dict()) # @@ -54,6 +52,10 @@ class MultiValueNumberFilter(django_filters.MultipleChoiceFilter): field_class = multivalue_field_factory(forms.IntegerField) +class MultiValueDecimalFilter(django_filters.MultipleChoiceFilter): + field_class = multivalue_field_factory(forms.DecimalField) + + class MultiValueTimeFilter(django_filters.MultipleChoiceFilter): field_class = multivalue_field_factory(forms.TimeField) diff --git a/netbox/utilities/json.py b/netbox/utilities/json.py new file mode 100644 index 000000000..5574ff36f --- /dev/null +++ b/netbox/utilities/json.py @@ -0,0 +1,17 @@ +import decimal + +from django.core.serializers.json import DjangoJSONEncoder + +__all__ = ( + 'CustomFieldJSONEncoder', +) + + +class CustomFieldJSONEncoder(DjangoJSONEncoder): + """ + Override Django's built-in JSON encoder to save decimal values as JSON numbers. + """ + def default(self, o): + if isinstance(o, decimal.Decimal): + return float(o) + return super().default(o) diff --git a/netbox/virtualization/migrations/0001_squashed_0022.py b/netbox/virtualization/migrations/0001_squashed_0022.py index d00bae2e2..29eda8a50 100644 --- a/netbox/virtualization/migrations/0001_squashed_0022.py +++ b/netbox/virtualization/migrations/0001_squashed_0022.py @@ -1,5 +1,5 @@ import dcim.fields -import django.core.serializers.json +from utilities.json import CustomFieldJSONEncoder import django.core.validators from django.db import migrations, models import django.db.models.deletion @@ -51,7 +51,7 @@ class Migration(migrations.Migration): fields=[ ('created', models.DateField(auto_now_add=True, null=True)), ('last_updated', models.DateTimeField(auto_now=True, null=True)), - ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=django.core.serializers.json.DjangoJSONEncoder)), + ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=CustomFieldJSONEncoder)), ('id', models.BigAutoField(primary_key=True, serialize=False)), ('name', models.CharField(max_length=100, unique=True)), ('comments', models.TextField(blank=True)), @@ -65,7 +65,7 @@ class Migration(migrations.Migration): fields=[ ('created', models.DateField(auto_now_add=True, null=True)), ('last_updated', models.DateTimeField(auto_now=True, null=True)), - ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=django.core.serializers.json.DjangoJSONEncoder)), + ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=CustomFieldJSONEncoder)), ('id', models.BigAutoField(primary_key=True, serialize=False)), ('name', models.CharField(max_length=100, unique=True)), ('slug', models.SlugField(max_length=100, unique=True)), @@ -80,7 +80,7 @@ class Migration(migrations.Migration): fields=[ ('created', models.DateField(auto_now_add=True, null=True)), ('last_updated', models.DateTimeField(auto_now=True, null=True)), - ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=django.core.serializers.json.DjangoJSONEncoder)), + ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=CustomFieldJSONEncoder)), ('id', models.BigAutoField(primary_key=True, serialize=False)), ('name', models.CharField(max_length=100, unique=True)), ('slug', models.SlugField(max_length=100, unique=True)), @@ -95,7 +95,7 @@ class Migration(migrations.Migration): fields=[ ('created', models.DateField(auto_now_add=True, null=True)), ('last_updated', models.DateTimeField(auto_now=True, null=True)), - ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=django.core.serializers.json.DjangoJSONEncoder)), + ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=CustomFieldJSONEncoder)), ('id', models.BigAutoField(primary_key=True, serialize=False)), ('local_context_data', models.JSONField(blank=True, null=True)), ('name', models.CharField(max_length=64)), @@ -147,7 +147,7 @@ class Migration(migrations.Migration): fields=[ ('created', models.DateField(auto_now_add=True, null=True)), ('last_updated', models.DateTimeField(auto_now=True, null=True)), - ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=django.core.serializers.json.DjangoJSONEncoder)), + ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=CustomFieldJSONEncoder)), ('id', models.BigAutoField(primary_key=True, serialize=False)), ('enabled', models.BooleanField(default=True)), ('mac_address', dcim.fields.MACAddressField(blank=True, null=True)), diff --git a/netbox/wireless/migrations/0001_wireless.py b/netbox/wireless/migrations/0001_wireless.py index 10b6e585b..9369df8a5 100644 --- a/netbox/wireless/migrations/0001_wireless.py +++ b/netbox/wireless/migrations/0001_wireless.py @@ -1,4 +1,4 @@ -import django.core.serializers.json +from utilities.json import CustomFieldJSONEncoder from django.db import migrations, models import django.db.models.deletion import mptt.fields @@ -21,7 +21,7 @@ class Migration(migrations.Migration): fields=[ ('created', models.DateField(auto_now_add=True, null=True)), ('last_updated', models.DateTimeField(auto_now=True, null=True)), - ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=django.core.serializers.json.DjangoJSONEncoder)), + ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=CustomFieldJSONEncoder)), ('id', models.BigAutoField(primary_key=True, serialize=False)), ('name', models.CharField(max_length=100, unique=True)), ('slug', models.SlugField(max_length=100, unique=True)), @@ -44,7 +44,7 @@ class Migration(migrations.Migration): fields=[ ('created', models.DateField(auto_now_add=True, null=True)), ('last_updated', models.DateTimeField(auto_now=True, null=True)), - ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=django.core.serializers.json.DjangoJSONEncoder)), + ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=CustomFieldJSONEncoder)), ('id', models.BigAutoField(primary_key=True, serialize=False)), ('ssid', models.CharField(max_length=32)), ('group', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='wireless_lans', to='wireless.wirelesslangroup')), @@ -65,7 +65,7 @@ class Migration(migrations.Migration): fields=[ ('created', models.DateField(auto_now_add=True, null=True)), ('last_updated', models.DateTimeField(auto_now=True, null=True)), - ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=django.core.serializers.json.DjangoJSONEncoder)), + ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=CustomFieldJSONEncoder)), ('id', models.BigAutoField(primary_key=True, serialize=False)), ('ssid', models.CharField(blank=True, max_length=32)), ('status', models.CharField(default='connected', max_length=50)), From 204c10c053fddc26ad23ec15a3c60eee38bfc081 Mon Sep 17 00:00:00 2001 From: Arthur Hanson Date: Fri, 30 Sep 2022 13:31:04 -0700 Subject: [PATCH 021/162] 9654 device weight (#10448) * 9654 add weight fields to devices * 9654 changes from code review * 9654 change _abs_weight to grams * Resolve migrations conflict * 9654 code-review changes * 9654 total weight on devices * Misc cleanup Co-authored-by: Jeremy Stretch --- docs/models/dcim/devicetype.md | 4 ++ docs/models/dcim/moduletype.md | 4 ++ docs/models/dcim/rack.md | 4 ++ netbox/dcim/api/serializers.py | 16 +++-- netbox/dcim/choices.py | 18 ++++++ netbox/dcim/filtersets.py | 6 +- netbox/dcim/forms/bulk_edit.py | 54 ++++++++++++----- netbox/dcim/forms/filtersets.py | 24 ++++++++ netbox/dcim/forms/models.py | 17 ++++-- netbox/dcim/graphql/types.py | 9 +++ ...0163_rack_devicetype_moduletype_weights.py | 58 +++++++++++++++++++ netbox/dcim/models/devices.py | 24 ++++++-- netbox/dcim/models/mixins.py | 45 ++++++++++++++ netbox/dcim/models/racks.py | 24 +++++++- netbox/dcim/tables/devicetypes.py | 8 ++- netbox/dcim/tables/modules.py | 7 ++- netbox/dcim/tables/racks.py | 11 +++- netbox/dcim/tables/template_code.py | 5 ++ netbox/dcim/tests/test_filtersets.py | 42 +++++++++++--- netbox/templates/dcim/devicetype.html | 10 ++++ netbox/templates/dcim/moduletype.html | 10 ++++ netbox/templates/dcim/rack.html | 19 +++++- netbox/templates/dcim/rack_edit.html | 8 +++ netbox/utilities/utils.py | 27 ++++++++- 24 files changed, 397 insertions(+), 57 deletions(-) create mode 100644 netbox/dcim/migrations/0163_rack_devicetype_moduletype_weights.py create mode 100644 netbox/dcim/models/mixins.py diff --git a/docs/models/dcim/devicetype.md b/docs/models/dcim/devicetype.md index 050f93244..6dc4aa13e 100644 --- a/docs/models/dcim/devicetype.md +++ b/docs/models/dcim/devicetype.md @@ -41,6 +41,10 @@ Indicates whether this is a parent type (capable of housing child devices), a ch The default direction in which airflow circulates within the device chassis. This may be configured differently for instantiated devices (e.g. because of different fan modules). +### Weight + +The numeric weight of the device, including a unit designation (e.g. 10 kilograms or 20 pounds). + ### Front & Rear Images Users can upload illustrations of the device's front and rear panels. If present, these will be used to render the device in [rack](./rack.md) elevation diagrams. diff --git a/docs/models/dcim/moduletype.md b/docs/models/dcim/moduletype.md index b8ec0ac6e..3122d2e00 100644 --- a/docs/models/dcim/moduletype.md +++ b/docs/models/dcim/moduletype.md @@ -35,3 +35,7 @@ The model number assigned to this module type by its manufacturer. Must be uniqu ### Part Number An alternative part number to uniquely identify the module type. + +### Weight + +The numeric weight of the module, including a unit designation (e.g. 3 kilograms or 1 pound). diff --git a/docs/models/dcim/rack.md b/docs/models/dcim/rack.md index 57e7bec98..e88c36fad 100644 --- a/docs/models/dcim/rack.md +++ b/docs/models/dcim/rack.md @@ -65,6 +65,10 @@ The height of the rack, measured in units. The external width and depth of the rack can be tracked to aid in floorplan calculations. These measurements must be designated in either millimeters or inches. +### Weight + +The numeric weight of the rack, including a unit designation (e.g. 10 kilograms or 20 pounds). + ### Descending Units If selected, the rack's elevation will display unit 1 at the top of the rack. (Most racks use asceneding numbering, with unit 1 assigned to the bottommost position.) diff --git a/netbox/dcim/api/serializers.py b/netbox/dcim/api/serializers.py index 897ee4ca3..22d56565e 100644 --- a/netbox/dcim/api/serializers.py +++ b/netbox/dcim/api/serializers.py @@ -201,6 +201,7 @@ class RackSerializer(NetBoxModelSerializer): default=None) width = ChoiceField(choices=RackWidthChoices, required=False) outer_unit = ChoiceField(choices=RackDimensionUnitChoices, allow_blank=True, required=False) + weight_unit = ChoiceField(choices=WeightUnitChoices, allow_blank=True, required=False) device_count = serializers.IntegerField(read_only=True) powerfeed_count = serializers.IntegerField(read_only=True) @@ -208,8 +209,9 @@ class RackSerializer(NetBoxModelSerializer): model = Rack fields = [ 'id', 'url', 'display', 'name', 'facility_id', 'site', 'location', 'tenant', 'status', 'role', 'serial', - 'asset_tag', 'type', 'width', 'u_height', 'desc_units', 'outer_width', 'outer_depth', 'outer_unit', - 'comments', 'tags', 'custom_fields', 'created', 'last_updated', 'device_count', 'powerfeed_count', + 'asset_tag', 'type', 'width', 'u_height', 'weight', 'weight_unit', 'desc_units', 'outer_width', + 'outer_depth', 'outer_unit', 'comments', 'tags', 'custom_fields', 'created', 'last_updated', 'device_count', + 'powerfeed_count', ] @@ -315,27 +317,29 @@ class DeviceTypeSerializer(NetBoxModelSerializer): ) subdevice_role = ChoiceField(choices=SubdeviceRoleChoices, allow_blank=True, required=False) airflow = ChoiceField(choices=DeviceAirflowChoices, allow_blank=True, required=False) + weight_unit = ChoiceField(choices=WeightUnitChoices, allow_blank=True, required=False) device_count = serializers.IntegerField(read_only=True) class Meta: model = DeviceType fields = [ 'id', 'url', 'display', 'manufacturer', 'model', 'slug', 'part_number', 'u_height', 'is_full_depth', - 'subdevice_role', 'airflow', 'front_image', 'rear_image', 'comments', 'tags', 'custom_fields', 'created', - 'last_updated', 'device_count', + 'subdevice_role', 'airflow', 'weight', 'weight_unit', 'front_image', 'rear_image', 'comments', 'tags', + 'custom_fields', 'created', 'last_updated', 'device_count', ] class ModuleTypeSerializer(NetBoxModelSerializer): url = serializers.HyperlinkedIdentityField(view_name='dcim-api:moduletype-detail') manufacturer = NestedManufacturerSerializer() + weight_unit = ChoiceField(choices=WeightUnitChoices, allow_blank=True, required=False) # module_count = serializers.IntegerField(read_only=True) class Meta: model = ModuleType fields = [ - 'id', 'url', 'display', 'manufacturer', 'model', 'part_number', 'comments', 'tags', 'custom_fields', - 'created', 'last_updated', + 'id', 'url', 'display', 'manufacturer', 'model', 'part_number', 'weight', 'weight_unit', 'comments', 'tags', + 'custom_fields', 'created', 'last_updated', ] diff --git a/netbox/dcim/choices.py b/netbox/dcim/choices.py index 7d35a40f9..8466d4861 100644 --- a/netbox/dcim/choices.py +++ b/netbox/dcim/choices.py @@ -1314,6 +1314,24 @@ class CableLengthUnitChoices(ChoiceSet): ) +class WeightUnitChoices(ChoiceSet): + + # Metric + UNIT_KILOGRAM = 'kg' + UNIT_GRAM = 'g' + + # Imperial + UNIT_POUND = 'lb' + UNIT_OUNCE = 'oz' + + CHOICES = ( + (UNIT_KILOGRAM, 'Kilograms'), + (UNIT_GRAM, 'Grams'), + (UNIT_POUND, 'Pounds'), + (UNIT_OUNCE, 'Ounces'), + ) + + # # CableTerminations # diff --git a/netbox/dcim/filtersets.py b/netbox/dcim/filtersets.py index 3a66e6c30..a0c5e545c 100644 --- a/netbox/dcim/filtersets.py +++ b/netbox/dcim/filtersets.py @@ -320,7 +320,7 @@ class RackFilterSet(NetBoxModelFilterSet, TenancyFilterSet, ContactModelFilterSe model = Rack fields = [ 'id', 'name', 'facility_id', 'asset_tag', 'u_height', 'desc_units', 'outer_width', 'outer_depth', - 'outer_unit', + 'outer_unit', 'weight', 'weight_unit' ] def search(self, queryset, name, value): @@ -482,7 +482,7 @@ class DeviceTypeFilterSet(NetBoxModelFilterSet): class Meta: model = DeviceType fields = [ - 'id', 'model', 'slug', 'part_number', 'u_height', 'is_full_depth', 'subdevice_role', 'airflow', + 'id', 'model', 'slug', 'part_number', 'u_height', 'is_full_depth', 'subdevice_role', 'airflow', 'weight', 'weight_unit' ] def search(self, queryset, name, value): @@ -576,7 +576,7 @@ class ModuleTypeFilterSet(NetBoxModelFilterSet): class Meta: model = ModuleType - fields = ['id', 'model', 'part_number'] + fields = ['id', 'model', 'part_number', 'weight', 'weight_unit'] def search(self, queryset, name, value): if not value.strip(): diff --git a/netbox/dcim/forms/bulk_edit.py b/netbox/dcim/forms/bulk_edit.py index 396f7e59b..d033d3a67 100644 --- a/netbox/dcim/forms/bulk_edit.py +++ b/netbox/dcim/forms/bulk_edit.py @@ -285,15 +285,26 @@ class RackBulkEditForm(NetBoxModelBulkEditForm): widget=SmallTextarea, label='Comments' ) + weight = forms.DecimalField( + min_value=0, + required=False + ) + weight_unit = forms.ChoiceField( + choices=add_blank_choice(WeightUnitChoices), + required=False, + initial='', + widget=StaticSelect() + ) model = Rack fieldsets = ( ('Rack', ('status', 'role', 'tenant', 'serial', 'asset_tag')), ('Location', ('region', 'site_group', 'site', 'location')), ('Hardware', ('type', 'width', 'u_height', 'desc_units', 'outer_width', 'outer_depth', 'outer_unit')), + ('Weight', ('weight', 'weight_unit')), ) nullable_fields = ( - 'location', 'tenant', 'role', 'serial', 'asset_tag', 'outer_width', 'outer_depth', 'outer_unit', 'comments', + 'location', 'tenant', 'role', 'serial', 'asset_tag', 'outer_width', 'outer_depth', 'outer_unit', 'comments', 'weight', 'weight_unit' ) @@ -355,12 +366,23 @@ class DeviceTypeBulkEditForm(NetBoxModelBulkEditForm): required=False, widget=StaticSelect() ) + weight = forms.DecimalField( + min_value=0, + required=False + ) + weight_unit = forms.ChoiceField( + choices=add_blank_choice(WeightUnitChoices), + required=False, + initial='', + widget=StaticSelect() + ) model = DeviceType fieldsets = ( - (None, ('manufacturer', 'part_number', 'u_height', 'is_full_depth', 'airflow')), + ('Device Type', ('manufacturer', 'part_number', 'u_height', 'is_full_depth', 'airflow')), + ('Weight', ('weight', 'weight_unit')), ) - nullable_fields = ('part_number', 'airflow') + nullable_fields = ('part_number', 'airflow', 'weight', 'weight_unit') class ModuleTypeBulkEditForm(NetBoxModelBulkEditForm): @@ -371,12 +393,23 @@ class ModuleTypeBulkEditForm(NetBoxModelBulkEditForm): part_number = forms.CharField( required=False ) + weight = forms.DecimalField( + min_value=0, + required=False + ) + weight_unit = forms.ChoiceField( + choices=add_blank_choice(WeightUnitChoices), + required=False, + initial='', + widget=StaticSelect() + ) model = ModuleType fieldsets = ( - (None, ('manufacturer', 'part_number')), + ('Module Type', ('manufacturer', 'part_number')), + ('Weight', ('weight', 'weight_unit')), ) - nullable_fields = ('part_number',) + nullable_fields = ('part_number', 'weight', 'weight_unit') class DeviceRoleBulkEditForm(NetBoxModelBulkEditForm): @@ -553,17 +586,6 @@ class CableBulkEditForm(NetBoxModelBulkEditForm): 'type', 'status', 'tenant', 'label', 'color', 'length', ) - def clean(self): - super().clean() - - # Validate length/unit - length = self.cleaned_data.get('length') - length_unit = self.cleaned_data.get('length_unit') - if length and not length_unit: - raise forms.ValidationError({ - 'length_unit': "Must specify a unit when setting length" - }) - class VirtualChassisBulkEditForm(NetBoxModelBulkEditForm): domain = forms.CharField( diff --git a/netbox/dcim/forms/filtersets.py b/netbox/dcim/forms/filtersets.py index 96b0d1319..818da83e1 100644 --- a/netbox/dcim/forms/filtersets.py +++ b/netbox/dcim/forms/filtersets.py @@ -228,6 +228,7 @@ class RackFilterForm(TenancyFilterForm, ContactModelFilterForm, NetBoxModelFilte ('Hardware', ('type', 'width', 'serial', 'asset_tag')), ('Tenant', ('tenant_group_id', 'tenant_id')), ('Contacts', ('contact', 'contact_role', 'contact_group')), + ('Weight', ('weight', 'weight_unit')), ) region_id = DynamicModelMultipleChoiceField( queryset=Region.objects.all(), @@ -281,6 +282,13 @@ class RackFilterForm(TenancyFilterForm, ContactModelFilterForm, NetBoxModelFilte required=False ) tag = TagFilterField(model) + weight = forms.DecimalField( + required=False + ) + weight_unit = forms.ChoiceField( + choices=add_blank_choice(WeightUnitChoices), + required=False + ) class RackElevationFilterForm(RackFilterForm): @@ -370,6 +378,7 @@ class DeviceTypeFilterForm(NetBoxModelFilterSetForm): 'console_ports', 'console_server_ports', 'power_ports', 'power_outlets', 'interfaces', 'pass_through_ports', 'device_bays', 'module_bays', 'inventory_items', )), + ('Weight', ('weight', 'weight_unit')), ) manufacturer_id = DynamicModelMultipleChoiceField( queryset=Manufacturer.objects.all(), @@ -465,6 +474,13 @@ class DeviceTypeFilterForm(NetBoxModelFilterSetForm): ) ) tag = TagFilterField(model) + weight = forms.DecimalField( + required=False + ) + weight_unit = forms.ChoiceField( + choices=add_blank_choice(WeightUnitChoices), + required=False + ) class ModuleTypeFilterForm(NetBoxModelFilterSetForm): @@ -476,6 +492,7 @@ class ModuleTypeFilterForm(NetBoxModelFilterSetForm): 'console_ports', 'console_server_ports', 'power_ports', 'power_outlets', 'interfaces', 'pass_through_ports', )), + ('Weight', ('weight', 'weight_unit')), ) manufacturer_id = DynamicModelMultipleChoiceField( queryset=Manufacturer.objects.all(), @@ -529,6 +546,13 @@ class ModuleTypeFilterForm(NetBoxModelFilterSetForm): ) ) tag = TagFilterField(model) + weight = forms.DecimalField( + required=False + ) + weight_unit = forms.ChoiceField( + choices=add_blank_choice(WeightUnitChoices), + required=False + ) class DeviceRoleFilterForm(NetBoxModelFilterSetForm): diff --git a/netbox/dcim/forms/models.py b/netbox/dcim/forms/models.py index b33023ece..4faefb623 100644 --- a/netbox/dcim/forms/models.py +++ b/netbox/dcim/forms/models.py @@ -260,7 +260,7 @@ class RackForm(TenancyForm, NetBoxModelForm): fields = [ 'region', 'site_group', 'site', 'location', 'name', 'facility_id', 'tenant_group', 'tenant', 'status', 'role', 'serial', 'asset_tag', 'type', 'width', 'u_height', 'desc_units', 'outer_width', 'outer_depth', - 'outer_unit', 'comments', 'tags', + 'outer_unit', 'weight', 'weight_unit', 'comments', 'tags', ] help_texts = { 'site': "The site at which the rack exists", @@ -273,6 +273,7 @@ class RackForm(TenancyForm, NetBoxModelForm): 'type': StaticSelect(), 'width': StaticSelect(), 'outer_unit': StaticSelect(), + 'weight_unit': StaticSelect(), } @@ -363,6 +364,7 @@ class DeviceTypeForm(NetBoxModelForm): ('Chassis', ( 'u_height', 'is_full_depth', 'subdevice_role', 'airflow', )), + ('Attributes', ('weight', 'weight_unit')), ('Images', ('front_image', 'rear_image')), ) @@ -370,7 +372,7 @@ class DeviceTypeForm(NetBoxModelForm): model = DeviceType fields = [ 'manufacturer', 'model', 'slug', 'part_number', 'u_height', 'is_full_depth', 'subdevice_role', 'airflow', - 'front_image', 'rear_image', 'comments', 'tags', + 'weight', 'weight_unit', 'front_image', 'rear_image', 'comments', 'tags', ] widgets = { 'airflow': StaticSelect(), @@ -380,7 +382,8 @@ class DeviceTypeForm(NetBoxModelForm): }), 'rear_image': ClearableFileInput(attrs={ 'accept': DEVICETYPE_IMAGE_FORMATS - }) + }), + 'weight_unit': StaticSelect(), } @@ -392,16 +395,20 @@ class ModuleTypeForm(NetBoxModelForm): fieldsets = ( ('Module Type', ( - 'manufacturer', 'model', 'part_number', 'tags', + 'manufacturer', 'model', 'part_number', 'tags', 'weight', 'weight_unit' )), ) class Meta: model = ModuleType fields = [ - 'manufacturer', 'model', 'part_number', 'comments', 'tags', + 'manufacturer', 'model', 'part_number', 'weight', 'weight_unit', 'comments', 'tags', ] + widgets = { + 'weight_unit': StaticSelect(), + } + class DeviceRoleForm(NetBoxModelForm): slug = SlugField() diff --git a/netbox/dcim/graphql/types.py b/netbox/dcim/graphql/types.py index 52a98278a..78cabbcd1 100644 --- a/netbox/dcim/graphql/types.py +++ b/netbox/dcim/graphql/types.py @@ -211,6 +211,9 @@ class DeviceTypeType(NetBoxObjectType): def resolve_airflow(self, info): return self.airflow or None + def resolve_weight_unit(self, info): + return self.weight_unit or None + class FrontPortType(ComponentObjectType, CabledObjectMixin): @@ -328,6 +331,9 @@ class ModuleTypeType(NetBoxObjectType): fields = '__all__' filterset_class = filtersets.ModuleTypeFilterSet + def resolve_weight_unit(self, info): + return self.weight_unit or None + class PlatformType(OrganizationalObjectType): @@ -416,6 +422,9 @@ class RackType(VLANGroupsMixin, ImageAttachmentsMixin, NetBoxObjectType): def resolve_outer_unit(self, info): return self.outer_unit or None + def resolve_weight_unit(self, info): + return self.weight_unit or None + class RackReservationType(NetBoxObjectType): diff --git a/netbox/dcim/migrations/0163_rack_devicetype_moduletype_weights.py b/netbox/dcim/migrations/0163_rack_devicetype_moduletype_weights.py new file mode 100644 index 000000000..09bef5736 --- /dev/null +++ b/netbox/dcim/migrations/0163_rack_devicetype_moduletype_weights.py @@ -0,0 +1,58 @@ +# Generated by Django 4.0.7 on 2022-09-23 01:01 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('dcim', '0162_unique_constraints'), + ] + + operations = [ + migrations.AddField( + model_name='devicetype', + name='_abs_weight', + field=models.PositiveBigIntegerField(blank=True, null=True), + ), + migrations.AddField( + model_name='devicetype', + name='weight', + field=models.DecimalField(blank=True, decimal_places=2, max_digits=8, null=True), + ), + migrations.AddField( + model_name='devicetype', + name='weight_unit', + field=models.CharField(blank=True, max_length=50), + ), + migrations.AddField( + model_name='moduletype', + name='_abs_weight', + field=models.PositiveBigIntegerField(blank=True, null=True), + ), + migrations.AddField( + model_name='moduletype', + name='weight', + field=models.DecimalField(blank=True, decimal_places=2, max_digits=8, null=True), + ), + migrations.AddField( + model_name='moduletype', + name='weight_unit', + field=models.CharField(blank=True, max_length=50), + ), + migrations.AddField( + model_name='rack', + name='_abs_weight', + field=models.PositiveBigIntegerField(blank=True, null=True), + ), + migrations.AddField( + model_name='rack', + name='weight', + field=models.DecimalField(blank=True, decimal_places=2, max_digits=8, null=True), + ), + migrations.AddField( + model_name='rack', + name='weight_unit', + field=models.CharField(blank=True, max_length=50), + ), + ] diff --git a/netbox/dcim/models/devices.py b/netbox/dcim/models/devices.py index d0d9001ad..b7c4abd32 100644 --- a/netbox/dcim/models/devices.py +++ b/netbox/dcim/models/devices.py @@ -1,7 +1,8 @@ import decimal - import yaml +from functools import cached_property + from django.apps import apps from django.contrib.contenttypes.fields import GenericRelation from django.core.exceptions import ValidationError @@ -21,6 +22,7 @@ from netbox.models import OrganizationalModel, NetBoxModel from utilities.choices import ColorChoices from utilities.fields import ColorField, NaturalOrderingField from .device_components import * +from .mixins import WeightMixin __all__ = ( @@ -71,7 +73,7 @@ class Manufacturer(OrganizationalModel): return reverse('dcim:manufacturer', args=[self.pk]) -class DeviceType(NetBoxModel): +class DeviceType(NetBoxModel, WeightMixin): """ A DeviceType represents a particular make (Manufacturer) and model of device. It specifies rack height and depth, as well as high-level functional role(s). @@ -139,7 +141,7 @@ class DeviceType(NetBoxModel): ) clone_fields = ( - 'manufacturer', 'u_height', 'is_full_depth', 'subdevice_role', 'airflow', + 'manufacturer', 'u_height', 'is_full_depth', 'subdevice_role', 'airflow', 'weight', 'weight_unit', ) class Meta: @@ -315,7 +317,7 @@ class DeviceType(NetBoxModel): return self.subdevice_role == SubdeviceRoleChoices.ROLE_CHILD -class ModuleType(NetBoxModel): +class ModuleType(NetBoxModel, WeightMixin): """ A ModuleType represents a hardware element that can be installed within a device and which houses additional components; for example, a line card within a chassis-based switch such as the Cisco Catalyst 6500. Like a @@ -344,7 +346,7 @@ class ModuleType(NetBoxModel): to='extras.ImageAttachment' ) - clone_fields = ('manufacturer',) + clone_fields = ('manufacturer', 'weight', 'weight_unit',) class Meta: ordering = ('manufacturer', 'model') @@ -946,6 +948,18 @@ class Device(NetBoxModel, ConfigContextModel): def get_status_color(self): return DeviceStatusChoices.colors.get(self.status) + @cached_property + def total_weight(self): + total_weight = sum( + module.module_type._abs_weight + for module in Module.objects.filter(device=self) + .exclude(module_type___abs_weight__isnull=True) + .prefetch_related('module_type') + ) + if self.device_type._abs_weight: + total_weight += self.device_type._abs_weight + return round(total_weight / 1000, 2) + class Module(NetBoxModel, ConfigContextModel): """ diff --git a/netbox/dcim/models/mixins.py b/netbox/dcim/models/mixins.py new file mode 100644 index 000000000..b5449332b --- /dev/null +++ b/netbox/dcim/models/mixins.py @@ -0,0 +1,45 @@ +from django.core.exceptions import ValidationError +from django.db import models +from dcim.choices import * +from utilities.utils import to_grams + + +class WeightMixin(models.Model): + weight = models.DecimalField( + max_digits=8, + decimal_places=2, + blank=True, + null=True + ) + weight_unit = models.CharField( + max_length=50, + choices=WeightUnitChoices, + blank=True, + ) + # Stores the normalized weight (in grams) for database ordering + _abs_weight = models.PositiveBigIntegerField( + blank=True, + null=True + ) + + class Meta: + abstract = True + + def save(self, *args, **kwargs): + + # Store the given weight (if any) in grams for use in database ordering + if self.weight and self.weight_unit: + self._abs_weight = to_grams(self.weight, self.weight_unit) + else: + self._abs_weight = None + + super().save(*args, **kwargs) + + def clean(self): + super().clean() + + # Validate weight and weight_unit + if self.weight is not None and not self.weight_unit: + raise ValidationError("Must specify a unit when setting a weight") + elif self.weight is None: + self.weight_unit = '' diff --git a/netbox/dcim/models/racks.py b/netbox/dcim/models/racks.py index 10550e906..6da48b65c 100644 --- a/netbox/dcim/models/racks.py +++ b/netbox/dcim/models/racks.py @@ -1,4 +1,5 @@ import decimal +from functools import cached_property from django.apps import apps from django.contrib.auth.models import User @@ -18,7 +19,8 @@ from utilities.choices import ColorChoices from utilities.fields import ColorField, NaturalOrderingField from utilities.utils import array_to_string, drange from .device_components import PowerPort -from .devices import Device +from .devices import Device, Module +from .mixins import WeightMixin from .power import PowerFeed __all__ = ( @@ -62,7 +64,7 @@ class RackRole(OrganizationalModel): return reverse('dcim:rackrole', args=[self.pk]) -class Rack(NetBoxModel): +class Rack(NetBoxModel, WeightMixin): """ Devices are housed within Racks. Each rack has a defined height measured in rack units, and a front and rear face. Each Rack is assigned to a Site and (optionally) a Location. @@ -185,7 +187,7 @@ class Rack(NetBoxModel): clone_fields = ( 'site', 'location', 'tenant', 'status', 'role', 'type', 'width', 'u_height', 'desc_units', 'outer_width', - 'outer_depth', 'outer_unit', + 'outer_depth', 'outer_unit', 'weight', 'weight_unit', ) class Meta: @@ -454,6 +456,22 @@ class Rack(NetBoxModel): return int(allocated_draw / available_power_total * 100) + @cached_property + def total_weight(self): + total_weight = sum( + device.device_type._abs_weight + for device in self.devices.exclude(device_type___abs_weight__isnull=True).prefetch_related('device_type') + ) + total_weight += sum( + module.module_type._abs_weight + for module in Module.objects.filter(device__rack=self) + .exclude(module_type___abs_weight__isnull=True) + .prefetch_related('module_type') + ) + if self._abs_weight: + total_weight += self._abs_weight + return round(total_weight / 1000, 2) + class RackReservation(NetBoxModel): """ diff --git a/netbox/dcim/tables/devicetypes.py b/netbox/dcim/tables/devicetypes.py index 3ed4d8c08..8f371ef1a 100644 --- a/netbox/dcim/tables/devicetypes.py +++ b/netbox/dcim/tables/devicetypes.py @@ -5,7 +5,7 @@ from dcim.models import ( InventoryItemTemplate, Manufacturer, ModuleBayTemplate, PowerOutletTemplate, PowerPortTemplate, RearPortTemplate, ) from netbox.tables import NetBoxTable, columns -from .template_code import MODULAR_COMPONENT_TEMPLATE_BUTTONS +from .template_code import MODULAR_COMPONENT_TEMPLATE_BUTTONS, DEVICE_WEIGHT __all__ = ( 'ConsolePortTemplateTable', @@ -85,12 +85,16 @@ class DeviceTypeTable(NetBoxTable): tags = columns.TagColumn( url_name='dcim:devicetype_list' ) + weight = columns.TemplateColumn( + template_code=DEVICE_WEIGHT, + order_by=('_abs_weight', 'weight_unit') + ) class Meta(NetBoxTable.Meta): model = DeviceType fields = ( 'pk', 'id', 'model', 'manufacturer', 'slug', 'part_number', 'u_height', 'is_full_depth', 'subdevice_role', - 'airflow', 'comments', 'instance_count', 'tags', 'created', 'last_updated', + 'airflow', 'weight', 'comments', 'instance_count', 'tags', 'created', 'last_updated', ) default_columns = ( 'pk', 'model', 'manufacturer', 'part_number', 'u_height', 'is_full_depth', 'instance_count', diff --git a/netbox/dcim/tables/modules.py b/netbox/dcim/tables/modules.py index e40d7bd80..b644e6ba6 100644 --- a/netbox/dcim/tables/modules.py +++ b/netbox/dcim/tables/modules.py @@ -2,6 +2,7 @@ import django_tables2 as tables from dcim.models import Module, ModuleType from netbox.tables import NetBoxTable, columns +from .template_code import DEVICE_WEIGHT __all__ = ( 'ModuleTable', @@ -26,11 +27,15 @@ class ModuleTypeTable(NetBoxTable): tags = columns.TagColumn( url_name='dcim:moduletype_list' ) + weight = columns.TemplateColumn( + template_code=DEVICE_WEIGHT, + order_by=('_abs_weight', 'weight_unit') + ) class Meta(NetBoxTable.Meta): model = ModuleType fields = ( - 'pk', 'id', 'model', 'manufacturer', 'part_number', 'comments', 'tags', + 'pk', 'id', 'model', 'manufacturer', 'part_number', 'weight', 'comments', 'tags', ) default_columns = ( 'pk', 'model', 'manufacturer', 'part_number', diff --git a/netbox/dcim/tables/racks.py b/netbox/dcim/tables/racks.py index 39553bac0..ffca07145 100644 --- a/netbox/dcim/tables/racks.py +++ b/netbox/dcim/tables/racks.py @@ -4,6 +4,7 @@ from django_tables2.utils import Accessor from dcim.models import Rack, RackReservation, RackRole from netbox.tables import NetBoxTable, columns from tenancy.tables import TenancyColumnsMixin +from .template_code import DEVICE_WEIGHT __all__ = ( 'RackTable', @@ -82,13 +83,17 @@ class RackTable(TenancyColumnsMixin, NetBoxTable): template_code="{{ record.outer_depth }} {{ record.outer_unit }}", verbose_name='Outer Depth' ) + weight = columns.TemplateColumn( + template_code=DEVICE_WEIGHT, + order_by=('_abs_weight', 'weight_unit') + ) class Meta(NetBoxTable.Meta): model = Rack fields = ( - 'pk', 'id', 'name', 'site', 'location', 'status', 'facility_id', 'tenant', 'tenant_group', 'role', 'serial', 'asset_tag', - 'type', 'width', 'outer_width', 'outer_depth', 'u_height', 'comments', 'device_count', 'get_utilization', - 'get_power_utilization', 'contacts', 'tags', 'created', 'last_updated', + 'pk', 'id', 'name', 'site', 'location', 'status', 'facility_id', 'tenant', 'tenant_group', 'role', 'serial', + 'asset_tag', 'type', 'width', 'outer_width', 'outer_depth', 'u_height', 'weight', 'comments', + 'device_count', 'get_utilization', 'get_power_utilization', 'contacts', 'tags', 'created', 'last_updated', ) default_columns = ( 'pk', 'name', 'site', 'location', 'status', 'facility_id', 'tenant', 'role', 'u_height', 'device_count', diff --git a/netbox/dcim/tables/template_code.py b/netbox/dcim/tables/template_code.py index dfc77b854..9b8fb8fd6 100644 --- a/netbox/dcim/tables/template_code.py +++ b/netbox/dcim/tables/template_code.py @@ -15,6 +15,11 @@ CABLE_LENGTH = """ {% if record.length %}{{ record.length|simplify_decimal }} {{ record.length_unit }}{% endif %} """ +DEVICE_WEIGHT = """ +{% load helpers %} +{% if record.weight %}{{ record.weight|simplify_decimal }} {{ record.weight_unit }}{% endif %} +""" + DEVICE_LINK = """ {{ record.name|default:'Unnamed device' }} diff --git a/netbox/dcim/tests/test_filtersets.py b/netbox/dcim/tests/test_filtersets.py index 7a745721b..d4922fb1d 100644 --- a/netbox/dcim/tests/test_filtersets.py +++ b/netbox/dcim/tests/test_filtersets.py @@ -409,9 +409,9 @@ class RackTestCase(TestCase, ChangeLoggedFilterSetTests): Tenant.objects.bulk_create(tenants) racks = ( - Rack(name='Rack 1', facility_id='rack-1', site=sites[0], location=locations[0], tenant=tenants[0], status=RackStatusChoices.STATUS_ACTIVE, role=rack_roles[0], serial='ABC', asset_tag='1001', type=RackTypeChoices.TYPE_2POST, width=RackWidthChoices.WIDTH_19IN, u_height=42, desc_units=False, outer_width=100, outer_depth=100, outer_unit=RackDimensionUnitChoices.UNIT_MILLIMETER), - Rack(name='Rack 2', facility_id='rack-2', site=sites[1], location=locations[1], tenant=tenants[1], status=RackStatusChoices.STATUS_PLANNED, role=rack_roles[1], serial='DEF', asset_tag='1002', type=RackTypeChoices.TYPE_4POST, width=RackWidthChoices.WIDTH_21IN, u_height=43, desc_units=False, outer_width=200, outer_depth=200, outer_unit=RackDimensionUnitChoices.UNIT_MILLIMETER), - Rack(name='Rack 3', facility_id='rack-3', site=sites[2], location=locations[2], tenant=tenants[2], status=RackStatusChoices.STATUS_RESERVED, role=rack_roles[2], serial='GHI', asset_tag='1003', type=RackTypeChoices.TYPE_CABINET, width=RackWidthChoices.WIDTH_23IN, u_height=44, desc_units=True, outer_width=300, outer_depth=300, outer_unit=RackDimensionUnitChoices.UNIT_INCH), + Rack(name='Rack 1', facility_id='rack-1', site=sites[0], location=locations[0], tenant=tenants[0], status=RackStatusChoices.STATUS_ACTIVE, role=rack_roles[0], serial='ABC', asset_tag='1001', type=RackTypeChoices.TYPE_2POST, width=RackWidthChoices.WIDTH_19IN, u_height=42, desc_units=False, outer_width=100, outer_depth=100, outer_unit=RackDimensionUnitChoices.UNIT_MILLIMETER, weight=10, weight_unit=WeightUnitChoices.UNIT_POUND), + Rack(name='Rack 2', facility_id='rack-2', site=sites[1], location=locations[1], tenant=tenants[1], status=RackStatusChoices.STATUS_PLANNED, role=rack_roles[1], serial='DEF', asset_tag='1002', type=RackTypeChoices.TYPE_4POST, width=RackWidthChoices.WIDTH_21IN, u_height=43, desc_units=False, outer_width=200, outer_depth=200, outer_unit=RackDimensionUnitChoices.UNIT_MILLIMETER, weight=20, weight_unit=WeightUnitChoices.UNIT_POUND), + Rack(name='Rack 3', facility_id='rack-3', site=sites[2], location=locations[2], tenant=tenants[2], status=RackStatusChoices.STATUS_RESERVED, role=rack_roles[2], serial='GHI', asset_tag='1003', type=RackTypeChoices.TYPE_CABINET, width=RackWidthChoices.WIDTH_23IN, u_height=44, desc_units=True, outer_width=300, outer_depth=300, outer_unit=RackDimensionUnitChoices.UNIT_INCH, weight=30, weight_unit=WeightUnitChoices.UNIT_KILOGRAM), ) Rack.objects.bulk_create(racks) @@ -517,6 +517,14 @@ class RackTestCase(TestCase, ChangeLoggedFilterSetTests): params = {'tenant_group': [tenant_groups[0].slug, tenant_groups[1].slug]} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) + def test_weight(self): + params = {'weight': [10, 20]} + self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) + + def test_weight_unit(self): + params = {'weight_unit': WeightUnitChoices.UNIT_POUND} + self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) + class RackReservationTestCase(TestCase, ChangeLoggedFilterSetTests): queryset = RackReservation.objects.all() @@ -688,9 +696,9 @@ class DeviceTypeTestCase(TestCase, ChangeLoggedFilterSetTests): Manufacturer.objects.bulk_create(manufacturers) device_types = ( - DeviceType(manufacturer=manufacturers[0], model='Model 1', slug='model-1', part_number='Part Number 1', u_height=1, is_full_depth=True, front_image='front.png', rear_image='rear.png'), - DeviceType(manufacturer=manufacturers[1], model='Model 2', slug='model-2', part_number='Part Number 2', u_height=2, is_full_depth=True, subdevice_role=SubdeviceRoleChoices.ROLE_PARENT, airflow=DeviceAirflowChoices.AIRFLOW_FRONT_TO_REAR), - DeviceType(manufacturer=manufacturers[2], model='Model 3', slug='model-3', part_number='Part Number 3', u_height=3, is_full_depth=False, subdevice_role=SubdeviceRoleChoices.ROLE_CHILD, airflow=DeviceAirflowChoices.AIRFLOW_REAR_TO_FRONT), + DeviceType(manufacturer=manufacturers[0], model='Model 1', slug='model-1', part_number='Part Number 1', u_height=1, is_full_depth=True, front_image='front.png', rear_image='rear.png', weight=10, weight_unit=WeightUnitChoices.UNIT_POUND), + DeviceType(manufacturer=manufacturers[1], model='Model 2', slug='model-2', part_number='Part Number 2', u_height=2, is_full_depth=True, subdevice_role=SubdeviceRoleChoices.ROLE_PARENT, airflow=DeviceAirflowChoices.AIRFLOW_FRONT_TO_REAR, weight=20, weight_unit=WeightUnitChoices.UNIT_POUND), + DeviceType(manufacturer=manufacturers[2], model='Model 3', slug='model-3', part_number='Part Number 3', u_height=3, is_full_depth=False, subdevice_role=SubdeviceRoleChoices.ROLE_CHILD, airflow=DeviceAirflowChoices.AIRFLOW_REAR_TO_FRONT, weight=30, weight_unit=WeightUnitChoices.UNIT_KILOGRAM), ) DeviceType.objects.bulk_create(device_types) @@ -839,6 +847,14 @@ class DeviceTypeTestCase(TestCase, ChangeLoggedFilterSetTests): params = {'inventory_items': 'false'} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) + def test_weight(self): + params = {'weight': [10, 20]} + self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) + + def test_weight_unit(self): + params = {'weight_unit': WeightUnitChoices.UNIT_POUND} + self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) + class ModuleTypeTestCase(TestCase, ChangeLoggedFilterSetTests): queryset = ModuleType.objects.all() @@ -855,9 +871,9 @@ class ModuleTypeTestCase(TestCase, ChangeLoggedFilterSetTests): Manufacturer.objects.bulk_create(manufacturers) module_types = ( - ModuleType(manufacturer=manufacturers[0], model='Model 1', part_number='Part Number 1'), - ModuleType(manufacturer=manufacturers[1], model='Model 2', part_number='Part Number 2'), - ModuleType(manufacturer=manufacturers[2], model='Model 3', part_number='Part Number 3'), + ModuleType(manufacturer=manufacturers[0], model='Model 1', part_number='Part Number 1', weight=10, weight_unit=WeightUnitChoices.UNIT_POUND), + ModuleType(manufacturer=manufacturers[1], model='Model 2', part_number='Part Number 2', weight=20, weight_unit=WeightUnitChoices.UNIT_POUND), + ModuleType(manufacturer=manufacturers[2], model='Model 3', part_number='Part Number 3', weight=30, weight_unit=WeightUnitChoices.UNIT_KILOGRAM), ) ModuleType.objects.bulk_create(module_types) @@ -943,6 +959,14 @@ class ModuleTypeTestCase(TestCase, ChangeLoggedFilterSetTests): params = {'pass_through_ports': 'false'} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 1) + def test_weight(self): + params = {'weight': [10, 20]} + self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) + + def test_weight_unit(self): + params = {'weight_unit': WeightUnitChoices.UNIT_POUND} + self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) + class ConsolePortTemplateTestCase(TestCase, ChangeLoggedFilterSetTests): queryset = ConsolePortTemplate.objects.all() diff --git a/netbox/templates/dcim/devicetype.html b/netbox/templates/dcim/devicetype.html index bb3ec9d2e..6a37a8d06 100644 --- a/netbox/templates/dcim/devicetype.html +++ b/netbox/templates/dcim/devicetype.html @@ -35,6 +35,16 @@ Full Depth {% checkmark object.is_full_depth %} + + Weight + + {% if object.weight %} + {{ object.weight|floatformat }} {{ object.get_weight_unit_display }} + {% else %} + {{ ''|placeholder }} + {% endif %} + + Parent/Child diff --git a/netbox/templates/dcim/moduletype.html b/netbox/templates/dcim/moduletype.html index 2c8e77be3..8128e64be 100644 --- a/netbox/templates/dcim/moduletype.html +++ b/netbox/templates/dcim/moduletype.html @@ -22,6 +22,16 @@ Part Number {{ object.part_number|placeholder }} + + Weight + + {% if object.weight %} + {{ object.weight|floatformat }} {{ object.get_weight_unit_display }} + {% else %} + {{ ''|placeholder }} + {% endif %} + + Instances {{ instance_count }} diff --git a/netbox/templates/dcim/rack.html b/netbox/templates/dcim/rack.html index 51e873ffa..e30ce7a62 100644 --- a/netbox/templates/dcim/rack.html +++ b/netbox/templates/dcim/rack.html @@ -104,9 +104,7 @@
-
- Dimensions -
+
Dimensions
@@ -147,6 +145,20 @@ {% endif %} + + + + + + + +
Rack Weight + {% if object.weight %} + {{ object.weight|floatformat }} {{ object.get_weight_unit_display }} + {% else %} + {{ ''|placeholder }} + {% endif %} +
Total Weight{{ object.total_weight|floatformat }} Kilograms
@@ -186,6 +198,7 @@
{% endif %} + {% include 'inc/panels/image_attachments.html' %}
diff --git a/netbox/templates/dcim/rack_edit.html b/netbox/templates/dcim/rack_edit.html index ca97be34d..4a340c147 100644 --- a/netbox/templates/dcim/rack_edit.html +++ b/netbox/templates/dcim/rack_edit.html @@ -57,6 +57,14 @@
{% render_field form.desc_units %}
+
+
+
Weight
+
+ {% render_field form.weight %} + {% render_field form.weight_unit %} +
+ {% if form.custom_fields %}
diff --git a/netbox/utilities/utils.py b/netbox/utilities/utils.py index 69ab615fc..9f587e88d 100644 --- a/netbox/utilities/utils.py +++ b/netbox/utilities/utils.py @@ -12,7 +12,7 @@ from django.http import QueryDict from jinja2.sandbox import SandboxedEnvironment from mptt.models import MPTTModel -from dcim.choices import CableLengthUnitChoices +from dcim.choices import CableLengthUnitChoices, WeightUnitChoices from extras.plugins import PluginConfig from extras.utils import is_taggable from netbox.config import get_config @@ -270,6 +270,31 @@ def to_meters(length, unit): raise ValueError(f"Unknown unit {unit}. Must be 'km', 'm', 'cm', 'mi', 'ft', or 'in'.") +def to_grams(weight, unit): + """ + Convert the given weight to kilograms. + """ + try: + if weight < 0: + raise ValueError("Weight must be a positive number") + except TypeError: + raise TypeError(f"Invalid value '{weight}' for weight (must be a number)") + + valid_units = WeightUnitChoices.values() + if unit not in valid_units: + raise ValueError(f"Unknown unit {unit}. Must be one of the following: {', '.join(valid_units)}") + + if unit == WeightUnitChoices.UNIT_KILOGRAM: + return weight * 1000 + if unit == WeightUnitChoices.UNIT_GRAM: + return weight + if unit == WeightUnitChoices.UNIT_POUND: + return weight * Decimal(453.592) + if unit == WeightUnitChoices.UNIT_OUNCE: + return weight * Decimal(28.3495) + raise ValueError(f"Unknown unit {unit}. Must be 'kg', 'g', 'lb', 'oz'.") + + def render_jinja2(template_code, context): """ Render a Jinja2 template with the provided context. Return the rendered content. From 97d561ac330db53c902717fddb52b9209db598bf Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Fri, 30 Sep 2022 16:37:07 -0400 Subject: [PATCH 022/162] Changelog for #9654, #10348 --- docs/release-notes/version-3.4.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/docs/release-notes/version-3.4.md b/docs/release-notes/version-3.4.md index 24e5a0ea9..4019ef474 100644 --- a/docs/release-notes/version-3.4.md +++ b/docs/release-notes/version-3.4.md @@ -18,7 +18,9 @@ A new `PluginMenu` class has been introduced, which enables a plugin to inject a ### Enhancements * [#9249](https://github.com/netbox-community/netbox/issues/9249) - Device and virtual machine names are no longer case-sensitive +* [#9654](https://github.com/netbox-community/netbox/issues/9654) - Add `weight` field to racks, device types, and module types * [#9892](https://github.com/netbox-community/netbox/issues/9892) - Add optional `name` field for FHRP groups +* [#10348](https://github.com/netbox-community/netbox/issues/10348) - Add decimal custom field type ### Plugins API @@ -35,5 +37,11 @@ A new `PluginMenu` class has been introduced, which enables a plugin to inject a * circuits.provider * Removed the `asn`, `noc_contact`, `admin_contact`, and `portal_url` fields +* dcim.DeviceType + * Added optional `weight` and `weight_unit` fields +* dcim.ModuleType + * Added optional `weight` and `weight_unit` fields +* dcim.Rack + * Added optional `weight` and `weight_unit` fields * ipam.FHRPGroup * Added optional `name` field From 5cc55d1e993d4d21655a7f536dd1ce299755784b Mon Sep 17 00:00:00 2001 From: Patrick Hurrelmann Date: Tue, 27 Sep 2022 17:24:19 +0200 Subject: [PATCH 023/162] Fixes: #10465 Format all remaining displayed rackunits with floatformat (#10481) * Fixes: #10465 Try to finish #10268 and format all remaining displayed rackunits with floatformat * #10465: PEP8 fix Co-authored-by: Patrick Hurrelmann Co-authored-by: jeremystretch --- netbox/dcim/tables/devicetypes.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/netbox/dcim/tables/devicetypes.py b/netbox/dcim/tables/devicetypes.py index bc596a297..c48e93ca7 100644 --- a/netbox/dcim/tables/devicetypes.py +++ b/netbox/dcim/tables/devicetypes.py @@ -92,6 +92,9 @@ class DeviceTypeTable(NetBoxTable): template_code=DEVICE_WEIGHT, order_by=('_abs_weight', 'weight_unit') ) + u_height = columns.TemplateColumn( + template_code='{{ value|floatformat }}' + ) class Meta(NetBoxTable.Meta): model = DeviceType From ac7db3cc88dcb8159df3256c64b5f8dda642050e Mon Sep 17 00:00:00 2001 From: Jonathan Senecal Date: Tue, 20 Sep 2022 15:50:33 -0400 Subject: [PATCH 024/162] Tidy-up imports and typing (cherry picked from commit adee5cf6a8856ceda0170a4382cec8fd784be93b) --- netbox/netbox/settings.py | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/netbox/netbox/settings.py b/netbox/netbox/settings.py index cfd4d231c..a0e8f5ffa 100644 --- a/netbox/netbox/settings.py +++ b/netbox/netbox/settings.py @@ -1,18 +1,17 @@ import hashlib import importlib -import logging import os import platform -import re -import socket import sys import warnings from urllib.parse import urlsplit +import django import sentry_sdk from django.contrib.messages import constants as messages from django.core.exceptions import ImproperlyConfigured, ValidationError from django.core.validators import URLValidator +from django.utils.encoding import force_str from sentry_sdk.integrations.django import DjangoIntegration from netbox.config import PARAMS @@ -20,9 +19,7 @@ from netbox.config import PARAMS # Monkey patch to fix Django 4.0 support for graphene-django (see # https://github.com/graphql-python/graphene-django/issues/1284) # TODO: Remove this when graphene-django 2.16 becomes available -import django -from django.utils.encoding import force_str -django.utils.encoding.force_text = force_str +django.utils.encoding.force_text = force_str # type: ignore # @@ -186,7 +183,7 @@ if STORAGE_BACKEND is not None: if STORAGE_BACKEND.startswith('storages.'): try: - import storages.utils + import storages.utils # type: ignore except ModuleNotFoundError as e: if getattr(e, 'name') == 'storages': raise ImproperlyConfigured( From dc522a0135df41f0905c114ad40ffc5026287f47 Mon Sep 17 00:00:00 2001 From: Jonathan Senecal Date: Tue, 20 Sep 2022 17:55:44 -0400 Subject: [PATCH 025/162] Initial implementation - Allows to specify a list of django-apps to be "installed" alongside the plugin. (cherry picked from commit 6c7296200d756d2acbba3a589a7759f3a690cc48) --- netbox/extras/plugins/__init__.py | 3 +++ netbox/netbox/settings.py | 34 +++++++++++++++++++++++++++++-- 2 files changed, 35 insertions(+), 2 deletions(-) diff --git a/netbox/extras/plugins/__init__.py b/netbox/extras/plugins/__init__.py index ef1106aea..3efa9aaa7 100644 --- a/netbox/extras/plugins/__init__.py +++ b/netbox/extras/plugins/__init__.py @@ -55,6 +55,9 @@ class PluginConfig(AppConfig): # Django-rq queues dedicated to the plugin queues = [] + # Django apps to append to INSTALLED_APPS when plugin requires them. + django_apps = [] + # Default integration paths. Plugin authors can override these to customize the paths to # integrated components. graphql_schema = 'graphql.schema' diff --git a/netbox/netbox/settings.py b/netbox/netbox/settings.py index a0e8f5ffa..ed225da52 100644 --- a/netbox/netbox/settings.py +++ b/netbox/netbox/settings.py @@ -1,5 +1,6 @@ import hashlib import importlib +import importlib.util import os import platform import sys @@ -12,6 +13,7 @@ from django.contrib.messages import constants as messages from django.core.exceptions import ImproperlyConfigured, ValidationError from django.core.validators import URLValidator from django.utils.encoding import force_str +from extras.plugins import PluginConfig from sentry_sdk.integrations.django import DjangoIntegration from netbox.config import PARAMS @@ -660,14 +662,42 @@ for plugin_name in PLUGINS: # Determine plugin config and add to INSTALLED_APPS. try: - plugin_config = plugin.config - INSTALLED_APPS.append("{}.{}".format(plugin_config.__module__, plugin_config.__name__)) + plugin_config: PluginConfig = plugin.config except AttributeError: raise ImproperlyConfigured( "Plugin {} does not provide a 'config' variable. This should be defined in the plugin's __init__.py file " "and point to the PluginConfig subclass.".format(plugin_name) ) + plugin_module = "{}.{}".format(plugin_config.__module__, plugin_config.__name__) # type: ignore + # Gather additionnal apps to load alongside this plugin + plugin_apps = plugin_config.django_apps + if plugin_name in plugin_apps: + plugin_apps.pop(plugin_name) + if plugin_module not in plugin_apps: + plugin_apps.append(plugin_module) + + # Test if we can import all modules (or its parent, for PluginConfigs and AppConfigs) + for app in plugin_apps: + if "." in app: + parts = app.split(".") + spec = importlib.util.find_spec(".".join(parts[:-1])) + else: + spec = importlib.util.find_spec(app) + if spec is None: + raise ImproperlyConfigured( + f"Plugin {plugin_name} provides a 'config' variable which contains invalid 'plugin_apps'. " + f"The module {app}, from this list, cannot be imported. Check that the additionnal app has been " + "installed within the correct Python environment." + ) + + + INSTALLED_APPS.extend(plugin_apps) + + # Preserve uniqueness of the INSTALLED_APPS list, we keep the last occurence + sorted_apps = reversed(list(dict.fromkeys(reversed(INSTALLED_APPS)))) + INSTALLED_APPS = list(sorted_apps) + # Validate user-provided configuration settings and assign defaults if plugin_name not in PLUGINS_CONFIG: PLUGINS_CONFIG[plugin_name] = {} From 5c1417c4c76cd09942695fcf71abc37d06689962 Mon Sep 17 00:00:00 2001 From: Jonathan Senecal Date: Wed, 28 Sep 2022 18:11:10 -0400 Subject: [PATCH 026/162] PEP8 fixes --- netbox/netbox/settings.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/netbox/netbox/settings.py b/netbox/netbox/settings.py index ed225da52..0af5eaa1b 100644 --- a/netbox/netbox/settings.py +++ b/netbox/netbox/settings.py @@ -21,7 +21,7 @@ from netbox.config import PARAMS # Monkey patch to fix Django 4.0 support for graphene-django (see # https://github.com/graphql-python/graphene-django/issues/1284) # TODO: Remove this when graphene-django 2.16 becomes available -django.utils.encoding.force_text = force_str # type: ignore +django.utils.encoding.force_text = force_str # type: ignore # @@ -669,7 +669,8 @@ for plugin_name in PLUGINS: "and point to the PluginConfig subclass.".format(plugin_name) ) - plugin_module = "{}.{}".format(plugin_config.__module__, plugin_config.__name__) # type: ignore + plugin_module = "{}.{}".format(plugin_config.__module__, plugin_config.__name__) # type: ignore + # Gather additionnal apps to load alongside this plugin plugin_apps = plugin_config.django_apps if plugin_name in plugin_apps: @@ -691,7 +692,6 @@ for plugin_name in PLUGINS: "installed within the correct Python environment." ) - INSTALLED_APPS.extend(plugin_apps) # Preserve uniqueness of the INSTALLED_APPS list, we keep the last occurence From d4a7af8a896f9962a252af43863f559c5340c1d2 Mon Sep 17 00:00:00 2001 From: Jonathan Senecal Date: Thu, 29 Sep 2022 17:12:18 -0400 Subject: [PATCH 027/162] Update plugins development docs --- docs/plugins/development/index.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/docs/plugins/development/index.md b/docs/plugins/development/index.md index 98db9e0bb..7c2334713 100644 --- a/docs/plugins/development/index.md +++ b/docs/plugins/development/index.md @@ -14,6 +14,7 @@ Plugins can do a lot, including: * Provide their own "pages" (views) in the web user interface * Inject template content and navigation links * Extend NetBox's REST and GraphQL APIs +* Load additionnal Django Apps * Add custom request/response middleware However, keep in mind that each piece of functionality is entirely optional. For example, if your plugin merely adds a piece of middleware or an API endpoint for existing data, there's no need to define any new models. @@ -82,6 +83,7 @@ class FooBarConfig(PluginConfig): default_settings = { 'baz': True } + django_apps = ["foo", "bar", "baz"] config = FooBarConfig ``` @@ -101,6 +103,7 @@ NetBox looks for the `config` variable within a plugin's `__init__.py` to load i | `base_url` | Base path to use for plugin URLs (optional). If not specified, the project's `name` will be used. | | `required_settings` | A list of any configuration parameters that **must** be defined by the user | | `default_settings` | A dictionary of configuration parameters and their default values | +| `django_apps` | A list of additionnal apps to load alongside the plugin | | `min_version` | Minimum version of NetBox with which the plugin is compatible | | `max_version` | Maximum version of NetBox with which the plugin is compatible | | `middleware` | A list of middleware classes to append after NetBox's build-in middleware | @@ -112,6 +115,15 @@ NetBox looks for the `config` variable within a plugin's `__init__.py` to load i All required settings must be configured by the user. If a configuration parameter is listed in both `required_settings` and `default_settings`, the default setting will be ignored. +#### Important notes about `django_apps` + +Loading additional apps may cause more harm than good and could lead to make identifying problems within NetBox itself more difficult. The `django_apps` attribute is intented to be used only for advanced use-cases that require a deeper Django integration. + +Apps from this list are inserted *before* the plugin's `PluginConfig` in the same order. Adding the plugin's `PluginConfig` module to this list changes this behavior and allows for apps to be loaded *after* the plugin. + +Any additionnal app must be installed within the the same Python environment as NetBox or `ImproperlyConfigured` exceptions will be raised when loading the plugin. + + ## Create setup.py `setup.py` is the [setup script](https://docs.python.org/3.8/distutils/setupscript.html) used to package and install our plugin once it's finished. The primary function of this script is to call the setuptools library's `setup()` function to create a Python distribution package. We can pass a number of keyword arguments to control the package creation as well as to provide metadata about the plugin. An example `setup.py` is below: From 0607295081b0f56bcfb3b6ab60925446b95baeaf Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Fri, 30 Sep 2022 16:49:49 -0400 Subject: [PATCH 028/162] Docs cleanup --- docs/plugins/development/index.md | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/docs/plugins/development/index.md b/docs/plugins/development/index.md index 7c2334713..d5aea0591 100644 --- a/docs/plugins/development/index.md +++ b/docs/plugins/development/index.md @@ -14,7 +14,7 @@ Plugins can do a lot, including: * Provide their own "pages" (views) in the web user interface * Inject template content and navigation links * Extend NetBox's REST and GraphQL APIs -* Load additionnal Django Apps +* Load additional Django apps * Add custom request/response middleware However, keep in mind that each piece of functionality is entirely optional. For example, if your plugin merely adds a piece of middleware or an API endpoint for existing data, there's no need to define any new models. @@ -103,7 +103,7 @@ NetBox looks for the `config` variable within a plugin's `__init__.py` to load i | `base_url` | Base path to use for plugin URLs (optional). If not specified, the project's `name` will be used. | | `required_settings` | A list of any configuration parameters that **must** be defined by the user | | `default_settings` | A dictionary of configuration parameters and their default values | -| `django_apps` | A list of additionnal apps to load alongside the plugin | +| `django_apps` | A list of additional Django apps to load alongside the plugin | | `min_version` | Minimum version of NetBox with which the plugin is compatible | | `max_version` | Maximum version of NetBox with which the plugin is compatible | | `middleware` | A list of middleware classes to append after NetBox's build-in middleware | @@ -115,14 +115,13 @@ NetBox looks for the `config` variable within a plugin's `__init__.py` to load i All required settings must be configured by the user. If a configuration parameter is listed in both `required_settings` and `default_settings`, the default setting will be ignored. -#### Important notes about `django_apps` +#### Important Notes About `django_apps` -Loading additional apps may cause more harm than good and could lead to make identifying problems within NetBox itself more difficult. The `django_apps` attribute is intented to be used only for advanced use-cases that require a deeper Django integration. +Loading additional apps may cause more harm than good and could make identifying problems within NetBox itself more difficult. The `django_apps` attribute is intended only for advanced use cases that require a deeper Django integration. -Apps from this list are inserted *before* the plugin's `PluginConfig` in the same order. Adding the plugin's `PluginConfig` module to this list changes this behavior and allows for apps to be loaded *after* the plugin. - -Any additionnal app must be installed within the the same Python environment as NetBox or `ImproperlyConfigured` exceptions will be raised when loading the plugin. +Apps from this list are inserted *before* the plugin's `PluginConfig` in the order defined. Adding the plugin's `PluginConfig` module to this list changes this behavior and allows for apps to be loaded *after* the plugin. +Any additional apps must be installed within the same Python environment as NetBox or `ImproperlyConfigured` exceptions will be raised when loading the plugin. ## Create setup.py From f7860138c79402c30364254ff747c87d743a311b Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Fri, 30 Sep 2022 17:01:37 -0400 Subject: [PATCH 029/162] Rename plugin_apps to django_apps for clarity --- netbox/netbox/settings.py | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/netbox/netbox/settings.py b/netbox/netbox/settings.py index 0af5eaa1b..a2a6f57a6 100644 --- a/netbox/netbox/settings.py +++ b/netbox/netbox/settings.py @@ -671,15 +671,15 @@ for plugin_name in PLUGINS: plugin_module = "{}.{}".format(plugin_config.__module__, plugin_config.__name__) # type: ignore - # Gather additionnal apps to load alongside this plugin - plugin_apps = plugin_config.django_apps - if plugin_name in plugin_apps: - plugin_apps.pop(plugin_name) - if plugin_module not in plugin_apps: - plugin_apps.append(plugin_module) + # Gather additional apps to load alongside this plugin + django_apps = plugin_config.django_apps + if plugin_name in django_apps: + django_apps.pop(plugin_name) + if plugin_module not in django_apps: + django_apps.append(plugin_module) # Test if we can import all modules (or its parent, for PluginConfigs and AppConfigs) - for app in plugin_apps: + for app in django_apps: if "." in app: parts = app.split(".") spec = importlib.util.find_spec(".".join(parts[:-1])) @@ -687,12 +687,12 @@ for plugin_name in PLUGINS: spec = importlib.util.find_spec(app) if spec is None: raise ImproperlyConfigured( - f"Plugin {plugin_name} provides a 'config' variable which contains invalid 'plugin_apps'. " - f"The module {app}, from this list, cannot be imported. Check that the additionnal app has been " + f"Failed to load django_apps specified by plugin {plugin_name}: {django_apps} " + f"The module {app} cannot be imported. Check that the necessary package has been " "installed within the correct Python environment." ) - INSTALLED_APPS.extend(plugin_apps) + INSTALLED_APPS.extend(django_apps) # Preserve uniqueness of the INSTALLED_APPS list, we keep the last occurence sorted_apps = reversed(list(dict.fromkeys(reversed(INSTALLED_APPS)))) From 568e0c7ff66b149583e96947bc500374579c6fee Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Fri, 30 Sep 2022 17:30:18 -0400 Subject: [PATCH 030/162] Changelog for #9880 --- docs/release-notes/version-3.4.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/release-notes/version-3.4.md b/docs/release-notes/version-3.4.md index 4019ef474..537a4968d 100644 --- a/docs/release-notes/version-3.4.md +++ b/docs/release-notes/version-3.4.md @@ -25,6 +25,7 @@ A new `PluginMenu` class has been introduced, which enables a plugin to inject a ### Plugins API * [#9071](https://github.com/netbox-community/netbox/issues/9071) - Introduce `PluginMenu` for top-level plugin navigation menus +* [#9880](https://github.com/netbox-community/netbox/issues/9880) - Introduce `django_apps` plugin configuration parameter * [#10314](https://github.com/netbox-community/netbox/issues/10314) - Move `clone()` method from NetBoxModel to CloningMixin ### Other Changes From 9ef24d3f43022f61044756741f40e095e9290bc1 Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Mon, 3 Oct 2022 10:39:03 -0400 Subject: [PATCH 031/162] Fixes #10513: Disable the reassignment of a module to a new device --- docs/release-notes/version-3.3.md | 1 + netbox/dcim/forms/models.py | 1 + netbox/dcim/models/devices.py | 8 ++++++++ netbox/dcim/tests/test_views.py | 5 +++-- 4 files changed, 13 insertions(+), 2 deletions(-) diff --git a/docs/release-notes/version-3.3.md b/docs/release-notes/version-3.3.md index e91e825f5..2c2db9e47 100644 --- a/docs/release-notes/version-3.3.md +++ b/docs/release-notes/version-3.3.md @@ -16,6 +16,7 @@ * [#10461](https://github.com/netbox-community/netbox/issues/10461) - Enable filtering by read-only custom fields in the UI * [#10470](https://github.com/netbox-community/netbox/issues/10470) - Omit read-only custom fields from CSV import forms * [#10480](https://github.com/netbox-community/netbox/issues/10480) - Cable trace SVG links should not force a new window +* [#10513](https://github.com/netbox-community/netbox/issues/10513) - Disable the reassignment of a module to a new device --- diff --git a/netbox/dcim/forms/models.py b/netbox/dcim/forms/models.py index b33023ece..1f1c869a5 100644 --- a/netbox/dcim/forms/models.py +++ b/netbox/dcim/forms/models.py @@ -679,6 +679,7 @@ class ModuleForm(NetBoxModelForm): super().__init__(*args, **kwargs) if self.instance.pk: + self.fields['device'].disabled = True self.fields['replicate_components'].initial = False self.fields['replicate_components'].disabled = True self.fields['adopt_components'].initial = False diff --git a/netbox/dcim/models/devices.py b/netbox/dcim/models/devices.py index ccf4613bf..4c542341e 100644 --- a/netbox/dcim/models/devices.py +++ b/netbox/dcim/models/devices.py @@ -987,6 +987,14 @@ class Module(NetBoxModel, ConfigContextModel): def get_absolute_url(self): return reverse('dcim:module', args=[self.pk]) + def clean(self): + super().clean() + + if self.module_bay.device != self.device: + raise ValidationError( + f"Module must be installed within a module bay belonging to the assigned device ({self.device})." + ) + def save(self, *args, **kwargs): is_new = self.pk is None diff --git a/netbox/dcim/tests/test_views.py b/netbox/dcim/tests/test_views.py index 50b36e36d..db3495521 100644 --- a/netbox/dcim/tests/test_views.py +++ b/netbox/dcim/tests/test_views.py @@ -1778,10 +1778,12 @@ class ModuleTestCase( ModuleBay(device=devices[0], name='Module Bay 2'), ModuleBay(device=devices[0], name='Module Bay 3'), ModuleBay(device=devices[0], name='Module Bay 4'), + ModuleBay(device=devices[0], name='Module Bay 5'), ModuleBay(device=devices[1], name='Module Bay 1'), ModuleBay(device=devices[1], name='Module Bay 2'), ModuleBay(device=devices[1], name='Module Bay 3'), ModuleBay(device=devices[1], name='Module Bay 4'), + ModuleBay(device=devices[1], name='Module Bay 5'), ) ModuleBay.objects.bulk_create(module_bays) @@ -1795,7 +1797,7 @@ class ModuleTestCase( tags = create_tags('Alpha', 'Bravo', 'Charlie') cls.form_data = { - 'device': devices[1].pk, + 'device': devices[0].pk, 'module_bay': module_bays[3].pk, 'module_type': module_types[0].pk, 'serial': 'A', @@ -1867,7 +1869,6 @@ class ModuleTestCase( self.assertIsNone(interface.module) # Create a module with adopted components - form_data['module_bay'] = ModuleBay.objects.filter(device=device).first() form_data['module_type'] = module_type form_data['replicate_components'] = False form_data['adopt_components'] = True From 0b6a3898fe0970b77928c9cf99588af8c7f2dc4a Mon Sep 17 00:00:00 2001 From: Arthur Hanson Date: Mon, 3 Oct 2022 10:55:05 -0700 Subject: [PATCH 032/162] 8424 device location (#10544) * 8424 fix merge * 8424 fix merge * 8424 fix merge * 8424 fix merge --- netbox/dcim/views.py | 1 + netbox/templates/dcim/device.html | 20 ++++++++++++++++++-- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/netbox/dcim/views.py b/netbox/dcim/views.py index 7a6aecc8e..5930d6b2d 100644 --- a/netbox/dcim/views.py +++ b/netbox/dcim/views.py @@ -1616,6 +1616,7 @@ class DeviceView(generic.ObjectView): return { 'services': services, 'vc_members': vc_members, + 'svg_extra': f'highlight=id:{instance.pk}' } diff --git a/netbox/templates/dcim/device.html b/netbox/templates/dcim/device.html index 253d905f2..d800658a5 100644 --- a/netbox/templates/dcim/device.html +++ b/netbox/templates/dcim/device.html @@ -7,7 +7,7 @@ {% block content %}
-
+
Device @@ -153,7 +153,7 @@ {% include 'inc/panels/comments.html' %} {% plugin_left_page object %}
-
+
Management
@@ -286,6 +286,22 @@
{% include 'inc/panels/contacts.html' %} {% include 'inc/panels/image_attachments.html' %} + {% if object.rack and object.position %} +
+
+
+

Front

+ {% include 'dcim/inc/rack_elevation.html' with object=object.rack face='front' extra_params=svg_extra %} +
+
+
+
+

Rear

+ {% include 'dcim/inc/rack_elevation.html' with object=object.rack face='rear' extra_params=svg_extra %} +
+
+
+ {% endif %} {% plugin_right_page object %}
From cf062b5b6aeb1f496f2a0670090c8349efa8fc73 Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Mon, 3 Oct 2022 13:56:46 -0400 Subject: [PATCH 033/162] Closes #10346: Document how to access plugin config parameters --- docs/plugins/development/index.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/docs/plugins/development/index.md b/docs/plugins/development/index.md index 98db9e0bb..a2f3b8ce9 100644 --- a/docs/plugins/development/index.md +++ b/docs/plugins/development/index.md @@ -112,6 +112,14 @@ NetBox looks for the `config` variable within a plugin's `__init__.py` to load i All required settings must be configured by the user. If a configuration parameter is listed in both `required_settings` and `default_settings`, the default setting will be ignored. +!!! tip "Accessing Config Parameters" + Plugin configuration parameters can be accessed in `settings.PLUGINS_CONFIG`, mapped by plugin name. For example: + + ```python + from django.conf import settings + settings.PLUGINS_CONFIG['myplugin']['verbose_name'] + ``` + ## Create setup.py `setup.py` is the [setup script](https://docs.python.org/3.8/distutils/setupscript.html) used to package and install our plugin once it's finished. The primary function of this script is to call the setuptools library's `setup()` function to create a Python distribution package. We can pass a number of keyword arguments to control the package creation as well as to provide metadata about the plugin. An example `setup.py` is below: From aabee05a6ab02adcf008e51a3b71c52d5ce1685b Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Mon, 3 Oct 2022 13:58:04 -0400 Subject: [PATCH 034/162] Changelog for #8424, #10491 --- docs/release-notes/version-3.3.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/release-notes/version-3.3.md b/docs/release-notes/version-3.3.md index 2c2db9e47..897cd7f38 100644 --- a/docs/release-notes/version-3.3.md +++ b/docs/release-notes/version-3.3.md @@ -4,6 +4,7 @@ ### Enhancements +* [#8424](https://github.com/netbox-community/netbox/issues/8424) - Include rack elevation under device view * [#10465](https://github.com/netbox-community/netbox/issues/10465) - Improve formatting of device heights and rack positions ### Bug Fixes @@ -16,6 +17,7 @@ * [#10461](https://github.com/netbox-community/netbox/issues/10461) - Enable filtering by read-only custom fields in the UI * [#10470](https://github.com/netbox-community/netbox/issues/10470) - Omit read-only custom fields from CSV import forms * [#10480](https://github.com/netbox-community/netbox/issues/10480) - Cable trace SVG links should not force a new window +* [#10491](https://github.com/netbox-community/netbox/issues/10491) - Clarify representation of blocking contact assignments during contact deletion * [#10513](https://github.com/netbox-community/netbox/issues/10513) - Disable the reassignment of a module to a new device --- From d1efbf662005aeed91fa21fa26e34de3e307bb50 Mon Sep 17 00:00:00 2001 From: PieterL75 <74899468+PieterL75@users.noreply.github.com> Date: Mon, 3 Oct 2022 20:32:01 +0200 Subject: [PATCH 035/162] Issue10352 removegetvariables (#10475) * Add javascript to disable empty form fields * add js cleanGetUrl * use addEventListener submit * use addEventListener * update collectstatics * Use FormData to remove empty fields * optimeze ts-ignore * update ts-ignore comment * oneline of ts-ignore * one line of ts-ingnore * fix tsc errors by adding types (as per kkthxbye) Co-authored-by: Pieter Lambrecht --- netbox/project-static/dist/netbox.js | Bin 374422 -> 374623 bytes netbox/project-static/dist/netbox.js.map | Bin 344131 -> 344325 bytes netbox/project-static/src/netbox.ts | 14 ++++++++++++++ 3 files changed, 14 insertions(+) diff --git a/netbox/project-static/dist/netbox.js b/netbox/project-static/dist/netbox.js index 6d0aa15358c6a96b7df28bd75793d2fd96670267..fe7a7e56901cbd2a09c93c5ff269ded0f07d8d84 100644 GIT binary patch delta 237 zcmW-au}T9$6h%?97Gm11*DaPA2&1JCrVtei3mdJ(V#vNt0yB5w+gU+GwAeooOzjt# zLhy6^0{sPjvAMqF`>lTPk^R0OHjzU+mQ;6+3qlc_B0&>OpfroM zN%3m2AU<|2DQ#_ec6wP>6}`M&F7M3ln|JP5~@n+?ler*G*7*9!_qOEOSX-LsT7HUGb*&xK1_YVass}N* z=j?RA&U&WonMoj*S`%Iwr#~(lW33PYaz&s9*lK%LjXp){AWjUP&r?aB5p705aPoXt G#p4HLC_O9y delta 28 jcmZo|5Ry*;zDq0{sd2iA!Ij=c#` diff --git a/netbox/project-static/src/netbox.ts b/netbox/project-static/src/netbox.ts index c178a2dbd..9bf23410d 100644 --- a/netbox/project-static/src/netbox.ts +++ b/netbox/project-static/src/netbox.ts @@ -37,6 +37,20 @@ function initDocument(): void { } function initWindow(): void { + + const documentForms = document.forms + for (var documentForm of documentForms) { + if (documentForm.method.toUpperCase() == 'GET') { + // @ts-ignore: Our version of typescript seems to be too old for FormDataEvent + documentForm.addEventListener('formdata', function(event: FormDataEvent) { + let formData: FormData = event.formData; + for (let [name, value] of Array.from(formData.entries())) { + if (value === '') formData.delete(name); + } + }); + } + } + const contentContainer = document.querySelector('.content-container'); if (contentContainer !== null) { // Focus the content container for accessible navigation. From 7feb86fe55db68827fcae8c81ce6668eb1bfd0dd Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Mon, 3 Oct 2022 15:03:28 -0400 Subject: [PATCH 036/162] Changelog for #10352 --- docs/release-notes/version-3.3.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/release-notes/version-3.3.md b/docs/release-notes/version-3.3.md index 897cd7f38..378eb993e 100644 --- a/docs/release-notes/version-3.3.md +++ b/docs/release-notes/version-3.3.md @@ -5,6 +5,7 @@ ### Enhancements * [#8424](https://github.com/netbox-community/netbox/issues/8424) - Include rack elevation under device view +* [#10352](https://github.com/netbox-community/netbox/issues/10352) - Omit extraneous URL query attributes during search * [#10465](https://github.com/netbox-community/netbox/issues/10465) - Improve formatting of device heights and rack positions ### Bug Fixes From 7712b81ab9f634c4281023588aba284041dda5a3 Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Mon, 3 Oct 2022 15:35:45 -0400 Subject: [PATCH 037/162] Fixes #10517: Automatically inherit site assignment from cluster when creating a virtual machine --- docs/release-notes/version-3.3.md | 1 + netbox/virtualization/models.py | 4 +++- netbox/virtualization/tests/test_models.py | 7 ++++--- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/docs/release-notes/version-3.3.md b/docs/release-notes/version-3.3.md index 378eb993e..6d2bb3b5c 100644 --- a/docs/release-notes/version-3.3.md +++ b/docs/release-notes/version-3.3.md @@ -20,6 +20,7 @@ * [#10480](https://github.com/netbox-community/netbox/issues/10480) - Cable trace SVG links should not force a new window * [#10491](https://github.com/netbox-community/netbox/issues/10491) - Clarify representation of blocking contact assignments during contact deletion * [#10513](https://github.com/netbox-community/netbox/issues/10513) - Disable the reassignment of a module to a new device +* [#10517](https://github.com/netbox-community/netbox/issues/10517) - Automatically inherit site assignment from cluster when creating a virtual machine --- diff --git a/netbox/virtualization/models.py b/netbox/virtualization/models.py index abad57f88..69376d9c5 100644 --- a/netbox/virtualization/models.py +++ b/netbox/virtualization/models.py @@ -347,10 +347,12 @@ class VirtualMachine(NetBoxModel, ConfigContextModel): }) # Validate site for cluster & device - if self.cluster and self.cluster.site != self.site: + if self.cluster and self.site and self.cluster.site != self.site: raise ValidationError({ 'cluster': f'The selected cluster ({self.cluster} is not assigned to this site ({self.site}).' }) + elif self.cluster: + self.site = self.cluster.site if self.device and self.device.site != self.site: raise ValidationError({ 'device': f'The selected device ({self.device} is not assigned to this site ({self.site}).' diff --git a/netbox/virtualization/tests/test_models.py b/netbox/virtualization/tests/test_models.py index df5816efa..e916486b0 100644 --- a/netbox/virtualization/tests/test_models.py +++ b/netbox/virtualization/tests/test_models.py @@ -68,6 +68,7 @@ class VirtualMachineTestCase(TestCase): with self.assertRaises(ValidationError): VirtualMachine(name='vm1', site=sites[0], cluster=clusters[1]).full_clean() - # VM with cluster site but no direct site should fail - with self.assertRaises(ValidationError): - VirtualMachine(name='vm1', site=None, cluster=clusters[0]).full_clean() + # VM with cluster site but no direct site should have its site set automatically + vm = VirtualMachine(name='vm1', site=None, cluster=clusters[0]) + vm.full_clean() + self.assertEqual(vm.site, sites[0]) From eef5cefb5d8a8c5f60a015c09f0051a76b0d12ca Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Mon, 3 Oct 2022 16:11:24 -0400 Subject: [PATCH 038/162] Fixes #10460: Restore missing connection details for device components --- docs/release-notes/version-3.3.md | 1 + netbox/templates/dcim/consoleport.html | 104 ++++++------------ netbox/templates/dcim/consoleserverport.html | 104 ++++++------------ .../templates/dcim/inc/cabletermination.html | 14 --- .../dcim/inc/connection_endpoints.html | 36 ++++++ netbox/templates/dcim/interface.html | 86 +-------------- netbox/templates/dcim/powerfeed.html | 88 ++++----------- netbox/templates/dcim/poweroutlet.html | 82 ++++---------- netbox/templates/dcim/powerport.html | 102 ++++++----------- 9 files changed, 178 insertions(+), 439 deletions(-) delete mode 100644 netbox/templates/dcim/inc/cabletermination.html create mode 100644 netbox/templates/dcim/inc/connection_endpoints.html diff --git a/docs/release-notes/version-3.3.md b/docs/release-notes/version-3.3.md index 6d2bb3b5c..4b7b76270 100644 --- a/docs/release-notes/version-3.3.md +++ b/docs/release-notes/version-3.3.md @@ -15,6 +15,7 @@ * [#10435](https://github.com/netbox-community/netbox/issues/10435) - Fix exception when filtering VLANs by virtual machine with no cluster assigned * [#10439](https://github.com/netbox-community/netbox/issues/10439) - Fix form widget styling for DeviceType airflow field * [#10445](https://github.com/netbox-community/netbox/issues/10445) - Avoid rounding virtual machine memory values +* [#10460](https://github.com/netbox-community/netbox/issues/10460) - Restore missing connection details for device components * [#10461](https://github.com/netbox-community/netbox/issues/10461) - Enable filtering by read-only custom fields in the UI * [#10470](https://github.com/netbox-community/netbox/issues/10470) - Omit read-only custom fields from CSV import forms * [#10480](https://github.com/netbox-community/netbox/issues/10480) - Cable trace SVG links should not force a new window diff --git a/netbox/templates/dcim/consoleport.html b/netbox/templates/dcim/consoleport.html index 39ffbf552..ad4f15c9d 100644 --- a/netbox/templates/dcim/consoleport.html +++ b/netbox/templates/dcim/consoleport.html @@ -54,80 +54,40 @@ {% plugin_left_page object %}
-
-
- Connection -
-
- {% if object.mark_connected %} - Marked as connected - {% elif object.cable %} - - - - - - {% if object.connected_endpoint %} - - - - - - - - - - - - - - - - - - - - - {% endif %} -
Cable - {{ object.cable|linkify }} - - - -
Device{{ object.connected_endpoint.device|linkify }}
Name{{ object.connected_endpoint|linkify:"name" }}
Type{{ object.connected_endpoint.get_type_display|placeholder }}
Description{{ object.connected_endpoint.description|placeholder }}
Path Status - {% if object.path.is_active %} - Reachable - {% else %} - Not Reachable - {% endif %} -
- {% else %} -
- Not Connected - {% if perms.dcim.add_cable %} - - {% endif %} -
- {% endif %} +
+
Connection
+
+ {% if object.mark_connected %} + Marked as connected + {% elif object.cable %} + {% include 'dcim/inc/connection_endpoints.html' %} + {% else %} +
+ Not Connected + {% if perms.dcim.add_cable %} + + {% endif %}
+ {% endif %}
- {% include 'dcim/inc/panels/inventory_items.html' %} - {% plugin_right_page object %} +
+ {% include 'dcim/inc/panels/inventory_items.html' %} + {% plugin_right_page object %}
diff --git a/netbox/templates/dcim/consoleserverport.html b/netbox/templates/dcim/consoleserverport.html index 642e758a3..a543cd5ff 100644 --- a/netbox/templates/dcim/consoleserverport.html +++ b/netbox/templates/dcim/consoleserverport.html @@ -54,82 +54,40 @@ {% plugin_left_page object %}
-
-
- Connection -
-
- {% if object.mark_connected %} - Marked as connected - {% elif object.cable %} - - - - - - {% if object.connected_endpoint %} - - - - - - - - - - - - - - - - - - - - - {% endif %} -
Cable - {{ object.cable|linkify }} - - - -
Device - {{ object.connected_endpoint.device|linkify }} -
Name{{ object.connected_endpoint|linkify:"name" }}
Type{{ object.connected_endpoint.get_type_display|placeholder }}
Description{{ object.connected_endpoint.description|placeholder }}
Path Status - {% if object.path.is_active %} - Reachable - {% else %} - Not Reachable - {% endif %} -
- {% else %} -
- Not Connected - {% if perms.dcim.add_cable %} - - {% endif %} +
+
Connection
+
+ {% if object.mark_connected %} + Marked as connected + {% elif object.cable %} + {% include 'dcim/inc/connection_endpoints.html' %} + {% else %} +
+ Not Connected + {% if perms.dcim.add_cable %} + - {% endif %} + {% endif %}
+ {% endif %}
- {% include 'dcim/inc/panels/inventory_items.html' %} - {% plugin_right_page object %} +
+ {% include 'dcim/inc/panels/inventory_items.html' %} + {% plugin_right_page object %}
diff --git a/netbox/templates/dcim/inc/cabletermination.html b/netbox/templates/dcim/inc/cabletermination.html deleted file mode 100644 index c7fa7918a..000000000 --- a/netbox/templates/dcim/inc/cabletermination.html +++ /dev/null @@ -1,14 +0,0 @@ - - {% if termination.parent_object.provider %} - - - {{ termination.parent_object.provider }} - {{ termination.parent_object }} - - {% else %} - {{ termination.parent_object|linkify }} - {% endif %} - - - {{ termination|linkify }} - diff --git a/netbox/templates/dcim/inc/connection_endpoints.html b/netbox/templates/dcim/inc/connection_endpoints.html new file mode 100644 index 000000000..fb994a492 --- /dev/null +++ b/netbox/templates/dcim/inc/connection_endpoints.html @@ -0,0 +1,36 @@ + + + + + + + + + + + + + +
Cable + {{ object.cable|linkify }} + + + +
Path Status + {% if object.path.is_complete and object.path.is_active %} + Reachable + {% else %} + Not Reachable + {% endif %} +
Path Endpoints + {% for endpoint in object.connected_endpoints %} + {% if endpoint.parent_object %} + {{ endpoint.parent_object|linkify }} + + {% endif %} + {{ endpoint|linkify }} + {% if not forloop.last %}
{% endif %} + {% empty %} + {{ ''|placeholder }} + {% endfor %} +
diff --git a/netbox/templates/dcim/interface.html b/netbox/templates/dcim/interface.html index 1216f3e88..887433d7b 100644 --- a/netbox/templates/dcim/interface.html +++ b/netbox/templates/dcim/interface.html @@ -144,89 +144,7 @@ Marked as Connected
{% elif object.cable %} - - {% if object.connected_endpoint.device %} - - - - {% endif %} - - - - - {% if object.connected_endpoint.device %} - {% with iface=object.connected_endpoint %} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - {% endwith %} - {% elif object.connected_endpoint.circuit %} - {% with ct=object.connected_endpoint %} - - - - - - - - - - - - - {% endwith %} - {% endif %} - - - - -
- {% if object.connected_endpoint.enabled %} - Enabled - {% else %} - Disabled - {% endif %} -
Cable - {{ object.cable|linkify }} - - - -
Device{{ iface.device|linkify }}
Name{{ iface|linkify:"name" }}
Type{{ iface.get_type_display }}
LAG{{ iface.lag|linkify|placeholder }}
Description{{ iface.description|placeholder }}
MTU{{ iface.mtu|placeholder }}
MAC Address{{ iface.mac_address|placeholder }}
802.1Q Mode{{ iface.get_mode_display }}
Provider{{ ct.circuit.provider|linkify }}
Circuit{{ ct.circuit|linkify }}
Side{{ ct.term_side }}
Path Status - {% if object.path.is_complete and object.path.is_active %} - Reachable - {% else %} - Not Reachable - {% endif %} -
+ {% include 'dcim/inc/connection_endpoints.html' %} {% elif object.wireless_link %} @@ -238,7 +156,7 @@ - {% with peer_interface=object.connected_endpoint %} + {% with peer_interface=object.link_peers.0 %} diff --git a/netbox/templates/dcim/powerfeed.html b/netbox/templates/dcim/powerfeed.html index 584454df8..adb779ce3 100644 --- a/netbox/templates/dcim/powerfeed.html +++ b/netbox/templates/dcim/powerfeed.html @@ -100,73 +100,33 @@ {% plugin_left_page object %}
-
-
- Connection -
-
- {% if object.mark_connected %} -
- Marked as connected -
- {% elif object.cable %} -
Device {{ peer_interface.device|linkify }}
- - - - - {% if object.connected_endpoint %} - - - - - - - - - - - - - - - - - - - - - {% endif %} -
Cable - {{ object.cable|linkify }} - - - -
Device{{ object.connected_endpoint.device|linkify }}
Name{{ object.connected_endpoint|linkify:"name" }}
Type{{ object.connected_endpoint.get_type_display|placeholder }}
Description{{ object.connected_endpoint.description|placeholder }}
Path Status - {% if object.path.is_active %} - Reachable - {% else %} - Not Reachable - {% endif %} -
- {% else %} -
- Not connected -
- {% endif %} +
+
Connection
+
+ {% if object.mark_connected %} +
+ Marked as connected
- {% if not object.mark_connected and not object.cable %} - - {% include 'inc/panels/comments.html' %} - {% plugin_right_page object %} + {% if not object.mark_connected and not object.cable %} + + {% endif %} +
+ {% include 'inc/panels/comments.html' %} + {% plugin_right_page object %}
diff --git a/netbox/templates/dcim/poweroutlet.html b/netbox/templates/dcim/poweroutlet.html index 26f4a07f8..fb6de8ddb 100644 --- a/netbox/templates/dcim/poweroutlet.html +++ b/netbox/templates/dcim/poweroutlet.html @@ -58,69 +58,29 @@ {% plugin_left_page object %}
-
-
- Connection -
-
- {% if object.mark_connected %} -
- Marked as Connected -
- {% elif object.cable %} - - - - - - {% if object.connected_endpoint %} - - - - - - - - - - - - - - - - - - - - - {% endif %} -
Cable - {{ object.cable|linkify }} - - - -
Device{{ object.connected_endpoint.device|linkify }}
Name{{ object.connected_endpoint|linkify:"name" }}
Type{{ object.connected_endpoint.get_type_display|placeholder }}
Description{{ object.connected_endpoint.description|placeholder }}
Path Status - {% if object.path.is_active %} - Reachable - {% else %} - Not Reachable - {% endif %} -
- {% else %} -
- Not Connected - {% if perms.dcim.add_cable %} - - Connect - - {% endif %} -
- {% endif %} +
+
Connection
+
+ {% if object.mark_connected %} +
+ Marked as Connected
+ {% elif object.cable %} + {% include 'dcim/inc/connection_endpoints.html' %} + {% else %} +
+ Not Connected + {% if perms.dcim.add_cable %} + + Connect + + {% endif %} +
+ {% endif %}
- {% include 'dcim/inc/panels/inventory_items.html' %} - {% plugin_right_page object %} +
+ {% include 'dcim/inc/panels/inventory_items.html' %} + {% plugin_right_page object %}
diff --git a/netbox/templates/dcim/powerport.html b/netbox/templates/dcim/powerport.html index c5eccbf14..c552c2398 100644 --- a/netbox/templates/dcim/powerport.html +++ b/netbox/templates/dcim/powerport.html @@ -58,79 +58,39 @@ {% plugin_left_page object %}
-
-
- Connection -
-
- {% if object.mark_connected %} -
- Marked as Connected -
- {% elif object.cable %} - - - - - - {% if object.connected_endpoint %} - - - - - - - - - - - - - - - - - - - - - {% endif %} -
Cable - {{ object.cable|linkify }} - - - -
Device{{ object.connected_endpoint.device|linkify }}
Name{{ object.connected_endpoint|linkify:"name" }}
Type{{ object.connected_endpoint.get_type_display|placeholder }}
Description{{ object.connected_endpoint.description|placeholder }}
Path Status - {% if object.path.is_active %} - Reachable - {% else %} - Not Reachable - {% endif %} -
- {% else %} -
- Not Connected - {% if perms.dcim.add_cable %} - - - - - {% endif %} -
- {% endif %} +
+
Connection
+
+ {% if object.mark_connected %} +
+ Marked as Connected
+ {% elif object.cable %} + {% include 'dcim/inc/connection_endpoints.html' %} + {% else %} +
+ Not Connected + {% if perms.dcim.add_cable %} + + + + + {% endif %} +
+ {% endif %}
- {% include 'dcim/inc/panels/inventory_items.html' %} - {% plugin_right_page object %} +
+ {% include 'dcim/inc/panels/inventory_items.html' %} + {% plugin_right_page object %}
From b227757b9aa1a00f3a6d7a5cfa5f37d4c5302b75 Mon Sep 17 00:00:00 2001 From: kkthxbye-code <> Date: Tue, 4 Oct 2022 15:02:37 +0200 Subject: [PATCH 039/162] Update JS dependencies WIP --- netbox/project-static/.eslintrc | 3 +- netbox/project-static/dist/cable_trace.css | Bin 1169 -> 1159 bytes netbox/project-static/dist/config.js | Bin 106692 -> 107705 bytes netbox/project-static/dist/config.js.map | Bin 104214 -> 168411 bytes netbox/project-static/dist/graphiql.css | Bin 27564 -> 27375 bytes netbox/project-static/dist/graphiql.js | Bin 960413 -> 978649 bytes netbox/project-static/dist/graphiql.js.map | Bin 914093 -> 1302868 bytes netbox/project-static/dist/lldp.js | Bin 107347 -> 108360 bytes netbox/project-static/dist/lldp.js.map | Bin 104926 -> 169800 bytes .../materialdesignicons-webfont-DWVXV5L5.woff | Bin 0 -> 561776 bytes ...materialdesignicons-webfont-ER2MFQKM.woff2 | Bin 0 -> 385360 bytes .../materialdesignicons-webfont-UHEFFMSX.eot | Bin 0 -> 1243720 bytes .../materialdesignicons-webfont-WM6M6ZHQ.ttf | Bin 0 -> 1243500 bytes netbox/project-static/dist/netbox-dark.css | Bin 375157 -> 374803 bytes .../project-static/dist/netbox-external.css | Bin 286568 -> 340601 bytes netbox/project-static/dist/netbox-light.css | Bin 232694 -> 232350 bytes netbox/project-static/dist/netbox-print.css | Bin 729266 -> 726263 bytes netbox/project-static/dist/netbox.js | Bin 374623 -> 381275 bytes netbox/project-static/dist/netbox.js.map | Bin 344325 -> 532547 bytes netbox/project-static/dist/rack_elevation.css | Bin 1496 -> 1486 bytes netbox/project-static/dist/status.js | Bin 127282 -> 128416 bytes netbox/project-static/dist/status.js.map | Bin 126751 -> 198777 bytes netbox/project-static/package.json | 59 +- netbox/project-static/src/netbox.ts | 12 +- netbox/project-static/styles/select.scss | 2 +- netbox/project-static/yarn.lock | 3564 +++++++---------- 26 files changed, 1567 insertions(+), 2073 deletions(-) create mode 100644 netbox/project-static/dist/materialdesignicons-webfont-DWVXV5L5.woff create mode 100644 netbox/project-static/dist/materialdesignicons-webfont-ER2MFQKM.woff2 create mode 100644 netbox/project-static/dist/materialdesignicons-webfont-UHEFFMSX.eot create mode 100644 netbox/project-static/dist/materialdesignicons-webfont-WM6M6ZHQ.ttf diff --git a/netbox/project-static/.eslintrc b/netbox/project-static/.eslintrc index 802fa7a3e..30b47308b 100644 --- a/netbox/project-static/.eslintrc +++ b/netbox/project-static/.eslintrc @@ -31,8 +31,7 @@ } }, "rules": { - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-unused-vars-experimental": "error", + "@typescript-eslint/no-unused-vars": "error", "no-unused-vars": "off", "no-inner-declarations": "off", "comma-dangle": ["error", "always-multiline"], diff --git a/netbox/project-static/dist/cable_trace.css b/netbox/project-static/dist/cable_trace.css index ff431f4ad848f1fe4c93892c9cbe87e608d78d34..a5f5ff7e98d8d3727734428bfa2c415a49fd2257 100644 GIT binary patch delta 95 zcmbQp+0MD4mC-IZH9bF7A=FbRC_gE`BwxoPHK#1KBr`ct!7sHmRmZU?GciZU4=AG$ ooS0Xv06#P#4FCWD delta 105 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 YjXX?*Rcs0`^*-4^BA1?gm~3+VUnpM>LjV8( delta 23427 zcmaic349z^egEgJrTD%N`L?u{*R$4WCEGby9&dE4WZAm4k|isOGTNP$M%tZO&CIT} zmXwW20tpZj^O8&w_~)Wfu98p{Oajf(0xcyC38gLnQm%58Ksf@0D*^uB_h$Bx1O0#E z?9BVU`@P@&`;DIZ!WEx={)$RL@JlD>GqO<`HKgwGDJ5zJqJ|<{N&^EXF4pecn=aJE zl(?!XJ%*lA3`+tnqc|;N#oDp*UmQEx>QA0>!=YD^1eo-t;E2=)98em&@ zcJA{Ps`#xGR-*>ol`dOS{bG=Qbj8j!ei4Vkt|dcXTJg_oElujS1mUzU%JjwFMtZ}h zHM?aMyVW_GVY9LtQ07v)VVNPBt}k!$oYt3m%h#`18&!GN?nyCG=$cs8HBsz}CabzP zXQh;Em`ZCxmn|XY7sE8Ldhdp8;ZVXpUv_C|^?9-6wa z1@w5_RIIbCgtdQRebvTrKsB3mBc>Ql`ka)dzg>SkmmP_YijmT-CjAXz043GzlDmY6 zKU5!#Eb>c`!hw_=i>cZ~hZ47H3Z*`EV$u@(i`5Z5Rjh5&ElW>|ji^q_#)PW5op~Xr zIh~sewN78BrQ3BDmE(NftSjFUhIb&myR*rzLNko9yp=PM)2u_9^!ZX^r(_A)KyH?u zkH4W4L{oLt=M(bh*I6TUVCR{dS-*pVGrawz!uDFgftg}Ar$(A_`t{dzfe+xoHBB-2 zyjUEct5#rR=Bt!bd_Yt>{c8o*6SaEUx~yYOV;+22pPFVdytwF+>e!;+Q})`@6e^AeXk^#5Btq}nwYv=T7N#HBwRf%JEVN@%jPZr8Id+7G zcCVwqDDz!mX#xgan%ymzT^W%kN1`FGrKh|>?>NUo@2Hqrj_W|%5;Bj_bq9`|%}ANL zqxJPi8l4;SixJ#oOquJB3*JLsf0b0rFr{DWcUw7E=f}_v&14wOWH7Q*>}SP(F+=Y< zP(}Lb69_Mt&0SA<5tD3A1yN?tGLn$7f$%1Saz_f;JdJDj$~8EYm- zn%O9`#ZiWxQ972is?QTF;i`j;DfMk|FbLEM$)`&F1uCBfzb0Qi@DB6TI*^tSz z+kPpE!vKfTl-bIp(9aLo-w+9;(&i)%B~KfXrIXiHcy>h^k|BX94-oZ9NDtF8z|y>- z2-O;bTOv{t>%#4f$fHsuqzRFwryEX^RS}1^XWlLCyD9>f5Kt{8DMduQnC+Tr$(kia z7Z!jjW`~>w`MN+c=`16&)F-`#96$&Ed?X|XCiI9dM8%{(D98bHpO{dff-L>w#|3LamD!K+wbAWvIq4YT0ju{;{IDiN}cjoTPKuf(Ivg_OJ%;Sl&*;fqIyCMOZ?doK9Ow*18X_iqGH$_2`|OY-nZh4EZ-fK zD|eNJCCKx=Bh8?rn?^oIre_o;*Cz~NMiJ-bIK)DytZH1B8`ne*=u_kv2V`8pSp(R~ zA>DwaQi&|rJ4_C0vqaf2^jTgwrHFFc()oLo-ZQ%W2H6tF6=COgw^5AZ+ zmO1OOXx-S3+!;lLedMe=tl>Sb;K-uR$|9=BIX|DfT?C^r96esOIL)yY&xugaRGG1W zp5;rMQpAj^%rcFb4-i+x*#c_xYg|*v8I^Mqmy%+&l$VoYyOftWJ(44W#Hb>98LoIm z*^)-)#A>l!>=_kRi?L8F%PXeQ0yp3lv#R913<11i9JTq?c*R+CyN1!x#YuHx#OBx2-qBt_jv0K>)^%MCnIwI+ptrEypx$isLiG zUZ@@@v*Y%P8N3z92Wu`gWQdP7q0BJBD~{(IIu(tDh8+7LlL6qzdcrGq=i9n<7~ z74*`0JDH{=dNsOT8*Kv%za_e`s!uRr$W=|zvKV8AUs~9{^hE4w0=VwLXX5gTHcPVq zu!-!WqYtg7ugBM{%^0E*kAt9sS-NTBFnvH?Pg^Fo!mv(F>^RT{9nbR5TM`6|uEr|s zq5oJ=m>tzvp}k+(of9?bsHjT?_R5y(^I2%ANs6OM)v2Xc30N`OE3W2SsB^SiRQknv zt}zFbmXIGn^NWtQJZ=p9&SCK~g==9;LDZu?F zrTXGHXNxTbAz{(~o<6f7%ExxQPtofWfvczCPwuDMeR1Of(rFHrsG1%g{uLL#bR~D z0K?QQx0<<56rYdHll11G(cRx;sTSjZR0^;j0(0M@Bu zw?AYB6)0xx2o@Hs;%RkIQ9rhiS++xtk)4$1#0krNS2Z!E(3y$tLKl|Eol5!J971`* z;?AU!!%xz`(~px0s@}G5OA@CF-$ik*F?uLN~xVt^4h0WC3)eA8CMK17C8nu zSgYT^SmX+g^jE2|ebd1Ig3$4cX{o~!5`Hlyjr54^)R?*M__!hHdE*>DE-@wnISs!E z9fX}v)*G4&_COEGm#Ty9^cyqd#G;MH)j3#7b;oMux?|Av#^AYt0-3Chjl@T5$40_T zu}-3zmFtexM8swZCz25x#eTmyE2SHhKvIvXaTQXwMYd%4mn1L;xPvTaTr`XD{{d+f z!;ySab8RDdNeLPCgGW`+o3iWZE^`(nbkRIUPSMYrHESCSOsSv#&TKAcchyZNtq_cw z4_cwRlp^4tbwu}rju#f{#ca?4DFsl;Jk4}N`kI_0%1zOf)PnsbCQz72r5mGBSgjD+ zkfba3f=k zd*(R%gh4olyNL&~xRWe{=fPQVQZfRQve`YWxo**{-~~mB@}Gcb0gp=1Sfn{Pab{tq z>a&b2(+-hkB#;-dp`S}*T*4`(#xWxs^APTvfVqe@v~WrjGSXSrr%A}rhcgv9*tuRa zYUqiC!2SGyKQ&mDwHJ%|$Wo^K~2CTbpq9HcK1l_U2|8p3ROVMFF$U6tk9Cn-_Ge)eq-4_sYBFbX zkzaIR+)1VmEZXEOeQB{4zkgWl#&6fn^=r>6pgTrHy%xRm=2M$HE*rLs{@2Zop3@dR zlxtkyWsF#(@FubLbJWZoB2Dzc+|~Q%TzDSOE9XkYU<>_mt}EA4D!keRCZzn_W~||D z0}eiQK-v~LWWQPvQC#PN5MceFRak+HYNqAHpsUGpr2*O{@R?(vXh4Z@$_|S9LEQDA z>H55-rvcw|DUW3a-W5F0e83qTN(Q2ixE8qBzKh&J+FWmP!r4= zzE$v@L7c9tNi`n|P zApF*-?j2wkVEIgULIryiYWT5QaNIJ7uw>Drw{Oc?0j`~0-qg8R%i#;)y`|S}xwlsU zJGYKW=iFiN3WJ)hN-V*!4i@%-7V9ciOqq>KO6Z&=aNP3;`w+YdwXm2<5J21_N8FNA zXfLW!5<4Zj@~wwznVwgWBuudb%DQS%h-)`NHGiwn?S|f3nS*+-<7y@qLFW-0rWvuI z4Od$h{lSsZ;=#`XmmKAT(IJR|A;RURRfsPP{qh!(#rSNosEI7p1v=43>PN+#Dd_=2 ziKU~8kiTFdA-XanCGm4g7w$O0?|4W^@$=**=*;f5K@CbduXzxwb8nbeI`0J_s&fu< zun`%0po%?Eu_*GX4S3w$J2G7aFr7JSO{a&M#{kov3Ki_KO<+KwNfxghSUgPlyPyVF zxr3_#GnG&+0Vbw@v6hv~21cGbpdLGyDp8|S8lG}>@SFPWov-Eojq(~sk~o&M_` zH<1o{^_?w5rSo?l_M{d17k5gasO#=JO1Hj!Uv8X5ZDb=0eq`X@Tp^!Tp%f&*vkYCg zn(|H3Qli)-t^^a%IS`FYa7RP44h3os-V3gExZ})P!4#AWB_Jn?!?IElk~ZF9LzOKj7FXKGLwXeOF|VuoC&OYHoxFz_}#mtd7wcs!;qnNmi^XD za>Q^jGdP>ap^W>2>O9f{FVT^qCwj66>Nw6C2bdm(zMOm2W}GK#c^QaIFT8V4&N()p zuftJUI;D;geYC+{^t6&Sg)V;ps!3QztfN4RGfwMPX{24O9xYg3GmN)zB}yE3{4bZ+ zLCp_BRcz=QnHjB-I!E@5Tcbx>A;MjR?aDi*0ZJ3!{aqublU4U-?OXE~w@nLT9`Ws?6KIXi~2=zXC=3Q&yC5^p_ z8HL5k!i3?G$x&&LF1+jNmD9qce-yE!yFaiim-Posc(qEFSkfm8tED!Jj@WztSSx!t z^M-Of4JLs3ql(`-myuDfQ(4k!#vWYOGt$JYZE#*ZEq@7f=;OoCuPkhV$+Ctf@BVak z7Bm=#yK^w_g)^7aSyerpDjoM6&rLIDdQysFb{YD58cIhJu9|RY1XIiY(ID0+1Aj9T zf)9CK9`V2FeEN~cP!weSFt8j)80mJ=Zuwm=gnqSPCXv|${c#OcN600QkoCnokUV%ph4Hc7i8 zg+s@KN5u(M%HtusBJPRlQ=|-N2Vwm})tKv~nX#niTmW%B0T8y68Oz1h${8zQCSbw{ z^$Z1^r4|PWV*r=f!zz%Uckat0dS#c?r-)v@Xz!vpU`g#t!+>?N9zV6U&Z>G8X+jkS zEPpwhw})P$W8^%oxc3O@qur0~qht5(AzgI--uG;oD{(f#8w_4Wh5PF0YsOBh-`52x z_{@C=8~F8>$S0oq0@J!n6HMqnka2iRh`I=0MO?y=5CCKBnex-;9^6Lj@BbIlO3UnS zq1q@hb2>qUrCJdqX{Pb?h;ww_UW9D^tz8Q}*l{eZp)WkNmi9lepTwx~z(LYU?|ur!pdqMvziCurkeAB@8%a^j)mu**^pZG(8f{h>qj#f6=m*k5?)&TGK0 zfaq@{31ogwc z0}0qKb*MsyNkV$z{JtIVyFgjy0=6I(#aVjvy*K7Mr1`lZ^M1e-#I03THTviAG!_FkS}}I$RnMjjA&V*Rt80hAi``YQ9C=* z3f~Zx04hXC6`UZ{3{a5489ll%-Y!_nszlHRD9w@oW`GBz7@1^YvM3=qui6!)6mf=u zVI78n?TG_)T^fo+-SFAjs0icCqjoeB12ymTv*68>%#8h4M!V za&=6Xh@OIjDp)9YK$&2GdePMAci-EP!;zvOYtBjcDYd3n8&<`H3m8)YV3%t+bQ;yz zR@olT}rXy{9ynanf!L*_`Pwv7v+-hPEpYJTQ0-^Yy zWe*b?DPn;1(&N`3nF63-t1T?RyoR~LjB*LIDPFeZX!K&@cp-g&Hm^6Uq!zcKhOv^w&^cF2>4TfIRQx3 z2QB>G|G{BIb$<52D%$X&8WN=wAKJGcdUe7df<>C}2NRd+)}b-_*oXFSMr9g~Wj1+I z!b1A!OCM_3mwc1*236HP;tnc&xP5Picjw^^JOyYi}J82)W!oqhP!RS{$fq59B|@w?9|<*f$0>N=CFx=DN|e>UsJSXO@;MFXzj;#;b7W6){@IQbl9Uw zJr;6J7{&}5(g;j(9sF-N-j+RYt`D zg^m8^0nQui-4R+1>9{z)RPn?Z@w6ICb5Cv{2Zs&msB*PyPigeYzd5k78ve^gByj!P-%PAj6xJm}TRw5+)^V=Cb!*I2a9jmx`i@VW z+>&8jA>?&MgExp}eeDx>u4?05t1>k4$v9jF|MJOCd8Rdb*QI~Db{e`A%YB1OvrCUb z^0DyVqBw-?V#N1h*J`|LK78sryiRHK?oZvgY6>CdQL)XSuYJk~ooDY;Ck{`k1+&sZ z%CCUs`$YhGLKHR=MDo?5I81X-9of;#kD$$P61Sb>!N|`&btiby>8Gpe&*rnLVH&X2 z0O6_>|9oGGwY12(Y0_2D!Ek)vEsv8?JvQOEyH8m;>D z{S8BgR5x;CVDyL(l5PkDj`(i~ECi0!iM@cca-Db@Z^7UVv6|{Saav`*{y`RHK4;LM zf4aWPGNrm3g`}P~6&_$(;I9cq&M5vmRXndPHGk%qXK(9eem|e@rs{cXF&M0#AEXzb z*}8X7tEnkUjbX0WI_J=eb9iQF<+KV{xWs=K7O)8ZR_vkB-#jyo3ynSdL(dtF_B{8P zXF#LBc&=t+8yhRn<rNTn%DU?@QLPU3hyG42!IrfgqT8)Rm{)O zM?QOMM{#!v$%MqU_%7-1Kii7=TRwLk)^hXbdOW8M`qJkP97HT_WNfs7FFlRp$wCIG z$TgM|r(`XLm>#6nmd{6aozftvU7{UKOYh z9P^5&?F|P=#ePX)ZUC{Wisdu#^sO5}KHMz??Q5DE=ne1Pcm zD_?veXJ9lLOF)8*iPv#xyH4q>D%}*Qo;S_Kn?xBkT&C5^Db*_`OzH3l6LGcUW^GJ0 zlPc@#^cy`aMosCaXhJuY>iM%OdZ+W{mHr zLMIt)aY(Z-5VG}{+YJYpEuPPqiQ@^g5i);n|4I6>mm(`Nrr+63rgS%l%d)08MBnjp zefbcyT~=4UsaF6CDn{jc>1!|R2%jlmmVmtP`|_1||LT_;@w@w9{+aaBANF6ZSF>_!&d00}LO zE%FzWwOmy>Pw)Bnow?RGRXP_i{3f__9cKV{H&x3M9KGTIK!NnS8eUThh*d{M^m2Y;_gqJIlLqShzh7NfRGu))n*Vs&W9jxcQC)FbTV#iT zTxN&S@^chA>4vWz_OvPVny*DFi+zV6)gUVad3MZfu_?`-sU_Q&p8MJbQaX)7JHP%; zkD}ABeZ3P-ApbX-%Pr)8ouV_}II%iy38yuPpjrCKZ#0l@`txsGwX3QMfxOa1C@1Sf zStU44PkyrrX6c1*wj(6;#cv*lUG|G_{^br0L0hEZI7k;khBTXizIb+i9?^LXAU)FMU4=*Ch$U8!td;fQOkyr5R@5ENS^URnu_T5wKI<35p0?q7G z-%Tz*w4>jvhaYVGd&%|1V;?X@`sDX^(qDdWTlpynM#YvTQbDV~ziEv-^l7)n;P-C_ z&->5s%gY8`YX9%hWp{J$4{|#?d59}?-V6?!@B^kot!8l8r2bc~#TetSe2IkZKQ@s4 z><;^W*t@FSgf~?p1>k! zepD&4y30EzBm$<1+F6MKA%p> zPlGE@nIK#^Gn#&SaL2SMa{GcQpsM6voJHq<>V?F9_@}#a7!S1We93^3m>SGX2_~H3 zTwubx+A400B%+R=H& z!7z)wM#`{>{W(DlF@fFW;~3F*zgj^W?OO=hM#WdxZ9ezs_}R9?KJIqe4^937a&;4-q=< zRFR$meRzDS_vcp;&!EZ~r$^W66EE$gq3^7r55K;e<^TL*6u*IA9$e+#ZIllG@*PM+ z{N69U_+9myM9$IH*E&6#Y~OQ&?50n=wiA$le64a#HR242KcqyMTCcTu#*yQjXEvu5 zI`pf_@^eTMOVL+A|H0G`S2kue;9!#HjK;~unA{`fZh{`il3bG^bjhrrIm%Mru((M*RyhCQ$j z1Xct@EKXo)hSjZTTA~M9D2C0boC0CWK-~TmxB*NHyhh}4MBh-)^~8acS5)$a7Cuid zE=$LdbH?L>eab|5E+yd1hSkLdkP!d1V0a)KyGVW(mXInXKL$tw;8HIuPPj!zovb{D za-KR_ISQ?jm2*(D(4cz0m76z!7PQAAIE>B!GexclMB0%{+8LY`JE%0amv!H{>J@Pd z?pF)rC~9(MT*ik8{fc9E*>59cm+uTeQ1|d_@x@0P>NHxzA;_B7;(;zUK9;*)?v^Dc z5ZH$lT){)uAl}?5W=kp^kW6%?J{Q(o6f6?4$p;l1wW2z?=L4ONZcMN zC$&Vi?<^=i{TqS2W6g`=()1XMcVbh8t4sZ>%CQPu$|X z=F$mQMoW zw>Muyw%X!al47Gjyq2^$qgUZ!%l+h_ePkVhMqr;@N18~=zOWA4XY^XV5)9Q6&a3ug z7qP>&>v66b`^b871Hzx1KDpa|Y(2?Vj0d=8>TJ(-0ElN)`{)MJu{n#-z3V&gl9^kU zUVL%;x=0Z^XFsul7+W&3Kcs|a+pUU)MSNV0bp;c_~c^Y`1)tz;3W z_wB9Zcb9t?I7D$o?-68s+e7~ zgB;(6+hQB#YBKABRav&NgVX?*9^OF?3;haoB(S*Pcz_u&oZW%Q{75fg9r@V2(~ozM z`t`%AyAHNH`$z@p@W{G7S3$gGX&r?2a0T&~;|(YNNCgp^qPln7`20cAoI4A-;HZQH=-cF$dVqh- zO$?)+fwMS2G~$XPD@Rav1Qja{q7y4YPO+i}PhA{nWvVV<9IXw-RL?{2WDRD}fXgvt z?5^kDItSjU+uy#HY|XJY=P@R~v2+TpN*eVqyUJx%t?1**#{o#gX?7Uh`2)lE^vuj2 zE?~!O0Xy0txg0El1hG_q)GMB0XXwCUs+`cF-VPK&Joi+bk-4KR=-dGOWNq@F@sy2nS>cruRRPsZ$BLDFPDF+% zVhyP;F>nXuOKU`;5LeSBv-ZQa{qQL_|Vt>t2)vE1LBoB zQnzy4*%IIHCV$XbmGfzbIDVz>&MB4m2KE8azpIRCvl?HSCSVtLUX}iC-M21dmHce z1qFBW^i^b?z5gn*)2XgP{bki#?5V5B`#eqDY_$XT5y9@fnvCpfm4QiOK1zxZ2#+FI zQrLd}YVgH~z2+L?tbCNE`NqnAjvc2kB63opN zh^d8*QmWrqjxVtWa<;Q+mqqi~3Z9xkb)Tz$Y_EjgzRC!mPk~To~YG#yl4hfRhqW$D`5L#<%$T~7`X;TPd zsvKX@n+f|VN)8djp1vL!eOk8PeLXaU!2k!-jKj^qjpJKeMMfbBW6cwg4`Fw-RT_yN-!%F8=`7_JbsMTD7eYrFjd8m{dX23`D5*xzj;=e9=^hk&2pS%32HD5#JuRehYa+qEB}3pa)THZBl#pO&>n&tEn%&+)E<0*V~9c*ay0>Fs!9QZ%HLM zDHh6xLx`yah@%<}5yvXjCGG1^k&2Dg`r-{Y^w-=ZdMEH5+k_oI1^s^P(gUZ+XYr>* z?9tQER)+1x)8z1WZdy6fhoBRWKs^4^Q>S6}9G*m~JkK~smV8{DaAW7$gfxGuy(JuU z$@#|1|!z~Q{88SuCy-zx*P}y*sv>8WM>VpY3^umJ`>CnCI_{4HxKl;qj^Ci zFzgpP$W9>ULJCTvVLymRjciVQ{6cE`;Cpr zePb>le4_&+quC}=(oXnezpX~e8_s5XNav+XF>-~ctXGA3_I#X(0#?obKH3<+hklmu zg8^od2(cVCYj2-`fiP>gPmnksPfn2AoKdcwB${VPwNFoAjW0}+Mx4tAmAseRpH=n? zDmh3d?4PNiUd5i9B7a{7uGnWkdJ$IZ_%x}&4$n`M^#nTmv;{u>Zwc~s&t!r7CC|WI z#y>b`CtYsQ53B%bIEd4Y0%T>OY&rzm%?NbLA<#nIEGN+2Q_Bdn8IDKA@p4VtpU}uR z*L9Ra9@WX!o4YQfI@6&#^Kz;y0E$#+I#kDNmQx)Ey_xDvhw4m+>P${`dsy2=aSnTR z45k*mIixmizmy`|4xhqS^M_FDXuZbeaoI6VCcdqX#fq|2d>4*Rwl zVwa%hw0+J1Pru$E8%v<481%*xrEpreA02_l^;Lt&C8*h4$*#hE8*ZfhGh@(AP>#g5IFV?@!Z zwtyQ<%#y|ObLyg4X}>f}c9jq6?rX&=oNg0SEbYg#(1!o*W_YKj=ZFBda_=1J^PF`} zozwP;ENLz~p9r3}PiKj=;=CTRFD_#2hqI&yobabvQoR=bVYttb{}LLv_n#;IFmR3Y zT!^0Th`bd~*RyJncNNlQk%fu>pp^TlFWPBK$ngAN+xv>Qthr(IA33 z@A!Z=z&{9AGCw|KVA;?@Dr?z*tS|Es>A2%!M}v2aPO6C*(&GdJ_+WqQPO^`jw-Xo0 zVNbQAeXd;`ce^al?%kX0>eA08yyAev48Y-m^WX43t5?)N;qB$ zR}q^onH`E4%Sh>98GcUStHY(WR$!0C-RO7$U*+#zPPl8Bk-`~{bS#C3`z!`PEsjCZ z#ll!KPLa7Ea`PP0#^{U3xp;BNEkYmRb8gvbb#yg1f{^iNr71h7-3#6SeG%x05SZ59q-& zdIP=yvR}NN)OiLH_8)I2*L&LdWnb{j@bUrsJ8vbsJVUPivH5LedXIaD13EY=oQ?&& zLGq~$r+zhQwLkMVxPFJ3WnW?MxPvrq$7;B8Z}7wA*z%(hHd#yGE{vUq{LMX1K$qh>FZnq>3}|;yGqsm z`kgS`=j=b+2~Eo6xQQgGTgrM9h^UvngS2nH+*&C#D$8+0lo`s9_@;}MGq^ZQmrbxV z9XG`A(kZ1JX|G3tHAb}Pta9B@DJGyzz`28pDGYEYGMHR|rI8!MK?#7Mf#w`<7zafi zP}+nB>$XY*mG6#o|?vcpl!sXcIDmBv|H>8_mCVO1PY+1MX`6!lS*3m`g%K8L(0p0^UQw( zFc5z|hGly~U!1uFeQ}$o%!tCE`V@skH|=jyAT9zxl$w7LppHY$Y;LBk)lE6HY4?0>iqSUYC_;6C!{E#YYXQ!F?3k-7AV`^i_x2K+^3 zIDYa#+kSu?+Q}Px+rkkq^Y7#xL`O9HD-VzxVK^Os5SqGXCm%#qX3YNZgV2aG_KOda zzum^NNAXPo24&j2#s2!SWP@ot%Vj5$NG{ctzr(JacSRs2tsPv`yVE|R+~xuIccxI0S40}A(K>|GIxi|6iQFJzp#@`2YX> z*MI-_-P5y!<^O$hcJTIid2x67?%&IkqszbVyBr^}nB~{C~VYd;NNO{_^7P;_Q5R z_xNc4?$PPN^23)`U!J}_x%l$x2WKaR577S`H2iITvi!#8yMTK3{#zO!onBndPZ!J0 z=U?6$UORez1XJFfzkYrEar^QkocHC;!vsuvJil1}emq|+PnM^bU)vtmd-1hx-d-%v zM~7cE*osO=7r&a1{ybW~e|>iT6#%dL(4^1ao*o>X9(Kn^0P+WN^yRa-(ovxK)(#eD zr$z`)}#v=;G;o|9Ck${z~FsLBZPD;;ne+KkMc9`8j<^0>5P< zkaY9;^NZzWy7}@hdNJ654x}jc#U;=diG>~@nU2C`pc&Ow*Kbl`+TEAt` zMMU6hwciTr;gOa%}gWStv-5Gd_!kfWHP2`dvSht zeEj8e`fL~D`T1Yp*iBQ^->M?PPE#=7+QrdD5b?FT;R-tb(=Lu-v0)!y&1&c9g{No# zvB9E)*RN3%Ux&S z^tUkm+4;fpe4{zrUyjX)%)xRWS99?dtdn-O=;M!H7mX~=mvan}L#QtYG<^2&V{F*h zHu_Bc{j;;ni_7!*>$?PU7w3z+u*KaLuKs&@dU$mDxuI?}6*~Sl2E5TigPDE*{Q{Tf zczOOcP#(-L=U-ZXpUCOo(o1Kj_z+*(Y7RtSTzUWP<>hA`qg!WwGCw_f{q}fHV&F?5 zTFlSS2+BU^DBKukfm1PmeeuO4Bx&)Q!1#0i-HrZD@(cSe`|~fJg5PNdi`O5&w87@%`0vY>_R{~N($$iK<-4QBl6=qU^P@w(`oElBJ0Yuqo1*;MzdpY1 zMx)W489$>tQ+_)C-ce~DyF2T8HyLeB?re`nI~|XsE&uLNZTfC}XLB^#ytBo-JA0$i zBLB`tlTV!#_P-WcJ3=vak4P zO;D{*1=Wsv+kUKf+W}%W>Rxwlx1-@U>KzC)DBV+YqabIEaTo_34>yl?$Kb7x+Sv)g*oihKOS)*sC0 z>qgEtV|LG~nz-NXHiatzGKIVP3H+|k%&L2X32drV4Y~)Jz%MHJ_6f|G0Ha%kC2^h? zwA@gs$k9CBhLXTY+&t;s@TxG@osZ2E+a~hS*gcry;B|{8(y4R z`<)-KIP30C*EBx}1rJf8U%jixUW;zuszoRN-)K?kXk%McmfT95HMcEI{Y3cb(5>^) zdNii%F8UV2plIlV4KOi6aWTgY;p4+NL@h1DP+RKWGSzbd*brf?J4Cha(t3>os_v?@ z4vl3hNn=k`Y~iuSemNL^Hzct{OWQ~(bq_lWQUFnB$KqiC(V%6ADE&01@@(R1Nab{N zycl7Dmin3N=WyIV`psVd`jy|D_!oAiuAVjPNf7fU+HDSilS>1Xc`O)d8wIvC`Xd!B zyCiW{PA_sgG@ zpiaTv=xn^B*AK>bet10Uj?^7;EaG^qnVpd!Xot3wKUHJ%7ein+5${f(i!&tEBb&A9 zuYN4;HXUvKY0wO@t;041#x=1(Gx{Y{1frRczoDNk$O5+vOC>CV7>*nk+q6-+G);Bk zQdPcMEGGwsy5eit_*y}2c~a)J^8mDNdK-xmkD%Bl0QW#hv_8|z$-S{lj!HK(i%l4r zI*X-#H?01I7t>cV*gaa4tTNl>Xmm7Ix06pW3PsmPHX}fch#?iWt+_?`ZIsn?^at3Z zSpA{;q=v1*x1=Boku_5=zqIg4-_Kr}h)fp(Zn<4O8dpHuFtIb5-L={bGt~60I>cbp z`&M7;=10?5DnaT)u>2<2_EZgt>$$X42@LSeBwaV@JrB(vxQ*#`b%DERw4e-6CA3dw zwsVVTDHg%)omdafA@cN5=hojOiucDBk*$S#-?V4)+$Go5?1S;PszhcXy{P`Dh-`2r zTBF}AOn4>Mqni91v&C|M1$s>%UH7i@n1^FoHQTq*yxuPK*1WWks=4|Sbe(r74a%3e z3VtmTu6jQ2fRFM;xN=>Lj*6%X(w+CZSLpyf?GBb=%c?-l$-NGv#GAL{-^DLWDX-~e zH&@vl>(8Gn%x=+Mir{inpeO7=ozVGA3^RFZo%hz|GqcHZMuX`K+wYmtxWEVwx)zT4 zU*-kISZC4#bM#Vp$R|(vjWe-sE*>GbFUostT^H?5C`%~ zCdL#{#DxVmAMA{#Pls>hDby=C78g}cvte?W7k4jB<&LVUcx-Z<&~Km^b85oOG#fOYyb@c* zEkpPsF5J{6KGUZ@DgrGcw3H8ryE_UwRk|&!z7zZA&dq4Y)^0fAqPmOm`BICAII z$%+@};%P^(J3LKaLL@bmXeFF=AnTrAm^ZA1H#C85djpn&WLxmf!EqBSjVbN@SEQ!s zH;qeYz!pVvY9=-0|BbzwF~kJBmrfzrKbRzn-L*$#j?m!ZJvv7T@@xD`Z_Y*)mrF+* zQ8u{i7Clb~r(VRf+hi)xShKQ7sAHT!hdoIK7@>)>47?>tEQ;&p@ygEkh})&KC}45K zeMfU-B)e&t1>*=R%8$fK^8Z?~qOssG^>@1}M`O7`>W^7!D&?6wex2@9us-_BHOfAF z&W1sd;sFS`(dYfR(8hx=5C@}At`I6y&rZ+uecCY=yUjI*c%4+$ii?~cD@`MsJHaDh z5xl1+m&e?xI1{AZ3(^EQ+(zs*!s==OJ1WRGX{jxWjB?fXJ5`AupJ-2L$iANibOcD{vTSJ`?davI` z8m#|mcU#MKM~#nX_TA@}v-OI%da6#|b$)%ro;XmpJpu7%;=pBIB$onmY!DFAh6d*k zO~%5)IDj3nm}nO zs9(v~ZInFCHo+33Br1xnG{i$HpI5##@-KJZzT#9MV#jmUB;-4o}es<|1>u&@Qe*3aYXcV$~p3qHOw2ht+ZryI|dREPu5U zLFUoud@B^le8V5L4ux2grW`STGC9xb7R!v(zgqQZ8GEk8Qt0DTHU%IrInCarjDmUeE)`)#MeHa*Z%k}b~~VQ|5=J=(0|EyNB=-T=E_&MbBgt(=2<7pA*b%=(#Y z*YdOBK;?W$KG%7u;c67G?!`0MFbgR=r~M7kO!kWy!vge$?aXy@I@p(BBkEeBvhrf5&pDpOsw7 z=*uSDnk5+mXD<0R;0)J?1c5i;VkUM@wHaXu*S)}1xs!$26~Wpu)&@yCkn8z5PGTm+ zNj)y@%Jx#)w8Pa>G=e!}{!FA^PiK~3{cGQKScvr@6r7H5(A%(cyHS8-$|LK?>GX zK4G7e-`Rcu%z@@?R}oJ--jrZ`9tGv93j|FX4DOMi zQC`Ci2&i9%ANTB|S9>}k7uR~h-T33?81%MYS^ZX#o}DkQ7-c{*;}h9Nk?=?`ZFCq@ zHV`Zq7CGdHv5o-lOL@g5wUSs-l{A(c4~C#eamA!LIHk=fvFKO86&KO7arg?}MJjVb zQuxszqOxl_0YV~9*ewKlq?Yo6zgCLIP-}v2itdv~W|KOH2-I^{XL3BTo3l|#6DhI_ zbu(ogDRd2H9$oyYY0i$^otG|Fi>g}=flqBv?XqeXwD!u&t|#Ocp4+6coq%H`oSVd| z(lb);`A_5MztXZs@xoS(Cf-e8RX!;V-P`t8W5g7+5Q@{LCP!DSzbMo--8SwJaF5<6 zQSaK0h1h)QVKSrz!h~^JtB=3Rf#|8?rp-#-+O&e(pw4+Q^38V$&MR6+pkR$rOEng^ zTp55wgvnuCR>sn>;^xyAkFzL(m6)E6am}tG#D&5VW`oh7zkz+YQyUJ_A1*#9nf%4MSj> zR+4RZv{((>M#zo9*Q8-Dw}BZc_B7v8?EIg)UQIl7wk^NTlgE?PD~dCc z^}|Nv((t<&!MZ{y&>lXafIKs>%qfXSgQ}5I4huV4$JI`yJqo3XMYm>ig`1zP2At3? z4s_4%n0YWWpouUFyS-%AKZPxTWeO!3|PHzB=$8%G%maZ)Nee3xpLOG z(iCiU-x>##unbLrP6+1p<~a(WL$wI9Cb88;7*3fKq}p zA=B7EmYRYmfX_P0=Y8&3SGD5-XZ1$puIK#$KgTtYg)kcNAIm()AY@ z@8icA+R#G;XR=7Hpt{Ri0og`VpN&_W_wQB!2ivr{)O0-`-YA>IPRAf`2sLR8%TtEm zCZ+k0cxpML_ojtc%zER&BAK1jfp>m7ww6Xe8<-Oy#H=r*dYI_(W6RPJl|UXU%au^* z?ETJjo7{o^&C<#iDWdY;i$m}vo(0eF_Ors1Vs5dsal&K#bvzNXP#KNFC3_4q9N8hS z4Lf7$(-0O^)DHL?72P!nR%gT`-@7}sl*Y2AiH$DRO%rE&wiPxJ`*cD?uqv-Dql=ODPx4Jk+1~?q|D20zlH+i+S~xxO|8>fn@sFn z#G`{f!Xj2+P1sPMMsxMqGRFXGUrL*=a4$UsPrt|J@bs&QXp2@`uPJ*Ln1Nzn6p{)J zcd`ZyMf>e?pA@e#;OILu4iym+yE64?rWLg8*%UXLvj};af)nISa?Xx`h`6WYwF`6Q z>J*iRZ)-{56cvra=NAT*d(2bcH;G{S-u7=TTdVcGn10JXtWK56cwVi}TgW1KDoKI{MvYpKLQhFdzeL5<+G-Vy*dA%|p@;ibt zUHiA5g-?>K3CKHL6Mt_z z+kKdHv;udjwTdxe6}J$psr$*F5(Id=*H9(x{=WocM*F^1qBimbFZ>whD zAlv6mXfJIJnZK64Os56p7SFRg3%O5%4QS zfZ#&uL|cPO@|6|UGGqg=0FY@(nL*(v^c2SVC-6$6TO=&hQfHeuY+IvWqh*WW?1msr zah6aBgrML^oS6QNIK=$JIB7F$MPu!WRjHY&&N(?PWZQ%x0}0uZFi^1B42Y70wO(eu z&uN@lZ7@N18q>6O-1@@8LqAM^!!bwrTG}GfmTkY+FE-mYQB4S+SSacz-WVBm;Q=D# z4%^#AjmReNuQjcW=%Yjs)NM`;NVMK+G^sdS13D#Z;Uo%FC6hu57rza$?46d)wtPaR zJ{nS7;ZD&h(gywVAiTBU|0#?v-tr>W71mlxY-n&d@js^ksRzgsP`HgbTk06!{Y!${ zSe|m53f>7&Y8KNLuS(90s6^(|kr&x>MynWYbF^MZvMQtBFhv0Bo{d`+l9U@NLhyJm zRWGMkR`Cz?{J}espbtPgMBTS}+Gl;DJ)q&iSp3wm+8ym09N#}f~ zBX+$RJk+_O6OH42x>89>_<%ZVP3yTDO)RvYKrTnYdfhbHx49YY*Xx1S5`<*P#-ftA z%GA6cdns3_p1jP$_sZ|U>2&?LCf=(zx3bIH#kA5+w;U8v=l7NDrZD>HJy(3M;h{eHk89xH0*ZLLT34>Az5RDq7?~GnJT8aefuY@pr zs;$R!p4-tziwkM7bjrueux%BXeoNCvarpt_&x6~C}xALap@m%m=wV-eim~47m!ovEP z%)qD_guo-DS%q)-H*3a-Hz2bafnTHM^_ntolPARiAhxgWxjUWURcJ$zGeWCXYy)yP z)-SGj8_cc6?@RoO#Q>xTqpX6qTl3dy5zeilnOWCHXPSjJ+aaU@faW#AB4~~ec#J1M< z8+8&{sNT3&Co1o#Em9z=@P~GTxa~uLwxQD=xmi5BEM}Elud_kVu*vW2p7}P9#Gr}! zx4m_)YRr*}?3mB)$66xT*0K;$V&4x~uV*5Z<5s>DGOHYAI(-+%4<$ zVbdrHH?KN(W~-RBVztk@&E_cTWMhaG+#Im7Yh4~e2Q8vEX?9-7S;V^re;^JLJCw;e zsfZv>KGhU!MYQCwahOr=6%`C>1ljJ^ijlU;Uz2}<1etrNJ=DImaTGv zf+_`Em;L5(dO08tNt`3DEib~OmlZhNO$(z6>&q6YTBi|-9OwpmDSFqEyQsDKwt{E3 zR#>#{Fg?rg8rqeYMUdz&0OS)n9I2L~n`R6u2$Jb}qxs9m$kmQ9RXs&M+cE5u6PDFG zS$jBc&@nO?|Hd>k;}#1Q#wDaZk#QHL2it~VPuKFylgIb7TAP^1>L8&F^UXQbu!cK?w@6$y z;F}{`!@8p3Dwq)XiX8ztAi{%XG2EwX%JnFu0&lyiq7Vkf?*?I8%{WV1@C|_05vp!< zKyC%dq=jgUEB*xDG?j-Q!s=fWXnQn+Q;p8v4)$vTu3<#Fg1l)lm}!OEF$iJQmatgx zF`#yzh!I)jfEKlD$rIGFi4`KL#HjJ&Q}lCNdB_Zy7wVUB>l}rXE}Lo7jvCT={LZMN z_1MO_#@=W(A@#gCeW|d}PGqad1b13Rx#d+6i>HnHyxnRwfqu8uG=PJuY-$5q>4EiT z#MPO|vU%Q2cr6rP6(UwD&talb5d@>^vf1FH*wlQy(J#`<+1uA>iUQZ~jpun5JsY19e6|#g z7!b)2dOaic-2(S86a@xzJi#Nhumx?tW|CXA38Qs|&{LS$!$dv65KYGT`d}az=HpTO}WdLqe~htXQvs zhn5x7E%dUnQ4g@ZQm$XRFma3R=xEDfIrtV8wKoK)_gsbq8jqf_f0F7~OmUF$ADEBMbn(>*KIFo1i8M-?`goI~U+ z7WIC%_MEBIs?43Y^o+qA=nvUCQJ8h;ev0LnsFn|S!e|mm_v0AB*HMV=r4c1rt9wlP zRNt-2$6EPwE*&uUAV@s$-Js6C25Gls_Uznyw%XsMRu;0qb^L36REX?X5fWFl{1nPz zP1^{{8n2e+BDX856{PX;7Eu?XE8B`pAv$U+vjeH7I&T%{PH`!E8CZI%#*9=YK50Go zlO?v1y`o;rL6l@N&a?O*xsa;YeVceSjAaiVplE&7gI{lvlv$^&qt?lU$`(tSRj8mX zXT)WOs!TM2RFW!X{`vo9s{q@0(`1E|=Cyt*==L_1+9zub8Uyw%h6*62FU0DQLa@efwBla& zu;0yOH(OApgxk@05KNV$kp!R@1<-)>CXYco`~{*;Z0jZpib+bq>UJu&v-;2xNv5^sS(ET)`>hUU@KYCEC4#=l%!vHaHe ztJXU&SIN_NT}ItZ_V#c4g?>WWn8Qxs)CVwanH-_hM|P5xXJ;|g)N%HDr-{@J5?r|SxQ-xjN|pN&@pYAZdukkX^^cm8XIVHX3o6A<0*Qm1BEtvAXD?Vq}8RF+*G&j_jL)qez< zEEFZi6SD45PQaU0CW!kHin#og{wAE&?dq2T8^fda(GeE}xo(HZ+JBdiv5k1&E%|-QdjuF|!v2>`*1t`-VFOlxHZmL6;e@+=3PMZriUwuhv{{ zZoIP1&U~ynkmR{6xiFpiIZnEy;KtkenmN(K>w0ERL{cah3lIyeKFZgNYCmh(}F%$;=io-*5 zR;|b@65hBgnhtN`1kE^We#4J+1OB1^Eq@U4rYWdt8)<-rc(g3%6wzNTUsh;JWo!`~ zP|!1*1^+61?)kjTkfA}8-$g6xCT=)%ZZXknz@)|C>ciZ7lr30X;KKk503+edKG6Gx z#YOl5Wz-Y8+?2U+=$UP5fx`G=A}-0C>LqCpzl_Y~_#3-llUKGc1tg5y-sJSGbM&Qv z?TyyWU+m&L=6p2uqcnXp+M@EyU>gK_Tz<-Q19+B8B+FS$q>?D$ty68WsF7e&7T1G1 z?V}_QIvWyMgVbDYev%g|&%;?24^B+=Va?35xi3(+y?wChA6GGoOo3+43Hj||^(Xdf z%fC3-2ehq*b(20l){x9%e?^&qRF2IG8uCORqUPt`H4t`imxWZ_N|TfP4*zl~V9qbz z=#758!g4QH>fBtD^7Mps;GE;VZjJtmh8X5Bkxn_>KjQ9?aKpDnD$E7uF7}wiwsntu zE?!e_td`hyw*53>SKAVOLo|>fnu)a|w%+I9q|_u)*Phi>CU4VM69h?@UECNuQn?Yw z{e2og7s_W#{i;OguT_v0W4+D`CD1Z^MJo!8Qi#uywVHc95>$gW&&wordI%%~_y z+HgZbG?_OP$Oe#iFr1ZGQtcQ-5D((uarx2}nH!uL`qy&$P6Y zT*~&1RODz6RSIS~t>}NZi4!$&23nwh48nA-IU6&$vx3BNXmE{9p`+nK903g_*_+TX zeq}ld6#MCnHg(XaZEH2UY8Fmx@J8a|;b7Q2t#F#R=-S}4jVJD@CnEGP5vfY% zt@v=#lApFU(t|&kcn(FPesu#Y&!?1W)&DU%d8lrdwk!tnq}d8$BxZt{m9*K+XK{Yc|$BgiptFYVwIdb zUZHZs>zV{A_~Tyn=pCq=nR$20&&mN9Xvlv4W|LC4mMV*xueB;HqkE+26N#-1VYvdl zRoEwG5(m=5*5Vu*Lum;ZIeMtFs8>%sY1h3_PCkcT<{D}robX)xdk|_HBOt)3t6lEF zmZ!%k@5W~m1TMEi^A)G*o$*-~SMu91%^mR?XOv{lb>~N$yd_l^hN5N1m&)2i-g}pn zMKll5T)u_$w0hoTQqaiqOlRFA)FWMv-kW>erh=u!P}*^iR|aQ|i+U$1A;nxQbEsLdXl4{zFH`Y3{rR6vdgbs$p;pmm~r3BAx%&j2m5;) z%KGUjH7!!${Fbx7wpQNZZRG^&)RvmvhEM6R&Q}H5%ENX3^o3}t)SiQuQQV>`ICEgT zJb>{spTnvK_P5k3ldu;0GDz>*>i3X)+{uPNG^MW`bo}TvH$QaeoDyT{2JCvNU@x@%o03nq|Btd zD&9eBYpX%`*xQH0raz<~yN!4sz(X30Uzq_mni|;zxrW-?uh94ap>t~RrQ{C>6;)qr zFs4ZbFYCex%2R!~XB3gRsBV`+esB|8vJVcV7c^%_VoL*fmPxu8xQh5a0H~p#toGV< z)*(~*4nYH=dl&)1VEZ3lXup65Q|I>JHQg; zy1Ytg4KAUE@-;d%fHB+T4Y>WgvFZHp#wK#s*fvR;nWJ2o3H%sswH)DsIBl}nEHnfh z+3l)~9<-4Az-~5ht-8qunII^iEAb)*bOrXTsY>i?Gj8q%ac&aszEYzu#@i|M2xRew zmQ5tnrY2P5S-64ORBB!zdUfe+q+E9~rnsJ|=0N`{6G9m53Yi|wlz%|Qc#ez->of!r zD+>J%I=2iJ9wh*svQeEEiY4l+XInlkamWRFbSOaiAVi#DFnYRjxsJswiB4&n21Prd#jnTYNkM=O{ zt`$Hu*w(wrUsX`edOp0~qk9Vn)RJ;hEwj)wXfhXk95K-Um(VPZO+b1z%sQw}xVi8#|$f=GwxXl&lqQlleV z?d9x1Bt&uLYX&WB77h0gf;9Wj1<6RUCvmzKRxK&9Qm}c#ufCn}Nw{e1u{bjZ!koM> zcU@Tvcos(XteCTAfi4~Ng>$)e+gilYrl%Y7$T=iv`{6ZQCLSDEIu_o4kaK$KB-04 z1AE)N0otEg)Uo9fy|h1~7b4eaQo3+D*VP`vU0v5&BX(~qePAdT{f?ygkc8F9Dq4gV0K{Rxt)5I5g4m}AO=0R7gMus5rgfnk2Cv{83&TYh8iMqu;nus z?mAkOC@6Pd1I@A!-ZY_v+qg6S<2n28N05WDd7NhSpitwyM+g`#<6x6TidWjzs9-(6 z3GBo-+ew~W!X&g|q{UNCY zkMc(iGG}js5x{ZIhOPz-vz8%aMcn4~Bp$Tvi#|czb$`YIcHDF}5LL`3_)Chw;H&}z zw)vQGj#jb@K0Q;M1bXG5Jx7ErD2m=>h5<)zr@2Zn@UrhIKU=jqMaL zE$ZfH$*`HU%pr2YZgDZKf47{vY~a#N96uo{(Lh%9bJrMvuPwD|@3*=08VYMWlS#*Q zIbvY4q3R;oa07hG!uJL~!Hm@>JBcBKZug}NBO+p_aj!yihuMePi3+fE-+%@B99eR+47sBaGq|*c_xBWpBft1L&m3jA^sojncmv z?}Hb}rjMiDSgr)(UV?dE7m(cBjvT+91ViSI@1v|78W8%f6rrD>#~|5YeQKA*zLs|^ z`9>?YVszbFvoeepm7J7CJ!^RQOj44}m1BFBB&j}3u8Lg|Wojd7{0@3uS{dBvwG5&a z4PXAgIXoTO*upIuJ{6N%Fr#LZl~Nns@6Gf=n+uPBzqbz9bxLhO<0FZ2hTlxK*#KmH zq((tg_gm`?n93?RH{GPe!>t|@bPFma!tXL@aR2xgNtW5 z0KiLSfap5MJH`Fsss~~P^fPk+E!4|NsNirF&eYZ$J|9mX&c*G=1q$0@xVn7TWhYFD z)OPvknh%6ABMpE&VdWe@9OnDFUgvib`gQK+ms(+nqj6m`;${$}zNrC)f$?K(@tm40 z?OIQZFDkjt40txAF$RvQ=4xneJx4T!WJ5X^VDeRE=cr*VfSb-EdM-cJvb+Dp7W*vv z-)Jdcj<8!$&v(`FPDeB?=O^jAp}{E-(|_tytSr z^RehU^FZ>MNm@o;q|UB)ess?Zoy-e|MALPE!vR3*8-!TA3+>1Stn6ai;*1PXuv=WS zXY&L9q~R8MA0WQ3`!`D*S%>fEV`WgeRU9UoZN2p$ud*F@A$PRHP`uFzAp$_ZJ{f1f zkQaCEr))_z0ET3+!FF8)EsZoe*WnQpmsjhgtHdW(Ti9z-`sI^d5ouKsbr(*Zi5;{R zQAm(Q-%ZjuQ`tt_8a@j(4GH+EC_BIPGI_XOPb3+jg_u6sc4T}Evu(`tMz#$fDcLrA zag}X*rKT7n2KG*#POH^oO{UboKxMjV8QH#xjPs;>J&lpE_w;knXWsxL8{9CT&*tGk z9e9p!ZM$W;aGt9yrhyeA=ne2}G0~9{`SSZc=T{loN*M~JQ$|iWYo+$o>NuZOO@Rf< z@lO_f*=eRGb<>9Cj>fZFgH^MGm5-FdkHs@C{ z)g%s!?GqXi2+YcaxNR16tKw{&GQ7_{>?*5G^36Ja&q1~H9%~5J2z!RRO6>mU?#L2> zL?w5^$G*xLH{T=0YJ(MEJ|R=JtTozgkaJx`Xk~+L2GHu;$~oWulut+fg2ux|o#aWDTu< z^G3A4T1i$v91(NnrH?;xFVrv|SBiQ<)dk{PksVkh zUPwBv@76EPHYYkx?pI*pb@$PeKFSSH9=H!&MtcY9(F@}5CJBn>!=YInMo}8cPB~5f z!jjTrL0$fA0hj(;Xd+wgYk`fRNYLpG|M4o$=;I(!NJ9tkHa2jF`BR5)DpGVbMkn$g z%EcsJs%Z5r#_K*k&Xnd7yKdj6Wwd@~Z0%@)K`syVbl6ja8~HGKVh zF7!*9RL{&zvJp64R4f z{WOK(4=Rq9HWh9+^i-A>p~~LcrEzArbip#SY};FzecncSBuif~HVflAK$z@?1BEN! z(82atU*s48)c`o5+03NK^c^7{E0Y03uBPOtYx9b$V?qokcBs#{LZRfPxtl_0b0XYJ zDOp56RK`P<4Cl>CHYHSXvWI$cV<~{>k7St3X=4{8Zx^PVEgj+pA|lAy$`F^$L})Ae zcGzt7-e>j0tM*t8xDsGrjd7sp1z8i0G=jySjWHhRjC>;1e7@_!7y;p*-88|~yxQbt zn!JzB($WyaM2eQTk1`>Y)r|Q;irQrONT43Au}mZMo$3fhfA`)eoz3YwR;OQWqM@RAnl49<{)IS_{AuvT7y%w;{~YwcHt3;GR*y7=O8WG8Ec~=OcJ}!~fVMb(jFpRv<`CbgQh-6I z1uwGOk2wwF16bu|fUsx*f*cRxgGy6DNI)m!(;fdBGvO3-xg_E;kng({O45zNLB+3)T9F<)f+&5cCKt0wsnwbls;4e1gUYhp9GNd3cXEqc{N*bQu3|Gq(# z>rP$42;=!i8{3x;$uC%+g{3DZk27G!#e+nYIS@Wl+sQj`#$+Wz`oV1PeEDEA)n;2X0tC%^F`2T11=a= zr?*0L{yAs{4R1n&J>YXo%vv!}vF8GiuCOQbxyhcGg2b;H`aKNo8jpVNzR1(kO$i2Z`B>L>`WE>p+Z!vOep96v_+< zU8aiHqS#C;S=P;Uqjg6G2LT-DkWVd@MKr|1!b z8W@#F{wx@MHXAT1W9*Rn!73Q7^yg}mCW)p*qvgMNS33 zU^Sr9?iUZG$BBcDd}=X{lQx9YdEBC;jeM=$l5+PP zth^$r%pB)3O|RFow3g6JC6z^}FF}Ge?Pap#CW|N(B`YJCN>u!4eMxLBY8$s_tS2@6 zkVBz-YBSMq<7itJu24b)++A@RW2j}r_=*%SlV?o&_;5gqQ%J$=vr0Sk6BT=4#cWGM zaJ)V;@-L>QUDh?YjgR4chuqw9lt)u8v1IO-^K@L{N~x6%Fn^eu`7tzr()yGvR-byj z(kBJWn|->p_4#n>7FjYkn7$-zZg267kM%ZWzgu&3o{A=m?niVv$%#^0$NC ztxiXyDo}NI`EW7s*tRo(UCXss0Cw#HEy+6>mYzE_&*BbC`HDL#;IrEAS>b+d)^GxB zu+3sZ2C)~%+CDH?SI1f!&+!|eFV5n_XrkyHiV*up!^D`2w2WbP{s~3>lldaI_v||0 z$d(N&?fU@Q{d#i|t*JzM38HOy@?*aYHp;q+88|&wO<@=OaNeufVIkD}^8p@yA#>&!Wg^azFw!b=Une$jP3R4mBu-oPFgDuS#(7>_aAh zg{3u`bjZ|-A_t6HmdRsT8(wC;0WAa)PU4rnZ!wnQkD-7_JQfXKBCx&HD zr`1;iQ0Ke>8%Rvz*iM5tYd6~)O6ip#$qQIveb-xN8m(4Rj1P0C3p*<;=Q7B)9ro|o zloAWgJ9gUxlTL&2Pof#$NAqgzW&DLnB3y#0`suuD@>B7$)mm*lGS1nZrrrlX4YVwR zq>`Dj?ezo#uXN=Qt|9uM1vB@J1WVuwV|kEA_F6c zBscCT)q4>yIzhE%vbG(GB~6ek2z_T&VBtP#cEH`$4`&r=1P=*lbMHyg@YZm3G;*%7w1h%u^=I*1WA(08cW(`c zgjxgw?pZ!uxS7I%vOCgsnQqyat5>t{r^jdoilxOVdlPNF$b!8+HC@Z?3E?lcPRz)Y zM-HKK_?s(}c_{?(aRaY!0Gq{2PPffXyr=Tct#TSx1q^TbvrP^GXb#6(ETB8RaaAq# zxm&pw!xvJf%^gpj$ zpf4{HY5HmF$#jkSqf-jJF!FBdg%L)*TE%1}`L9whF!r0+_|!lt;e$*WcuD^(_0RHo z74;YlrMCllFo`Jy*zBQZKMb?I!TUXQQ3*+AtXb0P7VCAVVVMmbNyWExlQ*ex z&k)62XC=722Y$0vN8Zgz4-+YS@h76#SCA%RBjTC)Ilch8{OsblYSrI?(9XCQLxCo)9>f0ni%~js{v}euwD4PGQIdKk?EY|c& zvs(Tz8iRkc)&17YFB~8|j2m*LnN{^GJN_)SSP{I>-hu5qb9rQzRkpw~5=k)$ubVh( z!)LA*W}$7RPF`~61*X!9*R>|jc(f*O$ELNuPlD@cJI1bTT3}qQAt1P&L^fp^M{M)4 z2NAn$C@YdupL<0Lj}b22-Ch^v*f*r$5tBxSGlS(5Lrse>DE`#`L!k^Y5880f`cF}(yUcRIqN@45uBuhJOyR%rI%`3`6(|4x*W(&$Md+ ziZ+ZxS$8KDIXz{g4gc9|Qa+M;IavjPdCnJ#c&q2EXfJqXdIDgJ7ilb3@seKn!kZ6q z9!bxlTjWg`m%QXT$31DP=hmmZ0BIrbFHE1ZdaX}ATfZqQ&^-_*cJ;NIIa-khwb;PM zkn{L5g41*6&rZBcpQIfce$r7i-6hI}f54J4D~-x>EV#7<#f>+O%nIIe(Vq~9d8LVK z3n@yBXJ^mS%r3IS5$O**Qch#=%^>>(2_-xM(o6r)Rx}XuPq}iK&JKwbC`uNTPqyjV zyyYF=s7ts=mPU44!AjsIljTVZALPganX2+yu_>%R{X zyPS%*>Z$LRA0=+F%DWf6s_&~YS8q2&fXuAQVFKY$bLI=V-TjG4lpN?>fvMf1?l=wS zMs&7=>EH&$)Q>QTdJ-lyxqf+>M_-uf@SF;5@)Nr?N3tYF zH<-8_FN7gG5#A5jqY5|6F#1P==7`MZu+HsjT&t~Q&efcc6}goW%S)hNkAG*QOy<(C zP*I5-odly3z@*-A?=kWmdD#V#P^5LI0e!5%CI-v~;4=787_j}q)_avCH& z8GUFFWJ%9(i$DvTk!wno^1<<`dmR+dFm`!9>diSRrfOz7Ng}5<1Y4WMfoYCH-{5r` z{2a;M^6j>D<6>mNeH>>`_z;&7atMZ2HdW)8J$L}o+dNu?$5ZFU8(nb7D>^hcFxCvS!<(PSNoDW`0ebhVMIff! zVWUAHr6j?zNDT`ttS0q35j?$F=3nF@AyN*MP_=O?hXveBsRV;ZUcB47O?}{a@hPMLZx%>+QP-cn#Sud$39|aRqO|DVPJSHEYuaJ$=fZy~mJ0}F z9*lA1X*v&KhQ49)N_G7Y*0FZ5!Zw>a!(UnDxl;b=ZtXpOy9pVtEJ zdr1(G45Wj-c%Zw=&9MCEvZHa{^}2*W`+oPv@5=T~1l5;#CU+mZY~h%dJRt9Pb^a3LYb|#+2BY-$ zX8gTjg`0@y*o`cO=Nc#alHJuB0Qf1MlCzs?xFhrRM-E$dk1yOJ_y5IH@CMkDK&o?N zG0X%jJU+Wo)g}jp2dHduW^MhVs_j-B2o4**2|9G=4iY@+`MU2GeaG&(r4tKn(c zU_D0M>F)j5%e;7&M}F6MQa-G#LhYpX{@fYe31zvu-^PG=!QLAK>NAxS0DBCzSdV6U z6dqOFV!5<$$tQ0K7I@`NG+CgMO;EB$X!g64angKs<)REOdVxmP8uvmFz@TJ1?!gd1 z>1cfwn71=mVkSWYC50#9)AD77X}3PeGYgwZ>&*EOdCb)|RCt)gR?F6>|GKF5{Wv%T z9eDa;xJj0jvp9Pgn``Sth6Y+1ktNDeb%r5JZ30iLz?zGBp+0N?dC%uD?{K8{942z&pw(9lLl3#)8|Wa&CSOKiaQl<{0hf^J z^Ji1o?!hR(Tse9oFOoq!XxQfaOPmu5#g~GqyGw3S4#$}Xgfjp$x%i;M7D)$Np(Ry; z4MbyvRE9N3@Pwi&UVgDh4i)EM}EmY?+g&wgJ}CDl}iB@^wymO$%6 zEak$rqc1Lokv_4r-NdtFRS~i_H`X07wSQn~$J%1~z$cvWf>?Y+_6<2~lno(u!^+j_ zG9(PrJzrIJkoLnkg0+lGRlAa0_1>f+Ao2}x|1z#jT~e^;#U3}}Hk!OT)AAWLFUDTM zw#Dy`6YHIffz$731H5o5(7a&N5Hrt|OCv%7L@^uD1c3h2W;`W~_z%}77yS7@fY-J` zt^3gqK&jEbfYWxF)>UAldYgRiXkpw|$D++n)bHr*(0M=Eja%HK;*Zh`E0F(5EddFn7_Pm;ug68i4IhBfhEohvgD5)kUH zuG(9dBs2yBZE&xaxSbeF!lQSppka?vk%T=@P4$73K{CUo>qrN)wZ9Ox7qJ`7BJ*<_ znZ{<4`RFRVMnjES6IbP*R&dey45-BNCn zX5Vk!Uuad^Kccox=R2RAEN!uRr?kxUQ$QSq)2zfoaKh<+hi>-QskEdO!+Eb+z2%mT1v)kT&jDwqycTdmZx}3m zuPhH4tv|Ne@G>Vp@VLQ4Vk$kUn#s|T+wbjqDKJ~t-us0Szb32FJ+ryLdQ8TG_CJs; z$wExKBi^x#58|BWd#6itvCrAOOT@aUREg6dw&>Y;Ug;DsrfDauCK-8muH^6c_P>u( zsPjA))hp{#>dnj2Ee}-jX2N&tD57AoiFEMI7&@>~IvkgRIw;V0E+*b&F*t_Uf z3k#XgAFSaH#|Rx5SV_u*@sBQAeo>j^=Yj#vgC8)r*wpT@tIonf-?=f# z5g-ZYZDJP7HCt#pkK(l$&4lXX!@f4?@$bE{-9{S8A0JOi6v%bC>Qh^uF$ z<&prh%EI?kiP1}QA$He?eVu985QP(JKsLYSLLwUEZBXUNfy{6eBdpfH587D$e65qd zbiMst{VjBMn&1a&QkJjOY$uT0rXF#i&VTEbH*K|7kioBlbWNAs&6_b{oh8NGAir8m zD_2XvCj7XQ7&MOh>*OTlr!eY?9DOi&-UabGs^sDWN;l3sq@8~w;Km}~n4v#p3#^zDr)C1WJNNfpN1!_h|#>=iS-(ej(W;lnDOl>WAZ;>M#B1=oHetc>I%J zFFm!hF;Mo5|Hh&M#Fkd!!h%SFH?pe$40R8=V1+hs$3e7qGXn_8SjE}WKT!f_M4FWN z;}gF0k|0CP-~EzI;vVu$yKTgPKitU0?*)l;2^rfRRE7_t8bvW@eqJVX_$mjqHwjJw zOQ$xei23Aq{f+5wYbYN|MV@lqn6mxd-&CeE84UI%B(Y(kC)F#=;8~J>qsF@L8Au@< zL|%v%AhOTQB?-Kc>O`M{tC?v+EkU#QaDelbs$!8kiMrkF=f9z>xGyd9+_`TskVm4J z596QR>tjYx3!rtg0H+@MkuY?A*(I zp#r$v%742w)qjpB-;Tow2oIC~Gz&_|ebD*RcV2vDAEO;ZHhI8lA^JcGSq1Kt@VJoW zYhLX+a@~$MA?(hQ!f34doq3Oqe$*|?Kz2%0ICPh}CtrA-d{~EuyfI-%yO08=`=ksw zh3m#@3W3L|{NgzjF%^d42z&yw4daop!O#)cXEbh)NPu+47F-6uC9McgOYXaeZA-7o zReJ`U-s0kdN|}-VLzU#MHN7`u&ldTlLlWOz?LaU;d^d3Lp*AWd`Nw4Y*o z5)IY4;VFta96RDE(LF2ufLzaFM1mBX0``*`e9+?b$T641QFG~#U@70UGNxQ>M|rz! zO}G0Js8C`1c$@)ky7Q?ypCY`MM%Rm9f*stOr)H8QGYr5P$OB;A z5vaQS9wz<%dzK?ZoLO6hlZJ63+^#-7gs;2daRW*Ws329XWP0z%4?YId4 zD=M>KYV(hLi}HKjMWTwBHW&D-4?4xs{ptU+Jf!~*{J$vec%?fq1?vbf{bpx}sr)+B z^G=i0Mt)=2@=CHKmtR1MhBSrIwaV4Y#j}w%s_?Gtk3iK??R@TGHLn?8cRzk*X<$N65Ugm&yvqlfmItsY47e+xh$p(i*4@I+!yyD!JLpbQS0Q zE;F%eE&b>~2S=unipCyT!bGoH{^Ea54Z-P8JaBP-k897xijGv3OZ@}$)b6IfD~_U= zjY)<@h_cSrL)sm*c_1eS9OZ$-zX!Jb8ZA<42DmoxSZOH|_&1`XoY0MJm* z1xX9G6#++xnsKfbS{2uVU1f!hqT-YiBaF7?1z>SkK*6mmB?W_CyS`5?*kV9i_JoK0cT6xB%75?WSU=PF@^)-bjJrAKSj$@NWW);W&avI1i6wDfvi6OF7%S~S^w zgFxWuH)eu5UDBT|lGUi?`_K{j6nR0ZZ@VYfr_7f{^>>0W3j$(Vk_r$;jGVf|oWVmd z->&2@9Om<{7HwY|WlLMwPb!#QZLsNGkih&=6-cCR%~xVbS?&Jjf%-IAxio^UlpU}j z3l;QNnkFPS>u=rBSBt;*O5t5=4Kt^hweIfonB`|VGWJy-Oq7`I+R8Fy0VuRs6Fov* z0S+DwO`Te&7u|hPpSsimTj~P>2Bd*)Ps63MEk;=FqQ`AeyE?+^+r~K0 zB|?k*7qx<9It;``*?9&XI$Mei%G+}P*2qbihyKGQI_5+y^*ND%ub|Trr$%6}g%E&? zxR7H|0??=Ipw1s=ECC3Qg-0lLPG%H0t2Ns9>-0etW%!h~0Ws#eDEZfM@D@N&cHGKj z-z*?3lK7E>FYKIU?@_2)y5EK=Hx}E&hRRAUm|5x?h>~c=_5JhQ&}Q@!HPZXLZ2t9b zymS*{)Fkw!dKw;PWY#zvlnn{)fTB=D2Q87sZZ_rbkye}zDz7*p7 zw{*6Xl^~vC-UZ}++a-U62c~kjS-;otr3T6fn*Fl{XXR#u!5}leRyxX4@qV4+;hOL! z+2HBu*O9^7@M`o)76OI_aphwS4WfpD%+*s)gTJ+W;tDnyvLLTFf4pr`|Wh3q4z{glBD^bWy)m-Xy&6=9P0M=0n`#aKq=d$3=)9b=y2x- zhM+#b{b~$N!JCp?q+c!Ad*&UuLJIZ47!5)NEuHa)LOwx4{OT?#kUlH%;y<#83?u&7 z##n2_imXw27U4uFu(8`X@iW@}=zk9f7eVIMJ~~3E`&-1qmB-$Jxdn`LvB*Y9vkP7$ z-{HM7pro!yEhnKK-RBNhMH1=&bJzg-yIjiJX|}k-*EN-OwSFtU=$&2> zRp{reM!n+F^sUk3xDZG=KHR>k>6isR2bL`?)et0UAapT(iH~=peX<>`ND znPH<^GpC`tqzP)Rj*ej)8@G{7Yzr~rR_asrZn6Oh2_QN}^)={^adj!9v%87uazv}t zew%2Si`uiCE1YS?j%pZ3$TG`p-kHnjKM0g0o&Z)p1-_UJq{~r{Ofq-MQ7#9@B9d>_ zQHAQ>+u|PA#lF77l(@^PL-p&gx5N1iSke3vt@49AWXU=V8wuk5#>zWpYr&Tf6JtXlG1Fcu+<2(Ph)crno_Lq!k&UK~kCG z1MNE+@@0>R-xH5;Tm9}|APP+Hy039B>q@zNNH(tR zDKsuTDQ|Xh5HUvNU2H859 zn}DGO7rkkkR)IFIHhJ8lX7VIAtC>8S7`5!6uSAVKsSpF8BXKCnC# zg9Gatyi2v_V9?bdNae6R1uc-#*D1u|f$_&Nij475-;?hC?{zQBE0dHvj;7sG}EWk4{@F7fVTVUODX0Fxh%EvQtf9)CF3g*&$>Vc@W*WyISfAN9<290 z?;3hbprM{b`?(-oo7rtAB`TkgoQ2oLO?OuNC@s{vUazg1gxmbmLy;?$LMz2bzKU&aPf4qu~r! zSBp!D53n?{n;{qp9}`(b=UFQUe!A>|vYm<*-${OAwfviCA4#tI4%1Q#s%BmCAjo?AZF5JW! za`+0H0M>~^1EAENBE1z|4ZzeQE^rLvmBgCGehM6*|g8ArETEbkjTFL8Kaq!i-3!_R2+tiVB=~W%? zfI)`sWWI&8tM`^uzgIK}Oo7qshChVCoYk|i%%0kUy-A3oD=iyKIAk6D>@eeW&4~rn zjX*wRQLNR^`meVPBZ<+KeIN=rt4B{MARUNRl}r4J*yef z2r77&Gzd_o_i(%xFRs+wS0JH}9Zc`n4u!d$$ZkI~*on(7fVyA$&cVQTy7eNMuXLjW zW2WHhL*W_TyXvcl(~b@GOm(SU52LLMlhDGzDK0Jzd~)I`mosdv#6QFz0$mt*kn@OL z#vy@Js{LT6Kt8gGP`w6gs(C*$>V6KBr1FJ6gc=58%M3%z1AgnWAd_o*Uqs_0NF~ka zc1?#^hvLnjR#MKsdrHETrf0H54%WOI?|YJ7J(Qrb$yOHPv}ur#fi5PV0XvT{EeFb8 zy{8;b#u=Xa;KLDCbbYk;TE03$$%zK3DsP;ha2pU^?7fhID?Z5vh#l)Q%q_3yCf?T3 zV;%SOe$OHQ8BJfrU!QZ{l!5n!t*q&!<~v5+LUAUs~LYnciFWcrm$NKN>W4IR< zrW33bGd+t8uIymmz&~#!7Sjil?@Y*}@dp7O;e?xc3?+yD`r+99!!hPLXwX!mSdh;q z!_8aY8w9(bS#N?)l;LjUE_KSakTd|OkWK=7d@{N~egJv|P&dK=4$5iSL z9;l~T#4z6O?6>y`y_t$20S0C(i}pmj2z*)pWc?@CsV_W0C9#6iLdV|-)C~CZ>H)_AEDqA9p2#cz2bd*sfT0MG{jXG)5f+M z6Nf+)VG4XB%<0qbl@yY`uwCf4zc5E+fol5UYEmxcdu$YaKjzbXl4V4QO4iDtoC;1l z=18OO!sdUCMHX0a#7@FTc2RUA+@wwt*UaoVo<^BEo86peRD70?0kB;a@3u}c*E{J6hFcUPn;X6s0Es9k@ zeS6)j+|sX;y819-g)&}HV~0NZql4W1f$$K`Ik$-W%FU?++GQAM>$%8kL-#vGGX0Zf z*hpZARbnD_gEb!%GQS>mZ=8Cy{ATHCa(`m$B4>E=yMc&6sQ;_-1A(1jf`nJ&=OqQKkb&02ahiI|FQ-4G zdvrxfB;!vBM)xFE?alZ{i2xYEC62?&xxH@mi_#XpX=r!d=RDq8WRpn?AI4_$OUF*m zu#-s7$x7$qe=`cuVll!IM75aYw2yI+8A4?{`4MxB30MXz)}Gx z1~ZGer_pa`DGHlsctMTZ%CD@uc1v{+{|J*q9jrUaSdYhltoqbH0EJJdqd=yYnhP8= z9woNcPyN!Yb4o>sxF-uqBFc|DBX8WAJ$E%E;77}KH3}j0OW#UVqcyec$Pey_7Iyeq z=x44U9D-KpI;+=yaudIBH}Gj|=+}PZ&Q?Euu~a?jn~@fH+oMNxM<7HwO@92ZpZv2L za8<=U_^r!O__WKfTi4H{EXLi96O-Ft1qZNKUHO?Q65TG_1Z-C#uZ8x&}j z1O9uM72}`$k!MGiI)&-zQN216-o8w)!gJ-XG5}#?4GMLoIuNjthBK*0Tl7jN+*twL zPqT-5;T|^~kMRuoqy=4{J(8`M`i>w_T!JDhYWyx>96B*)suOccx?D*d#gLYTu?)y+9}t!wq-B1Ol`;hHM9aw#j|)hb0`*n~pf_VuZVRSy$O4750BNolN;>PxjGf&6Qjdh} z1Q^*C@ky~l13No28bg~RKr~3T9Bawi4`|F z6SQqNguU-5fSvb7pS9DaI~jO!8+d<9b(=Jg{>84W{*MD*IR&FSqO}AJDVGylYc-pX zMp?$=nnEcQXbSApPqFZ3aKsvz5BPyuAd(I?fdn>kYnDzeZ8}|~f#7n}c(lVI0p4%6 zu$tDmyyi6!;=rmS$4Hgy#G~j37V@Zd3-1AmwF7&NvUszvin2PzL--W0oNmqv3HRY4 zr1_X{-HoT3@^ILMXROa*E&AAtYn1Pw*4H)X)*}RWu%Z1&E@V>O+513FSG5sB--ZN# z+n^Nq^&hhCbBz;kXde332CwX4{OqG7XI^n(m^?%>4xYWbA~6lTP6#r!(0iSH8WebH z|FO3bF;m;{APpQ|;AAIuLZV_vsKZNe+@~%q9w-tKVM4ni3nvAQ4OmW9$gx&y1M? zptH&iWnx$>;l;Tzw|!y}=DW&jM^2YNrIPXcpva@>CD#6UQ_0^b@NmH1stses*w_f8 z8KuZ)zZQ%b#RMTydJRTgZBZ#r3@_Pa=wWvzY3U494TKe3I0iENYd+u(oO~R=yJbd> zbDcirlF?qlp4EOKdZtYJH;&L?cTM^ zwT@9Vg2U)W(}x^&Z8qcfdQ=XdIxJs9D>B;b!9R5U=^MH}NY4@B z+YOi|jj9!K%?*D1jOEG~Qlo-@uq=J63Xb+#*f#564zzfXuyOkqz5KILvj~-6jUPTy z=;kG|$RPaF!;hlk8F?mwsHF5HRF4g`aY%x}M#$2pEvCh2-Xj$lj1%C~N+Lct@d!uIJ_Qhd3p_(NL4OY{?6xM;;|pJThE z5;uw&*bPst5&?(}%_;^xuqq_+Y4_ma6ilBQ@*m@H_u0m7|3@37@=akX8e6@87{7^z zAar5QJ1{35e$ZW*0I-`C#p^yRhIZdR0k~2%=Xny#kOG0rlmej~N#Y-6Har=&^!+J0 zo*AyCKRZIzj}FZi$-(QsH!%}FC2cnCPI@VLa^Mv?vf4^s8Tir8tL*u7Nt}ZQkdR|j z$w_Ag3C`U7Wh)Jcdg}r9Htzh~-X15%+HS$x^eU-9Wha8fpgu~u@gZltfApPn%GYF7 zy;7q@IXKok;ho*@jYb=F$1`}E!G*MHI*8+8m)J{pFoTUCJ2;aCnvB@E0>pN(Nu=EvcAB2;zkIUvl`U;+eWV*S(#eW$oLB#q3 zu)Q?&1iQ}&7V&klF=me)6zp&ihD>R`szBf3%;`jcc8}kgxwr6x7U+$iEpXNzQ<5>z zneaOCooCV%5VO;V2zbA@RF9g~l#C@@r^Ld&seJbCc=NfpaCs91nMp#&x>L%UVn0cZ z56=5-A0_?gB!ctx=j^p9)I*&E`3_|K zOzv4C5*2R!ue29r^V+f<;O`v9Lw~5IbXU2ZXSTL`0ny46+5>_Wg5_nxiPD0fp&GuZ zqollK*SvHKy4DL_*Qd|KPST~L#AvfK&42bt+@gJAV&4}D7K=a{FkXJ}cI&9jO{`xu z2x>n=1kyr<`YgIL8K!NOG0o=(8{(n-JFLBUA|H}^DZxoTYa-$LpxchS^{20#%+l_- zO5^+{62w{8;sSbM?{y}X*_e}ezOxgvOLB!?B{~zrf4S#sz5d3jyxnuP1LJQE$a=WN z73L13{kY~K9Q&?fxgxZeKF#2NguVDem9XrFxi|4jAFvoaDQ01P0m9D*Lw>9w1YgFq zi|u%0GCIvZinH~KD#SgprAOUy)&>Y|KxaG(w4M5K@}3g14Cn#739Mqoch2UiOUu*_ z86@%Hk4EHN{n#j;u5pJq|GcfwXAJ6rRtz!xgT7>q-8uQuU!ljt6+PJaD1;P-m2tAr zYA{21u_?Lxf5>~crZ%#rUH5+fiZ5oYJI@GnFktU}B^5%Jv5c{dF}*H2gb*N30wj*V zem(D-S)~#OclVq>#c21NF%v3nM4)!+&D^u5a z3o2+Yc++iK0Txxc#%GM7RRVH#OgGB&r`=?&r$8A3-FDmt$0L+yf=pC8n zhqf3%HpR5rWe};-iXX6k{qRL%iexRCfo&%=0L}K(^&D8|0N+_(3gAA53x}%6OF+_H z@QcBs|Ltf@n@eA9PLkZp{ysWlK``U=%`AWjHneJ94*agLE+Wl@0ik2VHIx&I)|tIv zZ*fm%aEyq!ov5yGSn0!5~*`=$f$sDkF2OoYclQ^}mPG;VqOO&qOI zkCB%@8blujBe<_uTk|B3o=rW;Ysmtqe-lFNEOgvc7sJX0L=xmJE{D}fKg_C^8^jr3 z@-CE?0Eyj2=naCcgfZ~>nqixuzKHX=XBlR2N)=Imv_(GJKD&*J9Lqx3|Fvo==4W5m4F z&_$Z2H72BaThD?FSfTEZ8s`P<;Kui5ry>w1A^yu6!sc6RCyr>?7tDo9U&Kqvmm5^g zaQ2Vl)RLRG`h?ah%rL(}^Jd=GBhP@66g$tp%LX&+C)K9C5$?~yPobrwqh_dQFUi|= zbdy%&4*xzOE40^7_r>C8cLJc8l(JWtDlKHYihzR@n0d!59%d$sgXY=zVCCSviCRf> zh}7b-jT=i~T1?FsI8#a|+r1@{&N7al{w)D$(tFc|$jhAEWt33A;xS>hJ=P+k;w zzglv5u$TUW_cqL!*1|rhVOSD=M4|R@2D0Yem6*_ZM{wLWH!x4lIDpv<@LaGkF^6xC zP}O)1u&+|a02NzqjN-hxYStxmT2aDqf!)}|F(|t91{Tx?9C17X7bkoa(zZY6Gm@tM zeEr2hM@?n~>Wf`f)0IurkKmNnWcInu#m8<}h&<~8NragX;Z@AjLo=F=G6|Unmy2u) z)h(2QjEe3M<;Dcf2_opa!#L1ZJ#Ti)XAP_8_lD*`ZzUbWy?rcBS6K(QCOq?n%VN>` z2dt_USj{a%e$2W@xi! znG=rSs=d>eP0G{eMYN|cATp)Gq7YnIAGnkiGd-sBWb6v^&o%TG&Eu`PVmhPQ7iR9; zSKqW=FgKcMFUHxj zE`Kx8WJu%EXX&dSz-|~KXR?_s7w+*G^JkX-t2db3V!m-VD^Q%y{O$wji z`5uhTl^EN|mvilZbRQq$-KpMfC<>VNipE-DW%=X5rBPd{hGt@GV6nx}`r-;ND9h)D zFfAb9G6V^RY7dc_1NIBnR%E%6x{EV2)m__(#2Jb?s0^Mw|3tv^(_rN1*Ze6BJ|IOC z#g}}`6~tl`Jt_!;gc)a;(QZcpJY|~zx@=Rg%SQ9J;IFkPTkSQzD5|ALwryI~c6_n# z4r)J{F|TJc#vadkq3tsan{YORfZM1!)Tp5m$cC*OUY$1kbm5Eo$f|A8!*8Mlb7mYmRNnH-3rY0O#8y$dr=D#gVyfz9h8UF9|(mKKU~I zpvT3jUovQjc=yaDKQzz%lI0R3b@UyZ5opC!N5BsN%B4%56<77@L|xO-hb9ys9jQ%N z0WaSw5}KDNESeEsRe)eCsdywk2VW3H&^_i;`2q7OrZLetFuazHYm6Vo>QeEA)S9!c zfQ%x@a#i@GqiZv}OEGh~NKCEv1b0LPvr*<%<{QY61sU%h)zY_zJ_N_XTy#N3qDE3% z129Ww9sb6ci4bAXe&U;OO~*SKGv6kZoPCp)m)|G}s^Fns4oPHmY9` zH3@`Ee^2-XtjohKAfPVsj3AsiE&7Ypu5)|BkbrY=&=Xfy`zUmDwl3Ee) zw<-cw$SER(juN2WP*o62@q%Fu=(eT4t-~sH)Zs2XmZ8GPsC4KeFj-&* zz8yQnEDwE*y?qUo)CzkyG-H<#gy2^XA1$m|Lx~1<#(sz!^g@L|y>fn*os3FTXM`BV zfWT_3)9@W(ABpk5_xXA=U39%DrZH98oBTWg<10Jv<~gh?6I4|TdfPbR8hP}2BC}{F zIai{y9?~-Sx4U^4=ZDyZg!Rh5n#LgdXH1J%guDW=;xbOyUOC)hXX>4^04%|RKu5kj zsL#!=`4DQQE4R2$(tMWo!{B=p{bJG2_Zx?yE-a)x%r8<6QDg)Yba~r}iYa>ZN#9(n zbFURtqEb_@6*8838-N))$W>(D)Z=6^5`Rw9VZsQ=5+y8ebl*H=dQhh1^$cC+AjsVz zv9if}V-KyP-2vwIqm^kx;+rer?jDND@9V2|Lk}b|Ku!f{(F~_0M3mP;ub5f7m z=)s8?jJ+S9uysK80C|HGY1+er-)Rz9+bkP)JR=E39cMUzne*-fAvM%m!85|Qqvoom zQWq;;oi791$NYT$!q2AYnd$t_1(2Z(6SlLnUp-^D=Ty{^We4&*=waW|t* zS63X9&3AbbU^To7>J9q>{6NYd;>MwV=?!wP3xQ*yEe*pk5AXbYtCqbFHl`26e!Y!K zCN_=sJhp{lajbzey*)OM!xNd#rh4K38PplOhk7b-aDlIlc77zEtaYvLwAW%l6Jv4!p6Br3Acg&q_O22Q{~ ztJM=uWT|s+mpHzjZ5(v)TMev*y+tou?1Sa-6rZgw*tu8j@CbLQ4KvxjFv9CeTy)uo z=0)LLo}|Bx@E(=l)uj7M^##`j$|(q|esP^?dTgYXaETc_{AIAfa1ty#^&uN9v!45$ zEeTR#)lkCBt%3+KKs22hHujRy`5Z#6Ak;rV08Y~DComCl511rl+o2}vFh^s!7))xx z#2gs=1lO26I+oRW2BfCYSTqa-B>yb5T0jg~tuLF4a?D4?PICczERjagN?~L z1gIA7d`KZ<`C^B&B#5z5rWe_}Pn)Oa1#w=WwX!Ku=S^VS_vW`gn8%*7I&(-u@pbAp z$`<`4`9Rn$=grF?F?{Y?Vo)FIlIN#Er139l6#QXsqb9ByVFf!aG|&M@$_5;-nVJD+ zA2?aMT2~{nErt(OP(g_@XrMds@X|=bKs#-oyf#uq)GtRG#@whGLZgR|gq}75b~#c` z1pl&uF#L|1Y|p+tRnH{Z%8Z-Riv`VrYLxy(&4fuYvC2 znKz)9&2+nDs>dYZN(tv)-dMB8spiv7Ie!!pCrA@!DX(Y_&-T{ft&I|)(MKPcdKR%DmAu92-V@ik|xOnR}sHyXo}CTa9h(E*lkfb_T)B_P-#s7*Wwz zVM?19?V>>Qsm-X641IS15HuNohbICM{HLCDWYmO|$|Y?Oi@;*twwFBWvNiNWR%<7@ zp5urjc}~%oc&uf?J0IXKx2Vu|O1gsJwS+BcP~P}!tsg~nJQ^~uu)VcVSX>M>&Ey|x zY5gf{NE(Jm>OF02jSmsOq;T6MqsM?fJZNKA+33(SmwtB<)sb2cEX3?tdB{Xs(`CIG}?I9hs(Y$f)v&mX zK)50si~Q~SiPIt&y?h9bzWqzE09N7??3_`t4bG4X&Qd@EAutOsfDYtY7^@j%e0JG7 zSTz6wr#T1(rD~v9{O)ffS*&mloIRhXubSj(GjPHmo}jYbW@Z`-Di60tAgb> z4_y8jhILyIep)m*FcC+6q$ck-8>{|IoeoK@h(vPu-({1c%y(yEW@4|}XP69Y+yKQ0i~VZ)xwCsT zLRe7_Sc1AAE!x;dWh5sH42#dPYjA7TNJa5yXB^a$clg?i=5$Kn&Xv#_6`%Ca#l{R2Y;MQmdd1q`W)*2W_bRBTrD4{kvl=m>C-9t& z%Yg;%63<=aLS_4M1R*<$7 zGaTFg*?q7i+j(m}`}s+KLZL@CduPCNy&Zx*MW^{O!DZp!&^LNPWB?{mKN zpmx@T-}x&Hq$&wAZOF&4Nic;=Qlg8a)%&pv21A4vu!_8!HiXzHMH4)pF;X6Hu&-0rA&&zTfprqX{6VEkp8v~Rk!aT!SMaCzr0PBL6I)8uv71~^(8#EPu2D-1JB%YxF@#;{O_m0|V=IzD?XhRbN_cg=^pI;1*B8^G){HkxTH9RdgCE*|=*sD)jsc7te$FehKKl41JvhSAGXe!?EpF5te_ zxMiIo1MRo*)oMK^5vEDYFiS`&i0*zp`e@#Eg6l-p{ljNVuq>j23|m;{dCb!A<;d_~)wo9X zPpB~M*FlqWP6(E+1Pi#UX6Rk$Y88IH*J)o#7b_Y(FI*h(?5 z&yz)DY+Cz7!uJ~MJ%6+tyM6pq_`k2xtIhB+?z~l&MeC9Z8be*ii>eVU#W_CWDJUH> zA|PSHvfn+CBJRAXFZMv_86H%&IyKKXLIq{|kfFa{GSIFV=;vUdKT8G*X$A~_$wi4_ z_({eC#`Y3KBCA8vBe-4BW0)j2;lA-aUn7NI&xhSuLLwcSLCR@1#>l<8*gElvw&1-t z7Or-6`eZ5o!5SJpC!GZ5JQ~di5rCFx738})CqP2zGF%L{pD0(X;x?y7YEC*FhrBfA7Y*+Ya4|z`CbBB}hBC~e zBZBTPl6Lt2Ym6WlfgR4;TK#2`XXGKx8XPQm1w+G~F{9b^)8SnC6LtuYJ|d70dIl-}Y?RchkNcs1FvM^?dGPasDs(u4aT$SiICg?GM4hgn zPgt4wjgvfhQ!}o|;H5L)p(imR9)gd!eGYK2Pcv}K^$Y7`v`rIfj2oYKMjD0u84RvXh^MrHnyf=8sO_79D(>ETD`s|_ z6I4eF&d{S<0=lkNqvtZ{!$=CyKiTtqAIv1}pS*42 znF16W7UZOL4J~s{#;5c%hbjvs_Y5Y%f@mWo3a~LpyqEQ7n1~c|{*`Vzo~49Ia`iu|;T&7lKZ=+1;lUnq}-hTh#G1gfBe! za#|_(#mYvOV`G?4QX0~EIY6!&D#+CUS6T2Ylsz&=+-595`%u#(h}H@PvHB zYy6b$gseXe_r~j({@v73G>nKXG!Uk?d744%;C`N>6FoNe2&bbPZxcK!^h{+zU3HyK zh6VFP6_od@$TGA?nVmDMt()hc!v_Hho-`xWMTf3hc{SdRI8ghi_3+wy&xl#mu2%e* zU6cZmsK3knZ8gS40|OAuW3SDAZC(~9yUB;wVn6 zCA}@;j9^wG+PnP3!6a9z9H55XSf&v>KAsKm08n|1=f;pq2dIk??Li0@{qhMwS6NaxSI`(bz;{CDWP7fE9(Y=P zWy3H9f=;lq11m?NYHN@_)g*E&zTra^r;=eMtYcm51Nv#o^m#^{#&kN+%Hs2O0Zsyn zv-N)5Cz8;|nR01>RohlOs&?6|sM?i2QZ~%$l?@Z`T(!(Fe8_M}R}3_r(U%^&6_CH~ zjJ~r!UeYdunn?#P?ja1rJ(3D7OaRjsh#dO;Bs{5EMvPg!CJ(_F3K3v8vkZwvQG<^i z@6S|Hs`OL->d+GS%P4+s1)PB;Mi`KM=E=mf0zt=)+>;WW^_nL$wp~a%3VuYC4u%&~ zmdtRj{!O`CNLTC;&)J-H&CJTOEhj2zZZoeZ`XpRRJTh$(>zvi3pZhWgO1 zX>PW6FqZW&iIi}69XWF3-ywJ>3v)OX6!>xB)d&iBA15>@&EO97`K&B`V()1z8Yi8B z?RKpgV-%9Q%lpX6z*i7iXYk-p_3>S2Sh>Ep(dw8$*9#a+vS(+TDGYJPBAhm@YWKxR z8#~uYlZQg+)PeC$(|b><(5Pt z6%PZS)kY;}QUobRa;|x+N4{m&9J{klz{Kn<)^6xT7zD-devXFBJ18S zA|qoJuu!dUoUyCeJPz}8A`tldwFC{_I9UF>t@0Q7DXv#maPMr!PYdx=bOkaU1u>;# zw@yq!EnyU^{$C}Q*b0f%A9Y%>@}IO44rv0VpMZC6^|T-;3pI);y%C~?(ywP2rwf06 z&xEN`EGeR1>nl4;v5oU`%)-Gm}$*!KciS;6E_AhR?RNxi^&Mdg|13gQW1% zZrg&d{dKqumvc$1U>q=Ixuq;o%-BWVQ?cmAjsc>tV6YRnBJNe~*iuIyBsf5N@&d@- zkl67N(~ReelL~686~_g2ikFeF?ZZ2BHsq{Y^nvj3i?IhE$SIly0rYuosBsRLfi~HB1%^yj)bArbXtjBPs_Yi$8LiklS)VzrrEyfyo*lmV^*P~5kx@8 z_K@UuuJ&)pZ^QUI@4PU>xe8c?FI3?24GH6@u#HPkGt8lk_cb5OtUiv${KD8-W14!i z4&_jQgHANT65`iHWC4}V`+*9~_kUFDf0K=53T(6D3^yXTxi&O*61Kx-G_m!Kl?Ak0 z>w`MX1bBn`HX}RDTfH&SM%7|8i?)i1y2E=#h_qV36UYMF&1uWYe!mv`2DApggIqNi zFUQ&xitjZJ|5%e602`|uIFv=h(1@dY|5opxJ zp5~RV=Yt+XWSUW1*ZQg0NZwj(QtZdn9d&ICewq9>6GxZ=mTw|(qRbe^w)d{qp#oHA zEoRq*(!vy`kSL&-YXR2)aE=K7D@AYFk+-g;;U-Ih1T+kpBqR}Qf&juIFEOXv)ZIf| z-bBS>xw-1OO_~QGAj|Qe6y*d4^nPbovRu9!h5|mXHj#!p4gq}RIW0Cgj>f+fDVp3g zdRuT1JELKo5ll#$ISqpkQj;JTIt9r9F-SIF6YHA{>_WLWk&D2(1*aKIYQb7J3A?E9 z&WwW2SOU0^7B9T!+xM}ExjnFYAhcpG>TaOFR+Acc>mNdcjQt465xvcR+2U$nBkW!e z7<~69fx$Fz)ts0Tx8khTHs=uOa{IlJHinuP0CyJ;wCp`XNtx}T{zR1OsI}zee@ucg zTMIy@F`pB1??hC>G=~0qq%laq(0ZiOd^OV8=0{MUmJ3WZ64GUGi1>tXqoMyZoXTXB z)udSWfPxmOdm+b#ww@AJGpBM3AOW=>W0_111(;FWnyv#>GVNUC0_&bSmHjSJ1uWN1 zlcNk2=I$;U=m{{phJy}b!j-n)DXJQ$F`v^-yd=D6>@3gWR6YI;S_Z`x)=Ig0{O761 zCE-9{uf@M1UWK`LaoEdpsnH`Ls>C}G zfgd9A)PA*LIF!3QLHLq|^2kzhXmIx528p~s&^yU9R@_dD9k@K2R4ZiKlXC7pVwQ^{ zcGjOxywZ5CtV%5-L7Ej zfcjOz-o5zEODBUJrW<$1wp%dxTBGBy?5!VY1eP;~u+mY^Xz04Rdgy?RN&0KG z*4rSeRzKp;G?U6m@(V-CBBshKRx%8SLi?-C~IR#eE6NImen+_t5sg1{L18 z@x5?Xm!tMvI-IqR@y+(0Fy&1EUA)+GkBTx{ofWfehev5tb~Yw4u38jfrix1#r7l<_ zi+0ODe+HF7wyj6+G7VGI=~b5)IRF$A*Q?%Ibf|VG_SkCU1sG0gvy%Js)}7nz9zy|E zo{I4F5~FDEuVyyq&lElcD=u60Dq+CnD$Q1uqD%s;eO$M2Ek2ryM3*MSP}er#VGO_I zhjw#PJ{uH(wZlI56P~OPCOqP|gV=lMZsd=WWaP zd)EamQ=s$!@$rh)uxEp=za!3L?598sj-BIaZQx}neG*oq;#kH|;V4B^u6{r{K87z{e`YZGy zV27!8V^b8LjzD`FdClpos@ck#E(WO&MN5uBoUd~)eIy->WgW9Bz>V-2I?vU!D!Fv6 z^*H%fnMRUj?fRI}qdaD?%0!wy#jZ#O_;DE~WgLo%c-6Xm%qCWVJJZ`avgOj)h12R$ z&_(tbHT;Ip>e;c+2ImQJ{gmVkGoQd6EwOA}enzt4;PGh53~cWt%*0&6`{;E0#*5zI zidg{ksHl8+t-2{kw-yC^Z}?yG8s?{AIrhpvYavXzSwWl~<-)BqDpU<7{gF-zi-6e9DgP-4?5id7`2q+3 zL{wzq97!n+-p?5JMb*b$n_jl zwpk&YhP7PVOnHV(8V-IL8r>$!PF?oWi$jzSk0oM&cVJMYQMfk0RURZx2$_?k^2fS! zHgO2S*^9U)2(}tA^vW}tiJcSQY%CUy7qO>LKi~xFV1*fX2Y-wj#gig;iA4g%W3f2Y zvhI9HZIC(r%mTgpKr?aj);Futb3u1T53D!zk?`29D%M2W$&r!SgptcJ=e`rxyE5AW z@Ce&rU=hPH2Y;)(G+M={<0dC*H8y=YAPyg@meo`IeD_IgSrHS(Zv)vpk@vPt0M}`J z(wMh?aE%1@Ei||fDjPt>ts3BW*#O*-l94!7MWvC!_p^1hmgqjT^48;Qhcq8`v- z`NY6|$jofW4;%{QusolbhSa>_ntXyJ_J8mCrcZnO_wSuLYmc2Sp_`@&k%<|_N#S2_ zw=d{25GDr@fTL>BoLMeLEVO7*7|bB{w+u%QA(U6wArML{#%8FY%Mg~ExYQZ_ww)IO zB%3DlJJ%2Ljd2Qi%6r_HI1eCJQFw>Yu2O6ceKVWM(;Ud4I^X7To&zsBkNR>HN z@EHM%*hY^HvWM@bV?d-SAT2jTXD&y`D~V;2X8BBsCVm=;D9<8J{$@D|uoEv2IS6h!mCzRkTo~d=w(&5^}(vhI(srYqRXNaYHFIqn};61;RWC z^cHGvaz*n5@Opa_7eM|heeip-^vT=JH*XB7LAx}6P|zkozclz?;+r_5OS8#ogfTxkHf_SnZnj6LJHUkwIZBK70?tx+^|NPO7ph+_x{(*r>_F&yVh zkVX1>SisAG`*em4-k!HvxH(a3qs|Y~&uBEUo#(+kIFH*7-}!)srZM|Nw8QZh*z^If zQ_ORKzhpPrVY_qy4Ag`H=3{Wcy1IYLE!L<8_lDp|ynP}YXoyO}{6H(j-Ub?8vGJX| z`)EZlm_-QU#pZ$%%|b9U0HZ)kB)z7%AoZ9_N-k8@kQYD7YQ4rsS%=+&%T(=vm%;<#zL!dOKvO77Apo2| z{kr)V##^Sv>dhxYhXwEj z`PY{a1Bc@2iD={#2*)SzU|3xvLoL9>H_IL5>p=5;v<$^ZPL?yU17eG=$wj`M2e%#S zHg0~fwji6 z4HfFG1cD*mfB~sL??KEpMvND@-Ln=9;g_Ojc|ErLUrJm}MmYCK#tZkzdM##X3)3_} zwVV$+)l}jnr+7$?z%Z%OVmFTTOj5-*_2-LLhI`mlDK629Vdy!+r*IK5k+6K@;Hm1d z_Z*1BJb{s1ExQ`p55!*%tYK;9tk~XfAFQ>#P^$(+=@+IM5E#7-8v2=@=$RXfqw{ng zxQl=NDMo&O9V2T;AzPpFDCBQ+m738E`$XV^d}N;Q8xrq+h)Wp>4mq3yYYmhnS~Mws zhLYrV`(qRe!A@RLR%qu6&IHWhcoiDL?S;dy#?-XRD6{7pLYxA#hQM7c&-4hQegnto zk+rXSMC=Sj@J2eV_PO@zgJZza^d{2E?`Uo183)y3<>SUPJsZc13+p0*4)2k5tfv)| z_Oki%_8srQiQ#3CQ%vDJ9@sylbxdY>1vCzo1TMn%S?nEv&*-fLI{g4QO7Sdo+G>!p zhB>9q^bEAsXcxkzrs3{;S{W>m1v=}WO&y3e-jwWA>>G|=lGs^u#e8L#EPeDJQzf^E zeow3`dBVht=jF!&Ux`FmK6ZcX(}6F{X|1m~THu$54iSc;q@p}@7!Iu0(fR3@Saf5gW1!C5u%trYEV-xjor& z<+BYRkWMXf5L`{ImTqUwnopHtjn1I&7~KMg{#c(*N06ILmr%cfyeY}5_)*}3Y!%nbl(L1kPJLJ_P0B7iXoF!$kls8`Lv+F8JDf|xzVx+e5GSI&r7k=omWxL5`f zdcqqS8IeAhv=e|wPS(ceLRd_{w)J6AFv| zJ>9y7zViTg6e|IXe3hFN;mk#s!E{N~FA$^RGP_Wi#D|Noi+xWtLjK||np9G_?SrY{ zL7nLe>`DoQdD8Z=BaNQ2KUK({H_DBt?OOLuIs`TFQG@az~|PEfCr~YbjX=y$;nT z`vMhrNxm@SKJ@Sc_nCd~&VT2KOr7!!Iq=l7GdMs+*7wcn3z~Ae$6(})%xp8)`5`RP znreI?D%fSjjKR7$Cw;x+^GbX!4N@3%6$XFSpKjpt-KJJxaBFDT7@9T-H>doZdYoun z>e?v9r93A5k)JWY_x+muUJDk{m?^vkbw_V@BTZOM&ZPr)f>`NehvY z>bB#+a!Tt1d-MD=I6~1+lrKvvG$UvpL{R2$tB)e%LrslUax?H3Ee^gqHHzI18ror# z%GLQWM2x8%L`+Y-J!~bn4{;M$1xE~)6tUJiCN0)?V^usNQvO0LNm(}*e4)88K<2*_ z`HWa1u<;XFX&54$#VRt;jaX7{0x zh`9=v=5U%ayOgsxJoiaQDwGh4&?V;vlNEgmU4X9p8FjZ4ljh_bBZ2u6M0LN8{{vq2 zaaM~8dkh#6T2@QR7@3L=G}TxK94SN5qxD~aeV=`oIn+tdPDiX3H8$y|V$}fZNkuS# zqFwTAx_c@xKHfy&Jn^I#2t zRH!a&L-!((>lFwW%Pq$ul%5a}L1YZ41_y$SPnwgK20YdcdHly`f{NxSM`1%G5}BN#Jwd*&=NO1lK;R z`l+|$-(_R!%rD9w|72$M4Ah%A zL{;fKCtGXZqiroo+%Z~SU%WE3QCQ_ReQ%rBS~N1JBI~0tD+6yB1DaQ*kZncY|1K;d zqDj?#m&-eVbNGYz1^6eiqze6`iN7z5beo~mqr|gO@;C8?zR>w`=Z(<(^v4X7D3i39@c zOD9U^uDx<-#onq@x>}UyHpR}gCnwkDfqjIHC)Ms;EtLos>bAJFa^<{ZA`p^J3p+SY z(GA_gI>RRsvHdJRMOghlJJ-Nswx;Cf1h|U=LF-$JV$Ilr=c;^b?s-&H_dDN+hiR{_ zIO~J5g5br08r5aUGjIIR-gsWW=8calFK%qD>o!eBAIH`oi@)lqzw(Voif{X<9r^AL zf`RCH!0@4}(orwpeCgiT@3IztdhKy^4{!xg3v97dIs#~+S{9|nR_KE{7xq629PALA8%btDY#e#U;Xoh7&uEZ%c>b`MGQj!t# z)vj@3)EswZNL~I%T;r!e5W4feJj`A=x)JO~KcD-(Pqv<%^$xG}b(|~JiqeYs*UWE? zv_PPIWuHU@t|Cue+nse3OI7-hI-AHvW$ed50%;|4naP_p257y|g7K*kQj!&6`wSn?BRF!hU2mb-{Go53pEtS~Mx&4(uQqqLWngYvlnZP-~ zhIuR>N?sbt+Z%t@n5?`*?3E3fRAgL5aEL5o(%v<%V?sC+gh{bIgS~55zUp5l7~DGX zYaS%yBs%?iUTXKN$O)$SztxvJLI`LF$lCiK`nU~760WBij45|t`L$7W%782Z``V}+ zep-~*2UgfvW};UC^c()k*Ye4l&OX2LdaR0@oq@U10JS(DnrPfSyasg<(ZA=nyKZuC z2jkl#PdXi?%MQ^Y&Jb66==hj;`kc28_W+Y$&k{F>!dqM2>8R6=#I4Pu?b*jG2q2IqRM|IL zJA5ydVFUBjutj6u6rM9|a8n@Wb_l_LX4u#n(c0JdR}7ok(KtHTQ=~0;+CSqztGUH0 z$+%U0YXgmiCgPIiR+`;{B!{e89GCucnb~|@$v#a#v3=G);X`RPCfsy+x1pZPh4@=+ zpRUhH=Seb+{$DbHS|^V4%abciA$&XJLDP8iQsgv?p4c}eT>Mk^4Ng7p9*f@Jgo*nY z)LicWunP3Xve5rY)A6Dpj^;FKIu=1@_?PkYZSrYg_z<`O`zxZegmf}QEz3)LZpm^V^X6mr#<(ttgb zf7sJ+fZ+UrD?4A2A~nB(;`Akku={gjWAMQ~@~u3!!DLp~IYJQuJUm@-59sVkoKM)S zogn(At~!rUf4|=~igU(5T=6Y}mUWUsL+&+Ask6!}s$VrP_@Odm{?lr#OdOv#$a;(W zp4~_mPxurz@lOi0V-x+TsVH=@jy!#^=^Q?=5Bhm1oa2nM)UTAGP5aiJF@Qe;ttZek zuV;MBT|DZJ|1{Y5wX|2wTb32ZfGd(cG4EOT5CP1neq!|9KyS9rm@`d0KQdb2*by*B zf=pxU#Ou%|_CvGD69HOzLJ83}3U2D(i&Cu{o0Xjw>7eEOnr}h7PpU>opi&StiA-w732)%9L<48(J$O0IumLKK9Bv6v;aasI-+r}Vgl8(XF&;VPHWnFrHmFjJiGvyZ-HqS0SAgv0+JKSz zb_O$o)x^2`Q#0;NyScv8mCh2Gewb4$FBK?Z!RDKF|+BMB+;Gn zAALYbTPTrZC=l8uK}SGp$BB(I&Xe$lt7<(Qo#PP!iN(-`wrsH@T*Q$h?!G;RQEM<7 zT>CV*HZ4G^s>?==_Q-;FhgW-_cEr83{GoByNgW3>L+Cxm2%eL=>9RZwH5sVz=BZ}i z=-ta3UK~6`3yuJ6wBvYpGEPmQWuJLiqc^cxFjxaTTC_K203k9P?CP>s7wU`F+mRtm z+X#fOVNuC6W~Uq|cb7D!*eEdZa0MVpU z;h$ogDNjTYJtp{B6znVpq*H->94G(;ux?KR-l~iwGq&lfH;Qy)vtJScSCMNs+ShT5 z>QR%(AIczXXv90|PgKy1U}vw1VzWhFVl@$pD4|8M%uxfuJb2P&267N;4>7euVHBEzfjfNESZ8Ed5Mpg zm*(^LGIFS7w;v8t$F)fxRVGREZYJ_0`4!4b@%6;{9)(85_fwn9Tk?w*B|o9+mnkE5 zWk*D7tB!?s>fz$&V`eH*w#sj~X8c8QyFZDtr@W>FI$bs|Gj*oh;CvMW?@LQpPFFWB z&n>6{x$b!czd3|JKCt2^=lJbZ;<(v~^RJJa2i%{`Oc@MVpwy<&qXbxi=mAjDYsGZM zBrijWurDJsKrp1m<`wVF1nC0)rv|2TMZpuH>1XZ2Z6E8xJbKK~@&ql2R)Y2oa`(q^ z!gByTM+r~L08X=OXrqKIZ)cF@;YS5nMqa_y%MChOluFl_L0MhTfb4?qL!2i-$|L#> zb!On#+WsiPPYWgVHGmTOc%T#bI9JunTjy~Z09WOPY~d&T!38ZHlxp{f`u&Q)w-Ah=kY*jn_f!=-@+?~uWrWxu*^q9IkqR-)Ld zPa@fG)m!tci{|@U)el+qjor+SuG)L+caO~@#~Z}EV`;@d#Nztj2AY$RLc0rog1Lb! z7tOQTH$ud!Z{S;MyHsQQFC*DQN#;sl%SmvQHZpVW>kqJ$9w$tqj=lJkCb?=@*dXU$ zdGQ%{Shd_}1opq0787ON`ZbYW0JQtTL9jya430dVm;$x9<+i2CQ|BGzWn=wt?L)f) zhrIFeVrUu2NQE8Rv(sztd@uoRO7r!LKaooI9DczBl=FbxX3_c}{5+OPWw<*b8|E64 zVIiU2wf!csvG9v<_m&TLe`cdPbs)v&mnuhu%)|2FL_bfz{?m-dl4iaL2efKApFGrz z>;MFeN%Aw5LTZO^@T(f_3r1OByS@jn*?x->re-}i#JnR^Xnk?tBRKYEzc)G^N@o3{ z@BkLTp=xRte`sB-$4jEV`qBSa0j z7ZDOWi!}qdzL^4)pm;d7Vw;X-W}&1;!9dJ&m`sG7pgeeqc#F!SX&u5RbRl7tWQDU| z6yHNp6tr%hhYh*fy4cGew-l=HE7qFnJ9wn{EwckH@{(?bF1~7}qLy(Jzqggvw~nUI zK~s9qRQZ$m9a5U@{Sm1yO49Q~QyPu%u(Z^AA+O{R;iM2t*bl zoL{jgL@bL&T5idN>J`P_nzW;sbw|gK1)_3?gK&qlSr}f2q55{tlEN~=DNcWS6dBk1 z&J%Z1;TSl#gs7PtZ&Hf?7BE*K!R&)bmau)j)SvDfvx9ip3^jB`1BFCYCi61WqAn*O zY+E?vFFsK|oGKS=+`v%Ep_?!1_O;Cz3uUX)?4^ZYn=!zCsAs#Bg;GzXKSn$+E7ctf zfp`$+BcBQ;+1ifq7~oqLY6WH=fU|3@#?sV36wBx+ zC>y!=vpF3)E*VD)6Q`>#~E7&ptB!JqCwAHyYlAkxx??Fj`qg6oFeJU_5kHMYIaDN5; zEl6XYt$)BWLPok)EEj2eulo;rgqPDfZG|SbWf{6m5(r`C4)T!*U z$$Q?L6+GjnT%tAyO0ZOuf<;R+(cwQ_40_|N)JIL9y}FIOGAUhUUS+_;(xC=#J{`5D z!CqHO=aNj+G6v$-3fZ3%XyZW5Tn7(`yu0Xlb*g1yAyN@SGD9ZA3)!MNpTa2R^dJJ4 zo7S21pX*sx8qg0>`iThXSy1kK`;;n*p37@s%IS2>4^Erhto|=kPL-8C31@CUmLr+W zq)sun1z56f&e#c8w|wiY%FsD$ff3B$I*_F6_s$tN_kPRoeFcEuD@Cvf3>UiKX7K-g z=v*xqxmlq60exV3GmF;xqH`>GBRY;{u#8r-u=SH%BJp|2uuXXi0zjxSXSgNA5*qC? zb{Nn6Uu9yRfJllBE)D2Lc?inrBoq-rI@{fLiUNf?mfYqYh{e;shs*TDDmBNr zp4M)}XDU-1P8pc?PMgPUPBG-%4;;HabWizb8diB4SD}M2wGu>*yeM)H@F~Jm4p5~l zamKJYkXq(xT{Aj1dhheU28@<00Ds^W6V_3&4x{I12RXr)oe{PqLlWDE)l*{{S-y7O z0z(SyzA=)xKs#;hi@4csLAF})lk+pw-TuG;k(@&}k5L$gRJ9U7^Rl@{TPizdwE*cJ z7kAOOJ8ExejQaS7|3c7cR`z_GxZmn5gUN!liCR-eAa|5sk#$6`$Z#NCapKxLYvJ)E z?3I>7lg`24`P^9?8YgdC^Ytb+xiOF1cI8M8oF$Rn^s{z8&TbsKH2ee^Rv zCB+W4$-I}1bk={X8SB7#E39<$ljR_^x}05;=@kkqb_n?sE4n2+t}yP*VYHjR>#Adk zpzX||_{<#~NCafS9XIc5SK2uwIXKC+IrUxyGL=;gnFs32_%KIeYyjwovgp!ns@4%0 zP*zfZ!W=rHTXalN1IAQ=&s+C>J^x>rhrCj}<99C5g^IUe4aL_B zI05+B!T91|Fc16};SWRA1rg!uM3zZWeQe68I4XX!<2!&}FNRSG*q;Oo*8L^oAog4g zj;)Ap9&OtS4o-5q^}KO!K23`yq5p%<^+BXtgu1Z)VdwmZ)2(ykLIg?KJ~8$&2;qt~ zWLq#ZXIr=e97fPuweuL7R$+4gm+TF&Ay|ND{pf6Et%K0!+dj3_*ut=<6>|%3!&^aUMgMpU$xdzA>kZX6z8} zD&yg-Ie_xKxp#BTUCuQp`H24Z*p!0#3Xl}<$)}k3a;OL|fJA4Vh0fRfFM)C|4S_Um zuQjdn1T-D%u<~ltO1`6}r?sZZ<_R@cUfTm{CW-~q{O>3yTdmwzpdhM*zAXF3$gsNz z=jN4U7G#OWu>NWgtmx954(_%(jVJkPB*-23+Tg$hMa_GND*BjS7hxXR;;AGs4M|eQ&I74H1RqB zFM-*Rx@KwUu=hl>LRnjD3Ts3PH@cu#alqm96@bfXm;zSFxVo^h&}7%dq{CDl7F9r= zegUEcw|t_rikTqSaXB#8$`*~p-B}!`LllOGuc%e<@nTcGmHQARYk159eO1#pYa98cM1 zl5?Y#%{?0p2}2c9v5Dl<%1`1JBk>jn|DRrY`9J4ZezC|!&wCr@lRL1h3{GRI>0Ay+ z!B~K_#%ud;+fwR3DI}D#f4rD71j@yX8-i;~1_SuTVv=!ewwRnI)^eY{xS09zPcNqZ z6pPIqPuXU*nAzO?Vlo;pCcf2N%&TusKMYrd=R>)m^X?*?j6sJ{s(_23#R2paJh~yB zV|0`K_AgbHuv2zt{1<$*p9_#7E zA@7=(JTcsDy=81x&K3)-EgmM#vqN>&c^?vR(PMQeED1g6lR#tIx4q0MQR&x@G{c8K zyrB%n$F#!Paj{Bi&vMgFKw*TNmb2nWmFs z5Vokkg;bKH$@+?q=FxUI^vn|@-_lzch~rK6lZ#+5%sv(SiH>pkuq$jfFrg8T`)S(Tm@Nf$q~zJK8~VsM{sn0enz=Atu@~Pvu({Zs*DK_FM3e($e$V z=xc_=)3l^Q%*~gsc+1<}t{5VneZS5jzkvtS<}PReu=^jvklxDIJ8$`{Asz8w7UOX~ zkK)-PnG6{voz|Bu+ zri@I5@Q+JtJ=ZN^jcvBMc^Mj{i-9Mq$sNvQCDMpFK*xk?4Y@>z{5*l06styj$KY}+ zop&aTF0iJVXFCM%{dzYnfQ}qx;*i3PVD}5n??Qp@8|F=Y_$>PB{(I{+K736wJHcTM z=$JD?E04u$(iR!3MU-zGDH^2GJw_d3uJ&voZfUL!4;K)`CYa-nHIvz1N_yVkz<*!{ z%mWX&|F%Oj`I%;9B)K$OU^+AuJDglA$pnxIR1T|-^QSDB_gf0SvI!E$X9#B3(qf?q zQXHNIk$Rjr!HKXKi^h0|QYNLddlfg*T=YXGPYOUYb*fX3ZoTVjRlGdVgKHo*+dsH7 zlQ51mk-VGw<$<0zBD}^ncF(f|JrS_t?@tc&z&yYOqySa_zH|lBt7kUG4?%oaR0GFw zT*AV6^Ri&)mQK%`NaQXW!4HsDmp~QY-(ej30qp-ys0}N>^Uu{zgA=grM*j!wmwpEe zUYC0JhuQtbZ;%~vmlKBn*$4tA~5SMLBOWJwt5wqnX!NH zcPM5%0}C?}FygcYm$q++`s#HIREJ@SoW!1jk^gr^z@7JJKAKs$)us=wdn1>rNCLq1 zkN~D2OgSk~Y_Gsx%;#cTEA%gGe!*|_m(3|vxBtdl#9hbF$UEAK1osXDR9D5vw`Q^B zevqtTFp(bA0z3XZ@E4*SDX2?aU&>KCTuX5y3?o!S_uld<8(NBnSTHrT=7xfmoo7Q{ zns#gquvLU1vhO+4H?vOPwHQG7Rh|f@_OEues#!2}xNFF+)leA`E)bu9+PDnginvV2 zHhvhVjND)cE#kTgCI%SxpgG@A=ZkSo+;O-7z+;giy160KO4c<3} z{niaT8(Mii%Aee7>#XC3{qOKfq6;AW2aMWh7gH1+vp^DrrJqBN&2T*sg`m|xjcu%R zhsQBNVe-fS-{>EuME?N4`PW7IsokO5%A)mutW00tSd#p{YJX^!5`6(fASL>TP73rX z@1Uo@lpm*ccoW;g!o34CO`Xv!zHwnGOiBBa#Ww{o`JqaDb82>Kge4bje$}~!vYLKZ z)et6``bPd^h8X^nowsI(*ege1IxeDetMUmSAG^?Ik_%p7^hrM<*YONqzwiJb)1i=Qe4<6lWfSzqClb!N36Hjn zqxXzBi3Li3*{zB55RB*@eEo2gHh}3ltk9fgq=3WCL%Du0D{yvgts`Na@ z=5H`vM_9@;z({BV-W%@OBb&*60WsW_-2N<6;H`DAog*errzvHa|~QTfIEKCM60WIF5bu;j}64)tMc zSp)aLzIt~m)sXP+93$%>vbFV9Fb~SZql^!%6Nj{2>BMU3_EKiOr|@zC{#K^YarGS? z?mJ7S?&P`!dF)%oHW57c1kap4Fty>k=^MGUJM|})sFe$%#6DQi;%Twfa1~ALUB~~eH=pc`lR2t`C8`vs)ptk+ETX#em6bcP z@Qb&(??!8%<%?r1d#j$y;F$IR-J)Nf7UYG|v_^+&_r8!-v!VTxO?gN2JRc>j6(4Gn zN6q#%)1b#KO^0z{)$5K+2BlP*gn$azykZ!3VG~=cE^JSGwwu7C>T-kSiPH$4s8@=6zPnWJ8I^gd+6InU;G2O`x&a75@DyWUp>8{XN%d8)5r)q?=>Wk6wpki?iJ@I zBo%&|GG(~DgW)=fzXGltbL}{Q69;{_2y$Xr;ct8!BGM7^`oO5Yxxt(n^+_O|nrWet zv4%9qgO{kc?3h~B0+SB;&VWC<<4txIDZB-BfKf*IpN>#zMCry>w1&OG;I5nXmS9g{ zLE8nyF0};Y>jaNH74QnJoW{G+;P&i}q1OBzLmacE&k1g8X03~~O+lQtd+V*SAgKc@y{Fn^0>yI^`P|!ND%)GMRGizRpzkyuSZlH!3>Z;>EQ4Csbe(y>pQ%aot>m$7m?a$kb->WYocGIY;m6QfDykyBKB4vssr=ZSRpKrI+YhC&D$u z>zI~Kxuc=PmiB~iF)vRuPEW|A4L;tlBYy-zf6B35@{QUse4&xQlbwHwqVPy2fvhHQHJeRNK-}A_7Il%8*LI#)>j`@c>*<@W_i}ZOH?B z&!QxRP=EwvYa-Fny;<81;acLsnkQ@op1gk=@$|=`V26SjX{O&bNp4Gndu!&Qc4>es#~?5Mf17;!jQw*r=da#||)`vRQVJtV0U@u2$9 zDeu>uIvE=Xt2SMZ_N4Tr#S6LF_D{NJmEz1?YtUbZltF zHpL6)QApgOCPX!TL-WUnD&0YK-?2RGzhkHv2k69<$5z(+-2&N5}7xV(@l!&$6! z)~D5CE6W$g9d?z^}J)(ed)x9eOTEoB@@ch+&J+72Zu>$-moLE>5lM zHkL}ihBzFxVeky{vT3UW5)<#B0@peS*GXU%s9Y7+iP z{tAR?c7aB;1lYOY&YdsPfPnFr2s&b-tn=-fH7RI9V|xfTJP?^Ryu(=h zJPxLomym`D!^SDFmO82Hx=jv3_Pg)}?1g=fws7Sg?ec)uN(8$`xSw}#AB!_*r43zm zEE8xQJfU;j5zfkh=}CCjX~xGQY{xXfTYCV=NR&l!orV(suE0NYAGAeAKi6ka%`r8tcd7(4 zeB*amC{9z^j{%V%P$jpnA*7ko7w0t>)i=)F)l7RO95%3ToZbg6xEKV{OTyT`WRexA zE}CT*pa3KIjho);UCkXNH2Bip@tf_xJhE~zP$gpww1f%NIQN@s3AjV}SHq#Qy&$nQ z*U^x8KDr5;1nBg z69-b}u`)me3rOqG@Xjx~INVAiYQlfMrhDr#abV88LB)a*ThZ!ll*{uH_!+H++-my@ zr(#6`_unwUa$MZ^R_OiAQ6d;GgH(@=ETuZ-9HMX>GM#_N@5cSuuq z(P#Z=BFo;FWr-l??cb$*a~C{X6b+}vP57e?NLg<7VzvJ$eYs?=`eCE%AjOQAz|B*x>OY0gLSXvKS+ zQIb}?;Y$CBo2Iq@$AlD_TzZ*KKRS1TSxm7KihAK=ttiM$0qG(&?QJ{Up~*kQC|LTR zj|#Mk5yO1uEQ1z&fFfUgnBP!B37IePC-&WD)&&l;c4LEd1a{KDq_v@;LI7bbe|mIw zk^1Eq%1k*3*J2))K}k1%jkCs{=gPhSR9YX&VGN(voVlCo!rZ#=Bo%R#(`uR##l(rs@-!^m9WfK`U4;VHddcBP;ikT| zhN5v194CC9vr9TjRjm1h=XU1r-K6$q1ET9WzzpJ8oPBu2CZ{n zvPtTN`z_AqAQ=ilWZ}XJBv!spR#ay35*oaI^M$4Kk~N9hDUTPIE*Czs%XqGw=SQ1* zrOS{!V4lgNS^xytbNJuX!EgA@DXKL*`XlHWRZUru_)S6B^9Zh-xU~^H17n&k^QGn# z>QFA7^I4H)kjt<3^sw~36BFjm+);qPcT;c58GRV%(+x2L?}h00x!tiVIF%F=SQyKt zR2E2bVf$LJgFD@o+=-yTmN$=J*ZN-klLVw4bXYxH_(r(rhlY}0l7xU#DXhVo@RWnJ zVmKUO;@E)H#Ww1#4Ew83rl1qXMB%N|_^(64x|I>GxviL0K5?Lnb`SKyO6R7uBkM`Z zij~)~DqcOVOqV(=u8v>K$$*sT>RItm$?oMw2!8)fc70zvl$kTvBSDC2<{wKW!_Jy* z(1thxC5U6Qzg6(2!lR%z0hVjBG@k!Zszf$)$eqv9R!FQYeaRp`@6>0 z1g4XZ0u$nz=^tow8i>rrj^Hw(&7D7e5e3(zggD8ZO71rsQ5*_`9W_Px{K$|T)`2k$ z%car~yol-5fBo#~LbP|(y!~_S-HVmugL`d~BOku2uKE?kMz0QzJ;q-)wp0#IX_x=R zWEmW5U{k^eI%dm4LVR0&8qX|&A%a*hEKtOIcV?DnR*|q6ptZ&v1mo3=OYp>+jvLJ8kmX7z*o|zh&=s9ZcX?d9e6822?Wpw zX%}B0OJOC~d4#sLxZbfX4s4w})uz3X`>Ds#h%I9|1@jJuxK1pq;${KwLg&k}%3416 z;v-riG5K*k%N!?~wAWAZ5S>f4cEmX_D0||3)lAo*U>-th|ApJYT4QDnacym$SF_Gc zEO5v}Lm{(_h#70_-iF4(%TFJ2Q5iPLhG~@hk#>{CK5&Q;N>wI84ycBBopsX)=>u|UyJUs zy5zuJ#;`OP`w-uAA&jI=n{vf(#zI6AU!g{pVb@ZuC*Ua>O>e9P1c^BOW8^riAhNeu ze9XvE-v{nlpg<1+`8R5mJum{lb4M3(I>cXehzcjcXpN{E9M>^)MN<_A zign|a{`!3OMtXR#+2ibh)dMA#ZheXsP>{^1DLsniV5}`EFqi<;2(A>kr|D^D4^%P& z)!(w!Fl{=7PoY%BzRjn4f!C^akR8R*S99@)J6% zvV9feob@1<m>ZS&ph( z|AdL>h@|A6H=P9BDs3zM$@a3>X9Yf)5^v|aH%NplmQk`QS}QRKJHs;?%P^&=8Z9n^ zZ#X%94#M9x>++LCgpW?A9QEEweMV(txj;E1gRuN``Fye^2=C`UiEePu7~^Mao=sZZ zJUBR~wn_TfO-`kDP$c@>m8bGX{k~wfSSR%S!h`ud?*dRA)N75%tCYMIDSI5Se zoe;i|K72uAFhuI$Er*|Mxeng!p6x`lpXkR-!8@vOG*bdCIQ9)fR1I-vWE{g*mVeJk z%i=xdh^NuF522CB6wE29N;#!??XIk&TsOVl;n~yxuo#|#AUic=4zDTVA=Pv{zU2#T z#UNv}XwD=CWA|8G$0`piD8|T8!BlTRc_3(b)sjJ~d>f?nQ|q@_5quUyE`B)Z_Mz#G zA)`9TrpFMUwXT_IF^6JPVj;fsgtZc(g>LA=j%c)4Mt`XmtY>U- z%5AbLAeWLPJa?%wL`@hvzGDW2!l^O$CNPSD?-=uEErB6SH1%!pX<1~)g4O?|>{g*3RYicskZwBCIc_U+7g2XQRoK z)Nk&|AKY&F)(_*0!LX$|)zjy!R%tl3q6b`TU67pa#lyf>F<-#qu>3x zIo;9p_)cxq=0r2S>BHHumrdRF&u-l2#m#wi{DZqK5A^e5JigTbv++^u`g-g+0_#ct z$Q90q{mISs@VuN^{rNMwQl`hMOn<)(ug7I~lIqe*W# zz43U+L^ZxwgIhPb#*^~X!RS_n_s0ibKutF1sY=%e!)vOl#AW~BV03Y`J35GA=JUtl z=;(N=0_QBp=%V@_kF(GFZmjwokF(FU-sT6Y=~T5mxml%hrO*4*!SQhN`vf2e7d4!J zW5u(%?r?fM_PVx!?bi~UFRzD(qkAZbPP{1b!XT(>RI5=NQ90V1>FCV0|NSBMYRy;8 z_BE7!{ec3#{)wr%*8S`2{zLC<6x1@_Kk-Z^4ZZ$6IyLh2gPto=ducwV-sjWy)D90@ zz|21f$D^}@>d6rMeQ?&F_~W@DR`Q1F@%3XzrVsk@yPDz2WStt-qrPulPDgZBRyo)&$eb@?gNUSIk=wLk1geqn;z3yL3Mw%34aXGx6ntAx` z;rLp#GXK&=TNelB>Y63o{a}2Z<`s1b3V^4MpE*|`>(+b)$DzJ zw)fwLu-5vUhg#8xxew2ZjwT<+*Q3Yr#WV!#;O6?Ldf@+_{vV7EzKo~c@vTwY(Drx# za*5fxRA879OSNWd%hWI(3sr{)jWY}KB$l9&SyLLc$?V|fy010&SX}YP3(I(!i(eA; z_~LujGbrE*oeldJ)d&ZAnw6>E9}EGyir1)PHY%E`LvtcIQGXGYs>Vv@3p&y2Ur}^k zR0>|BqKXNZ$XsJGGqNxBg!WEnT@x%x-B3nGS0k*ELJbI4VjrT%q>@lRMw8CPX!`j% z#Zc1?M+*k%*};}Mju)eU(S*-~jVbumsVj)vsGI5`eyEblc;rd5j2Osv%(9ZWY7bA; zma-$}5d?QR4rb!91p|Wj9Ua9o!KAvQGc?2@z&!96W^_54c;ILzh3ICKnq~IrAxgzuBr9pi|MbWq!$a7H-X8ZS8lh*2VsSef-%Nx{eu3@?@mG(=c~zQ|S2GNl z-0W9^_G|w-v88vjUkSSN$qqQU5JqS%T#=-dP=6t4vf-r#-6$((m(;eOqP|S0}$1_!L zG}#zUYo%*ARidrPLKRsJ@C^+)JMLZf%^Kv%G2GM+60RkDukEc#5F<)Pa*W>cem zJr3Rdd~`87zd1L1Khnzz4=JVg^5xl{XM<3?jS(d#sR+b$ZV~7oB?Ziou9SqOWHeYU zTF{85{^3_e^r)Blv#gmi)a^3~kM`!`W->gWpa)hWa|PS8(f;o>%kuYp(0KcYm?>R= zTRnV3tE(Q!&m8pGzq~v{*MsvGxVk4Fc?`tw=pGr~r-gpEEr91X9(f&sxuVx{YKF6W?dSq(3K zwPm39(~yc+Tjo%6VAhJlQ_8v2o0k%+YiVcCI0m+3(%YwXgUij{CS*zKzFT(i-uq!`}h2{ zA{`nsmPY$fnW0&mz_YHN%(e2^3=a=e_^LM>fpFL9sDBoOTXmO;WEv(2pvs)72BEUG zDb%r_?wfT^qoQ+oaUN_Q)~-)5^l1C?nEUm2K>w1{Ta}!X_PBD zhcS$6hGe&+|JB>I?KYAl+4uR3MSa1}?7pWZxvVMK(n#s5?g17F*-DqyB};;2Rkat` zf8TTBLIyL_)x8*CU#w*C79``wV30mv*1I?gY^Od8(BzDadSJAo9tFc6?udF$9w_vo z^D{8!azO9S(m<|vl66>Nj7Q@>ru?j_FS(Y zc5PssvSegpRCE>{F5g`O)mUtT=)T`@msf{70<=C|T3xbiV1{OUM1m^4nGl%RSs?tY z-9fEu8e(8lbv~j<URw0ba+YXjkp&A;l~!c0af1mlSGz@3M~N33Z}c7a^ki{2iGUK%vLZ7 z;JGp3_R^ldw&r%oP;=O3z;I=lWb6H=KHOk~f4df|F(LDk4RqPJ)WoP`V=i7AY4w9^I(Xe)*B@BG6-U@HOXa{Kg-ydcMSlcfa(Xg+jdirV zcb9d0{tS2676Owc-6jb}imY;PEd)UqTj;x#V^9>-NNmyUACQGZvMB_!X1slJEqZ$O zgf!kIYIM>Csf_gP!6SI7J=KS0wBbx;8C7Z#qNTjRuT09EE=O`e^ES3VAA-DyvR1I} zsMXJIDYB=6gD!h)pU4KXLZXXwc;~CP@nXsHPB>AA$ZBkkVwxuf_Od?KhinlfTcJ_j z`2gSb_Um5EhioJ2moH&~Te2AQOsO^rZjZ0WOZE7OsmLz2^=1txjXL|{fY=J9BUH8w zOXvRlLB`d1O4yR9|CNQnv7*26E86>vnG%3gC;^gV1g6bo;Wj`ns(5{cMRR%rrL&ww zVn9m)+S3GyP0T>gq^;-(g8C`QW7maq%5tUtCUa7(6d@>@H)v7>Q}ZAENWv+|i$t4o zS)`T|ZCspGy1Po*Tgi!WH#tV$6D@!hv|XSZnczs`Q<^Awsu+qp6bT#}*7@;tFrRPw z%A-i0K&Te;3BIEOwH>7rA?XNU=kM=osY6%-BcH=j4+mi0niF1dkUFJ=+z0BVnOpd- z_Gb;CL#54C8v5Q0B8<{d%G9ePn%N#(Q|9gHv~;yrcYTm&C^2k}BV(8+x~QR`+sQ6l zLi_O8CzE{$`RCUc^$`tr*Ehol%wLfzB20GT<8^E}QSag z`1t@Zj_j1JHX}h6Qj0JkwpJ4CShjN=sm=&Jx;ldbZzc9qeLZR|-J)n@gqe*{D zEnM3{0PLsW7bF(n!$y4wTeRo=v^2!KTQ(OHo{uUHnq-HJA{Kg=l`Ihw(BO)rc1ahH z>-_{<{bP&KN~1QVJywt&+Ec)!M}}y8-q|TdGY{F3io-yB#1HgmSU|!F&LdeGOVdT> zI0iMO-s;|R_d{QOre=NJS#o#qU%g zE_(d-B@Bz5>U4>tn~vO=D%l#2a8eYVB9d0`O}6nao|Da48%*WriXZ_^QuoTBNLY8j$q9 zaK$KGcZMDgB7EGHswu9Bc`jaXXtc#K5_~t%|(tt`WZdFCz>L0`54pa z<1!bdE*Xq>M3fo=tDMx>KtU%2!0ziFf;|0vRU_@Z$7o65xZ*CwoJ```{FX24Z>};=njoRE=qJI5v<>kp@Mm@+{qdJtb|r)|rJ(^_hf}lUk=s zi^Y;?a)%8TwpU0;&*JjM4}^X`w5Rz~9)Gj5DCNfDDf%-3LKh>td-9B76Q3wt!zPA8 znqAttaJvcRw&!a9#=6&+-R=#-9p~Y)owq4U!^@J_2TIQro8_@Le|uc$toH|`k+SCj z=l<*~J%JBnu~b(u2jPUFX$3Wx1DL@*W-8unHybsw;JjGKS-TcjhX%$KJvfGn&}diO^5OiHzSc_k*cVgSn$>YZ&prpPUz;8FY-TdemOXo@Wy@4j2MsSWSN*)&lO2x{qkUjwt*iVAP1LA z*c+HiwG=kH2I?M+{rntCau;fNUU*@A@5Ju zD~k$)ou%!j1g3~?4E?)xkz-NPd0h@lLDM4~^oZ^6+-+^lPoKA^SA?BRve!(hA`?3!jLl5p8%D5 zGAaufVciyPGHwU>ZEk@vo@>3I)y;fSPv>_l<{F+O?R#UJEQN^2thvhLa9tV~Qcag5i>EIz46_ z@sh^nc)gclZ_ncvZo9*q5=cC5#4)_}Q$6}+5xL=UNi;E$Fg$B0Fvp;8T8OkmDgrCU z-d%DIrdW4wWxNJ62ajp=&SI^R7MfUkc&R3@QV_7FXLc@ly6nC6FggoSF=CJbgB5!c z3a}__h#o+l5D>F11b2w;hs#&l$eo*ppmb5sx-4gnC6r+XvsH(MwRdAVGF;#<+Pi-h zMELO`RLn=xw&d5sro8W>U;S`siQ4wLlPP-t%(yV+qW&_gULyfw#yb(3T{H%Gbcn@e!q0G$Gtg`!B3zx=ESSELD;#< zV-f!j9FBvZ$F(>K0`SQD9e$Zc?lyV1mBuJQp~@*X`<^QrMKN|J@t6qztO>QT5b;B8And3zx7`Pykw(C0a+lIN? zKI}}tcuXjN`?9npxy_t=GG8J3;SJFVrJHed-V&jv8_9Cwy{+Z*}1)D zNv670yd#X5m)vq=6J;)VTaLW3JmLKcHjqA&jZElo!Ug=w6T=j25_?O4TqT}A91=Zk z#lE4a#BH|xAOm2HmKuEg4h&`q%ZINJ=Y|jjyR{M^( zxjl9OgXBdpsfyW6g+S3Hp;OZD zDx0@Ln#EBc<4GdNa?+Gso+0NDeJQ=9m=wKm*_%ArxV64cz~WfSI|y@{yWeBnKFwL? z<9U=a15X@WcAJk{jU~3{(Hjh=N>A|w;%}UQ9$WZ72xEJ2l^AQ60SjCid7c1FrjMgw zrng6KflA2z7B_vZNK5g86x!8moEL0vT;x1npc!8zDMa^zi>NKi>l8@}TLRs1#j>gO zJ+5?NKG>c#u+lRH%ocD+-Jna34bTL7080U*_3R_ym;Yxd`1#M@s@Fm`4!=3SnDNUFD1gUGi>yuc69F7N0_D$Q(07nh?CK8;s}0VdbOn!lo4fjn$KsQ zb*V(thBuJCs5s==nleTh$kpM%9b(QS=?O)8x6)vuQx>G@)!JMq^sW0(dapnq8^98? z{C1xjmE^fdVl8<+Ej4uZ7fztP3{gSBlrCHFUHcX-xw};5R%+$p@&JWmxU&pYjOb?8 zw>`o_FG8vuX}=58Yv}tLq)OU=Z`aPdaCPP7rQP7Zqr6ryRA8((S<Ha8FqA)>=x8 zGN%$L#BL#uoEnZP^GB$7ca6ymkO_ad!k9JdlMtInJ43Y}51)YKW0|<&_irod5yQ~9 z{<=zf(xl=OGpzpv^NqhsM*Jc{tMvaoS*~E&63DYF*)7vvA%Kkr4dP*m%oVjL_B9>kcU%x6(fQSpD4|htfOcKXV?=WCF)BG4^Nh1>Ohd!%8Z+a48YR$P1YV%2gv|I*AR*NF=ivYdXrNuYXuKe{m7i zrVIEZZk7{J?o5~=$f_;v5nCfjx`)I1B<2KUzwYCYYgjGBkP45#uZN3nV5}9YO2X&M z@nqTDncqWGi{<1q^TyL97?!(j4x@y~FbIN(0oj44tt??WqSb7wY?zZd6V=A^FCy(U z`*wc6nm}ghPCvkAlS)ZlVKQZ_x>BYOu-kdBm^lfw&|*Gi>t(M7ykBI@#>?ts)9GL~ zug32Qpi#9X>awW_ESg3iV1`eCq<#X-7bAdtMIuOt)5ze6eUbzN!a+gJw4U4+MF#=R z^!8&>iU>81Lh5FEH=d3v$a4|oeQ?o)2=6o{sjz^TMkclvP5mn=pPa!a3g}`Y6f;`m z4D8&Bh-!FAT;xR)xuWUqJ{p)NkIgq@9~S3EVANMuQl+uiG0l6WT4 zJqPMdPbq9#a03z&F}@klXlwo|7ss?;f8WAFvWF7azt?2W#R2&1K#u%Gbh%r>k`>ZT zcW0~B68F=`_T{)b_8WP)W67CPCP{aA5CqVw^#ON;-kqC8L4|~I0Dt~ zCsU?0J*wjtp18+vwxeP%!fpwFZ_6jxEO*sCZhhud(0n(AnnY@BQZ5_0qxo!BE!0L1 zI>5lwJCWD@jLDdIewmJI5v4a1+8zWY0j!E)MHn6|+O3ajH9$OO2b8Ue({9?#s0TyM zOW*Ogpe8n^M-hQ0pLm&tY37y>mg>QTz(MeE2-wt-rz^aWQ|8CD>02|4TJ)O93RzWHL9RRZU47g;6F-vqOPv| zQ!Uc_MVY3BCKdq0DZ{Sjm?g2Yy0Bi+WJBkYZfF<5jvh}-^tr{yg;aj(;q53HBWqj&kUc3g z$2g}*$}tBzG@#@Q^GU|H_zo-z`{{1|{b4QJJM38bU{?kt*6f@vkpYvCT}Y5G+s6rj z-WQ7rd}UmX1+#=xr#ij%fI+o2T8!qIAb&llZJ>5MwJnZmrXAm=%jCNp+pD_4jhu|rr~2B|VvJ}KSIxZud)ao8;ED07Rq`1Y6V;Do{R_$@8fMwJ@& z(Ik_g*5LCI0ZF9bsXWqcWbQhGFdMaa6tagw8fIQ%qU-4|lQ9oRYV7EWoK+1G@oSMK zS7{NOb<^%}4rYCP@n??wG(7>-ZcE86Z@Z?{53dH}L{7Wr2>Ql(r057*O-7E%`=FD! z-aYCWNjg(&&hYW`VNpDil?oF#*oW!*vWR}p4>MG}gMAV*FYY3N>WF4XBOdwWK(X9> zhGnD%kJ5VxL&fnSDL-yhM~nOSh|FWKa-bv(XVc`eUPQ>d400C#*X0wXDjQK*EyCaB zJS`^@D6?TCRB-RYK-Dc3MrBqrStjy*t0z$EOEf*ozP%;o=1}92XP9pEX}cpnr=78) z(Ik6Px(vk3QEad0qx;n~SXXeMO#eB_6-7t&U64svb$ydEd@8HK4AGS#E6gPI6}t@} zs49>@fr(Sb(`q&^x7)Y#aW!kM=40{c=8|;qg{}}gq)s}J`Wi3qv)LxjD&)D4FQT`( zY!q%%23udqY_S>|yyt?m2w&9^C4`hwVg^%Mjpzo3UG^JX@8jGn$rQn;IMntXD_LzR zuV@4idi9>P6RHl~en^@&T^bc%KnR(-IlPyf@hl9zu-^Fv`=;IFi2kv?b}f+4OGl;- zqysab9EohLNv^P4C1az=R>`1mYh@v-6O+%gA!Lb3pTp2XF6BZ)R#YDb=+v+)3+_F% zWQxMmZiyzzs&S$az|#|sKECT|SKgq@km9_|V=V8(?jlR;+A>N580vB;F5Ctw!ABb3 z+|E>|%jLACP?RaEmeZ=K>Uueafe4<&=VU3AzpAb$&HZu~VPf-jVCX|`ak{^ksMGl? zznwhaXfWRe1cR31caV!7dBNi8gw|Z36`S7qVYPGytAfAsPXr!pg2c=8Xz@|@uLM+O zt0Vkbp4NZ+5C4?-naL8WAEMo{tBZ^?^Za(QZ<(L zP(hQ)=lotQsnSm_spKIKsz#Iu5xjw0d`W*cc+)$MFl*K&3LLL-rerl5PDoklMi0uFanuyc6cnOv-*VoVOSkHu^lFOH8FBhXuG=+sS z8iaS&E(TJB2?6c~mVHnmn;gOhU)TB3_}9ZX^R=W2gKt@BRriCekr`=P>rrfig#8dk z%C+#R2@{$By@wjK;-LfcvZz839mamr!Y<4|ZgVb{!ZFsc$Fs&3xRbVx%r(ka>dW?UbyPA^ zJ1FvfNc9IQZYE?@7nrr+nf9pUXzsfsCG8v?5PEPBn+e-p>dY=k)o<8k zn&u4C;i^7>sB+CePs-v5*l>No{}K?~Ap&oCm?`caj>+82fJ1i5$$mGhdnko#m~Rib zp@{!zgMU(YV_h_deWxPz4Kx`$QIl>9htcU3)#V>rG%%7(6QlDK#zS#POzE1wygmyb zes|Bq!+N6@qA=b1xLx93>sipt<+NkHEYQ5Ardglg_TuYHGW8jo4AbTw3k;5AebYHE zuYUus1f#Eyddr_F>npTe;sV~WRhKrusa7H{$avbk3q{Gh_VwZL``E^9Wy>P5u{0TR zhSWtT2e5KpDk!JbwL=qzIExPO^9`0tJK&%r61fCBN=^8bvx6R#`A$}E_z!&0)hAs< z%%)rFoLIz$D+avD%ieVz__akof2BPeFVi_{$QMdl4$UOxHp`R>i#-A{kq{qXGV+uiHM<$rwt=HKu9+m*I|-@X0g zn`gi7?v9Ha+CAC5xp?v9^~*p0aPju?yWN{VzS%wBUA}$!`tIS48wPm#?AKp^`Qwkz z{`lkDXV2f<_3sT$U;g;^`Nc0l|LpDVhu>>68sE_Fhl@8aU%dY1j|@mlfc57MjsLG# zFJHadz5f2q-OHD+cXyvZdwloVizmCEZ{K|P;>RD}+`jpfmp?Q;Aphs^@bilwcJJB! zA)vne=lgVi_TtUkix-!>)2FxZjjTO;`V67Gd-3Yk^Iy*2{(|J)zIzD)NZ-47v-{%t z#pUjY-HW%k@4rX5doO={@#NWyzptM^V~{Tq%l91UGlk@R2e^Fs;_U^re9y_(FMoLT zo{4uQf*GBo`;x%JLpx*}(#Nzbn(>J@fHO%dY zn560iKCFIz_U8WUmp{CRbk#T*w(s6`?teae``xn_@7fE5@4w!?`R@GLlilg#@83y) z8`juzY%snzrw(O_41R8H{YFHyt+LK3rq0&^}86Lx#MMt{<|8Hd4Szd zh}&n+-n`wtz$D!s_DNt)U%h(y26yw`!V;P7F}}Wd{p{i`&iXwD+p}wB(a$emzkL4u z_Bh=*#J!8x-@NBAUq9RZ^VQ4O|B7uLhUI;&>$5jShJ_T~Zp56VeUi}Ii$nEoMJ?<6&d5L6y#@VKLfNO!-^Ebu&As~Z?aTL2 ztl3sPg?6{cd+zrg#`%5vz0{SxPtS@*-;>xFq}B7caf0tP^=nP)yYp&K-9Gv1Mps|o7b0j5sSMcWBlXp#owR3xM`{@ zT|J$Xczbc%_K!(k{urD1@&)n7ZF^k+(XAUl{_*YG zmp28J*JA#|#fxXJetdpGZhl*cE-zlc{1Nutx;+8O#j7{BW+8QhSLCL*MnjgrG46SM zaceB>_4wlQzcSrzQNg}n+!}98`Q^onpDu1PsaN<>h`^Aylvr+!$lI4MpTE7)NnM!) z^?iv?y)DK?*Eg?zxowBH7msh<^yS5yg=k0fAHVsJx1;iu-yzBVohQ4Wo?Y%Jxx9G# z?C*K>|5)Mrfx-eIPD)(={-?L=)oOL;<-OI}>JC?%I}cW?2X{8B)mi>LxU*huKf0GE z$9GOvtJ6E@x%p_dy1a9mpGT|Buj^c%-Px|zpDY?4ry+wq;sFiMR-3=A$0bjWR@?9I zWs1{kbh6sMx_8YK=jn5jHV=Vi^U=q5E>@dWAoxeRZ(iR^gQNUuh##yrZ|?=pliWNm zh?(eNX3HRJAodA=yt?3~S4V(w)T5o>0fS@U23W5c@ge;-Kd&>;qx=cdP{J$v?eh39 z9|w!$Jb94b=Na*mKkHX^bhLoB{RX;ize?|u%+R#u=M3qGzXj=-<|so1v`~;~CB{Vo zEvE$kqTze>ahm^K+RGc^e-tQ%|JO|@mdn)ze?s6HOd6eBL(mTd(|I2)h&2cp9U`8AydrIpwjmJPp@B`j>$` z0!YXr>mP*6VdEP0XfTwAqo;s!Us^!qne<-44vG4mOxUF3Hh*Mc<0OqIDRm%`c#z59 z2F+E9XI_R;>%Xi^@u0*fC4CHXoR&%~od7n3g0Cpv&pn7YflF!RroZ7u%OqNTJ``^~ z9@8dD0T*oT&x_Uei#sRlzwj4Ba(FPZadT@GSKp@N1)!}TAKrs*p9SUv zfqtn@hi>aKWKN~Mi57${bka;0-G-2DSLa`44!B1HVdK#-ZD)5tZ}nffu|^|d$O%+i zf10)r?m&hW69XpV_Mi7x+bG!aS5xn((dKLJoqigG&?4N*(>#uC+J2U+v^o1aS3<1G zJBJf`z4iCn@uQkp=|CS!Zu+Kz7=9oW0M&P8KTSd9;AWcc-PMHQ=x}5M2;IYZCOwM< zK35W63(9eECPF#4Zz~G248nXMstIC%)BKhVVs;Vg{Y{H>hNPt>j`df2_0R|*HbxO@ibM#L4%ecqAi#ymh zJQt(AqilaDp`1O2cdbs(W~O*DM4#|#U8sPCvwzN%TOy5t)vh2`ghUNv@RM+rCqE8z zqMTrjU8qNnw0r^;N@99Ai9d#`C*21#)4V>8wyp8-wCirWmJ#McayRu1lLD}5vBk#F zSZEyXB+O!Xqeyrgd1xV-c(jp&3_?%6p`HpqIVj*rJse8J9Ps`)G7SY74^Gl_VlOJr z&&7DQ+J3K?FKNOkQFnlXOXZhmA#k|(&`g3Vy|}J>nB2DPpl9T4^Fewdpo;40`lA!Q zu;Li(araSrC9GHFH}ypQOgM*&5Zwo@ znf)NntDhh^808TuB`in7^on*gDmf-+P#`vuiaAg^FNl#Oeak{kRBXe|vd8^9_H|)F z!qD}TX2|Mzf_3#LXFJJkCJKmy(15h6ie)@ofB*6Gb>f`Uo8p|9y4x@hf_{GIul!w4 zAvLt-H-X8RRs_zF^2FiuppfUck}Kpf_J(lbWOZ~u=$ziUDCI1d#1n54EgXGa)P(kB z+_hN(viYgAt-k(q7-w`)BQ2U1ro7Wxi*h&M3QGmQ-I^)DA>DaO| z4?*wB1kVz9;TbMgM}%)+cpL`n{Uo(cKeAL*djg+ON5Nju6W~FH8&k_;v}TybcIs2e zd%a0aJVbwnswzVd#h`g|r12ZNwv&|u9RqR4|tSHjYR}#{o(9(EPI&VU^91}o@j|oQR9G5K%0RMrd4d@ zD2eKzfIdUy7i=x7Z}-T2Y%c8|#^hvO5j!{Kn2ai@B%kTgO)l{*P+tVZzf$iogt)>^0-8cL2<>5(Z2x)DuU9dC2;iA zIU4_|F`dX@rYb=HGL}L=AA3%HlfgQB3HK{MRrdrl`AfKm!pA8P(^8eXUy}i#eoW@c zofxa+<89Du^wSb~DZ`(z;XKl_{@bZ>eJWUiia&1 zOsn(NG3YRnDVf4|uK8}Ss2d{W_&jKI6`Ne-X{2k)k%)o)2>~?MYScq) z@^E$Z#YEYT9YCeCfT7F}0{z>zHI?dI zP2o|H{30xWK#yY~J{fG(UZI~fSs3?siW{;5pwJ1}a9{&kK-RwW+Q5U=Y1x+;=rX{) zbOHoC8IssFafXcT*kIR|!YsfWtlwykv;qQ#kU_P;m6d8e$~;Eg!+#-_&I8g#O>-)f zHII|M(P3AF2ZGbc&%=}pDq+7od_s+(iUMte?M=tT{p*^3esURZS^lZfjxu`Uh;^j^ z)9+MA8L1a2gahRT@DUevR_Sn<@DHSn;r~%cqV&b)CbMRs+cl@GUHDs!Gi2`}CmVIm zlU`mjGFQ_cmaH-D!#j}YXX_I_z6>n!TUGc7T{oyg6TjS8Tzm|~!AhCHs* z#+r1zxqmZy$Us>&fC#ht`19c2W_3b9x?O#;s)pD{!!6wzwuk1IxCqiT$LYisiw()W z6VLq_3b2UWG;?b2la zR)jD>OL;;&N+GB0=1D2Y720kVF7GcV*i1opU0#aWOvYLIEL>*7q5GA zw0ekbb@W1Gkkh&aq_UGXfJTWt)>$&*iW2&l^%NPGTzR@78Ac_h0F{QZUXBRiZyA0cH9PCQgx-3nC&k8UbSnijS#mBQ2F{9ETSO9zw{BdxCpeu(JDtDD_4N zAC*O7R>`*jc*}MHEsZuuu$aXx3L%#S_CmhPy*7ooxg3;=*C@V8MG%tG9goh0#+JJl zr(tNTBhHk>i<-H){k+iXu)A55%J~((jgYt1oXQZc6QaIp^9>O(`5I(k?n0YHA0lB& zPWEpbX~BHk@HbxDPW-_J&`U$JSm8f0Gr-ef6PS_BGz>&*4Y_2#{5te)|98OWWFv?+ z)AcGcEiGy4DIW&egrl1w1r7v4U(D%4$}CeZksobooC)?JHQ5l*0xzX!qLP!)?gY$_ znF26Q?vUZE{yCS^jI~)GbGROQ+F&ptKPYMIVP&V*DV+@}{!&tXFZJ~#Ll>*r`@P}$E^PS9-CjbtH;T0p)5mBBA%d~ z4qYb$mT0_K11XMz$y7jE5FVilj9}W;)dDAj-dcgIhR-v21<^osF$#Aj7iMA*r(*v} ztvWOw8=|+o^lmKc;Hw#wyLCUOyUH zy1{tBIJxs9GK7dVo)Mqr=woFATp#So*}8m1vl0Z%@(c$M3x_ahg)nJzg42=T8iYaA z!3QbH6ElfUg3gU#2P}Ho#F$uPG9%FPi33SZ*|!KmA>p)9rxVF8L<6g42Y0SbbD--S z$@BXI4?`cS)HdbM$uJoMkrBh~R+}%X6`(Ag_GpM+D~|k0bVtd=G1bdPK@3wN7*e4J zox~M!RBT%Hp?a z8Vo6spKaPBWPpHBBD#`#s4G5UZ$+;rfnJy2i6SrtVy{`mJrl9{`@fa^JH+!E>SGgs zllqW*N&QEW4dwF&>c<-($AkJvAk^=zyzf@^ircvxf{|bynASf%yJyYzz9m*kwr!orEL)=8Q&&U{&<(>ejryq)ORouL83n zEOXCGe(u-kfsn4}g;49wnSaM<7dc>8#wo7Jl*F*WHib1b5PQZJxbdra=K9n~wuZqDF4 z-_+1v8b8c5a7fD4F7fK79zp0%ji%b{ws_=@0&CICvoofG)2_m1*ZH2Am<@)S43)B> zdT8XtrffFo7@@X|nRqhlH|1f$`>WDgx@;Z?@stNpWgYPR7-5@J6QwfPOsT0;E1Ud@ z7dU}8N(@itof4|#2oUTuXdXe>4;{1x3}Iz|A&FgGP>wFcCvYEIRj^JSR0uwUBU{md z=D&9l+bJqm0DF&{%kp}uq>B=GH+e>{oG#mGo-Q6sfB4??hmM%UW&lPi;g^I^NZagA zD*%>)q=9q-75#Lt#0}z{fkSUeY!RQIpc-8*VuG_wyk!sJFbkk#Q-u?)gN_Hn$vVPv z|G@xogmw(y`X)c-d2#fk*1?m9lMznbe#$PC)759@bqV)<scVuBja0j=nCK`FJVyS;%x~{>Zm!CFz1tU`fZp2`dUxi%QIp>F&kIZVEC*COAN@ z!}8-#5x}Cln{1QJBot!!rJfAS0Z5PlQlY^B!5opGT61$h4V1Ghe=?mG)~m0oq&XUG ziNUF*hy^2Boo}biz1m$OD_WhV%x#0PNEL0ba}lsIls9*)^Uf~Xi4M{zq>EI#4a0a` zL~9X)AWof~0OzGA2ZdDG5g@n7{dRS~tH-R7C-ijCM9~@+|HLZSpxGdFOuTJq-2|!y z;+wY)Eh|1rOUY{(o_AEFa*IbtF6}iLS!t-+;;0|e)cqmZt+x53NS1inXya^1)tveM zXcB@jDeX8qckai~j8)&G)q^H@$K8XX5*!d^3(8Sl4{$V`a2*6%*-}9REhCa%v*71! z+xkis%7Wj=XxEWojUvL(E?g>9kanFZYKDmUuy8y{V2-3Q?cdk1XN?~a1a%M$^KK3S z7ScJbiFZk6DCYU1?!qmg{xJ*_OO{^rCxmJSe5NJc8jhOhIGI6ZM`b9a zN(&exZrB3p*)S=p&p>)OBE)~>*;kG2APcf8#=1LtOi?Nnk8n{s9b($XAjt%lS0r#w z9cs4R)2lr(j6viad-+W8Pgf60a;H)fi!j3!q%}e}2sy{rWAPMtQZ+k5EeB{_$Ya|p z6lwBea!41xO&h7NX*mxsFH327T05|6(?_Kb?pW$o%n{yzl$*V3E%AI_$vBUjOL9+( zmM>;gqBXRG6AGRBV?(72ZmFGd)MxAg<;h8Q*er4H;2ps%+!f?lL(l>bc*mn514C^R zE|*MaD;e2sYK5~enEcVSqn<_w21>=%K#`2?tq-K28SXQ?4wB#tMyo~^=y*i!-dAf5 z^n4M>&LW>W^@G9qYZOQ$o1Po;ks-1ZRltpV3H64LL0)Y*tg$K~Wl=57I4``pT~)zE z##(Y{XsvdN+`3vCN^G(%r;JGFh_Vvd$A~bvdJ#xRB+9VKP5HyqfS0WV^yxLr@g!#W zqU!Y>!wi`pv>MaSZdkFx_RQKxo0OE~_}M5wiP+v~<%krZ-x{qkW5|c5xYCZB?)O!L zqzF;VsyF>M#Rf^-!WwZJTZxR)r8ZZmgI8I!a%_n)9-l$AQ^p=o_RFeqrni`Nbl%UQ zdK+xNQ8P~n7h%qjhOCvtMKrSA$raSIVO^3lO;A{%Y48-^+wYb%Wx#OST2tj2y0#W7 zpMXI2Y6vClr3XHWOKN7TrNYU8sWmYDKqFO*BPa^A$1zEy+RH}>qCYQU`e<4C#I)Sf zGxa*6BGL)Epl9!2g#|4*m><;K5ernHBxU1ZzHZOH{?a87$sX_NKfk(wGP{Oe{U!U>1a}uJ@sIf zX((II6ST{;wu!hDZAKS26%jJ<+jQGn$N~OSwL*1DaB&rV%Q^P5FpOIq==ZyO;;0yk zSYAwgu%}id_EQ1p|Wb=UIu)MO&RT(0S;>W|};wiEh8v??^!Q@`hlRo5vV|Ayf zyLev!ahmsRm)4$+g}BjqERB!O)AAe*9!@g@j^aeox+BTmU}Y*J+P02$_p`lZ!J5ML zqz?3SXT(qsBq6HNbdlSxfC9*iP(~o>CqBetVj@t(j<&1Eb&z z+G=d4kXXVI z$mSS|Ik_L!j+o>I(CPWO=CKW!jG#%SS(2^ZOyhkP=Se(9lw|_|yD^)~`=;o&D0Lth zgSRMT&E805Hx)n-z-}4rmn-n*#Z+qn68A{Y?w7c74q_U{CQwiVg6IYC3FN+%zjpYu+ay9LS+t+~YLIbjVQ97MHCb6-A zkR?dm(31Y0Ooe1f0XKf)kxeq-DO?r z;{@2EN6h!AHo$kVutzy~1crK~X<3~yD+E(bJ_V-hYDl-PKn8G z7ParrwILSO23q#38iUFyHe=)XX_U*>r1^<(Iye9hxXbI$jpptUmoUaoFgmGMG|Au4 zX7a%uE-3fjj234DkYf&90$1M5XZWrkE((~^o95wD9ScCI5&;}5cTsus*_US1W35ki z0!k8wbYreAt08Wk#t1HJQ&rXXai4VrI)+$_*GpU;?ENUDil)e^;T(S!X#Uj515GLB zq#CAPNf3kx*356Lh-^1RPkTqH<<-uS;YDeQMgIBbNMeQtXG>-+i>Dz|NMF^IAK&UJdFgT1koIh5Dt4z9Q{_7Pdt>KN{VZobDH!~5 zg6xiR8vb17s_)t?1+OwV+D-R@dYHkmY>cWhUea)idAQkbd?bU3UZ&Rr_7juMA~ES@ zT9h(d!TN1Si&p(a=fvab=a#A=Ft^SE0|K`|8tB_|;Pi;OX*z9r8>Y1?Q9et4y6}k3 z+-`B66u{~Y0Er{}Y}mx1nqKFL86-DxnD@#!__9jhuas3q;AC|{ym7kvMklzeRwV33 zh5i@H@z;B)r*>MaBsgJ}2qHOoN0-S>ejn#5_83@{QGRAkuwNjth@X8QY=rR1_@g^) z@Ijt@mnZE<#}H+LZRs*&FM06TH?YSJ*H!=kNEx#&E243Ih^;@V-N6!}Q`EK!AXnK% z-!?g60!1%m$eT6(#^Zbjp3Vy3y30umw>&xPlsO|)BOj9C{9{WCsKg2ycQOY9$1RjNttbu^9HWZRz#qQ=O&rAac&d`&;IzXLJ1TA0Mmk@@3r zJx22l=J;MFiT~j;AZ*2fv21uF$D`!AGZW9^u#|vj^LQh72&i zwYfPOjHKl-JDzCCnqUdZL}@PDv<;NL*cMcdKC^Df+DKGZ`3JO3hQa<$KXK+r9c?s?Ln^(D(_9})K2s&acT@&>T8SHR2oTO-dvze_-Xm-*YN#~|cV1$L9Syzmrc^WKV{z$rwTgc0{dd)ox!zQl(5u*aD){Y%hV=M)*q39Kl{f$ zcKA&F-C>ghy8wrfQ}dpc4+3!RCAT09WwQB-QH`K@tfVUJ88H5amff4H9-AvnH7IoK z?)eBVWA&6YNbX5U#})gc`RhBJbD_zJsxB<)8h*2%0gT>Er>cJS&*)?-{cH0@G8+cp zMkpKt>e*fHcym~bdB(TfvafXXWwFRrl^RsK8>js_i=7*%%}Hz+c}AGY7>wCx!M)#p zn)5qY1)|+d*ty4G29JI5K>S^SIQVG@g!-b=AKg!qS9aFrg2grzyY|6$s@SD2?0Ee# zmW^JOs9KvUZmVk18#WwkoRHcMc@+>%aNAUj_o9MUp^qoN5tG=L8S8GpNK1fBJ;F!Z z^_O48Nh|qQua>ip+k3->-8aj&+;PIn|O+2v9^lL{8%-XLkOibIr zt_*YGFhD~&mL3@slBn+d%Z2+_evr9Th?CiT$=PHSv@2sPs%trDpCQfm3v?K@Nv!w zMhb^^L@`duVF=W}tz}V%-6}b?k177;{HD6Q8ZZFD47Cuo^sZ=VX{o z1BmV&*w(mo)6)6W#7@}w0%1$obQFtlOTucq+)P6w1eXvPaE&28pCUSIcODGIoKWAr zOzu(ft;^nIPk7Y2Vf3PfQTO$3*a**$m}%r`Hl4yNJz$fi(j4@`WiLA6c>2u=`GK7t zVjx*<=o5yR!^TUn*s>bL)b42;ecnZMjO7|g=wAuN%~FHypBX*iKTVpxi!?U1Z8CmF zk~XhRb9@X7d@ku2LQyi3<^?WpYV~69*u~4AaDe?xO39GMYlQRYy@gXxRBLLJ;GM5d zs~)XBDJYLiCa~Y1M+?-XK1va8PDheZegiv;BVU$i3G{#6TYrCl6Ju5NI44De+n^x) za#qf5*B_(2>Nc`I#XCf0bpM0;U^r^EgLim_0^vS@q#_{CtVA9hg+HyYS$ei4l>sU~ z$W>)ms%DcG&7%ZEM`!AI3TDmQ@hdp)$Dr($wJ8;MO9H2c3=9o4dmz|~g>5>)a0c$9 zV0gm3pxsNAKH+DCVyZy{*1L?RF3)}VX@FCfB{B0DZ9J(IV);Y}jsQTnRsKeAyGWB& z8hi-p9wD8y@(-S4tmgZhFrNt^i>G|_%R)Ty&00@W&=S@grD{x$7|Bu6N(Z1AnfF;w z{EQ*(#U+`LlbQ&Qr9R`f=HZ+)G5wPwV4o_8AoL;2Ti%7(#+0Jvg32H5>B4jyCQUmZ zpd4EQ#=@4(HB$gI$_z+SA94kujbn^nRDeYQ5dke5xDDh7zO4_4Dd}j5Ix@Ufu;;>x zX9U7oYWa^_xu{L)088=Y+G0Ps0YV)nhW?c5L4kj^ngPm4$<<>uUx89z`6-7iG$H`& zkI9|UQgU;Mk-3uR($sv^xjMPKG{Tn3w0Dn%uLV8et%3E&m|=j}mop_s8Zv)6r07Ov z+#*U8ucG{%1jrR~(R6kWMVlH~`TnHD>o4)WO!A)-s98>PlBJpLmFCbUSO_at1_Q;L z0{2TyE?C)ftQqZPR^wTDzQ>i5lJtJVj=<2@uADaRbEt#Ak4MSDHB3B54W_U07RyaV zs-7TDcfq=kzyVr}4TvSDKgpXRbtb+eu{Za{5zN!bnt2P*$0sZ0c!x4Xu<*UO`YIX#f!6^Pv)5VxT z!vE6rYF(&>iKo={Y8EegNf0AXBE9v;itMVtep&IOO%mIs*WKI%b${ixxHm z9JLSgVrsIs`>guG#J?Jgj(m+?Q?-;U;hjx0S046(9IQXp+?B5RrXR(4n?uG9Je5pz zKJI9JpMo}&DK-nE`2!)3y=dF7IU_oXYCClxf~MRw?M+8uKx2u>)~CII4ISYhZH5p* z3ta|zy2CkzJkoUV*j=?tIJws`Ei>NryDyWM@eDkUB?d@%JrBm%w$Y>(3sQmE{>3fz z7V`>8?N-bOYei1ZpF|-J45D{a(H+SJ;TrY87sr)aFH<2D%2up@nCBtgr#h#MNn{=NRtcOmE|-lJ6@ z=vNJ;w#3n&f*y^WYsS&XRUlP4+Uh!_Z0vEf6O+r3e#jO-qd$FYM}&54CjoA0U~2*n z`iOxsWQdWG&ZF(pFMvG7O}KrhwA=Z#qQe<-M&arDU$S!lzIb5~#H<6~?%$sgf z5q2*VFwnS?fQ`Cl6yb&hEbrreGfu}8s+afh;iFQ(BvDOR!&S`TFu@LOG{9AxVBWF% zG8XmEt?n^f&A!3I_=C!?Wa<1fssIAgfImm$#FNr9aF>~uojU% zc>pTFgtN@#xbtR#GKb9!K+@nT)|#*K`O09_J<&X497_L``0IwERLi(N zY|*k(IS|jycgoFcD;WWN=R<~gH2lUC&aOXDr5hMXQDUtt_ZU#I3f+4t`xY%*JvC^4 zdL#w>w)ofHjG03oL}6ToxAnCLnQl#EJ}1UNsO%Yhp<|-Gazi=XC&yx_ZU|uc5nmag zvIapUTcY-{38Y9i$6A%4Ek|UXAPUPo=}czV9^;5}9ODg}K)Sv>ByCh79PiMd#EU#~ECp0m?M0@J^jwWnJ8t=S&eDac>*k02KGmO7xy-x%l{onBNUemn zi-Wgaa)m!vT|N|B)?6*g9Ib!)RFkGFX!9#7=-)R{gNm2T3<&o2)L>2u6sBw{ZpWfp zWTBy)WZAN0F&#}Cj3WK=f-$4Cy?5YU+G?O$1tGO(-qzOVG6=oUIdf&meTxE_!uPJH z2K!pVxB4(I!zg^U5$(cI2#pys=MqI0bdFeguc>lsaa;z7?NPuvJB%%a}01-Ibsaezk-EXa(@{sB7~rF?Y>rvE|q`&0~MP!!Q#? zime{?QPjY~n)}uK;sz-^{IJ?Et!*YuQh(Wb5K}qh3avP!%0Zcp%>wH$%NZ|c_c1f| z@lI@QccvdrES!lCW7r5$>zT9+d-IHvK+p4;D`Z2}fCDKQ(r<8Sp{K%y&TX<}Ds~#o z6thxqbYl9uwKz{moRve$5`GJHE+?KX3JiDw=v37jx36e{hNFA9{_-!IsOKmmFu`K) z_#uEgMT4PMz%u+t38$)buU|`*q{1sT%U$f6&Un$`0^RR=Re&A>ZiPufn6I47pT>#y zSl$D692+A@u^vXr{d@rD;aa^Ug+^@?> z$O`>L-2!L4=JFlM0~Gg>0Mu;Q>)mO;!L)Hm#g;`=8C7Jq=)YJn0c1cFq~3g|e}NA; z7`!SE)i7?5XZ`KqMv6be@SpGw-GX;U<&FWj*PkMOlji8yP;GiN_3%mk7CXefD7)m0 z3>06J*E#v^8?M>N+K2yG3pc<^a9Xb!E$gm4Uw=aA#LSfh%X6n^z_u&|=&JyN4bque zOpSM6Y@fK26zNRMQ2dVAqM@%$1P|?lu!Id&F6-hZSRNVbLFi%n#_T*Z0L@5zJT??j zR=X<{fG@Ivo*BL)gASp%S%X4B@?Q4RKo=}O!$=Yq3GIwmI0*ggv1}C!>jb81a@n7~ z-GITo*TM_-*gDyJ@Z@}*_i}*Xr7pt-FN(|qXQdsjFSg<|T!HM_VU<^YJ)vZ=_p~{Q zmV>La*trVaC6N@L$MF=)+9W)$9M9uKS^CYj`LQ?4de1{T5H-#N3^7<5@+Cb8d9uub zXe}_OAI1>t%NBk)00KG=TsHJ5J3$N3RtFO$G%FG7>3V9%cyuQYdHs2&sS>;dUToqk zQ5XUNTva#34k(ePAduY+(K?$NzSq`}tzV73>TcC;giDaiWk&lqe>2#V>ha!`qzYXF z?-2|X`Xe?0PYb+71G!e%bA!$a$-{SbFFZ*6=?xFgmRiW)t#gZILC$y%>co zZZAkY?ao`@6{{l49Lj>9RGG-cXoUvySzF$96M(sg*ML2|ok20G7zT*}2qGYaH73Qn zbq8=29e27_ZP~3%dW=cG&{ZHY&aW2_G^85EZZovcQYwq!HXl0DZTQ(5g~r}h?aW{Y zlps!O36!2mpgb(E5cRUq^IQ1KD|**Hq7K@CAp6VPjVy0w9!N_7s!J>~8%~b(Z5X$| z3xz!d2zgmy4b{Sms4ku>P(k8Bj&%4K_5qrAORj~ozR}>_d1HW2N@X0>KN3^uq>w+G zWhl&epMxoutznO1(yjaF`nwIV;G5(gfr05xR}>K^)hI4t`1ie0!|J?DPrwlksWxVs zzuhl^dTNZn(QglSgoRm{I+E7ba^C4sX`>5x z#&5Krzc7uBZ=OkBO0TID8icFZAv{IQhp;uWeh6B;3u&?=gI_sY<2UTkT8F>UmD zO==+a@7tNE_hg)!%ZXmrC`zbRaLqU2-UwAZ>i9{Jj;UOn^Btnp7Me23zNuP1(rv?( z*oMUQK?aj(Rt)F{X=DI)9G1o~i!>&?5SV!J}<-t5@I3AsDt*BB9>^@quEP)GxJ_pwL4X%k=Y?0c2_^ ze|EsEUny>iNI413X_UX0K5O1y3Cg;IR#ihbtt7UDtLohnybRbPN$Yy;09Zl4U=s|5 z+D^62PnyS9(Yc2iWv{efzwkxcGL-z~PL)n-$SOWs1ZlzO&eX1Tz81<%jj3Y0RjDwB zL(uRb4vYY;pT{tzIsyp?b+{pfTdHMT12cMz%F#p@#zQXkFgzQVVQfkbOr*W!(cl{$ z#-(Wy+BIAhkB0N2!?;XVkQ0t&Zh^q1!_r|~W~>dH{W+DhK6Hd>DZ~6YKq5`qtymo+4pN4rHTsN<7uN zw`4drbnDhq5aQ9A5n=Us)Ky8=CC7%1t;PfoSw*1Pm=J8fgE7$zYD+5mRZKM%uo)P3 z`J**}GF(bN6|)Kr(8mUtfDgPJ_Jf7oj)7{MN4 zkvU6?tnJcZB$&!J10a$7l{n~J-3V#j+^M0|byKu=HvTC7a|v7_n@irxb`rQOQjRWN zcIIa+^UK7XXRGhlQoA_6SPLpmg4Y@!`eexdKqDZ6?@jv=M%%LLrE6z7imcNELA7(O zL8w2@T>2r;O(YZlwx2NDti-a^C2PLz6=n8PTLiT}J2M(bw<`aI0Swyj4&bnA>#qvd zMW1rw2q`+qU(l|UqaD;b_aVWsOH4o5NDH3fwxI!tBY3YBp6pbp+6Hu1Eom?=6+nJ# z-_!z%dx{TZ^*c``Ufi?*qTMV!)QuPSOE(a#-_Q;4_$u2K%a$M)**F5MK#AePXMCDV z4RcYW{WmnKh~iqOt~JVnXIEGxQdf10_%R245`uxEisn@>ErF&!V(dzW7HWbWO9r5E zk$|Bp!YDOqD+c0Ker`h3_P|>xvJqbf@2!~_1CKZUi|kSgXLEy8{IS4s^n0T|V>e#dWaUU*oAG%%#|dEUj0<$xTMsi3|$d@i>OXN4@U)-zF}u?LU& z^QA7+Mc3KFjnW+DQC}BhwT3>+=NK$h90-$rFdDyQ;PwM^ba$j0YH0`+Hnd3LBysr+ zv91*$IZY)kLroIE?mkNhMxxDdjM|57kv6ovk2buxXRI-?m?6?QpEm|37sHf#&&eug zjo^f){RZn$BK2pyQw_-sQyKumx-mBb({D1;rm>U?{B)Q9A=2#<*hmy=>!BEdS;3sa z$f-H^Nb)LpC=jjGeczDQdJp+_N**Ws%1NY-2jwj=Wz)gY2g_w`B<(VDlo#DM;*f_Y zr4e%uGuC$DQz|C;Xa#dzS*9hGzOn}A+L-_`?x%a(uVO28aU#=uIgZzV;S(}|s0383 zGlE-$qgJ)t4}n;)M29*vI)co@Dn!H_jLe;2ZIvg}zFKGkwH$CRGAbzv_>@D~=0=Ul zA%Zjasu2p0x%EaLdc>o{ktoPOeJ4=^)W*5c$w(yIU;>tZP{J)APy}-R;Ra;3T}_dD z5AujEq#2QtU7&z?<pK|fGCeIiS)H%93d-rvMvru9r+;8` z(~}VKng+lcqg!u&RL#`^v`wA2Vp2eH+-4l}#roP$nKoPW+wo=9>Q23*G|RYa#%M#Y z%pxiL$YL|n#18`Sez}z&2xm@>!(-zlDinX$?G1mRKc{~)7*=j_kH=*-Zm&NLhLVxE z2gp>ZBWiyJkgP~T6OP50GDi=iAwC>kW~&Bkh3*)$=Z zzbo7+?1(?K$eMK0K%E_um6Cj!bfJqeYsWtQ?z4*Go%Peb>}pBHXds#pYqbaP!NzF- zjs-C5SXuz4b0JU1vHyUth$DPOno0?ptiYj$-@GqMB1a>ugjOWGX+y{WTbC#<#1^p2 zsOum%Qt9Kn%xGY37dh&!vF*SiaCoK&klyL84u z!(7)~h%lW3c9$MWqsdwqM<&zOJ0O=3F`TssIW@nDz*VVWyC zKIX7no?M68wHuZWT%j(44NLb&iNl`*0^F3p zm8q}U{=2fXOx@Kx3#pGgn#l5_S{2%Eb1{q;M!=-WjHF&5jAZXh(WA z<)@EJh^bMQSDLJ+Tt^5>{=056Zr+tGAfV(jN@bs#HCTors;sX|k^Dw@=seu6dUQEj zjk`lGeZ$@%(8z`W~|J#me6YDzO@{mxdGznIN!uz zK2?uNx#^BA^) zexeNYt^fd*G1>{`q|ze8D92Twys}MNui1AcEWqDwn%85n@iR}i)ShUq&~+CNSO(>#yh#Ijq8O*D8sZSWYMB8Zy*Tfptz;)^C^M~T`J4V&XfH+ zCv|5gL-<{I84)DO>6+;%vW@3WHO8~Ie@b%!fxFi9=ez4)egAiivLq5-fk73c+YR-B zLop5AnyQGn6AqO@vlE;5vakfE{Va1uhM_0U4e%J&%Yp^c|3&ic5!hLrR7F*<{OOif z#teGv4|Vcls)WdB|1cO5L}b)Wi_+8c=`~lz9NU^{X<`a=TuLbsH6L)<-*vODOwds+ zSw4k>-?`p40n-tHeVp9E^J1p6F^Gyhs(et*IBZ{$yQF`h;+ehAuhOh%&i(|fp^i7B zV12mCwKpqxKftx^0uU;hqB-L_S&hx>8P`Zt*R#b{>0)paq`l~cF+;GMVw4)O!l;B$f+m#W=rN868w28<&f5ciQY z6RJpHg)(+Fff2Z{;($a|z@l~u$xruxe|e;Oiec@&D6(iN&12#>gZ?Hnl<}#Q5mDxj z5>yIY&X>%c+s^+@oTTbHwyyU2TyGes-4)*_AJB$Bw||F};}Rufa5V)w019OZDk!w@ z6{5$vQf~u%UZEKQx7ZcW)Qti+t#af5P_!y@brEr?;QipH^`3fNMwg{M!`^ZF8quLL z*Z2^-1D}NPGzE)_#%}n&xebWuLwzA%OJ*CQWu=>`dAZ6+%cIS#bpp7_PT7f1!3a z#7(8Or2BQ|(eL@wnm|ZXLHofOM{=WLCe5H(iv^WrULhoGRH|%Q#e5h3x+U%wF&t1R zp!2??K5^Nn0ChfgFF}0XK=uyK)M}y3v7%hwd)}AYvoT23W9Hd}tHDMyVVztDRWs3$ zus)SMRZsa4qA}^-tb+!0Hmh5rm-SZlD}1#wx^-ty#l>MlK72gTFT)yEWEYC8gwxj@ z%w`0*ShLz&GSKgJ>3_>oeaZ(b49!@#sTrii}&)?I8BKPj8!4}&ai zSNG6Tk7}}+enyWfk9%y81YnzfGZ`~>GVfqcz`gc*ph#$EYU$&>HeIL{X0l>Ze-w3o z(@00TlztmxW!#S7;egfvI3!7$GRq`Y00x_nM!Exq!?M<8V5H%?>$xM=puuoV0P{_` zCkQq_{ zbLkZQQ<12Reg+enWZ-XUq*e*bWb-7I1wcRI* z^Bv~$xs~eb&$Q`k+2cZuFyV{p%>)&=4@HLit5Da)Q@<*Euq$SS^diCJ<6CwB&7*~& zf{_-(fEd#9Tle-L1?Y+wBsi`59SBDIK+C2-0>)!#QXt!y2el~=KM5TxE7;GBO1ubmM;D&i)DPK;b~9>WFrF11~>4xAW>$AI~cWU zVv4q~I@+k(NTFQNmbDjHrIpbX0eC8ssnP>!rr%ogoIMSA%zCc}bE%IR1+r@}m(Bu&N?glRKmf>Cv6as&X~09|U}3gIz8UZmNLzlVrCUr zUl(<8dma!atAGG|5AlEwYSKy9oGt0c*eFovfF(FlYIdk#MtNjl&I-Kqw#RtZhI-ou z4oM@3I9`A71t~c+Hvo~(WlYLAXoKBYR;ol7+VTt_Aa6Un3s;|Amzo7r)~Wh zB@()2%cTu&9CZ{H43ZtDWfYdtDW#U2kIQ2P$Uj;@L|9gU&k`K^_}UM_*D!%g%M3__ zTmz(eG@45o{=^3tVLFcCnDgrYt@-lW!!84%#F^qh@u~UQzjWBdMW&UCwV)_ecO=xYa@K z@@nk8Zpw|#utbr4R5%Ydes7v^KVP5Vp9ZC^9KhG6f=ZqiM|+wo5u4gtcA)G;G7x6w zKjF-n*$}E`{f8b4??Kxpd=%KKUxl=|jODWwv9T}H>`B1pdGSp^4O_5BumP9`Gis@- zzrn;!lZeEn`D78llP-`Y2_irH5JtvJypxO!lsrnh6J%iU!v)|%bA=*IrH$g?3>fzu z65m_he8=H&TF2f}R7UEBLYu6eiv>(;hj4C&(ELsfd!y>EEIL48$H7;+5?#6s5r@3GFVsD*}Te7$JA{u$fe1qR?lXx`;{L_)?Zd& z81fe^mM-}ysgCKC#k)&Ckb->W8-uv??Dt`l%mY3J-zzkGOfvS8JoPzcEGHTjLtk4w z3C1Vc#d!2}XOetbwzk?dUk2yf*XY>V+Z_$z(OavuMB4hN1-~tBT_gtA#ws}FdfF;p zOz|mK7fIovHAnt_WUc}5a6?TUL7^ZyU0|m11x28i4y~M0HssA&XawZ)w8~|37007y zM>q!rG&Qe;+mVYc?HS5rlF&!cNUlbPsd47`QIpmVupg~HaU{Oa2n_BK$wVYr{8Tua zj2sv?^b1+kah6}tCFTZ-ru;UY0zjj6Bx(2wlcEO|#ln6t*mkTA7~ zVS#1ZJcW0oA<%-Dz)kvm??XDtwI>jr#fCv6E29hAd+rn`cKQzX_VlTmCf*7dSx za|%kP;FzQIpkD!Jyi&DP2t1}6E8|R*>iXgwGHVYKcxGZaRY`PNPDLlW(UJZ1o9SgN z@FWK2dVbW0E1)JAkAo-5J^v$T=q&^z?`cC=**ECqk1%ckCui6qu3x-C@7 zoKnx&ggMFy(8fO>Jx%uxxPXlb`aBzMqb$(4HjXC}E5)YCY+$Mhu1gO%*!whdBp0g! zInW_HV0E;5B)C7$bkT{ZV2Qdqb!JmP)9W4N=oDSr;rq#eHWTp@@vHEy*fsR-r(PZjj;{JCV3H4iok5xT+)Z5GOwK);ZrU zL%IrUdW%~{^;dM@4?%8Dz2VPg{$N*E;pDh!oB6R)D{R(r$AAfq~pLxQ$i6i*bd)ZaG@|~LQ-58#Gny#8q%p4)NW(mf~LE~lL zyDI_Ff#n6^?14$eK<28PC2IlSTLj3gX9o=f#OD>ilM8%nW=LDB?fcH&{$XG zrUM^Tanv4oRIpeFDLXwrCYcu|?B+{D=5+3F=p`1$Gk^?yTRjC?GWd49u0~*tPq)?a*o3?_!sSed&YO-_C(I_YxHdQLm#}DJBn!WR zL5E%Yr{sGtJn93%A2RPDV-h989(LepogyQ23Sk{H<6u5+>wr-lWo-bSK0O9O3?xpB z2(gurWE{nX#qKX55D&Qb4SK|$S=RSJqnQ^KzIB&Lx4y#CUYXtiwID+Hh(im^(x=mu{zKwWkrqpw)DaEz_2R} zhEUxt`;~+rFxvbpJx8nTn%Bz$uWRT!xadf{Al;1y^7{x`r@MinVryhCC6RKTlt&sg z#3QjIg#mO);)l23w*q5Gss~UVqb0r9)u9~PnakYtsuKYlNAWS0LTfPTf`u!@N>t89 z5abP2)xCJ6?IHlwkPy#0SOHGd2A_FoeOO=i=UFaF) z9m`^6DQvAm^4pg~ED&j&#Y0j>OOQ=19)D#bxJXxWH5&2@r@GCQ~M=u5^+I zrEdyAJWfJzXfmh12+&}R_JK(U$GeWgPkCP!X|`3cl<`XI^#uozOkZRNGryaA49@`@ zjpj~tE;}srnYI{UAlM*(SMk@LM>6Z9$%WDgdjPEKRF20VArOtKHqBhpu=ZnII#uTp zka=_YIKFQkBHX(7P(mPZa`rw*!{4-FBX}QntzR($m40}(fzS%a7yawn~dg>KMt zBC;zE3OQPe!9ZeG5g4;0gC#f!pGY>i3-!3Jh%$jA;S|%mm=(X#DT(YcP&TZInDmk3 z8XUI(g~vV6EKrZKnWZa1OgrT4(Vf3TWr6EJw{+8Hm`N}-okB1MuYY!a2!TA60_EA0re4TrZi54?k&ky>v~qFA2oB&! zWZ1jG=##XxY69iukCINQ@b!Btyk@-*fT!cRhs8ig$cfNh9zL=&2dS<pOoeB=71=>=(gZDemk-h$5{{2oDp)}Xo3}< z&am;hq+u(VVIHRvwAlhoy;DXRmQPXICq%wEFQ`fcfvpR9jXttpOzCZO$CT-c*q)sQ z?DWD0Baz%zpap782_lTTKk29{oHwC)9$QJc0NSpSMBckF;AUmh`rZp5c^wy($#$e1 zMdBq>_DT7(r2Am*f`$-ZGhydZJ~?Q^YAAB)5M2-gtXW;kx|7$~7Xji1SrsYsu60M1 zl?@8A#;~G}3bOk7Is32IcP=9TO`)s^GMCn}@%D)`QBz0_D5Y}9>wW(Kfdvmlz`p$P z^jDJ?t!RJ1&emgiL!UM)8MzLVP@iCvtvHj+6sUxA{F_|S&k6!((`>4hOYYECE5 zdh7B~41#G|6>0l9Qrii`1*Zc&i30jnYZnFPj}*(EG;Arz3BC1=0qi(6pWb5OvWPX( zN^W2U%rw2Og_?gF{22_!C~oTgAw6kKIJ4vN(9n`#ug~ZSMViR@bVD{pC=TFRx)}}~ zyVYhYH?TRH(OR1zb+5K&B%tEabYwxlE}d;Ea4OYkebWZP)F(h9dPq&id6X^BM?`zJ z-bKVXL=tp+WVs4pDCOWSQpOlcl|hNNB1M6$fb@K$+mJW_oR6KYJqf-RZq#5+sM0r! zM!gA;Bz{pSG6w0#Fd<`P=f?~-F!hq(Oq5myYz%4sRg8c#^(Lx)TrJ^a&oEP`7z?Rv z1qmv1cPX!BuoLU}#=#sDjgyg+kO7jl53)xoYLmO(Bu)%Bx{IS=4!scmS27RJJThyC zz&4tqy47ea(3feRwStFGS|k9(G|lBSQU!h+btVWM!9GOJZnb;2R|4CDfA@7d$0OI7BO6`|Emx3*HK40bO{ zG^!Ail0QmyZS`}R(GS=tu(X818FtGi>h_QHn4=EjdVbg0eYD0wjE=Z!l9C+VfWX@a z2+D#?RjGNK0$758poR${Gy2hay)&Q(5M_|i#3KvLSX#&hP2?nFh>fnsbro$+)2U5n zAGhEWkB`+#WJAqlUsPkJm6-CezKCfa;vbDfXMxyS^HPwwLf?g@g16lZ1==Gr>%_c; zC~kvNVjw+4)i=ZX6SZPEAD?3E&~LjxQA)ku|bO~U6^)^an~-`yoMBD zh}Ej9G&~DPE@CchaF#;`{OE2W$1E_d{2Pd7ovj3e2RXj2o&asu5R0UHKPao>xB7@D zp1`eY1#o$Fvb-IB2|es!5czJwn!?TNHv9+(MVLPwYJC#J^Z~>f_M%Ta{~l@ zG=QNol_7x75fWc+1XF**y_lQOboo1`)!!J*4qLUNj0B&30wFpyn06xNx6hzB%kN$W zZFtcC6xx_S$YLx|2qd-Z9H8v0c3M++>Dr+~aVXDm7eJsp5UR_EIY}#c#o}!R?e1_W z*c0t9Fp+;^(+nNf$u|vKL>RtLSZ8Ij`?F!q(V6|TaSvDGm^|qE5Kq6!sJ&FfgPgXl zZdTen(+jb4Xw-n+C1}TjfFJZT2gc1mu2^ui9}IG29v3-o1;QBOi;82%&%F`xR!<8y zsM2|gOmRNRHTvPz#1Svfao66p5%&B^S*d2ekCxYs8uVc&Cc6=A;4DOkfCC%!t#Z*X zI35RNYyt{1QxO&IS^G78Jz^(Q$Wvc2a}p{Bb!{gpAu}r#Y8el#Af>WXOKw%J?n(pl zZ`ul6%&sR})*$F@dOdAn1a#~s)znc|v9MUVi3nj68sQ;L7>#T&9943Lw8|tvnkK55 zn1=fc$N{C}pBC?9>WHc;PqZmm0tFlM>bZ^m&vlT-E`|=Za*&4LI%N z!3!H|)CqaJ6z5~9;Ft{5|-1(sUDI0hKNXLpFFEeiE-4HTI^2z5=! z2ja^;J3BP!po%QsCI&^5%1Ef+_GtO7O^ks97WqK;&(Gx1np@zIW(>C{mKp~LSrO`W zLjc1(hVl)uDlEKR^QiJt6BJFMjJG0$_4-c~0KOWBp@C3K+*R?FWBnB}zM~o>*%%PF(9IrD>L3Vnr2b#>j-UCwv zn&n_($rHayN&=r=mWvwB!CAb2z7wXKks$~tiiec-Zac=asOrHX1Wz=YIc+V?BaJOX zZn{V%bV>)AKRO?$IXs8`nWSElQ01-WxyDsuYPEQT5{#u6>8T`vL*wE(Fd<m5Gk$myuZj(B} zLU}EzU?p>A8xv0BA#n_%A{tk8X@&V+4oO|4&v0@Fe<#^K2Hb6#koH)Zm<~%MEziw! z>*H*i6OaFLYnf|WGj}gTt`3%4j=1ZJF$+>$4#PgW z)msIFQCW;Hy?Qj!ygxi}-Qt!fZWkkF{h*HsvWXOa*u?JV}kUw2h_{aJa07 zwYkXRkyownJc3o;*|ky5jTY-xLN_X}UXe(=p=B4dGC z4@-I6M56LFzjzb!x5bRX3TY#jkm$6< zcCSXv1T9cEGc*t1sgbi&1bl>Jm&4Lyy36F&cG#}$C>2VTgP?om;_JvKC@w6#mqht; zUIUla3lpzx#Ck#z%&mwG0SLBwHb`zX(3&1|z84jGETQ{{rox_XAM_p z%+4DV;7HGh_;)U2_|_jiyH~{?1uO4$l36j%L#+1iEoSyQK;y(_53eAtM-^CU)rl#I z<1tJb&uMO)Uz(=JUu+)evO9S|Jujp5yPF9RO*EEyK?2haKIOLl>B2_k>PRH}7pfHP z+L68|FDrBQ0{x&&D$+$58vpg)>J0JPy-yLjLn92xB7m9-oY0vk!wXyvRg4TIEC!a% z9c1|r?IzR_6qwD*6vkJ-w1@87+xpJ8qO=T}5hcte)K(qmKv_}hKpAdODz&K9m7z$>nZMr}4E|*Hu7X1jJIQk4XRg!N$uNB{Wr|(?)BmqC=GK zUWW~---NDBLxWgx8;Tz=He^wwp&TYn^f$$u)t_c+_8>dg2lqO3O>iD{#a34*H_bxUL%pg5$$jM$s+gj1LHRm(pj~ zQYQvYDF6vl`8E_@;hN%s?)zwf8w5)Y1@ZZuT2W z3{MmaUa>$&mIjtK&w(5gjjd&I{xtG7wrDSOcvut_9gk``mLnyn0|NXa|k8#ZJXHs-fn1Uz#e#Md!n zAL257qKZWY_kWkGGEN+u5B8?4WT`XH?gH6(UtXICc{n@^T8xGCwXM4fsVZV(>-gg};S7h_|#Ab-V6%bjUUEwA% zO5?*rf`irmc7ce1wQME1IsmzCNwaEE%z}3|RoHOR3nk|fQ8=Ph z)`xE`>97>SUdL>#DpBD~^1;i5my`7Gu9edq3DPhzGKz_hA1QwBo3|cg=|_gTw}J)3 zdIgJ#%pW{;uy^1ypxZ_h8 z35NSr=R40~ET2N583-*ka#vezIxA=DcT28WEPA(eSy(z91B+~Ed`M)>?al^;3pj|T z>aRC=o;-THAm(%|CPJ z-GSZ&?jwv4Y*GI$6wG{vfI*WW*U?;O`-H6I7Yz|3o% zTt!aVqsCQ8PFa&H?CG?JPIuPZk+{#(-rmTSFQs4wAqNpDHmQ#6`Q2pqu)$%reE1tb z4%4Qc_F0i&b}}Di#BGM|5G(t1(6)EwFB54TFzQ~W73@H|VtK>{tSgbW&AhdlocX%V zUWoeTNXZejzkWP6twR$GM!%HCpj9tQjUsok1gV5J8sqLoIIvTYL5`tqyOSFiB+$wh zczD~!%w3c)FlFFNebU8v6=7M@7^d3uUA~Ryc#x_loQH;{Mc;(R5k?N*WcW*5L~XmV zz+@d|uL=_9kz-03h`e$Pl)F6=MDCF|dua?s#pL|)`xPGmFHzFiM$kV|H+?+z6NjyR zRXe>3hPXhlhrKz@vQfN>cmHtnRxqe3!bk)oomt~sBc zJ+gJY1hh?*Hk=j9pcG);){^%ipppu|UftK=UdbhSnk+9B3c{}ACy~z11i;-D3{%sX z6epBu3Jq#O)I8(l6WaLZ0f2Bh*M~W@8QVC(VOF%p@u+fP(zVh4h80-_hjWNuMbR`R zw0KgD=-Q#SEy>R-b)pfEmiyCqL_J8T_|rxma__6|JSiJ^Ydu+7Hw~j1;DYT&bNTDh z%MF0E<6a*CSeou{MHR95`IACYQ3prejm0oVb7sMV{+8$~e7cF=4_0RsHl$PnCPvVD z!nV+9*oXe89%@FW4}{CpL6uggg|`#{r66te;2i}3zehqvD7Sp!(&l!=;XGOV#Kc^< zfUEJ!=CFZKOL514H)UnWH~P+W*U4n+bX!)rB+o2jGlx|haXy%}H8LAT_M+Kq^&CHJHcr`yH2_; zBVFLH-vRJsG3T&@Zzd;wf}0HeX^m#o&rcrnWC~cF2@7M&&igyi2?^tGZ;bT0eao9G z$UOF}N|#alWq0lwPW9b62NlKP7hnY-H-dSKLp#14vU)_Zcp5#mj zh|z-yFmBHCQy(N!My)6BlIvILjy^VuS;|iP4%a+xcNny zIw94pA!Jw&o@}Z)C@ouqYnQrV&Pgpk^xMO26;TiLjxmb%8o~iW6+^SbbPP(dA_vXm z^a%Z~IBJX<0ysxUPNDWQxQrSuJzogciBGu?T6G)`n(i6 zN{i)+P{q@Bba2LTD_xsb<&b+?8EIfGwzf6RgUzeV;nuMyDt$T^dW5H6$OEOggsc?| zw!2QWALM5paeUOlY4$@3AWE@pI*O6sl4!PeR?Kr?R`OLIcLjZzg%pz>$o(%jd7NY) z+Bq(sX4o|qL5OGlO5t!_E$7GT&X(hH`w3dnBFd0n8Cv*e>oqJwng0Pb{?T!reN+-u z{HITg5^BnLqSq|jQOGJe;&7k|u#vF6h}l)HXc9 z*6l@^Q`(3+$i1W0xi7wbF-xBKO_~r22@&{W866lq&8r>U^<~w^`%?fhMCzAIgpi;3 z0Zf?&W%lyM3eXOtf`Mc>HKu3gr#s^C9rR~V!uwiJ_e7Ylrb(BbXo=9z1Y?j=0-|kX zq2F^FrM6WrJ#lpCe*dhfLg&8uFE`8sI5ixf%xD>WbX{~zWFH5mb6JP3Um7fhF)zQlb90w7PBCk=`-OJ_@i6f$Ds zZ{Wg`FASl);q)4Begl(-HyRrHDW2H_bs5S)S4RLjkPIL!qr6<$R05AUrmo84U0J4U zh)BVg=cxlSnYj;P`Qy?x7GjKkH8(g2yAT3&7p}TXDrMa#M!`<=4n7P+OkfoNmFjpK z2;}wrI(+O?Fx(&);M8vv0#io?u$F#OlgCW~fESHHXQLyK8AeJi$1;wdgVK)!Ks)9! zqzj%(CU%s^iSpeoIFyyeo>nSpj-I&W((hg(=uZkfELCrp*0>VXj{P7pR-nyox1Nl7 z*agz&{9l4^o>$9J!L-<2o!8s2PzxX9&R4%?*K$A{ZFLyBkvVzD#9#JBON3&bPf<4)*(qu?lx(nAG0CVstEL!a>xn`?4lclNx z8-Uj*r(l;bp5F!`U_qn3Z2<$zW%=(SRW_jN8nV*pAF(5o;CH!IR+F=B|(AI4Qi4x}3O$2jc5U;s@886x^nplsx+UkI5y&Sjz zDK4d#I+=@;D9-*?(9<8TNoiz7@#S~tm+_b?UetP=I02wH7+9asTT)sFff5Q1#)SG= zUt+Yq!tXD)9cim6QTZ&}_4Ux}kNQqxoy5d0QP@W31!Imt^!RbOrC?#+H5E6n>uCXn z69f^MrDee)I5=(kq#J({9gQ7*-SHeUuU704@wv9mE4Y1z1g%z|8n|3nXg0$_g=o69 zbj(&$?FjM}DvYgclmuKNJhm9GyySBVPNQ>U7aRnmSA!}E+Jt8P%$A76h{c%@qdvf_ zEmBMK#7JgP#U3rjgz%Ldb{;9_4u_~z z8THtAHUNT+rUZRH)TKC!KXFPfND&+Pn@N*iJ&Za0x;NWsC+X5wT4K?zPwrwiG9G`& z?0#AqeFHKC6|$XRklA)}Jxd`AJ}!YwzK%H}0#QO-;Sh-H7^hdkQz@RKSb5*_jqMvO zzMfmMS4J@{+9|AJCHIGSC+NA31z4O~7+o?)4l>#Zly*_!Jt|*L)0im0Iw63IUlzrf zwp|!b#*G5%zu9$9)!=N#>Y?C5|7p$a)H+AEZVXem*J(1<;{pPC=HuTn5SX}y0!tYF zSUy5I8Q-JWm#&rRK;NiVx-nMHlvkO6Z*Mmti2M(nhoQ(al_6|7mVMEP`R2KS?QBTV z$Y%70(;pNa8nxKVeO>x245GxJ7P&+t{pP!EH1u9kn;a3S;~Vfh!)IXZz-9EF-f-T3 z<(Fu)--!TN_E!wWgM7*};)0M%KEXutJ#Mc%IXc_khZoxOInet$WA2I&HiYlzVgW|{gLUC>?u_+DM9mFM!HL*HJgTF}^!bD(7hTtkN8uM8C=9|Lis$4Iv~Sv?w_ zUQ56PFjfrZ&p;;I1and>FzeflpsI*<9naCDA&vNWE<600tuZ8X?7aYPucF(FK?);p zcOvx2YL6pqiZYIK1TYZ!%HxGW;k0z}u$dHIp>1Gs(UEPRYp$P_aMH}H_}g^?;?;i! zkUkXd2zkC?qXb0WclJ=B*MgCihtcqCQW`8ngBTxVAsv5r#kgksg=hJoI`ccn_%tb_ zIR{L)1x>Fj9dT+J0GJ*1C(^Nv=r4UHlQ@#R-Q>nmQAEZzLr}6wlyM~1H4S@k<{H_$ zyIE~c8rNrSNx}2gDWb&~!>~yZ{>(lL`vofwanBKOz%+6M<&+XC-iW){&U%KIplT=JiALFdW<(|6G{(8D|O#4WIFTD;o4tv)m@nKDPvjCYOg(dsm3^VJ!? z(~-}lWH3$DVSUDdlZ~yPUqA#g11PuZ^n1y~NLD%xX0NS=Kmx|o0VN&ob1-jJBcWgF z7~>7)k~QfK!ImWw8&V?i%|R=wT^m5aNG_5)0(=)jfWg2EHN^_Q%RA1aQo;xyI3g8> z9>NT&tL|VNvzIb%Z=C*RDwk05KzRU$uKD@})`}nW!0G3$=5*u{47E~$w>N<0_xn{U zpw?cw0YiIDQG&@iPg1r66Vy_RtSjh1xH*aq?iaQtFd5rJ%voujPno98Z`T!0F&x{~ z=TlvQ*YIvkJfV^M#VjRkcxeUeaZ?U@U~+V_*z^(mixBk$_XM>jR?sj^MF|kL!;!K8 z4}ZKy#P*{5_HO@8iNfU9`s6Uph{X`p2Nob6D*8cO18ub8o?w;lJqYS9+@U$h41#3* zY2Vd)b(*R-w^<(bP#?C?U?6%o6pS%j^ju&ASS&AklF|bAvf9 zDO`j9JUX7l&ju%df6o9^Fc967q{SMfj~ad{TtWeL^&ikN$4+0*0@hZji~b(nr4oGX zm_l4JWK&t7wmkeb)HC-gQ+^Tf`?ccC0qi^a;_4Zcckd1CD$0^ z?D>}MZ8jxWV1`+kvC7+zS4xJm9O!AuUlIM?6cTwJ#f9DK^wYgSsjR?kZlyGWWT6#m zF^O8^M*9bgZNa&FbY^oWk%y3QW*l=acj1Oy7^%g%Hvo|% z{{H2->BO~$v1biR|6bgr`_Fz^Drjb63J)Evy&6VMaZ$(GSK=b71P43Tx;6z{2v3dU zK#;(KaR~?rbL+KbUyCwIOPrCI&q zt79^EF&>zmug+_eje*+FXNy2BMwb>aELJ|NBCN8k0ATzqi)C1GZ!`U}6sGP5XR>yXM@o$<^>=Kr(NybgQxn zi87Pzm0|m6s9yEH93UiRR2SKJ(4Sw$!%979M2?M71DVcwv6p>Jl^O&9zCPR| zJRBLzbrT;9Blz>ZCTzVxaRsFrISEByzbLaL46HDEexno7At;O5N(%deG-TJEhP`2g zl1gvmr^#h;nE7&&ZS=PRGp;_WOhS1hLO|pDv`$brP4Z>E&T}8#LH#I=f+OYwxVz{J z@B|**RbQ7cELBU5e9~nko@|n%3F&Kksf^CT>*l9@;Z^u@ULL3jrHA9DGsP2zS4s4( z*|a?sg$7wH@Hmye3rk0zG~ax}9~OYdupq?c0qk2eu2*3w70k~W!?(-TZE-O4&3l^v ze|2ZpW7lz=(Rcj{L9ZepOK}1?dAe%08LC6mG}RI1AP;1#Wf+Jp2_Aq1$bZlJR(*Bq z+<{VS2ok?soO@0UyY{?yP1hX6%IBOxgm_Rzrw8<)cs;8P9PmA=CNY@M)C=c1Co(6u zFi8YdBJcLg;24ZhOxD-6=pm{cY}+F*DO#yiv;Tr zp>1;Q&-J)Qa!&EnfLpC!4KYXW_I?dAbMU$%!^@tpPw+Yg06FTN#bbeh4JG^eD(vv$ z(b&%F+f0GKni(2gAedCi92JEt72k}v#?nHZ-hMl#lK|lr>h3z~n^bi$y8!GtRZKT&5 zPIyg3fu?|-PI8z*AE7eLf!*G+rS|>D@)4z?+MaZ>#gRi309E+K3_JsT{)eJwCmEFg z@24L(BYsg!NY}Zt{zbXavT^J%$8Nm{X<6%MLrBU)Z{;wxLc=qpbD+Mw3v|O-^X19@ zY&+@*lMa_tDc+cJ_l02%iER+>Cq<%dWcpnrgyJ-L>2V6Gj*$QO-o@2=U%6AA)QDjWkekyX-q2CK(~kN=%ku;$2!FROlK6; zlEa=Yj9_-xEP67I`aIPamG~{&X(c-(-4E7&`Ow)4L~`WT8;CI;?%2L^^`IDn&Yo?t zEvOM7tT9B9)#fh z?+cEzRJP>|;5(qVOrmXlsqJ=2NzGvHW+Ta(Kql3blG~m{4MUIXl>-~>Q&e0g6;yXu zJ{7DA6o?8~{VsMPOL~&zIAV7fN6rD?#lS zY0vMVPY&S2*e4KIN-#UXYK+OpvQJb*ChQ8X~P z!`kCNqiAj9NE>1$ZOJd9d9PvP9QoxwdVqp!zCPZ0W|&XZ7wp+8xCl9vb{9093i8pY zrHOs9zhPc~45vaqU`LecU8P#H52uXqx4DL@o;bR={*FmH*ra0MQxyhiCxHic`g!=8 zAi{S~{f!n>1ojDWF5X*aWOTgPIR(>eg186oh@}+q4mb?qYd`J4h^; zwhJ3MIcqE_vUbcpR~8UaL~%f%mC+l)V++SX?{(1BC{T@FK;vq`z+DvL2{>jTjI*CR zSfmgyUE{i2>Ei#mupz+`FcFOwsWnA$YI8>FuSj9Q7(GCD4_7YuN(eXq-_55d_yEfI zrPh~jMxuS`d`}B0M0_rZWDdYb=`TKE#PMWF8`WL`+)T++RelV~jrGTE zxA&llzeK_zI63Ef($ws}c*e5Z#Z^VCy25|N^-_mHWV1%g+Gm4xgk|_Nkj*@yh;|~Y z_n*_xEa^D1Mtx)|&YPla9Nx@*I>-}dN5%i&9}jVkcu=DtB4MBsiz$Z?2)^3!3ST;- z0Xg=kJ=8N?G-hh-33_u?fC~Ex@J$(x3_23O3MP@TFS(45yoI}j$F_>YCi~KqF+0|* zvkX8FNd2k;yS57SZt95i)jH0rkd?=>73}etl>_}>KZ*dQmVauc|;pGlSw&$ z6=eixyD=tNz#o5rMLk;p7zx_SSIs!I6AR`5=dpbfr-Ub~!34m4-IB4jvWY;np(DBF zbCv*8NMnLIV8Oxks-(qU*mIk;|CKS2jgsN9J6xfX3Di1rg0cuJl~fucX>rjM+NwJh ze3GQOB9Vd9{;+f7uo?N+aXY;V0JgMRhww9~SuX(%6AB{rr>qHsJ)|bC`8Y=UY*e(i z*U*=Sfw}!!<8`TW)tC6ZRGBz@Ubz<=M~DMH=BkHfOHjO9Cn0e(6)>UFo-eaS(7Ew?9B9_EJpI2k;xML)KT3` z6L||q%E-+xkR^k@FziWLP9r@0OkPZ}YVEiJ)6)jQwRo^P{C)N%;k*N0C4oZU43l&6 z#j)d8An~#*NZ%~fOZ3J(HR?DcWU0*tIZ=>25PFI)J#z!0o-EHenDoZR$U);~EF?j( z7f65tb<~|P9HN3Rg;@Tb5n8vFqls`!o*$m4$4?HAM6R{S=K!pasy1LVsWfv`vL*v8 zA}#1Uu&?cx8|Th*tVM$v3j(6a+7-c|F(sy-aWffAXjKS^HRRqNz+x9@FvRpHMzP`V z&?@OZ1{@5EQGfXB(Y3KB6nl|n883bdsDE3y!vO<#*+pF{-sbZ{ZFz@k!3nMS`ZR?$)e<>oL7f1pa*7w2Jqy;ji!Ejgd@cV zQ-Vy~-M`b-iBVpME zkp^dyu31gxSHzA!1P0z%H@P?;>|8Ip73^tMT%KU`=(ZY!VsfgOYW7PtL{@@byDKn} zmB%jQZUiWPqe<;vOM@smA=n8LI_|kkC`}kZ4D7Nsb^LsNU;oW3oo?tn-W~Lp^yqq` zF8PO_Eq^*B4DkoQB26ZLak}`4%#|dyz9J;>G&*L6f9NXl+r#TOfiF3=tH1vF_yQ;W z6}tWG5$^a8o@c%u^US&?HWGn;oYf*+8z^JLqL(K4^1VNDF>Z zH%`O2?ljYA&+XF$5Uze%StWY3b$^(6LXs+9rzOGD#ge$VUyR9bK);mL3cjqla#BbA zgVvSR;Ih1yly`4ZG#PqHGF$()bbN|^?(O!-51r9*n z;=%qTQReH?`E0ipA1>U;M2-i4`~RPMXSp}Z{BKOd{vt={NozRfp*vBAIqzZ<P*jbo z0;Vy%cpEx;39Rd-t%2tMs*?sRwvLvbupRv$As7`vp#{bZHr??86zuZ|LuEtGt`@dD zvu>DSAF=8^T!N(FLzjHGkVDgpLiLJ6ot4h1L<+G?Hc$6vhn;=J1fbNM$4!hdvvUp? z*3|=^WtMkcgn-OMEtsT0ac7jj394n*ZLWSo!>uihTDAeULNh@+vNUU6&S*yq=ITjzrtT)+gtYZQ zX}y0c#{rHW5KAXtnD51)@lvg%`Q9%yxt|$>vEVf8K5l-KMAH_PKG&W3)nQ;1<@C@q z9FQ@Q*%>6X9?4*BFnBWdYIMop6^}X9G_FT+%TOanMw!SlItN?s8f51i%+tD2+pQHw zm-^*S6AzJV$O+>F%b89BG}w!N#dtJw?$|R_8wi20dpD|5L;nN@OLm41T>sfQ3>D(1 zAYwEzoi+xY!~o1ZwZkA8-qNBLj{6tmZ}cVLao#e$y`{Ayh-55)Y0A=`dRQL`3syxl zUd3fCtLo;wbTvJ*N_AFIgY61lbUrxeMQgOw5Uy3|8A(MFVO5fC7D>eY6+fUxdKoVZ z3sNot_$enZT==A}M<>m*0&V9~%Ww~YEy#94koH#UWk`QPw^g{H?xKGwt*j-;xgt$r zCzDE>4u|V|(@24uT}(h@i4$e(XL3@}RIz*fw)?Eirq}A@`4VhMMOnp{pxh~d=a2CA zTm!KmhF|fWIsLl$1q(j4#T(MVS~*IpIHtkc+oM+C+#(=Si?$JK0!vU8wLX<@4QaM- z{alDYkFJ1&umKvbdh zYQ&cyVt8xEx1VL}2qoJxPjfl9ElUK}vJLhwD^o~i?%H>Z35h83U9-Gv-uHdb@mK-2 zswXuYFKyP5*~bdM?$@Ue6YA*YS?H``)bNnQ{UWIQskYD#uq%uNF|*tvzA8;<${Vsi`2O?T!)GR~ z>RJJ|EA{YRX~k^%IE$o6Nfv8i-u@J{tXI2**TE0s`}FF=-yB5%a6*^zqYd7YV!?Ma zp?4QyR(4=6_zZf%>^pb;w16z?f^0}d1zb=lVxBir-{b2(I&>5FP}m*!reFmh@!_a4WxUtgg(As?&qdkztraeFM%y9 zYCxy`#3c%zC|S|w$yF0(J&D_tX+g)~g&jC8G?PqNgNGb}SB-$Rjps0A;4W^LBf51V zA?}q(EWUP@BYbC4K~7H5uUrGW%FdMS7RIcmX!8C(wEYiJatoil$Q7-`eq z;wEKX5&HgCFm#XE zEsVVYM)$&i|xy-<6sbLg*<1SKe17r63_!?fE_8~zLLw1BY zw51lXU^vR_W&MQs;*4_5LnQlpqng7{E%w1oIV2m%cqukB{IQ7d0-2*0!Sjew#35{9 z?^DYF>=EJ?o1uiGLYBR4gtYvd_;fnpmr$@;C8ze}ho{t@PWHhs8!JFMD*@_UFmJFp z^uQ0FulW2;&{C_60#^r&L^!{`;Cm(lZdfc~^l+861px8=c3^Wu>)Zpq8(9eY@^Gs^ zq(T2{F4K|k>A@96HRyOq#|FIzxnNSl!Xe+fnUa)x)Iw)-AU*uE%gn*=5Hq6MgxXn& zQ``S==U|-fH{9*LwZHI;;vWkU7_V9yVFRxHmOu<;w*=1Mtcgp@!KU3M$5YF}n+9=s zC;v+a-og|jcLpm7G@t??{C&-P;@TlaBw^ICV>=W!AetI`c^Ya0E#K)aN@t@?|ya6Fv=|_QSEP)bexWk4!L* z5gbmrgqIPjoz&SO!!HjRBLiqI%_=+EpAGWtj85~2Nmpeu4rE=(x5YQMp&ylMBWML( zs1`8?K03)YS2XD9uoxf?3c6y*h~`BV?8u}mcL{wlq~5k`6;x}L~#=Z={Y|AaQT7{!Ypt~t{Ju5^Yp3)aF!r0C7$3y9u=ropa6Y8 zJKQ+G(quM0%y1*^Hjy(q>MqRUb!i{g8+Cv>1(d1jEV3_?=N=4#zK%%!!5k> z{I_-U1Pi{y#OqYICe(uHvym{$&8r{oxNHZ=(O_J!>*?*Pcz#0fg|Wt6d_BS*-G^V~ zSP~fZE9CR)n~&dQ3M|?GD>FPjmjgs)I_NfE58voZ|KTd!!BHTzsk@jk2sekno`n`i zZ#$TT_B|}vIRfWbx`vT{-VF81D0{T8%|NN{aYXaa413EYRW>n`I{&N#bkm&rYRIRX z!&i^VwKA%NF^Jdv`A_y>GlH?K%@KH@h?kCh8BWo$%N{8sj>Gi`@Bl}*A041#nSglj z6+FTCH|t{)NmJ39(c9BSW9w~mCuLxX^NKIH)-H4HSwBSife+a72v?vvnLWZr@BoAq z1RIaPeu>}+xk?FX9u)10OVIb__*}SSB`przouc$_KmY9G98xhf-qH;|xn+NC0`U|D z+jiAMviBHrpz=d@#bChKyQCQV647Zvl2`L3e$c))%a^t8N?T?1E>ceAk!HAk^g8AT zxVgjqF}x+0Sl)%3Ie})BM+*Sf&8|GCPQo=Q@%05XWF=ezy7iKhIrt(D$9hS_Nu^|- zda|s?xU4S6biwmomyACNXHIY#6g&eohJO!^1Cule4sP`9sd+002YSa@Pae)uWJD*9 z{7MrxOwsSO`W{m1A3-V#(x{`|gAWQu_N6a7VF|hh4*MFC+=0VAyvM|Nrb_;oFw_x6 z#%V#kbe(b1f!%eo{YO_m%V$K(E##&dcSPUg1+dQXayQYkHQDQdw*Q?;a^6HE5zg)& zmTq(dE(A#6Wuoo>(YAI(u})eGv9=ES)j&MC{yK^RTn*JZEKI0}@thmvC2nN%$SYMz(YG4pqH_=*N#vR0g|Z9iyzh0Y!B_w(|_ zoZ;5caD-#&o^iB*1BX%VT$)A{la;hH*#q+D^6jV_1pGk1(5%)c%Hpe!-+T1VyYIgD W$Jc+j|I>T_`0l^``#b;r&i??uBKYe7 diff --git a/netbox/project-static/dist/graphiql.css b/netbox/project-static/dist/graphiql.css index 02230c6ee70ba810a79bb704e4f6d63b29662c9d..a20e480d3e975f86c6e9932f5dc3f372cb9d185e 100644 GIT binary patch delta 681 zcmZ2;o$>uu#t9X?!HIbaZbgZC$(hB;`IF@WCG3Jz)ALgmLOpfB3<#+Z9-!lqnp2iq zl9`;S;FnsOs*?fZ>iCoMKbzF+_GgB0R4k=df&Cko%0TPKow``F9O$*nlZMKsw z=V8>@d{A==BeS`I!Q@EoW+3;ub~8I`W?pe>$>vt$cZ@)hcGKx>v~YpNbG-dxJ`%%5YO}xJ0VY~F?-4BK;_bsXpA9+y4y4T!Lu8qG!NFr?VqQ?8V4yI0 wPq^viB4M$~_Ti$Nbt7b1VZKRn+a delta 803 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�e}=aP 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�Hz+O>zrp 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 CnQd|a literal 960413 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�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

~z&Jl;y32@*3rAOR`?3~@}v<5Q5q@2VJr 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%0Akb%h7Fk41|d!TVdHH_GJqADX7UruJl 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

UF?C#`C*hKN53j2( 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Π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 z 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 jm9GgTO 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

3?tYfn-^A5zTa5u{6<$AR@ZOE;0O4sJ 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%0DTX$?h{h009|ya5aj_*e)_U13)sR5Gx6Y%s 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
+$ys}Q#rY=3Y%DUP0ef8IBUHd@Ru+2)fx@E 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

o$RMz45hoA-L0>m86=SrQ^excBO9U+vRmhjeo=Y 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 Qn+o&|{(t}DfBldDA3ksB_5c6? literal 914093 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%0De>+zloj1CK%f0<~) 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 diff --git a/netbox/project-static/dist/lldp.js b/netbox/project-static/dist/lldp.js index c77672ff6e5e87adf55c8d80471468251ffad80b..81c2a96ffe1e62a06c564b6c18c12a70d24dd6dd 100644 GIT binary patch delta 29460 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 W$BE#I!8Y)2Qjh25;Je9Y*Z&9K2vrII diff --git a/netbox/project-static/dist/lldp.js.map b/netbox/project-static/dist/lldp.js.map index 1835a3525d71243039b145e2648d3c2e07b2dcda..809331da3d408330890bc902b9cc47c74cbc3639 100644 GIT binary patch literal 169800 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

WnFz zf>ik^E1c0mksLK=9$X)4khzvdY+Y~Tv`Xsg-qQ9FEP5GqzSwTkAb8cYr{HO-!V}06? zw7c-2uHa0ni3+YP2v6=~i;^t~M)iN_Qzoq7Ae+i5n0+UR??w-qG#?Ot*YT%}<-ed%Oex_7cwp z*(G}zQ!z*;s}==*zJs`lmO>;MwPN;jC^Qnxt!w?7cbAFM(hI5p4N7CdWh8R!tUEzn zJq52b^oSQuk~xVNv|XO#Yj%ER?-$(78RB_9#1(rTq1RC~U>L)s#sqFb@~`2S`6S-6 zCIs)I>c}CE=DIl`8AH8;h|4) zezO67Ha-tfp00pdj4nYiij%hRt^WC5gX-5_(ry1GPqyR+KYYQriAla62u!1g!4ur8 zKDh?u3SNrr>NQHAZ%}0dJ1HO5=%Ix_IT!pCqdy;fhGHxfSZQA3^uueEUB5;c{Y(GF znOYEbjku;LmOlL_YZXJH(;Em@pNh#V%+O<8vUB%k=+J$B7&-U|FFAJzt*04sYmSm3 z<<4Ok$qe!~-)^c@V7u%!xEx;;Lr&XZb(UQw2CL%pGDK++o;PT9p|?QU{c;yzDsRA| za07qa=mZDyJmtgsIY}vc_x2UI|0*hq$Jb*VryLE;sk)L)f~uSaInf}m5YZH_&-urY zlw=r-O)KH~vC#zMnj4m31HJdvYqC#n@gL2v4Cg;Cgs(}`e@#HnfzcF=@QpCn5pG&z zi|nR?oq&xxB|l=tlZ^18;Hajb2rLO-=3dLs4OJhxTU4g`gkb0v2LH}i=sBHM8 zy}razb)IQJlx%uE(P{O5uww>@2W3eLNRr9i;)&r!v{-uOEUl39y>;fr+!6~*;UU&n z_dZRxMyp6KNAKVBrH9^yFz=Tfa2v!$PS}YIz6J>0up?H)*_BP}fYb5NkXm*5c;2@% zwn@r2mktfX?$9Ms31^Tq;d88PDl@e_MJX|Xm_!Ul7%`ZVl?d;8?-P#{##Y0bNszJY z0d#`yrhF7te2FJvSmi(x98iuniUDp#BWMNtNim~Xv)z|p)ES5g-x~Oz4g7cIZ_uS`;bW^za1)Z8 zKpMX|pWrD)2B0PY-Bh#ZTf(tRoL_ZvM%Q3=;XDCbKV-j2(o*+uV**Kc%I=Tq1=H8W zO*bGSoYBn)M;(O=vO|x16ze^p_MXQsBB{CxcHk?kbDu!e9g7Kw+*y+?D&OeVyLEn~Hyd&(e{5zP@?o;T4crCsyXtw1If063$H{=)`uDSoS@5Pz8zl1iy=LsE zpWbVv&T^NkA(Y!#pZ-oG|L9Y9<2f(-yn4bcUK%G~AGwRxmG4!a-K5cJvx{!vE+upt zESo?+a}Wvch?~2l-FR@ppru@B_FDe5p2lUxQJC_`mZhqjNxu%qSk+YFBu1S z&;S1WW_Op4lpaBC9Df`*dyp&U_`%vJdt>BbZ~8yy2bsg~=o)AeT8d zIEa+ql{;`ScGjO1L>2k5nRQ9Ty>My>_@FlotG^w23G;G;ddwkdW!X%%G_YFEis+S; zzs^(+KOyFCO0lNSu04ccaY4HS`Yob-FlTFmd?rftBlZQB9oZF=Ny_rDR~8dFzJ@3> zRm98v9-9PjK(dN@XMgS@dJQp3YD3iII#arVb!EUn@ilU9LsBX7Y#HO6_OaTW-w67P zxq}0A;rWSSSaHrI5T!YWcfElmKj9Wqlc6#HkmeiF>5W8%LQM0(`#pP)=51m8q2Hnt z{5Yojz@6N#?6CU=GN@H_P35C0yRyMdl}YTgU6G<BG_7{xhLp<4t z5k&UK4KR~F&6rEs;j(1GBUYHKL{gtH=l<}H>jS5mU<>VZ2V7u^K24lGtxtW*#zB|v zN9QqGIPOfiyAMtGVeP=9VDxk|WE3wAqb!LTbpds}V9pO{@+W61=|T=>aVkIe94=CD z)g+LEdsaWk19qW+ad((_kiCEE4G1^KMUc&d)~o9>hfUrE}$_|rClcckYw-hWgM$Z;tmSK7(FCg*o!+ozNK{DXC zNswaqZ5n2=eH)pauy41Rm8DFo=UW`HG?0LAJ7a)vA^W>yYJDarw70ozNy1c0wjQUw zcY?T+SE%PDDFkM-Q-~Hq7B@K0IAtGj2^2UJfma!ubOE{^?Rni8Ve~$Ek7K}!M1$*~ z<{)2qC^x7Jj$MLD>jt&Ndfpr`Ko!Mw}I^9)kifXub|2G-^&3qNXn z9C&LV`5(AD+kw6R$)W}vA z3F9aV+Ig~pEC4@%y$@m|^ds093H=E80nwccb&SYKZ=!=ve@$)Y2(aDE)lFV+AwCK- z7gVpw>4^guWWwrmhknS4(}%1+-;&=U%#fMLd8k8yyYDUwOTcLLxC}@fL;Yw;n5lCU zaWc=Rt_GS(WARYrMSE7Do0su?ymf>d^!JO(8x9AWH63P0fl&!nT=W6auIT*2T>o9e zXx*Zp68S|<*fB`EuY{#{1H7Fa^_H|q!W`b#_31-dX9Lb)zeeq2bp&oM9q@rS5td`W z931pjp>KzwK*y?xW(H<94~IQWyXV+RHz;@{z~EU7y}2G*6!hPT(q%{|+G9u~R<7%0 z>XM&3Xy%fcb5wAe^eLQyDsk@t@^ZMvjh`4`1SI*t*e*qBeSJ<~icC-Z`N4;!|VijrI zIAu;(R^Y_}`Wri5awVRlLP@Y97VNOyAdwqfNTO$*g|xaDIs)AGUg6i={Myu#0Y}LU zn>IBn{f5slT4?M66AJ6pK26@{f!{hZ19R)8O4_AKX!~?FKaLRlKkw_OgWTf(KhC4A z_<#TV^KirZU;q9zUJGiimON}2}C6a?3$F1@owRBzdF*b zV2daVaIrgV)@r!nqmR=k&E?*hs9hj+a7Mn=n_M01UfvQuVDfE9?jh2s)i`o zGQFk1nSt38E+#L?0UlXRH}jyBM?eDAO>lrTPZam(VTgAh0iNzo#&awgX>Ql51ES52 zWSxO*aOBm--=qZgVeHHuurqv5K*qqWW=P&woEm<>8v(MaeKh;iP`jmE!#H+`nL(!9 zh$Z+O*RRn_TuBud%%dh%U+CkmtaaP7++=ugUvk-~Izs7Z8#GEk+o0K!8A_~+c~A+2 ztegSG)IJdkC(j8;b;0%(92paZXcR4xM~QIYVQe5g0aDm$ z_?AFStuB)FAur1OUJx<|;S}NF(IT_j_Mu5e%Q0-zt0oonS3 zVHGKkTqvY)~TSfgU0kMa5xlYfI#B`&9Y z(4~1{W64G72m=(}7IW4pw8mBHmbTkaHZW!#*CAd%H}LAJgl*@lB#&8& zV;9ljxnJclmZEx#N>>b?gT>bO{~|PyufME+X_CIKe{GU}Ym@!}l5ysgA$n(xahS!H z7W>Khh`FbnarZt%y%%Fiq4>Ky_e?Lks=R+Yg%#j8<$Ii~bws^C22>Aola*}yk~P!YX8!zy}$F~z!K8HEEv zh~@6VR)!{&t7DzkePl$pJ@_2Cx9DO}tn9Fr5z3^3Ra6K5pF zH5rP=Y%X$!K=fu?lUvn@!z$K$WDG~vm3@Ae#Hub1vg)f3`h+2;o0*t(1M}&&mk~+ z(AQDJYF_I2d)0f3PPm)inM6?{g~47ianW|{d7vn7D!QPM%j;cG9YhB>YPm6TrNM9d z?f#+B;&%LpfU)%F-vxAc_B^T&I4NS(2vg8we-lA}Wam7)MQ1Bq&PEPE;d6+hB<4>g z2X33=-Pgk)bsVx+F#53U0!&;C?-&V~xpE8?rTdx<8H9NWf+fQx4pRn!g*@hkDUU!d zG7k-0l`zdj^LIf)cSrrHld3k%Z5ffj5hgA?n9SlklRf+S$9bwQX{;-B;@}sRN_WJR zOmNYl%=|R6I8kw2pKeiaPX<{BC^v}&H)mEBQE8Bt9k-S_oru#7yZnV3vm{!2HXTr| zLe_5#7)Hse&tRIr4mg1he&Qabp!_RcHg;r+Nj~D+UEl+3pT`1|)K~E;ML#BK(#U-N z9Uiy5+yZAAZ|eLqJ|%B{;EghhBbD@%Fijl?(JMgui1X~HPInO>*c}7!b}vhtgmJob z^mhT-rKJaM3kKb_X}2lMbE5+&PEjF?c%1(_(UEGBVztA@DINB03$goSj@Mv zi{z8(J!>uv6Q6Yjd#{Hq59~3{2OI-HVIogolJbmROVTYX>oKhEUDk70>kNrSPV(ER zFE9+)1WOF*y2IvLxO<#kN7+k~w#(c7+EMcEw+`ALzdW{Rj@!l(b2P>lzI2#-y1Sr+ zn4>ODb+9HaGns`}wmg`Me7-W6sk|h1Wn}9f8WmQQe|O@Yv!h5xXe#+IK=V28J}w2p2uco1q()3NvXPu_ma3o#Z^TkxJ});tAy7=dxo|^qD8X za3ndbH*4Bodnh+YZyM1~Hc<}3UW+8z1GxaLN<$1!l~PI$V-*M`v8hmn8^+wDVycsRQuN3a>>;aE z=n9x0s-W0Lb4?%YaL$rFX5m3ocVYv_n|+MwP*~H8AveNRqEzhEkM#MyR|2qTRS&Cl zY^vQYW~*IeC>Q}5Ix{kqmkv1h2*^u5=S`d5^77^Y+h(4Ndkv=MOmB|S35%K0qEEfA z5G#vQOjC!$`aJM%(qjVM24>U2?MOcW67DJ4C4KxyOZJB>sunIl8$(921N6|Zk8KkF zK>OS;?Q_4pckb8rxnJKq_gnkiZ<3{=)d1}5=PsgpoU|Kl_7RF3_L)Q|Zj`kHl(nJH zFe*?5%A}b>s6$0URF4HmUBTvZQ$`yQtX9?%s+kFWiUKTHlRXc`djx;$lXo9)=OYoF zu$>7%2VvD35#R%?CA^r#DDR7HzcnuX)_LhSy7W^>3?e5!hHW-| zA+XVU`rOf#^3GE03=CFy?N=0|6k)gx38d%sZtKNS77RQt#aoaQWIlmPEfthKcf?L*@)#CT zn!3I6iTpB za`@nYuw4Wb)u(uN;*wSkT(s*4vTvH`h?s|>fuvb^xyB>$P-Is}$bAEZ*;5^>EYRaE zJm~#0U6x!JCBWZbpWiBkH3R&BR4SbB$Act%7x|8A+ZJVhz;H>)9PCjl zf2^n**i)sjBJw}}O2(2qi)T|$6vqpf*2io#LZY;NzIli?cdl#khK^>KEsPK3b2oR+ zSiXe0v9goe(U9yMkqhn{y7+`b@bX z$QI8>pI9QVB~9cLy7+L#Dm3XG(SeJFwW%fxU=8|BouO)DXbLh6e4RIpx=vwgpxRNQ zd?~41?-dIKr18(Z|B2qf`(eowJ+zz8N8knj5zvkEmE*cQ+UY{)F&uA68@&usvR;1b zplP0lMqBup-VH6Jw_fWfLx1<-+YRz$IJjE3Ts7M0Z9jWr`)+s5M!MuKbV+j@oKjow zc!S?IKTr7JEjsZzIz?}$biGESdQ=x)U(tTQUs=T84;>8C_!^IykHMhD-s^>MnxM}K zO5*X#uU-E8%xrmKoNkXzf>%A8+QY$_j-X6zP?(q;`&tz1y&`3c$zT$qy3aVRDETyu z1glQa$5JepMOQ80s^jTno1~&!*hG)^se|TSAWZF6uP85$g|n);_YYEGpkz2#&OyTf zdGZqrF2xHe=*ffH@2-TM4%DE+opvPGD^o9hu3M(hE+|#TSy{xL@noFisqm84j%v5K z@=<-NU~0zd7{^Xaj(q3b2NQ~V=&40frS~)J{_%wVqYDfAn_U*Z zD1yGbBgwi=?8Fhb=CKFYc}6Tk8e>9`xu&^S)2dH*uRR^4x%W=)Nd|J)?iP>8X)3#* z*0h@$lkEMIaLU^-@mO4F=g)f)=xuI38qiM$81g8HeIYDs&u(IQ&amt!T` z2dS;nv`os0pWg|5=HiAgn6~}Jq-}p{C690x*#Gz6d!IUG|1EkzVbP&c1bhngd5L@e z^#*H{^k{|8v+)MwR9z6!EWp-i!w(4XbW?BDXWq@@WGwTjq|WsOQ4?WZT~6|#kaA&2 z(Y4j>15(Z1p|l9GyQSYNFf+|Ez}A}>I>BrkoNlusA2S@I&R$^=Wevjm@BW!+xpsQd zp<7eqi(ijT=#M5};5WYyQ6or_5H*w|Wtep^xnN)I(kw!AB}~%~yZmqqf8>ETHLhb^ z?Nq9=?)M818c{KUK~QHCj5Z>7ael54)rE-N)oE+;pm(Mv6?egvBR%ZnfXFEn9oTqT z>JuS)0MHMZ&#;n4iB+itv3}TX)#`R3lJTq5F zM;E6{R-Unh@s43|Sj@1Db}@2YHyq^r*hqq_d(~AH?c-Sm3^4o{{wR@$lC2dhE>FB; zGgW2QU5;zkySSR)4tI@grEA*wuBuZG_rp}xTppHFSHj9QbAT6EXdx#4L_Aa^aD`GC zs;j8J975G`y^Tm&%#hbA`|NGEE^FKLN4`s+ zJaNo-N;S|!^h=0-4bg8Q`df(p9-@DQ=$|8X1%hpNWf2w1tnHB>+q=CvRUy5HFGY{< zc^A}yUkfvb<=T%JpcSKo+`&0S^maMMlAS-qhr2_8YQTe-_pn?rJ!k0HXiZsa7sA}nKH1k2oX&xd88|m^Vc@?ETpGAC@Y%q%fnN;#YT!2mUkv<%3a_B| z%`X3eLLES`@cAqc-t&q~PabE})G|<_@znm*LG!98t4eE}Z)mz^g!(keThm2s>Evpc ztLCXiQFUx*J}<8ZE3t-4N|~vzDJAGa<4TZ6r_2k^yMU0DMU>xh_OO^z-5_`J*d}qJ ztgeQ-fJr_M3VBW&OKe}Opegi4p|1*kQ|LE^epl!Zh5l6NUpKG|f^c|?!T}mYCJtC* z8M$i4J|;=Ft1*a&a?0ey)Ss|01;Xrdo}{WvpO7x1K1+gBbTJq60apyAE&hzY>n9F4 z@1qwvWoEj*M8`bWMJ|vsmBTeU(Kbm3V%Wqw(GFT`32nr3Dw!Cp0Q35G>nE;^vZFc; z!DEx4dk;vbl8$h$6>7C{6P0Ovp~Nx(W*;`ud1X@_xl!HUBx#zUE8Ik(H7aH2K2fCA z${XYjxA+4FU)<~T=cHw-F?VFui3GWljGl(v_e2rp!V}}{NNHFdOMrfT=xIILnhM(( zHi!m%B5J}AWP!=uPgCs71B@I?S`_^E)tRH58pIvUaoQAJdI$)$mHju;i7C<#BdN&YP; z_5q|^<2qlaUZ_ARWJ(T>=>;Q3O0c?5ofll6Knk%Zh);0I;TtOLrI0Oqd#AY+EQ7Z+$*pvx9Fj8#0Ur+eVR$HM z-#cT(IDbBj+`!?;zNwsvM%3&pi)g3WV($8}Lsx0#C8P}V8jS-lF=pW_kozEQ6|O(G zF2wQ%b+C1DPm7Y|IH7n2iY&l#h1koS;uO=J%oWmgx!~HnoZ9X#z*Hd*qUjX=td)6Y za1Nd2ABAL_`g4Y35xe$zCu$P&KHE1V_$myt(6K zE)D;+rJ-t)ho;Xsnu`~q!#L$b(Oh%->!P=lk$&rv|IHkr53L03lDhyi<`+}k!rN|4 zQHzx=W}(X+yRXB7jddg_6r@*g611PpHSfMYh*0GDB~83r;$Nd5@fh=TtL!@Agx&6p zN6u<4mQz!$%CitbNLCQ?(c)pu_y4&&$FwR&T(kaU<5o8NnCb`Z@)0HFCORxlvIc(- zFMesqI2x~%_aWN2a?^3;CcJXfedV^}%58XMQ}M7gf?(syU3g_Pr|Qy(jg2eg@XF=} zu{1(voX3OY`=Z1H2$#h{}h zv}BuxP{Q&eZLl*xcu6<-fjgyJ7K1|8fC+xa>O-7SM=&bE$QgBt83(pe5wqlUig#mA z*yo3d$1s?e&@)Ci(oJStttrdAXAgZmuo9;v%tGTE6-jz(=MYzU-nHm+(>n{(a2H_i zoG0%G(GXZZn-=dcsUm5ku`WKgNnV3s(xgR~`w-Rf-Ehgkwoe^2^9&e~Y`fxPo8&(& zH8o!Up%H!R^#V?GPSR>+t68YN1BG8qxioWt7hfGgB&^3~u22;Ub|6e}cN-b5d1z0j4jlRH^Xh zPb+aS#f2PWJmxaGcXr1|`dFGe*&ivXu^Xq$Oerulj?Y%R9Yo7VrduRUM zJoESW&itc!<{$5!`DgRYKi@m^U(GZB)j0FcH?SiVwf@veRVg2n)NYUUIi4$|yNl#& zbhE*xjqvBVm|Zew--oEVv^}uK1tyK)JoTr-$EdIxSW(s#+;Y|V=p?}Ybiok|&oj^c8xiTt2oax*>n4ifD-GnBDW9bMjHa63N++(^Aq4^)W$Gb%sTH zu8=POKsf`y8|K;8wLtRXlW#?kDWAQfJUb({#ui1pz}TRIb33e_3u}PlrjKosu1Crw zG5w)|>$^C%?3}>UaA2lq@$SRS`#Qx;B3A4C6{Kg?EipQsYTiA)BZ8e4H(WHLw?W=G zF8iAl_q0uP81t~&-0OyoIAd}9 zVpqr!KfxBJO0pdXqueAM2`r8+zSbHT@0yMD7(aDV^}PanG|D|sEsD-qshPHm_fd_R z$x@8_=_2a#mX(dm9hn8NQDpa zQ)i1Su-<(g0u$4M^(9|U zv4|J?j$#l&@)A=P=zxG3pl^V$!vGFGVAo_n;-O#%__VHt{e-XosxeWDotGtplWt_#Wzt=rI%uw& zuIYLDz@)y?YcquJtBLsC7wZuR5SLfLjy~VQrgqMgDqgrkEs{_ap5x9lpBr?XQt$~~^HQ2G z=2rYm7yC<>)-PS&`K8Nyzr=U_Vek5*b=M#7-1WzMcO8%thI6>FK86cy8Q3d4G?s-z zXk1ZFZFL%?BO2B`3cM|5ty)mh=CV%EBbW{SbkYv<1>;(cK^HSif!(&GtK<$&TqG?M zW;)~gS#+xf?A%lkihM?CE0`Mf6BThYcwGz#miy3hStnFCi<7jdyhMeP2vATekyf|KjYoMyrYZz4MG(RAx-!*#dkKwZ& zl;d3n7(dRZ4w`bPVVg3wUA3Q_G>JO{`iCxpI;rF%6Oh6(-lc-qf%w-)vETgt~EB=-fnqXyD2f5);qNi8_}e&m>t)nl!2i(4du4Pa+`J z#XaXaz_=dkj`y)$m`#WME_uPxxCj0Ld7iQ0JUZusRoi;QY;{OM&!3Qj+`-2dMY)KH zYsx@kjnkn-R$%>@rGdQyF$kx|m-yHw>8GY9VDV=T(COmbk|@^FBB}x~>Fb&_yPSNo zEW7utBUQ!-%S2*?DrWSw%hfM;2Fcmu26~JCctsIS zA@$GI317-BIK)dh1XqwT=Z@Ev&DUPWQGAub{OILdjH`?mE?N9~ljNA1KG|YfEar(2 zpefL!9>C0QF<1K>ARs%TXrL_nJrWvSyt0UXS*N$M*|3;I@el^~x+tbeJVbzbRhcG6 z5=b`N0?RMJ;;XtZ?57C^&Aw7*G^!}fD2(ZQhNSkBp70QoIe{9`r%YFTNLle+2~rR1 z-a=l+6l%^9hPe4I6k21xM2rBPdJ?IiCmyF#j}=y#q&4H1r0Iy!xTXQrP;{BwJckPF<=| zwQU9qzIW96=X(wA$`8?NH9}?&SG7Eg(wRl@X&##d)l-BGvbby#bQ(p6X3Y!Y0>E07 z4ptZ*?sy-f#>7e+MF~6Cb9@(I`t!smV*xS*u(zpPO}wjl`x>xT1AWz|3}P|#k~Cip zTn6LM-DGbB1e8*&R?+J<6{w!me=Dqym?GJ%EYhtX!m0YyqJ*n`pq^n;ppfh9Q*dM8 z)g~G7Dfj(bA5(xyt;s|q9AFhg3{|H0K2IsEoM@RQ$zf@kXqU6&0AB_3@yV|EboIwtNg=a#c>l;dXiRGU>%Fd~T!;l)XQEd-$e>_j9L=S%l^8Q}= z9A$o9jwF=`3uA)NIwY`U&oc!y_xrm5^ZdKpE;Vh!Sj!ktf`M$mb=Fgt;tNS;HJiJl z20HBr4MIT(O_WI}d(~O{N_un+* z4@w0v{QMISVxP^L$+GS`vuCxFWBCvN&%bGFUhIhK3;xf)X`_pMl}B0@+NrWekx7c) zr}Ej9%1t3}(9pOZijSyZ8*Eba!){FE&BAMvbV-*e*61=cM<)&YNNhHnY#EX$wt(3U;I{nRO~V$>t9=2K}!>k+95K<=RWw<#=^n3G!L`YL6ASkk=@QC;*M zxnX7iu7YZDTb;y2ynS3YOfK8u>bqUx&|?D++3gh4No;)x))F^1(;ZpGzBoJ7Nj4>i zgow>KC>%=SOr8mM0j7J7)G*+!kihfHSRtmf7Vhf~wnDNsqAP=$nk$RwLsc;qzHz<^ ztdy{b+QKAVrsmt4n&L#bNcQS1!4z9FSA$I1RVFyq(|w3~1Ha7Dmpl>H7}jvg#X56< zK8sIS#TPv`3GFj6Q58UsO@h&ck*Grwzk!X=b1INoA5p-e`!L(0UVr_v-Xv!NfB%Ny z-0HY!O?zrl^bTxH!q$Zc^{FJP4(IpMz&dh;=5jHGsE&CilkUj1ed?fv%ByX(bJ<2H z%ww)ab*+S>68Xv^-s;RmF2(C%{pwU#1lE)U=LRNGf#1df_L|NdVD5#Qk2OZ4Ee-73 zQ&eWss9hRZ+u4##Edy18?dB$t)R7E;Pc4cY$~_#KMP3YG2xn(9@cmO{2YxpxJG;-f zm{<>sD<1yuzdJ$qkngamT=1>u3h8cyp{4mp7Ct+Dj*XF-RV+<{4hGZU*3?fOH2p-T zjW>s<7RB|?Z3fFCinh}%eyvEmB8E4Q4QOJ#G>P~UUd*#ZK7Z+&m-x`wqSkCewg{9G8720nwjs9hh(#X zg}|No)^*~WIq@^^cfixpev2v`uIr6Pke}Xb#5JtAYqjDvk1Z;hFfhS?vw`j+<|^RC z_b`ahxy3iIBhL*EOBDS2qcLz1>u`j}f@!t8Hw{!xzD*8vf`-hbCqt61mwS9NEmiV% zj^j*!_QABhqSZ<0^5kgcm*<=s3O?Y%;PQJbL((6b86y3{M0au8-S0zGUxyZQ80@HY z!wmn#73JtZRp5eyG#q(2dP$4v+|9^F>7w{y@tR^?O!6(1q7GCW%Gru2Q}N7_sx*IP zVTSz=IG?s9NIG3B-$d{LR^X}5c`$47dEgi z2)LP+`36fRF`#QaTc|czg`k`;g6R)%#88S!=+}wrT)3>5qO1h4n7i$Lc!}=gN_MQ^ zQ;VX^BrSH5IHlI(g`zk@!KIA8u}m6!!hFiP0B~ z`1n`o7;@I4q@C!sPgW`frVgMGE!aL3=OOl~8QBN_Pnhfy1av7>!}%Hw?Bzdrj+mZi z;X!Y3vc3+;2S2qaUZ)jgrNj~Vu}xCW4&%kPaW!Kp4!LX2d37JwUsR4NsCc$LayCfH zcB_z=qr^KHXiEdDW+hCr1u`_&NIf6#Li!2a{p0E>q>@t+pZ||e|1j3==4$|Vo>CXxH`c@=2`wwTIm>NS#v3H7N_Jz9 zz9r|mMrLSPrWQpR9tyBRlg9xzqo(kdGIkmrH}WfAr*{zHeOj27*= zS7*rh{n(;tSN+%fP09?lPjS-*72?=e!y?hlTLXX(APB;My27BiQ9w{NkkCU;!;lTxcJeBR2~283IJaW_{eJR1uThd+-c+wH^7J=L6Nk`u_IO??^T z^$u9y&jyF51pXFgiLc&M)(IuMDlxJCNYLbrDef7;!u4^rvWU0P5fNmknBwARjFWr; z{C=LfDEJesHB=?KA_x28IHv!~xnPw+tbRgMb*h;7WJ-iqkU=HMDtJbkA(KJG%Ha&f7SC9rDV zfS9$RTK4rhmU4If3T;HRwqcEM=T^S5h%ODz(Y?+V9@KGD;ZHq-%rRHUy~dCwPSSGq z;c3bUxze7*;9^Daw7PXacl{CpQ!}FfQa^6M2(GVELymmY~rqKiH^NSj?%6HMyz%C1BKywqek^fX{5C{W6eia7x%Mm(qyyj??0qzlJ z(!i5!s~eFrg_)zc3$TWfD?iK};OB*_%gI+fG;pI)Mg$a5lD1HD6fIHimDJW_`XV6|5kQErn0A!@8? zjyAL&O000p4^ffyHVKvR9=kNQ?EVcK?V0lJjzr8pp}Mk<$`AGm$J&CYC>_g@!k(i0 z0Mklk4YDg!HWEJ&HiBD3zql*l2I9U4&Gt@iujuB~Cm4O51_Y4{6raFlriKz@MLvT9 ziv&Y&EzuL?Pw%rk0e5B*KS4AXs^4#1PE$2Lj%>*NKa z(K)XORhMw$Xkay#62TNbFsM#cb`~c6!h_zVU}A)pTxvAF_}15 zgkw>O40^j_;*irjB|F%D?i)T;GSo$t<((8Cn*<#dwt*(rQ;TBG)%;8urux}EwJ54o ziwjJ&o=r?XB6#+P5cT5sJM@sZ_U$_5#7`p5>ZO7G?t|49{hl!<+~~Au_O&uIyUB|_ z4l9c^r?Ls_acPgkV2SHP1gqkJ%x}B$5|;}P>O>*eX}bTTtFzL4|4&AF(v0x^ua34x zl<(XI#KD)1E>A6r7i$|img4GTo1|=rZ88J(AMen;PQkRhk|LkGh`Jy?V?RZM=Ngzy z*u>*%k=oFA7V!cSSqB1&$OXpff`T6nUKif3cf^!;<%cYJyUOafhT?Y@hxon>@$W@Y z`Wd#wGNz%yHU$?G>apDA&AX|NxFJvYpx?!sO!&!0+DEunG(;fwb7~N&Oj(6aYZC0V zvWQOf1M;0P2vtjB)+;m+=%zpl9jv{)#@9K=zbcXWetCyE5|?iigXyiLPnQ>lej zh>Dj{gNV#{f0I1NYYdehOVAN#;F-7(B+h>$YFTpo@}SOUCUHlsETY`&EDi zh#&T;MbWVnv{1I~k8P4}w%!9!_ls47MjOM@I3PF`!HB%jj+b4D@})&2DP%xG%TvBB zUCAVz5=#Sn=7Y=&J|iBLW!%>Lef9A``Fqx;{-GPRb7{(O)k-p~W2@ELeRjn*$(vQ1 zo<`b35~LV-D0R@3RdHf6%auXGDPEHPn`nVzuvMx4f7<7?3tvrkRPjss4nn_#=+_Ya z7NWm}=Q@?r>5;U2O$O8%zF?G}%)c5t(SjNLxfVYMidofP*^mBP~4W6%<6m%N8Eg8Eds% zb3($<*_`r5QGDadB09)Ti~-jk<;VmWSDdAT&er8uZSrGsKO2u8>z8km3?q@P!Ap z6`dB?D0y|s57AW`$Irbi&v#f=nUgx%%){08nCITXijxKF=yQ%-z=)E)*IZq(bK6GnmuKtLEq4SIw;}q4%18eUW)YKPeoXlZ32e%NVy>73ax( z(#j7e5rpU&aambJ{X$-%43qnjGxiOu!w1|^Bs+Of7YKIbB7Vq&x`?qE6FD`7^mB0B zN3|t4#2c>RGnP_5SYI^S4X7*5#{_Q9pH$Rl^dleJB)vC@nr>3w*41W>R?`97XNf)Y zpnfPW4|pOG-Ms*>a8a7h71Hq{_By)L&|EwTQg{7!D+!%`o5C#$7;-NWr#JCVg!GB- zLsYdIrvw}hocnJc8Dja|}9mwO%!{FcIcfPf_N^e*Q$&4QVaYhZ$NrDp6d z!1PP_ApGq0cwB6^Oe>T&*@W0OxQ4g(4;l-FpH zDf^sg8KX#8=gCgJ721jJS`<02VYKKW1-DK)dRe+*%UGOSri@!8;WD=pFDj5%E;M*? zj^8zj9JAJ>QgBj}C^a=X`L3`C7V-KICepZFS)_Re|F}hz{ShLm0S#=_|B;Q-dT8K& zKrvks6a|7Va4Xh$1;GpwffA*vnd z$);FJlcd6Lqe6??p5CE%Tt}Q=$8`Z+mkl@EX+yaSFh7+|AV1#akqcI~Kj6J>@Ly}d zWDF--cu*gKNlxSq_h(?n$|xPVO%)v@ZR~2RW@f{iOk`9o)QVZ;BptL`YfY-YAtpSQ zxc;Sqy>e}vmoatc!h@dWV_t=yZR#)=GupuAG{e#`;mHufQy1-)IZb@4&3$T7bWWUe zOppnS`Ai|X^J9~s{b?F-3OzJ%?PpJSlfzSJj}1}3&nsDGW0TNvCbM^sO@gkBz@l6R z_>Xt%K7lymn8<4ZfwUG7B#COKuM-DzMAJxlL6{yZhmfx;B^}ORA6i7d@~%b4TMW^ND_$`Rn}HYP z+H;;w15*Ch2NsaKWvK3Y`(F+G#lT+;{LR3>8TfYt|6$-i4g9Z>`K@0p@~cI@cqFd2 zy>pKBiJouZY2ymTu+nE`o(C8)p07t()yyP;>4TP{x)=&X>Ca+x5kyB_Xqb2e+lFZI zl%}!5*z(x5l#xr1)yn9?=W47r?1F6OMWSSmK&E}+LBG#viEO_qgr%~*23Z5JLEJkp zSr83I{j$Xl?DwBKXgW)}c!K@@=Weo&eR{wujpJhBL4C|aR3dZZR1Sh#mBUJCf#-|} z*0yt&hZMu>g8HlTAn6h94OA)#qXc}-BpM`U$DyjnHXj1s@}Y5p`-#WqiTY~ZNe;Ey z_aW+eS@Gybwo*aQ%SzEJ6tz|s@qFuLSLW<6eTziomM2HHn}TX(ZSYBw5*8T4?8kubX*e5xZskYWYN88vEGNS{P%jB z_rGIwXbDqez(MEur5}7AEKYIg1m{hSMyq%S(okHZ%K)-=AFAgBGdf7cBD%7?^pQe4 zR38@&T4v|g&yBM8JhdoZcie8-?|0FUt z6XPy|I+UXw0aMgE8vJ9BkTXbm>?(MWB4(z!#IW;Xj2m6RO-E7i6qh@E9CX{NO794y8!ch9#UN-iig8zR0iliM8l^b zMX5q6UmRbetxGaanc#*+Qp7Sjrmtv9GzA}xM_hE;B)FwgmyCcf!>S0Bqkd(P<_1ss z7FHHfb;~pSKjhiH%UoS?%{8~?skc6E(m2Pj@NGu)N-FY7Njeyr;~*?*CdLI^B%%st z+oz7G4}B8&2&lUs%aMogU4VHxS*SFK?*goK4!eZ}m~P#UstcpwIA&HB@rv{?wTGd&)snl9f%Vs!u~LOVi0WDB(+|`*4*}UidIAMht~~BT7Y&iDdPJOfBE}8QGc?O%pdqHV zgjc-`w#42e%Q_UJBhK5IfmzGuMH?se583I0l=)*X!NS5Y@L4XVK3M_hrt&zqmoXa< zoGnUZWV{PGh!dwcW+6nz@qjTL#&eBG_b(t}NoG7<)el>V1huGqBh5241GqZRlXCwRhqRmX<4MQMrCe z%DNiUfBhZOz>49Ldqo~hVgtqPgJD&!1_XS7xh2peOf01?B$qYwt{QiU${T?x!b;%$ zFxK!c_F8eKJ5-$!42-gTMZ8c>;52^%%NizklIS(L8jDKF7&u2|k3+W)BTmY~K1@AY zT|v;6qZiR_7EOGErxwL;b`*VK5_h{TlQg345kGekJ?o2KKh$gzDF~}F)*!!<6*$ zngSi(T|QKNbJ<>jgI#z~cQEL4kkAX4CUItPjRtoF{>6!*;Qcv6TzxoP9_kY?(7g-zxJn{bjfFQNxP1J@p6I`)u4I#j|)Z1VB4(b%*S z!8U!Q3Rgoy5H zeO6dfDhPz6@*RRwbyZIY)tXN%Y4_i5-~5$ZL~9s#xgo#g)Oos>pVnZhn!jT2*Ye@2>ZM)0~{7XdwrF> z+3TzLCC)5?A`9#dvc~fOXF0d$qZ%imoL}Sg1rBcH{ zAHHhW{pppv8e*&8eQ0z+=L`7zJhi%{tA)Epzq0e6mFkBM#bR(gX8cTkY!Yf|ML` z{i}h$82IalvOZvmXpn3ZtRDFTSxwkcZjUf-tM!*}(Ce5RWsU3cxQbpmN&&H<*gB}i z!h+xTA%dB3tt7tk$xtU)(2{BfFq&0*|W}71q$tUBorn9J0$(MRN+eG{5AY z@zZ;afd2R2v^n&j@1MgD{y*=XV4wfpUox+;3eJ(oUp9$w_|!pj_k3)(@ne2&HrU5& z-O)VOlWF5yxo3OqY=Of+-)nHc_tQHkF#MmLt@e4lf51Gn{{efMd+^Wiwg%s`qtT)N z`8Ox=1O2ae&#?IWKh`GqzwF$DMa;)DN<=H-D+ZE1c}c~=)! z#2#LL3lcI5Y>p!kWoH`I&=Ge5rUL_6O3Efr5MAHjV7;6e>!lj=*nU3`YZ#!njJGx8 z>)eN^K8MyvB3~v}qm!q8&|t=DbtHY`L?O~d|7S-&f{-H}Zhcp=`!9X{flH`>Y^j1? zFHt0ABH1KIq~2d|NHZ~@XOs9M1(o^Nr{_XmA*%cb7ltyPOH_Loz5e3s3RsZ%i6e7_ zfh3Rbn600akapiVMGZI3RhkTM0j4Z{kozM!k6i^T>b{%ma@yqSko^%|Y~i_Sy_0s1 z*EDdWogMTItX(11cYW8(Sx%|I>I0#n8@~tjV=+nG_${JFfhvRX`l+Lss-AHuv1%9F zY}S%b5>o&=?~YS;zNP$K=e)S%(5uERMlK;dmOZ(;)aCg;ED-Ma`JcPVdY|}()i&F0 z^{Yj`OcgmsJ9xpd!_RS*MjpEq@vi~)gx3X*)(P=$ZzXMRXno#XevG^kH*c%r8K7rBJdI^9xXaZ%1~8 z`a;~kyC1l`It3)Q9|R=o>wqE~9vT!ee|wp{%?!+8la|05VoRYJY6&iJZXhLofbvHGQ z{ysl-QvIgIl?C#*xk6syq?91O>x7~=hZ}L4Cy&>~(qOK;`UNIYgO%-hg0Zr&y-Br> zATw1nJ%Gz~NRPgNuI)~jk0?f}3 zp^9@xh`O_SMH!!e#A%-%gLJ!W$|Kz_fqVgzxq_pftFy;nqq~r~Haso#o`{qEKE{ae zSM-UjH?U9=`;hN7wt7ei=T%)A*zX&-A357Eb3(AL)}jDAMro7|34G2mK|mip717xs zn=7O>jWO|U6=XQGy22gRKSnkKrp7k0MUlU(X#uP5n+?CO_i>D7Zka_K*gDpL(h3&O zy8zSv@>$|^N{C-Tb(|}tPsgtgt3!N~lJb7S2kl5fIY*j@y@3vWO)$ImTp?{MW2_Sf z8$f?U*}C@WWv-BZ3apn^)i9%?DqdMc$9qWJ?;o24ecF?I!ss$`FsAreng(U|?Fo+f zUyb_9=OcXRkh%TuW|ifRbN)A<6I5^RIPHH0r@i-spEa7Rqwycsqq?L0XA>j#e)D@j z{ouw&5p6LifJ^7vq`Q2sk4#6W&okMysH_Z}af>c{#NBbMne6Qr@pdH_2JI*}X|&tL z{D z0p0bZUGl&QWkuGj?nBfly$h2^2c9D@DJ!2l@fO3x;G@3I9iUA;$^I~tqc&Uvw^5;Q z5SC-4fi-5>l?J8qw`De!qvpxxs_f{^nJx|N9`9|#l{3<5757bf7xn}rgWb#jHa3(iT2>`?rM)redrU(B1jG_Vd291T8y zf~+wx^%ovgCg@bd?P15)fzKREfO$oOP%#SG!200mQYC6T59&|hz`+?JAr4#U%Ci`d z$3D3wCjM!qx+FIMH^HFavdempZX2l5+fu${An1r@Tk<3Bw(3OX7w`252C)Hi^)X^#oqO>@#&=BQc{@g|MGazgvYh;V0i*~a~ zJ{wgLLA@07R@j5+*3&14dQ6`)B#3n@V}hM2aKujcoIiKqYl1D><-u-!p&bFNdP_ar zJ4%IJQ`Lw?7QG~gz){kMvEdwgXyD3X!*cK)1c7OgMCSKj`jSQF_g^F-53;eteRN8I zpF%eoO5q-p9x>Zqyk?B$-4Jc71*ybSfa!xPRb=7@?v;HiD~>g1NeQE9Y69*ljJbjP z-A?H^?E=j2ol0#b5NNoA_y!4CZW450Hlp+?xUNOgS=DIbd;Qc&)xoS`Zo!QBJ-F81CJjj+G=qlD%Z zCEJnUiOru1f&`V?@XmNJ4R+jkdiV{W3_TR?{SR9ok4gB=mmS}_Nuw;fUEg-z`lgfc zqm672ja7D}FtY$NJgD(+LAk0)P|3VeSq%H|QwPn@rl86gcHzf1$v=l}g6?~461)mU z-#9<4EaD|VpI?7zU|panH5)Ja9@MLeBn!KN!*=mgH?UE-W@2}^-AF+0Y}1I$9eWQ3 zT;c*uhf{}_18m!!RAm|tN2*C?en}{f-=o+fcF19v^L!I18JE}(S)?F5@jcLLuw`VtFeo+FB3`}@G7suRBkOTqD4Bmw`~Ki(>j$q}5G?N=la`h?R58MDJA;@Q{tJ0=G3(QhFZE z)Z47Cy*`1oZ$CS>ZfmAV-nT;?t0o&!I5P<xGc52+7^qM!a;znf!_^^i% zwRzS*zErNuO-abD@+F#?kx{v=Di{uvfHN-{Hr&<4a$hX3Uz~#LKK~ka@56qGO<6#& z$vI==u0p}LyQ;xpha9rn4YiQ9W>JG6UU0K$G)>P(3;Jwi0V@w6FvfWVTzU*TegaO0 zxS)_;Luq*l9s}tY`mxM!ErrzVKJSt>$K2DqW+y=}AIqJ`S=oa{n*3KCZyV*ZrF zo%_nNFU#J-xa)q%8AzTMCBs&V>r+zR07B@I5K3GGh=98236ao#XQEYe1QVVkJt@P{ zt?=-Tt`Ax3otnNHvKx3qCFOU5a4fODgH zTAh5c3`!H9Q+ZpgR{8#piYLIyM_dH#F~9=3Z)R?Ezehamo?qP=kjtq=03J3l^E-w0 zOcMkT?AgGZsvdsC~@)E--v7dD>}$*q79T#$>*;@ZmkSb?}`Pz{74u_kuHr0cXFj zKWP-Q^c$Ryn*B|hTRJZxiH)BJOnz!k9}xyw{YSm!SbZ3a6F-cCOshkqsW3Eu%W$Jm z1xx5|G|I96N*W@c_Q)O}&KiS}y38&AnYKi~H#0Z4YBk#6_b&A+*#Tgm=@vsV)eV4B zDO)sIUrEd)alXsjp78PWp)Rb15 zX7Ny0$6?5#!h$oIgtzrgAxErQPdq#`tQ+i}k$0w^W#nyf+GTWsg;|;r>)ZTe5Qqfx zt`D3XTc+dw!IYndtUA91_8YPjL|&G*tjo4)Fj(J-<93n%db&ya74K}K9DL{);2eCY z7C`Dh@(GCP9>MGNLkjt$;~(K$kIyj6tmD)Rv0guQfg)j(M*g|l}=*6yZ^_n`zn3@FS_NTq@uYppejrVytAdK zuekP@n}3H&8V4)fJz3NP%aBqRAXw&^qt{>aflxAqm?VK5x{0|0KNL;1zkxq8aLVHE zwpihy?Cq+<->pg@4hG&;)qZ4X-#+na8-uB}k2kY+mpGD6h5RCOQq+2RW(o&homq6c zbRL5TCk*4?cUEfh+ph1YhxuQ4>^MA;=4kp^MrIgt{J9V900`Wi$AEl)eDAmd(Bn$B zoV4mrr4w0X1KG3U8?L=0=CwMW9ozjrFMIS)R1OlIJQ50%1n(|xxm;9lBx$d*9}qAI zZl({rY?)s>vk(efAKjPzc&MF8eX(qtV^-`BeNS-KHqJY#Wuh-pLam*8a|t=l)^4I- z-O&CKSU;^cmk>dTn%fm7cY4jr*Szm~7L^UGF{1d~U31Z{Fk2Y>#}8^~>1Tqmy!L7W zh2Z-=s?6T<9#7(IeXUI;!eYd*--HT}IServcy}<;4rZnrSb)+WTBNOM>o5c_4spXe zZUpr5`yquyEm|&*ujExQ1#hs_!PQchU5Cqb1$L?H#v?;Zw_ciM+3~VtjrPt9LRnM| z0Vcvq#HAZPL7gTP^-_!!bDaN7)R6aCdy4T!8{#t&(yv zj=lE#Tt^Xa0-M)PWhlTD=DI%lkJ?Fv%OgC~)^$uxW3z(}zJes=2X`Q5jr6+16{U~_ zg{GGkO?w~fAYn0co^YHfPk3^U4Gd3Cuv@3& zzfrLlH-k+APUcRZe!W<}l=%%6<-~GY?_0Y z-Lq2V`NPqD)w4AyW9}=M@&HcBokhI*CK)H?Vj8lljBuR1>n@w>Ntch^YtO*YRY&-P z26bVFG))+y4Z>K}kXwRa1qX@~2OJ*wm_jm3{PvSJQDHld@!CMx#1Z_zbfWUR|Ml}` z|J$Fs5A*hS*oskhPaT;2?C(Eo6s@4^pzbRk>TH!ibzrBi7&e}`A{`W7F~E90I}{D} z^Ht?kg<^lXZu1fqhg%#T`433hoUbMUCyIYsYS}&N@t1B`)|D_Eki!FEeUjBfG}y&Pcv+SSH!MhE}ZyL<`5}dj+K<^CxQ?n}I{jbJzveL@FOzjQNRH9~0G8VOFifV1wVP8& z?uXOE(EV6OR7E%CZ7An&8CI@+F#B#|XQ5w!1DD37vkbWO>bd|gF`LqpfRldelkQ+? zt9Ke>J*ONs{0bnBC1lk&4)=xNsZU*?jLT!ba@TPBLvy~YFw_{bPTN?5kX0k$J=iob zi+FhvxHQA&-PkfRw6$odWDtJrz|^jWf?cG}j|{Dk1ben|3=fsGlPM&MdI66!nCF-T zXsT$5_MB5W+r}Pjs@#}^-(WMS`&keLeablk&yK?fbC6J;$r5%Z=gnQ1(7dSUG0-^% zK<}Q%fLQe~nQUO|J0W@2WjKJD2R`?C+_ z32KekopSzn8}A4i-z9MquIm~`<$#kS-a&Z=u9B+JO&5?()iM~I69dxg!v+@HR3kvd zcF4*ULNH8OLix7eq~sY&GRcJ+q+@fMW978$%xI4T!F(2vUbaH=kb`M-7=|o7$~|U4 z*%b$@9fSEMc*|2)3vGHDM;=7l6WIm&yNw%zjg!N`vF62Q49Saw7lru@212QA4T#gV z?mQ8+xCykr^Mq-s-?8FCuo3ag_dC1BkD-1sAQH(mU~pc5LRFW*N|MpYQzj~$qFwK!{&dxei3SY*pNv*!a8 zf4NvuQi zHwu&{0#fm%GfJ9j2tJ$Kb!a#lPtwe1j-j zTzHqdbtV!hM#MVEO32S<>SIBAl%`m;$NZk!Bz=*#Jfs;lV5t?%>0eJb={3`|9sZc# ze$pmlKgu5B+drSc)q51B6!8cA>r{hGoRTiWR)+Z0iOOuVXv=bI5+=-JK)x$1o4#M- zUsN-NG8Q-@UjF!?@Q+{&t$LEmt!dqqd$uZGA(RgHVDn;5TFeN3{+Di8RJ^Wc)NK5-ux`PhMp^|)-ZRS602d6ap%Cjg0oS;Wiz=zPeXAO_Uz#w)3y zh6JTP4=)xi^BLOkMNa}w)IUP8a;}o{n@#qAShBapGB{3*Gs0P$0J&T?0Np15vq#KEu=AbO-QbEpRK@YzIaw7U2OE@kJmv#~;as{pd(D<@yX(9H@NOzxxtm3ufO-&ZRcN_S5cNFp%7IxpNg+`z_RbWeLJZeFw+=3>XUi8G)WDUK@P$8~ zXoRox=|mgvor+s&yHt$gKEW8|;49Q2!FZ=qTpVM8dzm0QQMMI$Q>?>MfM=!7M_xZe zi{`yx#jtPUFyMe$#LHV(+<)GO6jG185BI?+@qm+Kz)9i+TmHr?a@cqD3*IM)F<4Ct zjPv^h5tS)zK?(5r1TN1TwEObGF%*vk**+2Rc>7OXVE28RFeEXa*0eY1C7p(>4gm^b_n!bOhd}_qKiwpA z-p~gBOAKB_RRM)O?Oaz<-VRS2v?EbzxtJ7h!ygDZ6xk0cBr1N?#3lo6%}R4LT|sfM zMceH2=7Q9Qud6G4{9*bgWbJy(bynn?ii>Eub(Y;UWMyoX#iGg7b9k$_OQOVpKmkQ-db*aa27gWLg3h%{P&L2WB7&l7}ai9R=Y z!*Uw&d|1!P)E6zStovb)l_|FJC@@w%S>zjCw$;?0k%l-3&vrQQ@ku(}V9N$78$kYh?nCkg2x2SQ07a@PP2l{@yN z%%S2@Q`EKtni+VHKJ|z<<3Q?c@1MW?5%OOn{?Ca27V+OB{@)S*-x2>m5&yq`^k|7o zGdBjTydHv`&=?3MPb6v^y`PJ^C^1vqCF<6=0wNTJ3e_MO%nI8jbU5sVy(U|jB!JV9 zm2Mm8P~`7Sq3)wmmwQMdwK8oJ-1vQh$V?Nokm~o?f$7Q;gpgp-r3r-yFKY2n0^Ksw zKhTcFh)khGIt80~q^<%i?@-ofp+s`wtAn`=>rMomPVy#s8vo|NF52>M8w3|Z&X4YP zvR!e`_V4*?RXRPa>hpi;1{4}+&c9C(kxE)+`U-7pe2YUR17qANhKDWYH-`CV7D0ZM zV_;)xF!Sew?h%O9-Cs{PN$-gdVa@gP30$6y3Ugp3VkB|<2nzD}QlC0eRmHWHuknyV z@_EBb3~0nWc3>xt$B+Nmft@&>48{&DynAVbarux!qO*ogBm|ziK-DY@Uyx>~q;2K? zGE_32JSAmE#ES;UN`Im|j)DfUCz^K0v66;1)(Bu2X{n^~p8~{@l$MbrU{a=KkD_Fw z0<~TxSL;szUQ7dj^Q4;(0EaKJWXYk-I*@0@A=q_m>7&>l;&EX?MN9~kg-q6u=V6G1( zlU6s(l+=k5A#bn;T=axI6fF~712cUnnY32*P|3Iz+yP3;5OLEpT9LG0qpEucSQK1T zP9HxM`4cc3{S;^VQTbGG|dWAip4Fyggh(;dWZy7E0~EmY26Z z5wzg)wkLecr_SY3DUv2J=&;U#C2i*tiP1o2iF)hLxyJ2Ti*~&Rm6sx$v*wy8Or?Q! z-Ci^mN^iMs16A*s*==l>?qz42YSZQeq2ySIdV!?b?P|3x4#!!QuWz@yT zUxF6W15Um)6kBk@;!y3K^mH2CJOD zIgBv)_T4YZfBSw#k{jHYLnY-AG}kBVsS9&LQ_9@`7DcillbI92>kQOk%tq6wCy zuAu`}p4Q=o@@;49tX<~E9{uZ7yX&S}9-0&p7(%zUbkf#L6|~I zp=GwHoY^!sNDiN8k!QR6E)ajyB*2j32+Qdbbwp)f-wjqMqA#08DJ0(<=8Jgv%DMvnj$`o|8Ynjg35kMN$PTde2j zvyM*!PMy9jYJXHvr^g&uXTJ3-J~(Pltw50_9;BO<`9xyV=nFbw1=E7x^(p7z9rNaY zK6RRGcp^OwN_*FBBZa;De400{1_2Lt){PHT1;_9(O8g9-<`hzQ3i_0JaT|5MhX4vf z(=I5XZneLW%({-@=pd_!sed$3BY*$dJ`gc(qZ&x5V>GDWX;T7w@YmB@O46%@8O`<1 z1BbaD9ws{1!^8Tc0^31xFKE0tr#~NMkPmYld-$K(@%4t|RI<`dLpOdp0xjrP7|@oa z3Dlq)8znRjLWcZkqkx^~!?ImuL)k>A#q9zJ?G#eVY&{R`(hj)ugqm5fzDQeKX}LQF zjCLdqn1L|jyN<(P!-(&?GKDY3fXFw~z+s6AB6Dc=1|i2i`X|>Sn?aL}OY|a1l7Lgy z4V3^g_j#8chE6Y&ULnCJ7|>)Hbz(7CZH7w9n6betqAK8|h~X@_x^VdLvac3bD7a9p zu@i0KOnlbv2Ds2&8i9A=Iw?j>>ViX?ZLi3?5BtG1X*X(|(~$M|^5IaF)g|Q;a@0U5 z`RbA&X`7dBIvquhH`F~Paf7>`v1MeE5>R8hA3HF4Z*i0-bg-u`P~EcLK;H~sY}W>v1h#l U(>0#eu6PD9`;UM8KbnY+(}Z#=p#T5? literal 0 HcmV?d00001 diff --git a/netbox/project-static/dist/materialdesignicons-webfont-ER2MFQKM.woff2 b/netbox/project-static/dist/materialdesignicons-webfont-ER2MFQKM.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..c8cadcfdbd917afeacf12c0a25ff292febd76043 GIT binary patch literal 385360 zcmeFZ1yoyMoA0}mK(OHM?iSo3I20{bN{hR@TX1*ULh<5Oth88Za4n@+u|jYPlu}9y z6ubRqzBw~z=KE&moO|!N=bm%+%1Ty}wcoYhcR$ZRzvut#oj^S`VE_aG0Op21fcNK> zy6F`Y68R+gy43+1e!}3@uEJn0U&WO8zky869yAz93NJ~4&5WR zfp-}p0t}zWSo?0Y?qeE#Cc==sDiW&I`6~MuikV(^o;j*7V_t0wBh8C`;{g+KBz73o zIrn}caDgE`;s81wHxkTcy1M)4&C{`uwSVtv#e&GP+m_8|{-rg!2RcpJ zU+Y?Ve^1_eRd;uBdWgS~ccJZ$^s~9&;I7NK@;>Y&>H8N)10#u5`L`N(t396bbC&y9 zr=#!YEH(Y#RVN4Bm?~U`lskzE)0txgex*r^Pm^yyC*&8jzdH(Usytu*{I=bs+o!fY z;6Y=%%bfB}RXTI~N~7nS&u`Dn{C}FI99x8boOk8#3T<>>=?eO$`Yv%IW>bm$@ZRcg zlhw8EmK=AXDe?~oTjklUcOE524&MIL4^$Zk{hgliPGqFO%ymh08Q)&7QAvHcJn%P| zs4lowP8AxiREcQP27sin62c#u>sg&9k6atsv)21!8Pf##x1{z859}j8?V1r23$dSu zT7vmN7(q)LRupXb<}%>o6@pdx9!Hvk}a8vLBbn}N8+X#0m24}eS#i_nQ%2lTT(6c_;j z`Q>#nZX{63Qu3x20C-M=pW%K3{rPUi2-w!F$?`1{Y4o@aKPZfxN<^s2M^=J?n$bOT zo@;z0?iJ(J`dPNV;F z-MqJtU(51@#QS5Xccey-hUC0d9FSbha$M@`_0{Y)t%$F@F}1( zb_y1i_#T!ujHO|Cz?NymXXBqZze!Zz!Om;^zU!vzTwZLRxnPEsVBkmR*S@#jUo&o6 zVp?+g*0!jcy&qpSr`ghdy4x}Usb+3Ojqh{@mzyMea0L~G@x8An!Q-1~Gk~;`e1&Ui zkN3=stH!4}6U@T6@-FVD=e<@4FEDNkb+9bdD$zPmvcL0aGD%G}P2*xUAs1pXa}w4W zCqry z0~@UdMUKu1mhg?SJk0%E=#Vi}U*YrV@yMfr?+Yu-XzWCLj}e(CPC~*gpxbw0^DHJy za-UuMs7n-IZKc9aIuGsXP{$D@5iF-4__AL;0dpfp=NvA8A+dCH&@<_v+ee2#Ov2CC zd_r`ql--hI!7uA9&=j^uH{va`-A76zF~lFo^lN`aLOn#hRyNf%Syqdk zm_l(&@k|B3@9*PZzsIBes< z#>^b|E<>}cD4<$YIM8C|T>i)L3!_Gl(@*%<2xNAH)esKL6L$_I?k}@(YZZ zORyzc283bndY(Q>Kv}r+)8eF3KhPrhR;&8%+~Zr}n{NALgn*$KwiHe!w0ecR=~{tZ zh<4@ox3;BwkDO%=$Ydy#;&utZ7*r!ddB@z!V)J+T=N=+I-L1-YFck|ca=Q>2c(P2+ zg55Nnp`G{c)+=~3nVDLct)kTx6-r+lR{pp;mJ9gQ?M{@f2F~F?s$`00XA&)Pu#FIq z_-5sOem>#9D{XjwqafpkyLgQTpi!jET>~Ft-hCBBBNN6?g!vUw{w35TFV6z+D-!F> z9fu}6d{Es~J@;)OaDZ68JVR?+KEFQeqOpUVE}L#k%+}wERtR}Ir^GkP$iDx|m=&W6 zTCvhRO23yx53dVkg&}aLDGYvbP*_DnK%_(H>0vr)c=8hMa3B?abk_RvNkzdO74Kv$ zTWr3nlFx`PmB=$3w&ri??D5nZ{RXdjy<==i$oxJHmCc(;EL*v|8Xu7~4^02+<}rEI zxct*Kp7ZlHCsac`YL&PjH}**&tiDv(g+PPK`tUQifEs9GX#T0SdEhZJ=Q*D8qx-eb zQ*1wFJH7aTJwmfV7r_pd|c2vlRfKe2G0{$vxDW3iq&IHn( zX$Voylp#M#%7p0^Q5+(1r@z35u*jpd9R8uQzVvnYkFKziyHKA4_?(AQ%sD}$BuWxPRLBep+XjnG+GV6VBtXk zav9wkJOoOngP7Q*d*079;}ikVne6d`W}hN9J`v)>mO$PshS*gAotS3dRZ5v<{}$Zt zj`59rEUTg_d*W_f?xjn?sdTpi=(`%N$f-nL?6R^=E|#U8`By)(b5o_jN~GaN}SjO1{u*sd@3TlnGeM3&I0qBv*2PFCYo z<(&-D&lDgaL@Iv2dv~w>HFe?ObM`i@PLsL=&Gxp?#fduS)rL?x=JgCl#!F8%4C1VO zCRP#zGbzxhjeI2x(#JpuZ>qDAQ|Hft5Mx*vU*ws%uk>?2I1}(Z(_Y%k!^w8Z$~EHP zCah4e9SL4iuX3T88-RO?w;x-$hrDsUyE-*=#XD%jHu%c5K78CYBKXvp%GIRY-1BKn z;J41|{L3GXClAP}>v#ZGFosg>{X`RjnYR)`#FrMg>3|eLse_^q-KckkWW=YbZ&iUS zAFt1Am+$llxg<*MWO9pEvvcaMwkv45J>I@CGH%MR608mmtUTD2aF3i?+d~(&5qbfI z5H}yl-yF3ZAdM9X|a`N#lBN> z@0IS$`Y(15r`n4gmeLJ(d^*?k*gO3Ts%D$xJKJbrcPBS}C;m5Hzt@il@4QwC;v>cH z?jrNeZp3pcxM~|+QYAu@vxlF54twM0n9+0owqx|XpNKdMM@Sf?kq;Pa6IJ8_l>(Ut zLn6e9iP{J+Bao;|a%Ekac1c#jtw9>UzQNDxdt!1155gVY^1n4mh2EMA?tT01Ng3IF z5pg&1dnx~}4N@+Y+#n@6@0`5u8Ssou`N8M91Idif#cLc;@;0StC6`>F_-^ivFeZ(m zGWCa9R?5bdTsF3mis$&kOH2;}H*UJwOu48(Y#0o`3Hik}da(wPzmMr*m}0vo>)^0FdpxGdb;;^=>t$RM_5SiF|a(*REh%<-@^T@8&=2-)kZzRd%c;U+QLc zHoUmIi8q(zsBdI^%bx%HTmilq-5e)x5*zorLw^QQKO{@&yU?oB&@{iwlZ_+Lp~;@9 zUrnf}lw>XM27QXne84{>)(T(0{cW*s@!EI@y8(FkB!&1;BggLgyNox>8*g@67>n?* zNEe2^p<|Y=58+UUv4+L>yRa`MZ_H*&Y6I(ssmhyPu>9FxFWRIu9$a6)Jr~*S4ds5C zcC|Y`K1}tT0~@=B-*^5F&u3qv!DN!?cCjPL&rct#?C( zAMUK2H9bV2NohQ#axONYhgK^~;BPm=shuHi$0Cn(jSLFSUqmCfZaG(vy50P5es}U4 zF~3M;XBOW2mKOVi)ra?XoonC0GsC~nn2kVD<-Q6IX^4ZgQQ!mrj__}HtbX+wSPO>- ztm0-QB*{BuGI;q%Qchv zf|R!w2F5qW#!N%(2pl#?2bN3(n4Z`mmPJYZgF?@GF7{}fgM3Hr!-Y}0Ca0cfm3<(f zZ|8f6`x=$~!b?Q99cyc?=uTnO8kZAfoa$=i+b;#IUZy8#mwj7{&wbI(q?oY#zp3(f z5nB}iyU^XL=5$h23l8G5JPRY*j}Ys-7`|=yo5;z(rCcg+5;n~&4&|qG!MJ4H_p6ki z(D>7cZV(e?Ien~Be#Q_Eg;5JR^ygChQt&-&aTs_?A4)(c<-Obggf@^tHu(GQz%$0k z699=oF_l{V)6gf_i5jC^HBS3fd8Uh!9YGfuu_}XX8rdv5@qALJWLyR>wBvZh4n&=1 zUg#tU$o+;<3END@a*OQpnYP-zkLQ>9MJMUAIT^<*aV#5jy7@jqP~q0?SF#xG>!U?q z^k|X@<;&HMALy|Z3C7;*i=2aG86-Y}$%;rH?xm4ghKPgGLou}Z+~^+5hJlq>Y)A}* zeQ+yAGs_W4xMDP~_NQ%8i8vwv6A>Jni;ALQv3U!XgeSq!b8$inBp_p>( zF9s8Hm^70`sav;44NEnWgvsmXYGzAuGLVTXDdO~9XZs>nqlrSKRg-ybR%3tf@M5t3 z@iajGI&_RWLPbeUQB`>aHP}DgH#ES>#Kyv*m`&y^Y&VuwjmRRg=P|0iU#*x!;V$j> z<)b4ilh~F+J737LFPq#|+-<3450ypgDDb$`d#^8t(o;U{^1EZ37LN;!nREzLjl+S$ zL_B~%SHOe8LO#O$JJ1Zm#(;rwp#(U>WHr;J14v|2Tv|*@f*wLcMO*2fnr_tp+Hn)0 zsj8!_rTzgmIyl)sK0MVoHuQdAVx)<;7!U`dkcx;t6tiMHn4HFsiU{7)?Ctga1P41Q zQBz}Vlsl6}IUUT-Gv_q@LOBD($}#!ZKsRl+8Ayk43akd5Y!2uFbYK!(8Yo3N6LY^x zA_=Q*G#mGf-DozeUK9)axKWKkxo!-HESQCaf7x$;ru+kvnRQq@PuO-Unw@vSZL!t% zLli6L)Z-4Ht*IDJ!L@~v+no_c*}ul8BnBIqD2$KpFZ&DQ^3X^_IVi*l1Q_H&%)~-C z*%cZ&%v$NPn8~?ZhGqBujV6qzO5r_iFm1D*NSDJ(FO>A%7*CTSEba;Vu`!XMP+(zj ze|CE2qX=ABsI9rR#n;Qn`^U-Y_rvFuNJ=tF00hG>MS=*}m>`%n2#7Qs32>NN#Xtmt z(8>U_3Xw9H+b&ZXBxJ{gg~_Fe=`xL^@GHfFQ1xLr000KI6#~G7@mXQgF7|qG>Z4N(FH8#AW!D1yQ#GXYFihGAcWAa~JEfQm+8 zfmAX}G2QnOlp)gzAec3VZ61ou0iJ-#XN~E)h@uE+PJqyDU^sT5$UVFguw*wdJugs{ z5hqx(0P>$EfRTv+;lr9yAVP2=QxpuhrZkEGnr9V-PtbvmA_T<}DZ+3xlyGMoaK`ncc;-q8@ST+KmZzfx&PoX(RQ=e)@F?y{D*`;ze%yuTDE=cWLM+LCoGGs; z-c>XKVNgHb+DVk)HJVVFt1Oy^#;GiZ0ZL^ZO-*5H9Yaqbxe-mv5VR3fLg5K`VtcZ2 z08k8l6o5sN$$wprPRA83g+Q>aqA|rK(a~7)7(_}KLTs5zP${xMPd@rc5~ETmzLO$W z2pmbQZ3P7o$bZ-$1vY7pqNhV+Pc^7gmVu3H6zOTEF&Hq26r(9#l|jt+6&a!MSmIP`uwh;w9Yu32d4o0N z(PAG1fmbYP;Rg6YM;|@INi1d02E_8BkMRTmz!-2QBp515gaBiT!ckx>S!||g3}LR) zXs9&RznTaW4!4Ffv^6tEmaG(;ol6az$ z;WZtAzHW|@qeEkJN)BMY^oo&@MdJtt4Pf=2#3;bZV{u)aO5+GZsH|df989g^@B<{# zv3MRqbn-nt7ijfO2pX~xgO1ry)~5KMF1y1nPPYgd03vKE3^LeXg@b?rM2tg?Nsdns zA;qJ`q9iOqW+vugXc|Df(U_4JeY~VrQX&@5KxaQg6`=@(TJ8} z((m^HYVas(004ohh!7wMo@pO6zza$G7!4&1>cfh_1_=Hs*%XPCh~lwTn4#Vp2oi(L zc$ghCRxlTW_?~_|u2C7(-w8n)M1**yl+^$?GjjfK4+AvlpESmc35kL0WQD{e_%k2| zj-5UN6WI+x*>QFq@7i@GHX#r$P~_!Q*kXt)afAC=!$Aczic& ztWZf5v94D<-s25uU=WJb;v}9hYy&HjN)3m6ZW@6{e+EZklTJ3HaA}XcP&kyUCn!9| zYo}}An(3P88h(v^&2^ne1<+|Apt$-`P(LdGq}_~yVm&@VB>+l^Oz{{7qf7~4gHZ$l zu6{J`Tq%fuA3+F(N8?Na05%Z{3E)zhqHx8VV<3fSutX3FPyR$1_~+?H6Gg*Sm~e#> zmBHDW(V})tcv7Rvpk)1MVWU!9u^MH_b5sn#qA?vU?pKN@w?6>H!=r_?t#C#12Eb37 zqs82;@MIPTKxB4IcpWx-}1gI3IfrKm@~1%1Qs6c#tBB2pa=8N)hdFo5iFYg^Mo@!~U1F zSz)(Lrjf<09z{a#BI@+9Yy?S6>Hz#BCGwfJSdT=JQhLY+ec#{&2tYWP_z*nxOd@L* zl_X-$zrkXpe=;=bKhI-Wguq{+>mP^4`h$$IsnN;t=~4dzzWx>_{O1tiFCy{*aqn+4 z-xn2tSV@IQNCljwWJe@*sU8i(@b278D44G8p=`imZ)qE^f zO<;hiY3G6dk%yYChT`e5bRTzoM-L^G0RKcFib}CbMC@vXe@mBwFjUz7^V;-31a2VQ zwKdL8U-qe~^79^=E-gw)c6I~@U0zh?0BqPeiv5|`Y`95^o8t=qL3Y~w$Jsfs$FD2h zfx>4vi6*=z0_d=rqQEp%R#7obu}m=HL?zf}CX%g!37>jYiQrTp$&yA=NnVxW)9))0{)Qu&Q?35=3j1NZ%}DkJD}36;eu7_KNY+9$jIyI2|M&#S*@MPs zyyz#qMPdO&Oh^!j433HdNVrO)KopW_MSz$sQxQZiI^745@-_E?C}mHWkwh$s%pgq- zMH=DEIJ)gJK$T08nnyp5X08mRSD&WFYQmG`V!m0mfiT9pIR9<9`73xV0rscdTJLDZV#4_g5lXUi1^<7b`1=2z;>QR<@|Y*F z9bh6+`TdhtyKpV|1e_OM4|jzhI!p=uZ^j)lJb#-z;#vSxCO&Km7+zFdf4|j6vqtl1 zGgos>vs3f_HXQ`~FKr!eYAH+uyV3ilDseRUW`6rZR)ewBf2|quOxzZ|(Svccgce~J zI7nrLlHvfWpO{T05Bt8&pk^kU>T}pbpKWga3YC0ZW0yJS>DWJx;|tXS0`rhFYPj8C z9*&{Ia^9(b$DL?K>T2V|+NNGU!dAlWCyL@4WFq)`_7C_kj*;Sj zj|Y_ZUuxw4f`gF1xGi96GJQn|Jq%vNO;P**T7hcv?-i(}Zh$y8Z8ZLXnpJtT(4wRp ziJPz+t{aaVjhnPve7^VpX5P8!-(e8_06->|zAxRHv)OQw`iL$7CxAKtGk`n*KY%_U zCYAMHX2bvb<Tfx-QsZD9P53`Nqv7m5W$aXA0?9Jv3m zcai{ls;`KT|7u#1FeZnQ)%V|6aI@-|`piZcN>VJKj>G(S|6D|tiD=AOIMZsxGw$qZLIL~1^QB_K_rC+9DPT=QB4q5+a znf^duxF0~Tq&_X=2QE@_oR;##>4KR@y;S;CdN_^05AI6x_#W^-Ni+Y4nk_0CLI`4E z8`UpWiXnh-@GW|w`(rWyW|l#Xf734hOP}~y(#ZVs&UO*MVhNVQD}~Py1LKQ&-l!TC zr@|v9(A@9Dv1_P7jweSBag(q$?R_oaq4%WxsB+Eu`35~r>TZksH4W5-BTMA97H;8_ zbd|g3v}&FmZREJ4A)M9tWgOXum_wMXpFaJXzl(mCDZHAip?wy4Dsw&9^e&>rvKNI~ zJH4O05Z4iaN&iFzdXmDF64yKV8u9rJbB9%@@;Lm#MpC7I&Jn$${#d%yym5~+7DjJKzhNj{N+ z;$H1o&vhnO0~MdN%V)%ta274l;|1NfMw409lSV!QIQg8U^v>TSQ*@#0K}t2_v1lro z^5?3b!+4nHF@@hTd{t>Riem{+S>D@-3Bq8q_5C21>ALsR^?6+RM6Z*7xt`UL0(^Bt zyx@A)beY7cU9Q>rcRgWlcM;^3@9GjvQp1ghv0R#?+`fcN!-RSHYOU;1>4;))FgsRLUc8G9 zXHIPn4euVw{eCEgn0Nhy#bt%;L`(yMfsY3SHtj(;aQLX8l9*)tdVm+jNZk`F%$0_R z&??LU;>KzYhoFHt@~;es>Bht#4dTsq=TmBetL}61l912H;|({_-`@@i_>y6S?!0sg&!lFQ z5N8!neWt5h{yiiqdwMYq$9sjA-pdthE4nQH#B6TXiA(H<+_lq5n%#CMeAWNq1QtHE z&#I$a^MdLnT1>8tYKdHpi(O_q{S(NfR=wQ4??7V;Q6FEfOD}NBQ*E==YrcdRH+jEDOJ(C&|hkHJohRbUV3;WpG#oi>%q5)`3R z;Nzj#69^@)iF$fH%MfLP>Ug2rEng+%QX+N~tJGk;^=ABGJKuL^%QKeQ4y>p0ZkXKG zO@ROzOINdnA+IwHPR7B|?FwamuzPLg2ddh(^;9iczIj55-*59uziELfLM{SqOfD|h ztz;u^y;fT1q}x$wBTX@NUulA~5Y64^z5QNA^|+e)ZZhP7pBe~3BZCb`QvT7Cx2Nb`7piPC8}x`3%}hl z?kzfB7+{?3?V9$tSL7a6gowMk2Yf3* z$px!m0vsIWTh*#o$;7JQ|6-w6G(5kqPJRQchc!WZdV1NEcOUV|hwcEga*6JYc+?(` znI`JjBi}Kaffvak)GFpgcK5FOUVO}MFVON~5fJ^|OWcP?cdAVB3~=M%VTh(3ja1#r zPfyr=&UnFDhD_qwsrKj#`#cWsR*RFSG&SRid-tcsE;PRmkbpl*Qq6r;skAe-(h(0i0JyKhUX87-BSXy%M`;Sc$28KKGw_qwi(>T zV?GNL;YYYS#R$(b-F{@p2lWvA+X=u9WPN#+Hz zEru1npl{D{uOqv88Owdqew>2gyO6GEre7`GscIhOMK!VsBt?y7|C-1rd~_Lzg+6|e^1mRx5{9AKRiF*7@#$Y zd%)xV-PwgO`YfzuCfB4<*0CVfQZf9ayDVh!xHn*FgLB$7Uz-$}a^6Xzp&kSEgp8Eq~;>nw7mtE)?;|7`{k) za|0*P7_s~^j3MKSgux3xP!v@YV8=K4r-Z6|Aj|#w#x#=`bS_0RRC8-+#tu2)f-d8( zm1{J)Q;}Vl+ZKY&qM`-F?8`rtd6SQXu)C|fd%E@w_g8LTf_DMSif7}mgi6Y(bT;z0 zZsbqvWq=571@ec+ep?maY+E*vX3?_g!(`wQ+y@`O92Gm#4Ta6 z@l)0uoeJc}NuRf+XEW>SxqojRW%zt|e*h|>aYTl^a?bdhF{XY9S}H(8c$~OBWdPed@@WX_j6!5#Lm8wGdq*qn6sV{5$4so zQeW|wTB3FNfVtt-iO6f)f$>)5M+!}VO!&Qk4Fuy%B0z|0X+To`LtXJh09W&OGouzNTbRO=#pC^( zhZ7k+-hI>SWc?*KMdnTw=Jl%~ot$LNn)%qdy1jgqe6RM`Cf=v=rG+tThFUWGaeDR9&#i19g)LX+ zwp^%GTsFioU9qS9(|@Ok;yz*5t<3#`L(5T<$w}WJwdm}~IASOv;6fNev8CSbMq`|D z5BvH-0;iK=WFS(?|ExdK4Fn;L5#ts4@nUG*bMsk9)a~TFmPYDzyOUCZwR0`b(u>WH zpIq?^CJ&7?7#=P+X~*roEf0EPB3Z9)k@|J2Y>@e$N;RQ?2mRj714dmMM%?E#KwhoS zqq}!~>E8 zbqJQnHF&kGLT> z6-wnA_5#+Y1dEv4SO<88B>bf^N@y%5_++`3-UZ$H4{dd=ksQ@;(qCMTY#jH$LrMt) zq)c0v9!SWxfc@|fmx|sBd5sV(W&MWUz&j{EOzjH#>DNI@AZmaXIQZ~Nx{o)!x zjlVc?x3u`?CQ$+Cef1Z9hmpbJh9%pUq*v19y2bURV>mieyJT%wDxYLDrI*y^V_~Ou zaM+|$`KypCa>2*f!!cRvO{Sn}&>I`}C;?d~%8~nql!DhuJt$rYDtx*pC&KX_*I2Z9 z_$ZwGq18q^;waSBjLcxA!WfsXWRWm#3uuidpZkPd&rcB~G!XYBv@23uCQPyT8IhbN z!||A~hPP%58FT(Plk@WIL(la3FTHth?IxC9zo&dSEYJTVd*b`apL@*lW;dlQo1`qC zF=uar3MS7y_B!QYLGli;_K8ffe|>TDMi6M(BkvY2B+l+YrM|Quws|C3@{m{eo*3*ehsRN=g_NHf(bD=T~%gct+DQ zR8zds{bbur>3fqN|Ff$TaS0Slzi<-2I1bW2boKVk`wsK=@Pm;Y=%K=A=CFIr zoXmg&6E+Hauonp3XK7XxQP@?Kf^iQ^N_tzKM(7M6aFz*SDMhv#&Fv2tb2aWOkPzF3d-tuH_t67i*tR~a|pv3I{;EQ9Q9 zGV?J0!3N_?B4W-7B5LH-RUnpZY_6K6=3~7G%##ymv(2$j^BWPe8`jDSIxK{Gp50Jn zIpea)dn^brxnK&L*RZWr&G;w>&2W|YgzKoSTeD1AA=F2D4Ept9J;-i3TY9?uEUz$* z{DbCVd#JEK&h1T5pigxaUe1(g$cv9Z@{?eC|s%!~4#Ix|_s4 z?;eY$@=J}d*_|m`Z!OZRw9wbRg5`3_8r#dce2<$=x#RN6n;F2Bo=a1OjGou(A85_qStB`q3H%|gwU`YO+fe0=(XH_ur zsM=?83CW)kPy0}X)mYHCH>pw5riy$U?2+v54QvMiy9&M!(@)-o*a9 zJVuh*`4sqX!0mofPu*ZC5D~`L(+(KZ2H?*Z(&eG&u8Xt#pv7I^?HPhUY~-1=wV&H; z=DmJpUvR4aRPaF1=2`I7O@t*LzdN0y?ratgFq6f0*mtHkSNR))OOGN9p~vPi?;jxoxR(vvpq$jf$22ntdFrk}}UAYz=Zz;44~3~nLyYxlS- zB|?LVG5Y&@#X__wcn%8+^-f3w7Qtjvu9Pq)p2NnwiZXD{ZuZz4jHpL9uu-)N62viS zM7n-`*8}Zc-COpp5S*_glQ_K=V})9lUJyK#%rDTir!I*>8`cUax0itYxHoG@`Q7Gk z-3{QxG&Ox{EIxNs`P0}+|4reJHkcWekn&u%#ZwHYOFS6w{QbNixOsN2_H)v+!XGLu zE@vYRfjfO>A;aY4?9;H(Co|kXNz13-TH*@x3xr|{ zceU;ziKg#*4)qjXihND0s(V-lRIx*PWAAPi?#$EerW$@W07|1aZzL-wLh;MYHA#Ha z-?0WWQO-1`{hab(WZN$D45yfWicCHh_tnp)?(&+qc$HEo_+;{V@ckM04|@~Xc%?$DJlA@TMV8fqL*6iu4=5r;kr^14FZ zd*v)FB0A2HCw%5}$n$sAC6Oh(aM#rP3;b*4&}v`0^7JfQnw&J?_GHV4?eaSU85moR zmrj6?><)d_Mbyt*`jtG{5lu}UJE6<;Euq@`(QACGTiHGkO2KBqkd)JMoS8msD8-|r z)3I1fv!8Ng(YE_%7r{Et&2W|y@x`@G$^10-`(UROlM$i8#Asye__sv$bG`s(%QnZN zRqLUFYVdolZ)5mD*dvdfBmB5ZgE>9Lk~DDNR(eTzto9LXL*TT{@5Y373vH7t_ol*Y zKV!6p=TWwCwt2Ee-m5Dps!JR-y?1$8ptHV4K8!tO$06qeJFofp`sLv(hq3#q9#;mE zkAv-hSclv}u6nRa)gA&W#7?AI610jZ8yUrShO4hy0h)@-B7PaZBSP+4xjt|v zmEyD8aeWpmBKgR1erjpei)HLeiC)O@Kw4C-0uH&{_MqRGI z+D_LM`mD)RKR?@BuoKM1H!2mm1sh0==MVenYp-6=WAWpS(cx9o+Z^9SYaF56h5*m( zwu_pQePMK@jw9qSY8$If%`SA&;@78J09BrtYcRQ3g4X4smc^rsuCtiTrpyv`8fA2) zIc-ie|J;`fcbhOG)0p~-MIxC7^u@TQa({OMUiKf)iXrPTx2ag#r{>-zF21-g^}X7N zW9x|W^+>kJbo%$pE~1yNu)XT#m4$dmej~LCCL&GDG40zJ##N>Gm(W~ywhz9zE*0O4LQ=@DWEpoKzCU_4Gy5=6 z36)eF2lvkorM~knrFY`YwB+?0ogavU+)r^$PcBOF#m$%~FR7QE+*3X%aqcbjc($it z?*57L2Hn%B{&QSmoma7K7a1px!76N1T^W9`+aB>_)20Z&MMc4IWsS^{qHw&`M4?oB zc1}ZDMyvA7bVkkZ&Cq^*V1{aF8V1OU+uqyK<>6zw`bVpU##%qb@Fbu4`*Rulr4G>d zeLIdfs5KuP^MB4E^)&I3pPL_O1<=Jj`|B){Vr0m{UW+ z(k#ykv4HF)ffwtZ3+2ti;-|D<9y(mk3%!uu)w)wfEKSIeTV!T%7l&L)Jmu3f`s^Ud zgf$9i@{R^lPi~W5UPKX~jKYT?5Ts40LBbl|``wp?zaLbZA@RdkfrJX5m8;@?#xs%;_Tt1$h5N*oS52az6V>`0?sEcdP|VR?KU! zcOxrJi?tdQ{X*fbY$$C*P6iF7LooB<=z?+&m-~fc4=vaBty;}-c`sNlotwGH}=vM#S(Ahb!^ zXD(I;K363&YvMA)Sip>yl%0NG`zGl9@9a&qSMfzY+1q#79 zqeU*c_zS)tTXVzP(i!;CD0G_q!uxj*U3*Rkw$=x8DjiANs!w;5@pdV>4tnG9Vo4;d5zQWtD<%Q!~ECtWSyH`&#QcRhYP%dYg`uReWjt>9}LU@C}U zT|ShEczN$ON3UlKT2df0e4yJzX)S^bwcQee4TaWo8);6?bcn6dhDJV$Y;%`NDU~U4 z#lD$&hWRxE(*c^1=53ue`;sDh`_(fFw34acj|{g~DuJB*da>eAQt!{w09Kr2da3HN z{z9R)0#j)6Z{8ow%J?3mBG6Nb&94W6)#>gYp9MkkX5x>WPq9zZW}+3jM8=s0OYi9Q{c(!ohwHMhv>aJQ`t3&6S zs)c#4X!_}JNThQg0o&!yyJ4jJU=^vNx{r4v?^yH_gfL0pUOlT~6kL;!ky?|_?`354 zgl+px?bTF+h;LTm9^b>K0(S9}!WE>>#k<&H#+v~As1Y~6dZ?U1C|@O(l(#V9Cu0}U zqxN32YFB<%&$=46gF`pCc8yp^!tHU7fNKRYkw&hs_CD&BC&ehMHOH!+mmXj0#>J=0 z>>s?bZOM|i=CW0}OgK0>?wdM!U2>{`kUtU{zGwAoIZYxA*p>i?J;h2q*NCJi$dceR zCgfuB>_mIns|WPB_N*=Ql@fQ!+|~=!hd0>i+)6IUF6Yr^P;1#2V9!~ZZaTzRZk~6n zoP;6HJ94gq@3>~OCLZ5pE#o$NQCY~g3t;0lS`EI>S6KZ$GjxB_= zE~vMM){e3WWqXk@ba73*z0YC%xwQU^OSk*}rWPpHF9yUcBi#=w%{5KV?Kkk@c5r>q z^&^`r`a?PIz@ClegWrZ-KiImIeH>={+>2CRGX+X#da$jog()USuFwrD6SpXjffB?j z(uFLpPOkP@1X;{{ z!&vH1#x0#-7PnWQYZpG7{_v&tR4jR^>3^s2(9zw~^JnB{{;%*7%~v*dyySAt+}i4G z%VVVk1IT#(Poh-wyggW9h8>;1_jh;aWhfaRf8KyHqVao!e;tfrNmSP>Al$NYJ-#ex zSq?slv!!{o%@{cwLE!uKO?~_kkk)G=tyWjbC=$)^l}liBhCn~8EQ zjmGMWuQ9};Mj4E9ft9A$3@=}Ve{_3DtkYkM>Lr@&t+1A^0*}7ZTBguQm>4ytK2Wn( zX7{2Apz~^u`GPb|eqZL*X&D*jR}v3G8)AQ5Jm*Bu#eB4VW!-t;c)a&KlI+}=`}eLB zM!%~Y4$4b978OB;Q1SYxCusX{0=EZ*pnb2lJd9#i_N?*dO|FO9L=dHQ67C~zJ6sao zs&yVdhDjpOfGs$|`xU{$UfTdOo#pPwkJigP7r$$|AkMU+4}(f#3n^Nc5UteaHGRG% zjT6!`Z)(*0eJ&fn)a>)}+*^kbWSB7zwfro2=%;H^Hq`994Eut^Z&OG$qWV3mrq@h$ z?@(H2J0XW^QCZXk$0W0%m@GEiSmyj6(zwfcU2gv*FQ!AXCdne_|hlUKbuB5NEY|q%_@D7uV3|2ZhFCN@b zc2!ol2sXNWi0*B+qJp-TX!sDMY1v`|OhzEU3N6z!036C6LsZ0u6_-&>W&Ax>SS4Za zBxMZ<5iI=V#T%GSn5G|%C1Lb#PbrtK9G>&eDV|_1=ETWWOuy^lF85u(oG4Rwp5QFV z%g)=L4M1vrquR-O9{*KyD|$l0%$CxU2rzOQp%pCC2zH$}@@PC)ONMPXNA9m6sK@5rvkT0TG0oGy@_hAh$}V{*^wRSmponCxIkA z&~}!iJwxf1=VQ$RK71?|@qYm;K-9lZpWnTEc>A(_Qdf^LN|X~GA0-b=M>YUWf^Ld{cKH8;|25sM<}C9H5xcH~Q0cCrH=Xhd0|i4htDoHLBc1_U5$ygdS-*C4F@E~&XcPhW+wwPfWg;1wEDZNNvbm#^c>UkeW?ml32w&AtC`+1l*Ah%r6A}54cJLOO4x-NE`03Oi% zI~UV&%14|43=G2kd6k40vHofT)oN3XZ$XJD$9yGTML50xyXXkVm#`+b!p+qBG(w}Jv;k7}3K zctYchC{-f=)v2{O1qGk!T+4xK z&b6o6>$;ZD!~A(t$XXz4F0eRC)G17YEkK;~5Ydx;L=Bgm{ldK10!*@)O>!ERI@DqD zlu~je5I7z<$-nj2Ld*rhs;^mK3VHdDu7AV3f4|*6(b2d7^8`#dE)A!NHrWL@!EgfI zK^M->gVU8hfIcxfz>9;E!)X)p0rduiumB6bklKlMMumu8#u^(`1}f%i;AfuG;-oKuwW^_<@%JZJFyaBPY%O z%pHlNIXnnjQK@)ZgM77(A}gQ^NZvpAM~#~D*+h|+l8|WddqS6%!dm1Do4TG@md$!B zO0EM^4ewu4vSxQnhk54e?066k%q^GJT5W6BZKcaN0iVe8OD?(6NEujJ$ic`VpYAeT z+==DS_YpvZcnc9)l6HC(V>gZ6!LNX%{fS9$ijDHLOf|J5Xis240rK7x`CUaI!Wa`IsPV)o# zfTQ042Ua@3KvJ18p{1=DPSo6=^L#yjP2?YFMU*prVQ)0sY&kCiN0krKB3k80Vs`9a z1K&1r@HH9S`%sLMbFit5&6&(F!5p2VvJD_Rs4gxGfgu{#!t+FS@%jO4i%J*io4M1N zo>Cf=6eAvh0EiS`JlC1$N>3YBI&?aWV+*i?z)rCGv!BaTEBY83!ghAJWs zt727Bm9%o&QWaJq;i#P6a_jfPjW7&+@{Xub`S!P@n?2C1M=<%1<<-6 zJI=@P%C=Tos4&=%)t5X1zqEVl5z0X-W9cp@C$ou)l(Patn~EGPNM`bATvEdCu`RUY zsK|?nX;!SZ+RzQ?4h1+^0Y1T(JOEas-7#lx5u+KjQdz5RSz5elat=dRV-3o@d7%{m zi!MxTeHyoA5wB*|~rIZ6SG~jmpxP`YmO< zTyGC3BbUWT0xM!rZ%9MM&@c>Kw!W(Bg_llMISi1YAEOzs!E=TqXFs3eI2_yz4l_6H z8tqT2IU6%`y8nOe-OcW9cQ&OdVaw!j$Q(oTY0wMFprEIQix0qVj7eH!S~YfGG<(YV z&`}AGVso<1zRRT~`b72k@+!Nx)PP-sHDc|m?;1(WO0DET>^+e6h{jgtSkQ5FU;wAC8qOqZ}tV_e=ud`e&Dc+ z9p!ImPmExHTk?&|l3!xsaa{>Pyokpl@seKhzW0y%_)(vc3DHZYz0vl7&zArTc|Ro>!rFEeq$fe#PkOR@Dn=7A%G7e)Dr+!4^^C_1=}oIv<<+r z0P1!}nI^T15gT5IpgoB2!!>Z-V>;*2Np~V4y{Nn_9RdJ%k>h5-lIT{nGrG_l00VX4 zwtqZk z%vM$byeJp;MHtB0%XjTV?%rA{yDU^6jkEVNndOir-%9A>*hT*Bt9&9&fJK07-}eK6 zC7+l4b{^S@cCs91Mjw2zBfusATai)#_WxtZWHwsyPw8frNCJ>KMpdvk!NAbLYiFvt zChO1+6*ARdY^G%>rn#T+gZ$+!Wf4i83P@{u8QSR-TARxsW!iADU7v=+NbS~rqMh+2tIVfPp0@jmY-Ih^+h2&<` zCxA|&)~jZEv-EMEN}W~tHhCbohi@JjU`r;aocu2DV@e`XZ*f(mkv4=Sf=QGmH^Hew z6krY=P1Z@^Za1eZgV)?)!__Y4O!H=xJtnG)D_&m&mnJo4W83KS4Ar6}lyQ4KAV(AtKRULGKCIv1*T0HeHI*V=FMm~}J{WK2y@G^Dr40!Ui zQ+HBw0C7f3wH}hjk#ED0Sz24e-U4hb>RqgLUgRlPsq=4EzVh>V915-#r z0HCr)y6iY-a&=ta+U_0Mb!^Q1_dXCflDNhnBeQbLTFtIZ z?@jZY&v0u71r_&Wda;3tIh*rPCrPjccsAg%XyC8@bP3gmsM-y&FWp%TBzo5^LlUOE z@1+E};JMY1Tg^RmX!srP_vagP-ujY13_kRpZ`NO@OnEQNmWb09v2DO6+a}z8-nQ@D zNN#RAZND^N{CydgKnxi)uq1w zN#ab&KQ4LO)&x}i0r!2Cy1R**qw&;HDnz?!s3zu_{9cIzzpB~=`CgehIh@2mtH-vt z=3T5^G|^KA!~#+dnI_H}LS~vgH}LP*|B?rgkV4hsU~GcRjl;z(;qcAn<NLF+fR(MX9>H`36E;$P{@=*|d&o*4&j6HkHfE16xr%ucugIE^iZS~$n_PAb zE(4EKOWsZRV=-Px*&41etC#QO<2vW*AwS>C_L?Wi3em^7a8T+16qB`SNiIF?1uuY^ z=I97~Qd>5SYVpI%m99F^e^(DnrY95XDiQU@A1C8H};{o zz7LTia<@$b)b4R__b>JWd&wC#?uPx{=EFKyfZjZY!E;@g!?u)-gq478V?jrvNW;|0 z7x~*c&pUuI=ag`AGIU8Hs=&=|xY-Z(1Aee(H!v!vYzMOg>|jex=A|Sf;MyUlVhl(U z10z4tGO6&C5*sihfV^TBl~`-7*;GTvTFM$>S}aBEJK_rr4SRrY724_rTL-&&dQSZ(58Za}{~bmLIv|DnE*B zP3b`&6kB&kz!U4MjAYB|jterfPs{1V8<+ibf6r%5+kU(8k*C}J%L`w*ID5~RwSL1~ zXg%|_i_bjNq$%VjtuKfD^0CV`D|uwbQ9qOPzrz1U9vDdAFzajv(9dk{q9Hc1w?ubP zzS>uOwJts`U-gH7*gx*DYKy!=^v^koz93uZ{Boq{-y@vqm8X<6eLW0oROq>D4V zcxD%G0Agp1-6Mb{PrObfS)NV+Ial#iI{*gKMGmsdBLH~@psIT4rU`bMCI=LN0-5we zprD-qEWlI&S>=Wmx5^oqNUU}sy=` zZr`KFhvC)XwWmVD1}9h~m8cp044mjTf|a6bh8nqxCyw+b%d|}Af90MQn1_wQEj!Us z##H?n(}^}FyTwf7gRvBq=)*S4Nv7*VDa&xa_yT~LWUY1jXt(L~%Xs;ck&(Y~UfCXl znuotlPRM%1(HD`UOedG)&@kl*qi5eQAz#>hYKhFS=-Kvs>9o^p*L8bl4+rn=fU2Vs z)?HR0V5tEkt}J0V281gC3EwI0ahkqlbVSLjDy?Es-SGZ`eYl%q_}Qoxh!Y-&%Gad> zSy-mQn}#GX>>4p-!NTO``%#S

ZdWtx)C$xL-hwc|K-LbNFn}J806I`;$ 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 ?v@g_@g{atRCc(GO&%h} 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

ly9-LziDabg>oE$6E@@D~1*-SD>8 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

h0G}~E`?`_ssmk1zhv!@ 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

Hbw8up-RCK!^xi))R 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�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

    8a{`x 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%0AUZ|WifigmrmsBx8=Wnj^4RUcjtOn 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

    {% endblock tabs %} diff --git a/netbox/utilities/templates/tabs/model_view_tabs.html b/netbox/utilities/templates/tabs/model_view_tabs.html new file mode 100644 index 000000000..2c6a9046d --- /dev/null +++ b/netbox/utilities/templates/tabs/model_view_tabs.html @@ -0,0 +1,8 @@ +{% for tab in tabs %} + +{% endfor %} diff --git a/netbox/utilities/templatetags/tabs.py b/netbox/utilities/templatetags/tabs.py new file mode 100644 index 000000000..13b4a5f63 --- /dev/null +++ b/netbox/utilities/templatetags/tabs.py @@ -0,0 +1,50 @@ +from django import template +from django.core.exceptions import ImproperlyConfigured +from django.urls import reverse + +from extras.registry import registry + +register = template.Library() + + +# +# Object detail view tabs +# + +@register.inclusion_tag('tabs/model_view_tabs.html', takes_context=True) +def model_view_tabs(context, instance): + app_label = instance._meta.app_label + model_name = instance._meta.model_name + user = context['request'].user + tabs = [] + + # Retrieve registered views for this model + try: + views = registry['views'][app_label][model_name] + except KeyError: + # No views have been registered for this model + views = [] + + # Compile a list of tabs to be displayed in the UI + for view in views: + if view['tab_label'] and (not view['tab_permission'] or user.has_perm(view['tab_permission'])): + + # Determine the value of the tab's badge (if any) + if view['tab_badge'] and callable(view['tab_badge']): + badge_value = view['tab_badge'](instance) + elif view['tab_badge']: + badge_value = view['tab_badge'] + else: + badge_value = None + + tabs.append({ + 'name': view['name'], + 'url': reverse(f"{app_label}:{model_name}_{view['name']}", args=[instance.pk]), + 'label': view['tab_label'], + 'badge_value': badge_value, + 'is_active': context.get('active_tab') == view['name'], + }) + + return { + 'tabs': tabs, + } diff --git a/netbox/utilities/urls.py b/netbox/utilities/urls.py new file mode 100644 index 000000000..3920889b3 --- /dev/null +++ b/netbox/utilities/urls.py @@ -0,0 +1,35 @@ +from django.urls import path +from django.utils.module_loading import import_string +from django.views.generic import View + +from extras.registry import registry + + +def get_model_urls(app_label, model_name): + """ + Return a list of URL paths for detail views registered to the given model. + + Args: + app_label: App/plugin name + model_name: Model name + """ + paths = [] + + # Retrieve registered views for this model + try: + views = registry['views'][app_label][model_name] + except KeyError: + # No views have been registered for this model + views = [] + + for view in views: + # Import the view class or function + callable = import_string(view['path']) + if issubclass(callable, View): + callable = callable.as_view() + # Create a path to the view + paths.append( + path(f"{view['name']}/", callable, name=f"{model_name}_{view['name']}", kwargs=view['kwargs']) + ) + + return paths diff --git a/netbox/utilities/views.py b/netbox/utilities/views.py index 858e7b491..a4f5c79a9 100644 --- a/netbox/utilities/views.py +++ b/netbox/utilities/views.py @@ -3,8 +3,16 @@ from django.core.exceptions import ImproperlyConfigured from django.urls import reverse from django.urls.exceptions import NoReverseMatch +from extras.registry import registry from .permissions import resolve_permission +__all__ = ( + 'ContentTypePermissionRequiredMixin', + 'GetReturnURLMixin', + 'ObjectPermissionRequiredMixin', + 'register_model_view', +) + # # View Mixins @@ -122,3 +130,33 @@ class GetReturnURLMixin: # If all else fails, return home. Ideally this should never happen. return reverse('home') + + +def register_model_view(model, name, view_path, tab_label=None, tab_badge=None, tab_permission=None, kwargs=None): + """ + Register a subview for a core model. + + Args: + model: The Django model class with which this view will be associated + name: The name to register when creating a URL path + view_path: A dotted path to the view class or function (e.g. 'myplugin.views.FooView') + tab_label: The label to display for the view's tab under the model view (optional) + tab_badge: A static value or callable to display a badge within the view's tab (optional). If a callable is + specified, it must accept the current object as its single positional argument. + tab_permission: The name of the permission required to display the tab (optional) + kwargs: A dictionary of keyword arguments to send to the view (optional) + """ + app_label = model._meta.app_label + model_name = model._meta.model_name + + if model_name not in registry['views'][app_label]: + registry['views'][app_label][model_name] = [] + + registry['views'][app_label][model_name].append({ + 'name': name, + 'path': view_path, + 'tab_label': tab_label, + 'tab_badge': tab_badge, + 'tab_permission': tab_permission, + 'kwargs': kwargs or {}, + }) From a0bae06ff7fb6071dc90acdc6035f0897b94b194 Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Thu, 6 Oct 2022 16:21:23 -0400 Subject: [PATCH 054/162] Replace static journaling, changelog URL paths with dynamic resolution --- netbox/circuits/urls.py | 17 ++++---- netbox/dcim/urls.py | 79 ++++++++++++++++------------------- netbox/extras/urls.py | 27 +++++------- netbox/ipam/urls.py | 51 +++++++++------------- netbox/tenancy/urls.py | 17 ++++---- netbox/virtualization/urls.py | 17 ++++---- netbox/wireless/urls.py | 13 +++--- 7 files changed, 90 insertions(+), 131 deletions(-) diff --git a/netbox/circuits/urls.py b/netbox/circuits/urls.py index 5b15b29ac..55ceeddc3 100644 --- a/netbox/circuits/urls.py +++ b/netbox/circuits/urls.py @@ -1,9 +1,9 @@ -from django.urls import path +from django.urls import include, path from dcim.views import PathTraceView -from netbox.views.generic import ObjectChangeLogView, ObjectJournalView +from utilities.urls import get_model_urls from . import views -from .models import * +from .models import CircuitTermination app_name = 'circuits' urlpatterns = [ @@ -17,8 +17,7 @@ urlpatterns = [ path('providers//', views.ProviderView.as_view(), name='provider'), path('providers//edit/', views.ProviderEditView.as_view(), name='provider_edit'), path('providers//delete/', views.ProviderDeleteView.as_view(), name='provider_delete'), - path('providers//changelog/', ObjectChangeLogView.as_view(), name='provider_changelog', kwargs={'model': Provider}), - path('providers//journal/', ObjectJournalView.as_view(), name='provider_journal', kwargs={'model': Provider}), + path('providers//', include(get_model_urls('circuits', 'provider'))), # Provider networks path('provider-networks/', views.ProviderNetworkListView.as_view(), name='providernetwork_list'), @@ -29,8 +28,7 @@ urlpatterns = [ path('provider-networks//', views.ProviderNetworkView.as_view(), name='providernetwork'), path('provider-networks//edit/', views.ProviderNetworkEditView.as_view(), name='providernetwork_edit'), path('provider-networks//delete/', views.ProviderNetworkDeleteView.as_view(), name='providernetwork_delete'), - path('provider-networks//changelog/', ObjectChangeLogView.as_view(), name='providernetwork_changelog', kwargs={'model': ProviderNetwork}), - path('provider-networks//journal/', ObjectJournalView.as_view(), name='providernetwork_journal', kwargs={'model': ProviderNetwork}), + path('provider-networks//', include(get_model_urls('circuits', 'providernetwork'))), # Circuit types path('circuit-types/', views.CircuitTypeListView.as_view(), name='circuittype_list'), @@ -41,7 +39,7 @@ urlpatterns = [ path('circuit-types//', views.CircuitTypeView.as_view(), name='circuittype'), path('circuit-types//edit/', views.CircuitTypeEditView.as_view(), name='circuittype_edit'), path('circuit-types//delete/', views.CircuitTypeDeleteView.as_view(), name='circuittype_delete'), - path('circuit-types//changelog/', ObjectChangeLogView.as_view(), name='circuittype_changelog', kwargs={'model': CircuitType}), + path('circuit-types//', include(get_model_urls('circuits', 'circuittype'))), # Circuits path('circuits/', views.CircuitListView.as_view(), name='circuit_list'), @@ -52,9 +50,8 @@ urlpatterns = [ path('circuits//', views.CircuitView.as_view(), name='circuit'), path('circuits//edit/', views.CircuitEditView.as_view(), name='circuit_edit'), path('circuits//delete/', views.CircuitDeleteView.as_view(), name='circuit_delete'), - path('circuits//changelog/', ObjectChangeLogView.as_view(), name='circuit_changelog', kwargs={'model': Circuit}), - path('circuits//journal/', ObjectJournalView.as_view(), name='circuit_journal', kwargs={'model': Circuit}), path('circuits//terminations/swap/', views.CircuitSwapTerminations.as_view(), name='circuit_terminations_swap'), + path('circuits//', include(get_model_urls('circuits', 'circuit'))), # Circuit terminations path('circuit-terminations/add/', views.CircuitTerminationEditView.as_view(), name='circuittermination_add'), diff --git a/netbox/dcim/urls.py b/netbox/dcim/urls.py index c11a92a99..86d28e224 100644 --- a/netbox/dcim/urls.py +++ b/netbox/dcim/urls.py @@ -1,8 +1,10 @@ -from django.urls import path +from django.urls import include, path -from netbox.views.generic import ObjectChangeLogView, ObjectJournalView +from utilities.urls import get_model_urls from . import views -from .models import * +from .models import ( + ConsolePort, ConsoleServerPort, FrontPort, Interface, PowerFeed, PowerPort, PowerOutlet, RearPort, +) app_name = 'dcim' urlpatterns = [ @@ -16,7 +18,7 @@ urlpatterns = [ path('regions//', views.RegionView.as_view(), name='region'), path('regions//edit/', views.RegionEditView.as_view(), name='region_edit'), path('regions//delete/', views.RegionDeleteView.as_view(), name='region_delete'), - path('regions//changelog/', ObjectChangeLogView.as_view(), name='region_changelog', kwargs={'model': Region}), + path('regions//', include(get_model_urls('dcim', 'region'))), # Site groups path('site-groups/', views.SiteGroupListView.as_view(), name='sitegroup_list'), @@ -27,7 +29,7 @@ urlpatterns = [ path('site-groups//', views.SiteGroupView.as_view(), name='sitegroup'), path('site-groups//edit/', views.SiteGroupEditView.as_view(), name='sitegroup_edit'), path('site-groups//delete/', views.SiteGroupDeleteView.as_view(), name='sitegroup_delete'), - path('site-groups//changelog/', ObjectChangeLogView.as_view(), name='sitegroup_changelog', kwargs={'model': SiteGroup}), + path('site-groups//', include(get_model_urls('dcim', 'sitegroup'))), # Sites path('sites/', views.SiteListView.as_view(), name='site_list'), @@ -38,8 +40,7 @@ urlpatterns = [ path('sites//', views.SiteView.as_view(), name='site'), path('sites//edit/', views.SiteEditView.as_view(), name='site_edit'), path('sites//delete/', views.SiteDeleteView.as_view(), name='site_delete'), - path('sites//changelog/', ObjectChangeLogView.as_view(), name='site_changelog', kwargs={'model': Site}), - path('sites//journal/', ObjectJournalView.as_view(), name='site_journal', kwargs={'model': Site}), + path('sites//', include(get_model_urls('dcim', 'site'))), # Locations path('locations/', views.LocationListView.as_view(), name='location_list'), @@ -50,7 +51,7 @@ urlpatterns = [ path('locations//', views.LocationView.as_view(), name='location'), path('locations//edit/', views.LocationEditView.as_view(), name='location_edit'), path('locations//delete/', views.LocationDeleteView.as_view(), name='location_delete'), - path('locations//changelog/', ObjectChangeLogView.as_view(), name='location_changelog', kwargs={'model': Location}), + path('locations//', include(get_model_urls('dcim', 'location'))), # Rack roles path('rack-roles/', views.RackRoleListView.as_view(), name='rackrole_list'), @@ -61,7 +62,7 @@ urlpatterns = [ path('rack-roles//', views.RackRoleView.as_view(), name='rackrole'), path('rack-roles//edit/', views.RackRoleEditView.as_view(), name='rackrole_edit'), path('rack-roles//delete/', views.RackRoleDeleteView.as_view(), name='rackrole_delete'), - path('rack-roles//changelog/', ObjectChangeLogView.as_view(), name='rackrole_changelog', kwargs={'model': RackRole}), + path('rack-roles//', include(get_model_urls('dcim', 'rackrole'))), # Rack reservations path('rack-reservations/', views.RackReservationListView.as_view(), name='rackreservation_list'), @@ -72,8 +73,7 @@ urlpatterns = [ path('rack-reservations//', views.RackReservationView.as_view(), name='rackreservation'), path('rack-reservations//edit/', views.RackReservationEditView.as_view(), name='rackreservation_edit'), path('rack-reservations//delete/', views.RackReservationDeleteView.as_view(), name='rackreservation_delete'), - path('rack-reservations//changelog/', ObjectChangeLogView.as_view(), name='rackreservation_changelog', kwargs={'model': RackReservation}), - path('rack-reservations//journal/', ObjectJournalView.as_view(), name='rackreservation_journal', kwargs={'model': RackReservation}), + path('rack-reservations//', include(get_model_urls('dcim', 'rackreservation'))), # Racks path('racks/', views.RackListView.as_view(), name='rack_list'), @@ -85,8 +85,7 @@ urlpatterns = [ path('racks//', views.RackView.as_view(), name='rack'), path('racks//edit/', views.RackEditView.as_view(), name='rack_edit'), path('racks//delete/', views.RackDeleteView.as_view(), name='rack_delete'), - path('racks//changelog/', ObjectChangeLogView.as_view(), name='rack_changelog', kwargs={'model': Rack}), - path('racks//journal/', ObjectJournalView.as_view(), name='rack_journal', kwargs={'model': Rack}), + path('racks//', include(get_model_urls('dcim', 'rack'))), # Manufacturers path('manufacturers/', views.ManufacturerListView.as_view(), name='manufacturer_list'), @@ -97,7 +96,7 @@ urlpatterns = [ path('manufacturers//', views.ManufacturerView.as_view(), name='manufacturer'), path('manufacturers//edit/', views.ManufacturerEditView.as_view(), name='manufacturer_edit'), path('manufacturers//delete/', views.ManufacturerDeleteView.as_view(), name='manufacturer_delete'), - path('manufacturers//changelog/', ObjectChangeLogView.as_view(), name='manufacturer_changelog', kwargs={'model': Manufacturer}), + path('manufacturers//', include(get_model_urls('dcim', 'manufacturer'))), # Device types path('device-types/', views.DeviceTypeListView.as_view(), name='devicetype_list'), @@ -118,8 +117,7 @@ urlpatterns = [ path('device-types//inventory-items/', views.DeviceTypeInventoryItemsView.as_view(), name='devicetype_inventoryitems'), path('device-types//edit/', views.DeviceTypeEditView.as_view(), name='devicetype_edit'), path('device-types//delete/', views.DeviceTypeDeleteView.as_view(), name='devicetype_delete'), - path('device-types//changelog/', ObjectChangeLogView.as_view(), name='devicetype_changelog', kwargs={'model': DeviceType}), - path('device-types//journal/', ObjectJournalView.as_view(), name='devicetype_journal', kwargs={'model': DeviceType}), + path('device-types//', include(get_model_urls('dcim', 'devicetype'))), # Module types path('module-types/', views.ModuleTypeListView.as_view(), name='moduletype_list'), @@ -137,8 +135,7 @@ urlpatterns = [ path('module-types//rear-ports/', views.ModuleTypeRearPortsView.as_view(), name='moduletype_rearports'), path('module-types//edit/', views.ModuleTypeEditView.as_view(), name='moduletype_edit'), path('module-types//delete/', views.ModuleTypeDeleteView.as_view(), name='moduletype_delete'), - path('module-types//changelog/', ObjectChangeLogView.as_view(), name='moduletype_changelog', kwargs={'model': ModuleType}), - path('module-types//journal/', ObjectJournalView.as_view(), name='moduletype_journal', kwargs={'model': ModuleType}), + path('module-types//', include(get_model_urls('dcim', 'moduletype'))), # Console port templates path('console-port-templates/add/', views.ConsolePortTemplateCreateView.as_view(), name='consoleporttemplate_add'), @@ -229,7 +226,7 @@ urlpatterns = [ path('device-roles//', views.DeviceRoleView.as_view(), name='devicerole'), path('device-roles//edit/', views.DeviceRoleEditView.as_view(), name='devicerole_edit'), path('device-roles//delete/', views.DeviceRoleDeleteView.as_view(), name='devicerole_delete'), - path('device-roles//changelog/', ObjectChangeLogView.as_view(), name='devicerole_changelog', kwargs={'model': DeviceRole}), + path('device-roles//', include(get_model_urls('dcim', 'devicerole'))), # Platforms path('platforms/', views.PlatformListView.as_view(), name='platform_list'), @@ -240,7 +237,7 @@ urlpatterns = [ path('platforms//', views.PlatformView.as_view(), name='platform'), path('platforms//edit/', views.PlatformEditView.as_view(), name='platform_edit'), path('platforms//delete/', views.PlatformDeleteView.as_view(), name='platform_delete'), - path('platforms//changelog/', ObjectChangeLogView.as_view(), name='platform_changelog', kwargs={'model': Platform}), + path('platforms//', include(get_model_urls('dcim', 'platform'))), # Devices path('devices/', views.DeviceListView.as_view(), name='device_list'), @@ -264,11 +261,10 @@ urlpatterns = [ path('devices//device-bays/', views.DeviceDeviceBaysView.as_view(), name='device_devicebays'), path('devices//inventory/', views.DeviceInventoryView.as_view(), name='device_inventory'), path('devices//config-context/', views.DeviceConfigContextView.as_view(), name='device_configcontext'), - path('devices//changelog/', ObjectChangeLogView.as_view(), name='device_changelog', kwargs={'model': Device}), - path('devices//journal/', ObjectJournalView.as_view(), name='device_journal', kwargs={'model': Device}), path('devices//status/', views.DeviceStatusView.as_view(), name='device_status'), path('devices//lldp-neighbors/', views.DeviceLLDPNeighborsView.as_view(), name='device_lldp_neighbors'), path('devices//config/', views.DeviceConfigView.as_view(), name='device_config'), + path('devices//', include(get_model_urls('dcim', 'device'))), # Modules path('modules/', views.ModuleListView.as_view(), name='module_list'), @@ -279,8 +275,7 @@ urlpatterns = [ path('modules//', views.ModuleView.as_view(), name='module'), path('modules//edit/', views.ModuleEditView.as_view(), name='module_edit'), path('modules//delete/', views.ModuleDeleteView.as_view(), name='module_delete'), - path('modules//changelog/', ObjectChangeLogView.as_view(), name='module_changelog', kwargs={'model': Module}), - path('modules//journal/', ObjectJournalView.as_view(), name='module_journal', kwargs={'model': Module}), + path('modules//', include(get_model_urls('dcim', 'module'))), # Console ports path('console-ports/', views.ConsolePortListView.as_view(), name='consoleport_list'), @@ -293,8 +288,8 @@ urlpatterns = [ path('console-ports//', views.ConsolePortView.as_view(), name='consoleport'), path('console-ports//edit/', views.ConsolePortEditView.as_view(), name='consoleport_edit'), path('console-ports//delete/', views.ConsolePortDeleteView.as_view(), name='consoleport_delete'), - path('console-ports//changelog/', ObjectChangeLogView.as_view(), name='consoleport_changelog', kwargs={'model': ConsolePort}), path('console-ports//trace/', views.PathTraceView.as_view(), name='consoleport_trace', kwargs={'model': ConsolePort}), + path('console-ports//', include(get_model_urls('dcim', 'consoleport'))), path('devices/console-ports/add/', views.DeviceBulkAddConsolePortView.as_view(), name='device_bulk_add_consoleport'), # Console server ports @@ -308,8 +303,8 @@ urlpatterns = [ path('console-server-ports//', views.ConsoleServerPortView.as_view(), name='consoleserverport'), path('console-server-ports//edit/', views.ConsoleServerPortEditView.as_view(), name='consoleserverport_edit'), path('console-server-ports//delete/', views.ConsoleServerPortDeleteView.as_view(), name='consoleserverport_delete'), - path('console-server-ports//changelog/', ObjectChangeLogView.as_view(), name='consoleserverport_changelog', kwargs={'model': ConsoleServerPort}), path('console-server-ports//trace/', views.PathTraceView.as_view(), name='consoleserverport_trace', kwargs={'model': ConsoleServerPort}), + path('console-server-ports//', include(get_model_urls('dcim', 'consoleserverport'))), path('devices/console-server-ports/add/', views.DeviceBulkAddConsoleServerPortView.as_view(), name='device_bulk_add_consoleserverport'), # Power ports @@ -323,8 +318,8 @@ urlpatterns = [ path('power-ports//', views.PowerPortView.as_view(), name='powerport'), path('power-ports//edit/', views.PowerPortEditView.as_view(), name='powerport_edit'), path('power-ports//delete/', views.PowerPortDeleteView.as_view(), name='powerport_delete'), - path('power-ports//changelog/', ObjectChangeLogView.as_view(), name='powerport_changelog', kwargs={'model': PowerPort}), path('power-ports//trace/', views.PathTraceView.as_view(), name='powerport_trace', kwargs={'model': PowerPort}), + path('power-ports//', include(get_model_urls('dcim', 'powerport'))), path('devices/power-ports/add/', views.DeviceBulkAddPowerPortView.as_view(), name='device_bulk_add_powerport'), # Power outlets @@ -338,8 +333,8 @@ urlpatterns = [ path('power-outlets//', views.PowerOutletView.as_view(), name='poweroutlet'), path('power-outlets//edit/', views.PowerOutletEditView.as_view(), name='poweroutlet_edit'), path('power-outlets//delete/', views.PowerOutletDeleteView.as_view(), name='poweroutlet_delete'), - path('power-outlets//changelog/', ObjectChangeLogView.as_view(), name='poweroutlet_changelog', kwargs={'model': PowerOutlet}), path('power-outlets//trace/', views.PathTraceView.as_view(), name='poweroutlet_trace', kwargs={'model': PowerOutlet}), + path('power-outlets//', include(get_model_urls('dcim', 'poweroutlet'))), path('devices/power-outlets/add/', views.DeviceBulkAddPowerOutletView.as_view(), name='device_bulk_add_poweroutlet'), # Interfaces @@ -353,8 +348,8 @@ urlpatterns = [ path('interfaces//', views.InterfaceView.as_view(), name='interface'), path('interfaces//edit/', views.InterfaceEditView.as_view(), name='interface_edit'), path('interfaces//delete/', views.InterfaceDeleteView.as_view(), name='interface_delete'), - path('interfaces//changelog/', ObjectChangeLogView.as_view(), name='interface_changelog', kwargs={'model': Interface}), path('interfaces//trace/', views.PathTraceView.as_view(), name='interface_trace', kwargs={'model': Interface}), + path('interfaces//', include(get_model_urls('dcim', 'interface'))), path('devices/interfaces/add/', views.DeviceBulkAddInterfaceView.as_view(), name='device_bulk_add_interface'), # Front ports @@ -368,8 +363,8 @@ urlpatterns = [ path('front-ports//', views.FrontPortView.as_view(), name='frontport'), path('front-ports//edit/', views.FrontPortEditView.as_view(), name='frontport_edit'), path('front-ports//delete/', views.FrontPortDeleteView.as_view(), name='frontport_delete'), - path('front-ports//changelog/', ObjectChangeLogView.as_view(), name='frontport_changelog', kwargs={'model': FrontPort}), path('front-ports//trace/', views.PathTraceView.as_view(), name='frontport_trace', kwargs={'model': FrontPort}), + path('front-ports//', include(get_model_urls('dcim', 'frontport'))), # path('devices/front-ports/add/', views.DeviceBulkAddFrontPortView.as_view(), name='device_bulk_add_frontport'), # Rear ports @@ -383,8 +378,8 @@ urlpatterns = [ path('rear-ports//', views.RearPortView.as_view(), name='rearport'), path('rear-ports//edit/', views.RearPortEditView.as_view(), name='rearport_edit'), path('rear-ports//delete/', views.RearPortDeleteView.as_view(), name='rearport_delete'), - path('rear-ports//changelog/', ObjectChangeLogView.as_view(), name='rearport_changelog', kwargs={'model': RearPort}), path('rear-ports//trace/', views.PathTraceView.as_view(), name='rearport_trace', kwargs={'model': RearPort}), + path('rear-ports//', include(get_model_urls('dcim', 'rearport'))), path('devices/rear-ports/add/', views.DeviceBulkAddRearPortView.as_view(), name='device_bulk_add_rearport'), # Module bays @@ -397,7 +392,7 @@ urlpatterns = [ path('module-bays//', views.ModuleBayView.as_view(), name='modulebay'), path('module-bays//edit/', views.ModuleBayEditView.as_view(), name='modulebay_edit'), path('module-bays//delete/', views.ModuleBayDeleteView.as_view(), name='modulebay_delete'), - path('module-bays//changelog/', ObjectChangeLogView.as_view(), name='modulebay_changelog', kwargs={'model': ModuleBay}), + path('module-bays//', include(get_model_urls('dcim', 'modulebay'))), path('devices/module-bays/add/', views.DeviceBulkAddModuleBayView.as_view(), name='device_bulk_add_modulebay'), # Device bays @@ -410,9 +405,9 @@ urlpatterns = [ path('device-bays//', views.DeviceBayView.as_view(), name='devicebay'), path('device-bays//edit/', views.DeviceBayEditView.as_view(), name='devicebay_edit'), path('device-bays//delete/', views.DeviceBayDeleteView.as_view(), name='devicebay_delete'), - path('device-bays//changelog/', ObjectChangeLogView.as_view(), name='devicebay_changelog', kwargs={'model': DeviceBay}), path('device-bays//populate/', views.DeviceBayPopulateView.as_view(), name='devicebay_populate'), path('device-bays//depopulate/', views.DeviceBayDepopulateView.as_view(), name='devicebay_depopulate'), + path('device-bays//', include(get_model_urls('dcim', 'devicebay'))), path('devices/device-bays/add/', views.DeviceBulkAddDeviceBayView.as_view(), name='device_bulk_add_devicebay'), # Inventory items @@ -425,10 +420,10 @@ urlpatterns = [ path('inventory-items//', views.InventoryItemView.as_view(), name='inventoryitem'), path('inventory-items//edit/', views.InventoryItemEditView.as_view(), name='inventoryitem_edit'), path('inventory-items//delete/', views.InventoryItemDeleteView.as_view(), name='inventoryitem_delete'), - path('inventory-items//changelog/', ObjectChangeLogView.as_view(), name='inventoryitem_changelog', kwargs={'model': InventoryItem}), + path('inventory-items//', include(get_model_urls('dcim', 'inventoryitem'))), path('devices/inventory-items/add/', views.DeviceBulkAddInventoryItemView.as_view(), name='device_bulk_add_inventoryitem'), - # Device roles + # Inventory item roles path('inventory-item-roles/', views.InventoryItemRoleListView.as_view(), name='inventoryitemrole_list'), path('inventory-item-roles/add/', views.InventoryItemRoleEditView.as_view(), name='inventoryitemrole_add'), path('inventory-item-roles/import/', views.InventoryItemRoleBulkImportView.as_view(), name='inventoryitemrole_import'), @@ -437,7 +432,7 @@ urlpatterns = [ path('inventory-item-roles//', views.InventoryItemRoleView.as_view(), name='inventoryitemrole'), path('inventory-item-roles//edit/', views.InventoryItemRoleEditView.as_view(), name='inventoryitemrole_edit'), path('inventory-item-roles//delete/', views.InventoryItemRoleDeleteView.as_view(), name='inventoryitemrole_delete'), - path('inventory-item-roles//changelog/', ObjectChangeLogView.as_view(), name='inventoryitemrole_changelog', kwargs={'model': InventoryItemRole}), + path('inventory-item-roles//', include(get_model_urls('dcim', 'inventoryitemrole'))), # Cables path('cables/', views.CableListView.as_view(), name='cable_list'), @@ -448,8 +443,7 @@ urlpatterns = [ path('cables//', views.CableView.as_view(), name='cable'), path('cables//edit/', views.CableEditView.as_view(), name='cable_edit'), path('cables//delete/', views.CableDeleteView.as_view(), name='cable_delete'), - path('cables//changelog/', ObjectChangeLogView.as_view(), name='cable_changelog', kwargs={'model': Cable}), - path('cables//journal/', ObjectJournalView.as_view(), name='cable_journal', kwargs={'model': Cable}), + path('cables//', include(get_model_urls('dcim', 'cable'))), # Console/power/interface connections (read-only) path('console-connections/', views.ConsoleConnectionsListView.as_view(), name='console_connections_list'), @@ -465,9 +459,8 @@ urlpatterns = [ path('virtual-chassis//', views.VirtualChassisView.as_view(), name='virtualchassis'), path('virtual-chassis//edit/', views.VirtualChassisEditView.as_view(), name='virtualchassis_edit'), path('virtual-chassis//delete/', views.VirtualChassisDeleteView.as_view(), name='virtualchassis_delete'), - path('virtual-chassis//changelog/', ObjectChangeLogView.as_view(), name='virtualchassis_changelog', kwargs={'model': VirtualChassis}), - path('virtual-chassis//journal/', ObjectJournalView.as_view(), name='virtualchassis_journal', kwargs={'model': VirtualChassis}), path('virtual-chassis//add-member/', views.VirtualChassisAddMemberView.as_view(), name='virtualchassis_add_member'), + path('virtual-chassis//', include(get_model_urls('dcim', 'virtualchassis'))), path('virtual-chassis-members//delete/', views.VirtualChassisRemoveMemberView.as_view(), name='virtualchassis_remove_member'), # Power panels @@ -479,8 +472,7 @@ urlpatterns = [ path('power-panels//', views.PowerPanelView.as_view(), name='powerpanel'), path('power-panels//edit/', views.PowerPanelEditView.as_view(), name='powerpanel_edit'), path('power-panels//delete/', views.PowerPanelDeleteView.as_view(), name='powerpanel_delete'), - path('power-panels//changelog/', ObjectChangeLogView.as_view(), name='powerpanel_changelog', kwargs={'model': PowerPanel}), - path('power-panels//journal/', ObjectJournalView.as_view(), name='powerpanel_journal', kwargs={'model': PowerPanel}), + path('power-panels//', include(get_model_urls('dcim', 'powerpanel'))), # Power feeds path('power-feeds/', views.PowerFeedListView.as_view(), name='powerfeed_list'), @@ -493,7 +485,6 @@ urlpatterns = [ path('power-feeds//edit/', views.PowerFeedEditView.as_view(), name='powerfeed_edit'), path('power-feeds//delete/', views.PowerFeedDeleteView.as_view(), name='powerfeed_delete'), path('power-feeds//trace/', views.PathTraceView.as_view(), name='powerfeed_trace', kwargs={'model': PowerFeed}), - path('power-feeds//changelog/', ObjectChangeLogView.as_view(), name='powerfeed_changelog', kwargs={'model': PowerFeed}), - path('power-feeds//journal/', ObjectJournalView.as_view(), name='powerfeed_journal', kwargs={'model': PowerFeed}), + path('power-feeds//', include(get_model_urls('dcim', 'powerfeed'))), ] diff --git a/netbox/extras/urls.py b/netbox/extras/urls.py index ced3bd4b9..18d0314bf 100644 --- a/netbox/extras/urls.py +++ b/netbox/extras/urls.py @@ -1,7 +1,7 @@ -from django.urls import path, re_path +from django.urls import include, path, re_path -from extras import models, views -from netbox.views.generic import ObjectChangeLogView +from extras import views +from utilities.urls import get_model_urls app_name = 'extras' @@ -16,8 +16,7 @@ urlpatterns = [ path('custom-fields//', views.CustomFieldView.as_view(), name='customfield'), path('custom-fields//edit/', views.CustomFieldEditView.as_view(), name='customfield_edit'), path('custom-fields//delete/', views.CustomFieldDeleteView.as_view(), name='customfield_delete'), - path('custom-fields//changelog/', ObjectChangeLogView.as_view(), name='customfield_changelog', - kwargs={'model': models.CustomField}), + path('custom-fields//', include(get_model_urls('extras', 'customfield'))), # Custom links path('custom-links/', views.CustomLinkListView.as_view(), name='customlink_list'), @@ -28,8 +27,7 @@ urlpatterns = [ path('custom-links//', views.CustomLinkView.as_view(), name='customlink'), path('custom-links//edit/', views.CustomLinkEditView.as_view(), name='customlink_edit'), path('custom-links//delete/', views.CustomLinkDeleteView.as_view(), name='customlink_delete'), - path('custom-links//changelog/', ObjectChangeLogView.as_view(), name='customlink_changelog', - kwargs={'model': models.CustomLink}), + path('custom-links//', include(get_model_urls('extras', 'customlink'))), # Export templates path('export-templates/', views.ExportTemplateListView.as_view(), name='exporttemplate_list'), @@ -40,8 +38,7 @@ urlpatterns = [ path('export-templates//', views.ExportTemplateView.as_view(), name='exporttemplate'), path('export-templates//edit/', views.ExportTemplateEditView.as_view(), name='exporttemplate_edit'), path('export-templates//delete/', views.ExportTemplateDeleteView.as_view(), name='exporttemplate_delete'), - path('export-templates//changelog/', ObjectChangeLogView.as_view(), name='exporttemplate_changelog', - kwargs={'model': models.ExportTemplate}), + path('export-templates//', include(get_model_urls('extras', 'exporttemplate'))), # Webhooks path('webhooks/', views.WebhookListView.as_view(), name='webhook_list'), @@ -52,8 +49,7 @@ urlpatterns = [ path('webhooks//', views.WebhookView.as_view(), name='webhook'), path('webhooks//edit/', views.WebhookEditView.as_view(), name='webhook_edit'), path('webhooks//delete/', views.WebhookDeleteView.as_view(), name='webhook_delete'), - path('webhooks//changelog/', ObjectChangeLogView.as_view(), name='webhook_changelog', - kwargs={'model': models.Webhook}), + path('webhooks//', include(get_model_urls('extras', 'webhook'))), # Tags path('tags/', views.TagListView.as_view(), name='tag_list'), @@ -64,8 +60,7 @@ urlpatterns = [ path('tags//', views.TagView.as_view(), name='tag'), path('tags//edit/', views.TagEditView.as_view(), name='tag_edit'), path('tags//delete/', views.TagDeleteView.as_view(), name='tag_delete'), - path('tags//changelog/', ObjectChangeLogView.as_view(), name='tag_changelog', - kwargs={'model': models.Tag}), + path('tags//', include(get_model_urls('extras', 'tag'))), # Config contexts path('config-contexts/', views.ConfigContextListView.as_view(), name='configcontext_list'), @@ -75,8 +70,7 @@ urlpatterns = [ path('config-contexts//', views.ConfigContextView.as_view(), name='configcontext'), path('config-contexts//edit/', views.ConfigContextEditView.as_view(), name='configcontext_edit'), path('config-contexts//delete/', views.ConfigContextDeleteView.as_view(), name='configcontext_delete'), - path('config-contexts//changelog/', ObjectChangeLogView.as_view(), name='configcontext_changelog', - kwargs={'model': models.ConfigContext}), + path('config-contexts//', include(get_model_urls('extras', 'configcontext'))), # Image attachments path('image-attachments/add/', views.ImageAttachmentEditView.as_view(), name='imageattachment_add'), @@ -91,8 +85,7 @@ urlpatterns = [ path('journal-entries//', views.JournalEntryView.as_view(), name='journalentry'), path('journal-entries//edit/', views.JournalEntryEditView.as_view(), name='journalentry_edit'), path('journal-entries//delete/', views.JournalEntryDeleteView.as_view(), name='journalentry_delete'), - path('journal-entries//changelog/', ObjectChangeLogView.as_view(), name='journalentry_changelog', - kwargs={'model': models.JournalEntry}), + path('journal-entries//', include(get_model_urls('extras', 'journalentry'))), # Change logging path('changelog/', views.ObjectChangeListView.as_view(), name='objectchange_list'), diff --git a/netbox/ipam/urls.py b/netbox/ipam/urls.py index d27209fd2..76ea2934b 100644 --- a/netbox/ipam/urls.py +++ b/netbox/ipam/urls.py @@ -1,8 +1,7 @@ -from django.urls import path +from django.urls import include, path -from netbox.views.generic import ObjectChangeLogView, ObjectJournalView +from utilities.urls import get_model_urls from . import views -from .models import * app_name = 'ipam' urlpatterns = [ @@ -16,8 +15,7 @@ urlpatterns = [ path('asns//', views.ASNView.as_view(), name='asn'), path('asns//edit/', views.ASNEditView.as_view(), name='asn_edit'), path('asns//delete/', views.ASNDeleteView.as_view(), name='asn_delete'), - path('asns//changelog/', ObjectChangeLogView.as_view(), name='asn_changelog', kwargs={'model': ASN}), - path('asns//journal/', ObjectJournalView.as_view(), name='asn_journal', kwargs={'model': ASN}), + path('asns//', include(get_model_urls('ipam', 'asn'))), # VRFs path('vrfs/', views.VRFListView.as_view(), name='vrf_list'), @@ -28,8 +26,7 @@ urlpatterns = [ path('vrfs//', views.VRFView.as_view(), name='vrf'), path('vrfs//edit/', views.VRFEditView.as_view(), name='vrf_edit'), path('vrfs//delete/', views.VRFDeleteView.as_view(), name='vrf_delete'), - path('vrfs//changelog/', ObjectChangeLogView.as_view(), name='vrf_changelog', kwargs={'model': VRF}), - path('vrfs//journal/', ObjectJournalView.as_view(), name='vrf_journal', kwargs={'model': VRF}), + path('vrfs//', include(get_model_urls('ipam', 'vrf'))), # Route targets path('route-targets/', views.RouteTargetListView.as_view(), name='routetarget_list'), @@ -40,8 +37,7 @@ urlpatterns = [ path('route-targets//', views.RouteTargetView.as_view(), name='routetarget'), path('route-targets//edit/', views.RouteTargetEditView.as_view(), name='routetarget_edit'), path('route-targets//delete/', views.RouteTargetDeleteView.as_view(), name='routetarget_delete'), - path('route-targets//changelog/', ObjectChangeLogView.as_view(), name='routetarget_changelog', kwargs={'model': RouteTarget}), - path('route-targets//journal/', ObjectJournalView.as_view(), name='routetarget_journal', kwargs={'model': RouteTarget}), + path('route-targets//', include(get_model_urls('ipam', 'routetarget'))), # RIRs path('rirs/', views.RIRListView.as_view(), name='rir_list'), @@ -52,7 +48,7 @@ urlpatterns = [ path('rirs//', views.RIRView.as_view(), name='rir'), path('rirs//edit/', views.RIREditView.as_view(), name='rir_edit'), path('rirs//delete/', views.RIRDeleteView.as_view(), name='rir_delete'), - path('rirs//changelog/', ObjectChangeLogView.as_view(), name='rir_changelog', kwargs={'model': RIR}), + path('rirs//', include(get_model_urls('ipam', 'rir'))), # Aggregates path('aggregates/', views.AggregateListView.as_view(), name='aggregate_list'), @@ -64,8 +60,7 @@ urlpatterns = [ path('aggregates//prefixes/', views.AggregatePrefixesView.as_view(), name='aggregate_prefixes'), path('aggregates//edit/', views.AggregateEditView.as_view(), name='aggregate_edit'), path('aggregates//delete/', views.AggregateDeleteView.as_view(), name='aggregate_delete'), - path('aggregates//changelog/', ObjectChangeLogView.as_view(), name='aggregate_changelog', kwargs={'model': Aggregate}), - path('aggregates//journal/', ObjectJournalView.as_view(), name='aggregate_journal', kwargs={'model': Aggregate}), + path('aggregates//', include(get_model_urls('ipam', 'aggregate'))), # Roles path('roles/', views.RoleListView.as_view(), name='role_list'), @@ -76,7 +71,7 @@ urlpatterns = [ path('roles//', views.RoleView.as_view(), name='role'), path('roles//edit/', views.RoleEditView.as_view(), name='role_edit'), path('roles//delete/', views.RoleDeleteView.as_view(), name='role_delete'), - path('roles//changelog/', ObjectChangeLogView.as_view(), name='role_changelog', kwargs={'model': Role}), + path('roles//', include(get_model_urls('ipam', 'role'))), # Prefixes path('prefixes/', views.PrefixListView.as_view(), name='prefix_list'), @@ -87,11 +82,10 @@ urlpatterns = [ path('prefixes//', views.PrefixView.as_view(), name='prefix'), path('prefixes//edit/', views.PrefixEditView.as_view(), name='prefix_edit'), path('prefixes//delete/', views.PrefixDeleteView.as_view(), name='prefix_delete'), - path('prefixes//changelog/', ObjectChangeLogView.as_view(), name='prefix_changelog', kwargs={'model': Prefix}), - path('prefixes//journal/', ObjectJournalView.as_view(), name='prefix_journal', kwargs={'model': Prefix}), path('prefixes//prefixes/', views.PrefixPrefixesView.as_view(), name='prefix_prefixes'), path('prefixes//ip-ranges/', views.PrefixIPRangesView.as_view(), name='prefix_ipranges'), path('prefixes//ip-addresses/', views.PrefixIPAddressesView.as_view(), name='prefix_ipaddresses'), + path('prefixes//', include(get_model_urls('ipam', 'prefix'))), # IP ranges path('ip-ranges/', views.IPRangeListView.as_view(), name='iprange_list'), @@ -102,9 +96,8 @@ urlpatterns = [ path('ip-ranges//', views.IPRangeView.as_view(), name='iprange'), path('ip-ranges//edit/', views.IPRangeEditView.as_view(), name='iprange_edit'), path('ip-ranges//delete/', views.IPRangeDeleteView.as_view(), name='iprange_delete'), - path('ip-ranges//changelog/', ObjectChangeLogView.as_view(), name='iprange_changelog', kwargs={'model': IPRange}), - path('ip-ranges//journal/', ObjectJournalView.as_view(), name='iprange_journal', kwargs={'model': IPRange}), path('ip-ranges//ip-addresses/', views.IPRangeIPAddressesView.as_view(), name='iprange_ipaddresses'), + path('ip-ranges//', include(get_model_urls('ipam', 'iprange'))), # IP addresses path('ip-addresses/', views.IPAddressListView.as_view(), name='ipaddress_list'), @@ -113,12 +106,11 @@ urlpatterns = [ path('ip-addresses/import/', views.IPAddressBulkImportView.as_view(), name='ipaddress_import'), path('ip-addresses/edit/', views.IPAddressBulkEditView.as_view(), name='ipaddress_bulk_edit'), path('ip-addresses/delete/', views.IPAddressBulkDeleteView.as_view(), name='ipaddress_bulk_delete'), - path('ip-addresses//changelog/', ObjectChangeLogView.as_view(), name='ipaddress_changelog', kwargs={'model': IPAddress}), - path('ip-addresses//journal/', ObjectJournalView.as_view(), name='ipaddress_journal', kwargs={'model': IPAddress}), path('ip-addresses/assign/', views.IPAddressAssignView.as_view(), name='ipaddress_assign'), path('ip-addresses//', views.IPAddressView.as_view(), name='ipaddress'), path('ip-addresses//edit/', views.IPAddressEditView.as_view(), name='ipaddress_edit'), path('ip-addresses//delete/', views.IPAddressDeleteView.as_view(), name='ipaddress_delete'), + path('ip-addresses//', include(get_model_urls('ipam', 'ipaddress'))), # FHRP groups path('fhrp-groups/', views.FHRPGroupListView.as_view(), name='fhrpgroup_list'), @@ -129,8 +121,7 @@ urlpatterns = [ path('fhrp-groups//', views.FHRPGroupView.as_view(), name='fhrpgroup'), path('fhrp-groups//edit/', views.FHRPGroupEditView.as_view(), name='fhrpgroup_edit'), path('fhrp-groups//delete/', views.FHRPGroupDeleteView.as_view(), name='fhrpgroup_delete'), - path('fhrp-groups//changelog/', ObjectChangeLogView.as_view(), name='fhrpgroup_changelog', kwargs={'model': FHRPGroup}), - path('fhrp-groups//journal/', ObjectJournalView.as_view(), name='fhrpgroup_journal', kwargs={'model': FHRPGroup}), + path('fhrp-groups//', include(get_model_urls('ipam', 'fhrpgroup'))), # FHRP group assignments path('fhrp-group-assignments/add/', views.FHRPGroupAssignmentEditView.as_view(), name='fhrpgroupassignment_add'), @@ -146,7 +137,7 @@ urlpatterns = [ path('vlan-groups//', views.VLANGroupView.as_view(), name='vlangroup'), path('vlan-groups//edit/', views.VLANGroupEditView.as_view(), name='vlangroup_edit'), path('vlan-groups//delete/', views.VLANGroupDeleteView.as_view(), name='vlangroup_delete'), - path('vlan-groups//changelog/', ObjectChangeLogView.as_view(), name='vlangroup_changelog', kwargs={'model': VLANGroup}), + path('vlan-groups//', include(get_model_urls('ipam', 'vlangroup'))), # VLANs path('vlans/', views.VLANListView.as_view(), name='vlan_list'), @@ -159,8 +150,7 @@ urlpatterns = [ path('vlans//vm-interfaces/', views.VLANVMInterfacesView.as_view(), name='vlan_vminterfaces'), path('vlans//edit/', views.VLANEditView.as_view(), name='vlan_edit'), path('vlans//delete/', views.VLANDeleteView.as_view(), name='vlan_delete'), - path('vlans//changelog/', ObjectChangeLogView.as_view(), name='vlan_changelog', kwargs={'model': VLAN}), - path('vlans//journal/', ObjectJournalView.as_view(), name='vlan_journal', kwargs={'model': VLAN}), + path('vlans//', include(get_model_urls('ipam', 'vlan'))), # Service templates path('service-templates/', views.ServiceTemplateListView.as_view(), name='servicetemplate_list'), @@ -171,8 +161,7 @@ urlpatterns = [ path('service-templates//', views.ServiceTemplateView.as_view(), name='servicetemplate'), path('service-templates//edit/', views.ServiceTemplateEditView.as_view(), name='servicetemplate_edit'), path('service-templates//delete/', views.ServiceTemplateDeleteView.as_view(), name='servicetemplate_delete'), - path('service-templates//changelog/', ObjectChangeLogView.as_view(), name='servicetemplate_changelog', kwargs={'model': ServiceTemplate}), - path('service-templates//journal/', ObjectJournalView.as_view(), name='servicetemplate_journal', kwargs={'model': ServiceTemplate}), + path('service-templates//', include(get_model_urls('ipam', 'servicetemplate'))), # Services path('services/', views.ServiceListView.as_view(), name='service_list'), @@ -183,8 +172,7 @@ urlpatterns = [ path('services//', views.ServiceView.as_view(), name='service'), path('services//edit/', views.ServiceEditView.as_view(), name='service_edit'), path('services//delete/', views.ServiceDeleteView.as_view(), name='service_delete'), - path('services//changelog/', ObjectChangeLogView.as_view(), name='service_changelog', kwargs={'model': Service}), - path('services//journal/', ObjectJournalView.as_view(), name='service_journal', kwargs={'model': Service}), + path('services//', include(get_model_urls('ipam', 'service'))), # L2VPN path('l2vpns/', views.L2VPNListView.as_view(), name='l2vpn_list'), @@ -195,9 +183,9 @@ urlpatterns = [ path('l2vpns//', views.L2VPNView.as_view(), name='l2vpn'), path('l2vpns//edit/', views.L2VPNEditView.as_view(), name='l2vpn_edit'), path('l2vpns//delete/', views.L2VPNDeleteView.as_view(), name='l2vpn_delete'), - path('l2vpns//changelog/', ObjectChangeLogView.as_view(), name='l2vpn_changelog', kwargs={'model': L2VPN}), - path('l2vpns//journal/', ObjectJournalView.as_view(), name='l2vpn_journal', kwargs={'model': L2VPN}), + path('l2vpns//', include(get_model_urls('ipam', 'l2vpn'))), + # L2VPN terminations path('l2vpn-terminations/', views.L2VPNTerminationListView.as_view(), name='l2vpntermination_list'), path('l2vpn-terminations/add/', views.L2VPNTerminationEditView.as_view(), name='l2vpntermination_add'), path('l2vpn-terminations/import/', views.L2VPNTerminationBulkImportView.as_view(), name='l2vpntermination_import'), @@ -206,6 +194,5 @@ urlpatterns = [ path('l2vpn-terminations//', views.L2VPNTerminationView.as_view(), name='l2vpntermination'), path('l2vpn-terminations//edit/', views.L2VPNTerminationEditView.as_view(), name='l2vpntermination_edit'), path('l2vpn-terminations//delete/', views.L2VPNTerminationDeleteView.as_view(), name='l2vpntermination_delete'), - path('l2vpn-terminations//changelog/', ObjectChangeLogView.as_view(), name='l2vpntermination_changelog', kwargs={'model': L2VPNTermination}), - path('l2vpn-terminations//journal/', ObjectJournalView.as_view(), name='l2vpntermination_journal', kwargs={'model': L2VPNTermination}), + path('l2vpn-terminations//', include(get_model_urls('ipam', 'l2vpntermination'))), ] diff --git a/netbox/tenancy/urls.py b/netbox/tenancy/urls.py index 214100275..b55e949dd 100644 --- a/netbox/tenancy/urls.py +++ b/netbox/tenancy/urls.py @@ -1,8 +1,7 @@ -from django.urls import path +from django.urls import include, path -from netbox.views.generic import ObjectChangeLogView, ObjectJournalView +from utilities.urls import get_model_urls from . import views -from .models import * app_name = 'tenancy' urlpatterns = [ @@ -16,7 +15,7 @@ urlpatterns = [ path('tenant-groups//', views.TenantGroupView.as_view(), name='tenantgroup'), path('tenant-groups//edit/', views.TenantGroupEditView.as_view(), name='tenantgroup_edit'), path('tenant-groups//delete/', views.TenantGroupDeleteView.as_view(), name='tenantgroup_delete'), - path('tenant-groups//changelog/', ObjectChangeLogView.as_view(), name='tenantgroup_changelog', kwargs={'model': TenantGroup}), + path('tenant-groups//', include(get_model_urls('tenancy', 'tenantgroup'))), # Tenants path('tenants/', views.TenantListView.as_view(), name='tenant_list'), @@ -27,8 +26,7 @@ urlpatterns = [ path('tenants//', views.TenantView.as_view(), name='tenant'), path('tenants//edit/', views.TenantEditView.as_view(), name='tenant_edit'), path('tenants//delete/', views.TenantDeleteView.as_view(), name='tenant_delete'), - path('tenants//changelog/', ObjectChangeLogView.as_view(), name='tenant_changelog', kwargs={'model': Tenant}), - path('tenants//journal/', ObjectJournalView.as_view(), name='tenant_journal', kwargs={'model': Tenant}), + path('tenants//', include(get_model_urls('tenancy', 'tenant'))), # Contact groups path('contact-groups/', views.ContactGroupListView.as_view(), name='contactgroup_list'), @@ -39,7 +37,7 @@ urlpatterns = [ path('contact-groups//', views.ContactGroupView.as_view(), name='contactgroup'), path('contact-groups//edit/', views.ContactGroupEditView.as_view(), name='contactgroup_edit'), path('contact-groups//delete/', views.ContactGroupDeleteView.as_view(), name='contactgroup_delete'), - path('contact-groups//changelog/', ObjectChangeLogView.as_view(), name='contactgroup_changelog', kwargs={'model': ContactGroup}), + path('contact-groups//', include(get_model_urls('tenancy', 'contactgroup'))), # Contact roles path('contact-roles/', views.ContactRoleListView.as_view(), name='contactrole_list'), @@ -50,7 +48,7 @@ urlpatterns = [ path('contact-roles//', views.ContactRoleView.as_view(), name='contactrole'), path('contact-roles//edit/', views.ContactRoleEditView.as_view(), name='contactrole_edit'), path('contact-roles//delete/', views.ContactRoleDeleteView.as_view(), name='contactrole_delete'), - path('contact-roles//changelog/', ObjectChangeLogView.as_view(), name='contactrole_changelog', kwargs={'model': ContactRole}), + path('contact-roles//', include(get_model_urls('tenancy', 'contactrole'))), # Contacts path('contacts/', views.ContactListView.as_view(), name='contact_list'), @@ -61,8 +59,7 @@ urlpatterns = [ path('contacts//', views.ContactView.as_view(), name='contact'), path('contacts//edit/', views.ContactEditView.as_view(), name='contact_edit'), path('contacts//delete/', views.ContactDeleteView.as_view(), name='contact_delete'), - path('contacts//changelog/', ObjectChangeLogView.as_view(), name='contact_changelog', kwargs={'model': Contact}), - path('contacts//journal/', ObjectJournalView.as_view(), name='contact_journal', kwargs={'model': Contact}), + path('contacts//', include(get_model_urls('tenancy', 'contact'))), # Contact assignments path('contact-assignments/add/', views.ContactAssignmentEditView.as_view(), name='contactassignment_add'), diff --git a/netbox/virtualization/urls.py b/netbox/virtualization/urls.py index e01dbc059..8968414bc 100644 --- a/netbox/virtualization/urls.py +++ b/netbox/virtualization/urls.py @@ -1,8 +1,7 @@ -from django.urls import path +from django.urls import include, path -from netbox.views.generic import ObjectChangeLogView, ObjectJournalView +from utilities.urls import get_model_urls from . import views -from .models import Cluster, ClusterGroup, ClusterType, VirtualMachine, VMInterface app_name = 'virtualization' urlpatterns = [ @@ -16,7 +15,7 @@ urlpatterns = [ path('cluster-types//', views.ClusterTypeView.as_view(), name='clustertype'), path('cluster-types//edit/', views.ClusterTypeEditView.as_view(), name='clustertype_edit'), path('cluster-types//delete/', views.ClusterTypeDeleteView.as_view(), name='clustertype_delete'), - path('cluster-types//changelog/', ObjectChangeLogView.as_view(), name='clustertype_changelog', kwargs={'model': ClusterType}), + path('cluster-types//', include(get_model_urls('virtualization', 'clustertype'))), # Cluster groups path('cluster-groups/', views.ClusterGroupListView.as_view(), name='clustergroup_list'), @@ -27,7 +26,7 @@ urlpatterns = [ path('cluster-groups//', views.ClusterGroupView.as_view(), name='clustergroup'), path('cluster-groups//edit/', views.ClusterGroupEditView.as_view(), name='clustergroup_edit'), path('cluster-groups//delete/', views.ClusterGroupDeleteView.as_view(), name='clustergroup_delete'), - path('cluster-groups//changelog/', ObjectChangeLogView.as_view(), name='clustergroup_changelog', kwargs={'model': ClusterGroup}), + path('cluster-groups//', include(get_model_urls('virtualization', 'clustergroup'))), # Clusters path('clusters/', views.ClusterListView.as_view(), name='cluster_list'), @@ -40,10 +39,9 @@ urlpatterns = [ path('clusters//virtual-machines/', views.ClusterVirtualMachinesView.as_view(), name='cluster_virtualmachines'), path('clusters//edit/', views.ClusterEditView.as_view(), name='cluster_edit'), path('clusters//delete/', views.ClusterDeleteView.as_view(), name='cluster_delete'), - path('clusters//changelog/', ObjectChangeLogView.as_view(), name='cluster_changelog', kwargs={'model': Cluster}), - path('clusters//journal/', ObjectJournalView.as_view(), name='cluster_journal', kwargs={'model': Cluster}), path('clusters//devices/add/', views.ClusterAddDevicesView.as_view(), name='cluster_add_devices'), path('clusters//devices/remove/', views.ClusterRemoveDevicesView.as_view(), name='cluster_remove_devices'), + path('clusters//', include(get_model_urls('virtualization', 'cluster'))), # Virtual machines path('virtual-machines/', views.VirtualMachineListView.as_view(), name='virtualmachine_list'), @@ -56,8 +54,7 @@ urlpatterns = [ path('virtual-machines//edit/', views.VirtualMachineEditView.as_view(), name='virtualmachine_edit'), path('virtual-machines//delete/', views.VirtualMachineDeleteView.as_view(), name='virtualmachine_delete'), path('virtual-machines//config-context/', views.VirtualMachineConfigContextView.as_view(), name='virtualmachine_configcontext'), - path('virtual-machines//changelog/', ObjectChangeLogView.as_view(), name='virtualmachine_changelog', kwargs={'model': VirtualMachine}), - path('virtual-machines//journal/', ObjectJournalView.as_view(), name='virtualmachine_journal', kwargs={'model': VirtualMachine}), + path('virtual-machines//', include(get_model_urls('virtualization', 'virtualmachine'))), # VM interfaces path('interfaces/', views.VMInterfaceListView.as_view(), name='vminterface_list'), @@ -69,7 +66,7 @@ urlpatterns = [ path('interfaces//', views.VMInterfaceView.as_view(), name='vminterface'), path('interfaces//edit/', views.VMInterfaceEditView.as_view(), name='vminterface_edit'), path('interfaces//delete/', views.VMInterfaceDeleteView.as_view(), name='vminterface_delete'), - path('interfaces//changelog/', ObjectChangeLogView.as_view(), name='vminterface_changelog', kwargs={'model': VMInterface}), + path('interfaces//', include(get_model_urls('virtualization', 'vminterface'))), path('virtual-machines/interfaces/add/', views.VirtualMachineBulkAddInterfaceView.as_view(), name='virtualmachine_bulk_add_vminterface'), ] diff --git a/netbox/wireless/urls.py b/netbox/wireless/urls.py index cef96fd5e..d6e84b1b8 100644 --- a/netbox/wireless/urls.py +++ b/netbox/wireless/urls.py @@ -1,8 +1,7 @@ -from django.urls import path +from django.urls import include, path -from netbox.views.generic import ObjectChangeLogView, ObjectJournalView +from utilities.urls import get_model_urls from . import views -from .models import * app_name = 'wireless' urlpatterns = ( @@ -16,7 +15,7 @@ urlpatterns = ( path('wireless-lan-groups//', views.WirelessLANGroupView.as_view(), name='wirelesslangroup'), path('wireless-lan-groups//edit/', views.WirelessLANGroupEditView.as_view(), name='wirelesslangroup_edit'), path('wireless-lan-groups//delete/', views.WirelessLANGroupDeleteView.as_view(), name='wirelesslangroup_delete'), - path('wireless-lan-groups//changelog/', ObjectChangeLogView.as_view(), name='wirelesslangroup_changelog', kwargs={'model': WirelessLANGroup}), + path('wireless-lan-groups//', include(get_model_urls('wireless', 'wirelesslangroup'))), # Wireless LANs path('wireless-lans/', views.WirelessLANListView.as_view(), name='wirelesslan_list'), @@ -27,8 +26,7 @@ urlpatterns = ( path('wireless-lans//', views.WirelessLANView.as_view(), name='wirelesslan'), path('wireless-lans//edit/', views.WirelessLANEditView.as_view(), name='wirelesslan_edit'), path('wireless-lans//delete/', views.WirelessLANDeleteView.as_view(), name='wirelesslan_delete'), - path('wireless-lans//changelog/', ObjectChangeLogView.as_view(), name='wirelesslan_changelog', kwargs={'model': WirelessLAN}), - path('wireless-lans//journal/', ObjectJournalView.as_view(), name='wirelesslan_journal', kwargs={'model': WirelessLAN}), + path('wireless-lans//', include(get_model_urls('wireless', 'wirelesslan'))), # Wireless links path('wireless-links/', views.WirelessLinkListView.as_view(), name='wirelesslink_list'), @@ -39,7 +37,6 @@ urlpatterns = ( path('wireless-links//', views.WirelessLinkView.as_view(), name='wirelesslink'), path('wireless-links//edit/', views.WirelessLinkEditView.as_view(), name='wirelesslink_edit'), path('wireless-links//delete/', views.WirelessLinkDeleteView.as_view(), name='wirelesslink_delete'), - path('wireless-links//changelog/', ObjectChangeLogView.as_view(), name='wirelesslink_changelog', kwargs={'model': WirelessLink}), - path('wireless-links//journal/', ObjectJournalView.as_view(), name='wirelesslink_journal', kwargs={'model': WirelessLink}), + path('wireless-links//', include(get_model_urls('wireless', 'wirelesslink'))), ) From 10bb8fa10af10e976ff55e15b0cbcf87a4002b33 Mon Sep 17 00:00:00 2001 From: Arthur Hanson Date: Thu, 6 Oct 2022 13:50:53 -0700 Subject: [PATCH 055/162] 9478 link peers to GraphQL (#10574) * 9468 add link_peer to GraphQL * 9478 add class_type * 9478 fix tests * 9478 fix tests * 9478 fix tests --- netbox/dcim/graphql/gfk_mixins.py | 59 +++++++++++++++++++++++++++++++ netbox/dcim/graphql/mixins.py | 7 ++++ netbox/netbox/graphql/types.py | 18 +++++++--- netbox/utilities/testing/api.py | 6 +++- 4 files changed, 84 insertions(+), 6 deletions(-) create mode 100644 netbox/dcim/graphql/gfk_mixins.py diff --git a/netbox/dcim/graphql/gfk_mixins.py b/netbox/dcim/graphql/gfk_mixins.py new file mode 100644 index 000000000..d6be138bc --- /dev/null +++ b/netbox/dcim/graphql/gfk_mixins.py @@ -0,0 +1,59 @@ +import graphene +from circuits.graphql.types import CircuitTerminationType +from circuits.models import CircuitTermination +from dcim.graphql.types import ( + ConsolePortType, + ConsoleServerPortType, + FrontPortType, + InterfaceType, + PowerFeedType, + PowerOutletType, + PowerPortType, + RearPortType, +) +from dcim.models import ( + ConsolePort, + ConsoleServerPort, + FrontPort, + Interface, + PowerFeed, + PowerOutlet, + PowerPort, + RearPort, +) + + +class LinkPeerType(graphene.Union): + class Meta: + types = ( + CircuitTerminationType, + ConsolePortType, + ConsoleServerPortType, + FrontPortType, + InterfaceType, + PowerFeedType, + PowerOutletType, + PowerPortType, + RearPortType, + ) + + @classmethod + def resolve_type(cls, instance, info): + if type(instance) == CircuitTermination: + return CircuitTerminationType + if type(instance) == ConsolePortType: + return ConsolePortType + if type(instance) == ConsoleServerPort: + return ConsoleServerPortType + if type(instance) == FrontPort: + return FrontPortType + if type(instance) == Interface: + return InterfaceType + if type(instance) == PowerFeed: + return PowerFeedType + if type(instance) == PowerOutlet: + return PowerOutletType + if type(instance) == PowerPort: + return PowerPortType + if type(instance) == RearPort: + return RearPortType diff --git a/netbox/dcim/graphql/mixins.py b/netbox/dcim/graphql/mixins.py index d8488aa5f..133d6259f 100644 --- a/netbox/dcim/graphql/mixins.py +++ b/netbox/dcim/graphql/mixins.py @@ -1,5 +1,12 @@ +import graphene + + class CabledObjectMixin: + link_peers = graphene.List('dcim.graphql.gfk_mixins.LinkPeerType') def resolve_cable_end(self, info): # Handle empty values return self.cable_end or None + + def resolve_link_peers(self, info): + return self.link_peers diff --git a/netbox/netbox/graphql/types.py b/netbox/netbox/graphql/types.py index 41eff6d46..10847742b 100644 --- a/netbox/netbox/graphql/types.py +++ b/netbox/netbox/graphql/types.py @@ -1,10 +1,14 @@ import graphene from django.contrib.contenttypes.models import ContentType +from extras.graphql.mixins import ( + ChangelogMixin, + CustomFieldsMixin, + JournalEntriesMixin, + TagsMixin, +) from graphene_django import DjangoObjectType -from extras.graphql.mixins import ChangelogMixin, CustomFieldsMixin, JournalEntriesMixin, TagsMixin - __all__ = ( 'BaseObjectType', 'ObjectType', @@ -22,9 +26,7 @@ class BaseObjectType(DjangoObjectType): Base GraphQL object type for all NetBox objects. Restricts the model queryset to enforce object permissions. """ display = graphene.String() - - def resolve_display(parent, info, **kwargs): - return str(parent) + class_type = graphene.String() class Meta: abstract = True @@ -34,6 +36,12 @@ class BaseObjectType(DjangoObjectType): # Enforce object permissions on the queryset return queryset.restrict(info.context.user, 'view') + def resolve_display(parent, info, **kwargs): + return str(parent) + + def resolve_class_type(parent, info, **kwargs): + return parent.__class__.__name__ + class ObjectType( ChangelogMixin, diff --git a/netbox/utilities/testing/api.py b/netbox/utilities/testing/api.py index f26e5fffc..8815ede1f 100644 --- a/netbox/utilities/testing/api.py +++ b/netbox/utilities/testing/api.py @@ -1,3 +1,4 @@ +import inspect import json from django.conf import settings @@ -5,7 +6,7 @@ from django.contrib.auth.models import User from django.contrib.contenttypes.models import ContentType from django.urls import reverse from django.test import override_settings -from graphene.types import Dynamic as GQLDynamic, List as GQLList +from graphene.types import Dynamic as GQLDynamic, List as GQLList, Union as GQLUnion from rest_framework import status from rest_framework.test import APIClient @@ -449,6 +450,9 @@ class APIViewTestCases: if type(field) is GQLDynamic: # Dynamic fields must specify a subselection fields_string += f'{field_name} {{ id }}\n' + elif type(field.type) is GQLList and inspect.isclass(field.type.of_type) and issubclass(field.type.of_type, GQLUnion): + # Union types dont' have an id or consistent values + continue elif type(field.type) is GQLList and field_name != 'choices': # TODO: Come up with something more elegant # Temporary hack to support automated testing of reverse generic relations From 663652f45e42d638c34b97824b3110bfa781ff21 Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Thu, 6 Oct 2022 16:54:19 -0400 Subject: [PATCH 056/162] Changelog for #9478 --- docs/release-notes/version-3.4.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/release-notes/version-3.4.md b/docs/release-notes/version-3.4.md index 313a84f20..cc4d0d6f5 100644 --- a/docs/release-notes/version-3.4.md +++ b/docs/release-notes/version-3.4.md @@ -18,6 +18,7 @@ A new `PluginMenu` class has been introduced, which enables a plugin to inject a ### Enhancements * [#9249](https://github.com/netbox-community/netbox/issues/9249) - Device and virtual machine names are no longer case-sensitive +* [#9478](https://github.com/netbox-community/netbox/issues/9478) - Add `link_peers` field to GraphQL types for cabled objects * [#9654](https://github.com/netbox-community/netbox/issues/9654) - Add `weight` field to racks, device types, and module types * [#9892](https://github.com/netbox-community/netbox/issues/9892) - Add optional `name` field for FHRP groups * [#10348](https://github.com/netbox-community/netbox/issues/10348) - Add decimal custom field type @@ -51,3 +52,4 @@ A new `PluginMenu` class has been introduced, which enables a plugin to inject a ### GraphQL API Changes * All object types now include a `display` field +* All cabled object types now include a `link_peers` field From 4c999daacd94588ef328d4b663319970cf82131a Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Fri, 7 Oct 2022 10:54:34 -0400 Subject: [PATCH 057/162] Introduce ViewTab --- netbox/netbox/models/features.py | 7 +----- netbox/netbox/views/generic/feature_views.py | 11 ++++++++++ netbox/utilities/urls.py | 13 ++++++----- netbox/utilities/views.py | 23 +++++++++++--------- 4 files changed, 33 insertions(+), 21 deletions(-) diff --git a/netbox/netbox/models/features.py b/netbox/netbox/models/features.py index 0d519a8ba..5325cbcd1 100644 --- a/netbox/netbox/models/features.py +++ b/netbox/netbox/models/features.py @@ -13,7 +13,7 @@ from extras.utils import is_taggable, register_features from netbox.signals import post_clean from utilities.json import CustomFieldJSONEncoder from utilities.utils import serialize_object -from utilities.views import register_model_view +from utilities.views import ViewTab, register_model_view __all__ = ( 'ChangeLoggingMixin', @@ -300,9 +300,6 @@ def _register_features(sender, **kwargs): sender, 'journal', 'netbox.views.generic.ObjectJournalView', - tab_label='Journal', - tab_badge=lambda x: x.journal_entries.count(), - tab_permission='extras.view_journalentry', kwargs={'model': sender} ) if issubclass(sender, ChangeLoggingMixin): @@ -310,7 +307,5 @@ def _register_features(sender, **kwargs): sender, 'changelog', 'netbox.views.generic.ObjectChangeLogView', - tab_label='Changelog', - tab_permission='extras.view_objectchange', kwargs={'model': sender} ) diff --git a/netbox/netbox/views/generic/feature_views.py b/netbox/netbox/views/generic/feature_views.py index 85e675a69..963fad196 100644 --- a/netbox/netbox/views/generic/feature_views.py +++ b/netbox/netbox/views/generic/feature_views.py @@ -1,10 +1,12 @@ from django.contrib.contenttypes.models import ContentType from django.db.models import Q from django.shortcuts import get_object_or_404, render +from django.utils.translation import gettext as _ from django.views.generic import View from extras import forms, tables from extras.models import * +from utilities.views import ViewTab __all__ = ( 'ObjectChangeLogView', @@ -23,6 +25,10 @@ class ObjectChangeLogView(View): base_template: The name of the template to extend. If not provided, "{app}/{model}.html" will be used. """ base_template = None + tab = ViewTab( + label=_('Changelog'), + permission='extras.view_objectchange' + ) def get(self, request, model, **kwargs): @@ -71,6 +77,11 @@ class ObjectJournalView(View): base_template: The name of the template to extend. If not provided, "{app}/{model}.html" will be used. """ base_template = None + tab = ViewTab( + label=_('Journal'), + badge=lambda obj: obj.journal_entries.count(), + permission='extras.view_journalentry' + ) def get(self, request, model, **kwargs): diff --git a/netbox/utilities/urls.py b/netbox/utilities/urls.py index 3920889b3..2db8bc91f 100644 --- a/netbox/utilities/urls.py +++ b/netbox/utilities/urls.py @@ -22,14 +22,17 @@ def get_model_urls(app_label, model_name): # No views have been registered for this model views = [] - for view in views: + for config in views: # Import the view class or function - callable = import_string(view['path']) - if issubclass(callable, View): - callable = callable.as_view() + if type(config['view']) is str: + view_ = import_string(config['view']) + else: + view_ = config['view'] + if issubclass(view_, View): + view_ = view_.as_view() # Create a path to the view paths.append( - path(f"{view['name']}/", callable, name=f"{model_name}_{view['name']}", kwargs=view['kwargs']) + path(f"{config['name']}/", view_, name=f"{model_name}_{config['name']}", kwargs=config['kwargs']) ) return paths diff --git a/netbox/utilities/views.py b/netbox/utilities/views.py index a4f5c79a9..1200112be 100644 --- a/netbox/utilities/views.py +++ b/netbox/utilities/views.py @@ -10,6 +10,7 @@ __all__ = ( 'ContentTypePermissionRequiredMixin', 'GetReturnURLMixin', 'ObjectPermissionRequiredMixin', + 'ViewTab', 'register_model_view', ) @@ -132,18 +133,23 @@ class GetReturnURLMixin: return reverse('home') -def register_model_view(model, name, view_path, tab_label=None, tab_badge=None, tab_permission=None, kwargs=None): +class ViewTab: + + def __init__(self, label, badge=None, permission=None, always_display=True): + self.label = label + self.badge = badge + self.permission = permission + self.always_display = always_display + + +def register_model_view(model, name, view, kwargs=None): """ Register a subview for a core model. Args: model: The Django model class with which this view will be associated name: The name to register when creating a URL path - view_path: A dotted path to the view class or function (e.g. 'myplugin.views.FooView') - tab_label: The label to display for the view's tab under the model view (optional) - tab_badge: A static value or callable to display a badge within the view's tab (optional). If a callable is - specified, it must accept the current object as its single positional argument. - tab_permission: The name of the permission required to display the tab (optional) + view: A class-based or function view, or the dotted path to it (e.g. 'myplugin.views.FooView') kwargs: A dictionary of keyword arguments to send to the view (optional) """ app_label = model._meta.app_label @@ -154,9 +160,6 @@ def register_model_view(model, name, view_path, tab_label=None, tab_badge=None, registry['views'][app_label][model_name].append({ 'name': name, - 'path': view_path, - 'tab_label': tab_label, - 'tab_badge': tab_badge, - 'tab_permission': tab_permission, + 'view': view, 'kwargs': kwargs or {}, }) From bfe26b46a6a0bb93bfcf8d16fe088e61d3d51295 Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Fri, 7 Oct 2022 11:36:14 -0400 Subject: [PATCH 058/162] Wrap model detail views with register_model_view() --- netbox/dcim/urls.py | 27 --- netbox/dcim/views.py | 217 +++++++++++++++++- netbox/extras/views.py | 2 +- netbox/ipam/urls.py | 5 - netbox/ipam/views.py | 38 ++- netbox/netbox/models/features.py | 8 +- netbox/templates/dcim/device/base.html | 89 ------- netbox/templates/dcim/devicetype/base.html | 82 ------- netbox/templates/dcim/moduletype/base.html | 58 ----- netbox/templates/ipam/aggregate/base.html | 10 - netbox/templates/ipam/iprange/base.html | 10 - netbox/templates/ipam/prefix/base.html | 18 -- .../virtualization/cluster/base.html | 17 -- .../virtualization/virtualmachine/base.html | 15 -- netbox/utilities/templatetags/tabs.py | 28 ++- netbox/utilities/urls.py | 3 +- netbox/utilities/views.py | 45 ++-- netbox/virtualization/urls.py | 4 - netbox/virtualization/views.py | 27 ++- 19 files changed, 320 insertions(+), 383 deletions(-) diff --git a/netbox/dcim/urls.py b/netbox/dcim/urls.py index 86d28e224..b92a0eec9 100644 --- a/netbox/dcim/urls.py +++ b/netbox/dcim/urls.py @@ -105,16 +105,6 @@ urlpatterns = [ path('device-types/edit/', views.DeviceTypeBulkEditView.as_view(), name='devicetype_bulk_edit'), path('device-types/delete/', views.DeviceTypeBulkDeleteView.as_view(), name='devicetype_bulk_delete'), path('device-types//', views.DeviceTypeView.as_view(), name='devicetype'), - path('device-types//console-ports/', views.DeviceTypeConsolePortsView.as_view(), name='devicetype_consoleports'), - path('device-types//console-server-ports/', views.DeviceTypeConsoleServerPortsView.as_view(), name='devicetype_consoleserverports'), - path('device-types//power-ports/', views.DeviceTypePowerPortsView.as_view(), name='devicetype_powerports'), - path('device-types//power-outlets/', views.DeviceTypePowerOutletsView.as_view(), name='devicetype_poweroutlets'), - path('device-types//interfaces/', views.DeviceTypeInterfacesView.as_view(), name='devicetype_interfaces'), - path('device-types//front-ports/', views.DeviceTypeFrontPortsView.as_view(), name='devicetype_frontports'), - path('device-types//rear-ports/', views.DeviceTypeRearPortsView.as_view(), name='devicetype_rearports'), - path('device-types//module-bays/', views.DeviceTypeModuleBaysView.as_view(), name='devicetype_modulebays'), - path('device-types//device-bays/', views.DeviceTypeDeviceBaysView.as_view(), name='devicetype_devicebays'), - path('device-types//inventory-items/', views.DeviceTypeInventoryItemsView.as_view(), name='devicetype_inventoryitems'), path('device-types//edit/', views.DeviceTypeEditView.as_view(), name='devicetype_edit'), path('device-types//delete/', views.DeviceTypeDeleteView.as_view(), name='devicetype_delete'), path('device-types//', include(get_model_urls('dcim', 'devicetype'))), @@ -126,13 +116,6 @@ urlpatterns = [ path('module-types/edit/', views.ModuleTypeBulkEditView.as_view(), name='moduletype_bulk_edit'), path('module-types/delete/', views.ModuleTypeBulkDeleteView.as_view(), name='moduletype_bulk_delete'), path('module-types//', views.ModuleTypeView.as_view(), name='moduletype'), - path('module-types//console-ports/', views.ModuleTypeConsolePortsView.as_view(), name='moduletype_consoleports'), - path('module-types//console-server-ports/', views.ModuleTypeConsoleServerPortsView.as_view(), name='moduletype_consoleserverports'), - path('module-types//power-ports/', views.ModuleTypePowerPortsView.as_view(), name='moduletype_powerports'), - path('module-types//power-outlets/', views.ModuleTypePowerOutletsView.as_view(), name='moduletype_poweroutlets'), - path('module-types//interfaces/', views.ModuleTypeInterfacesView.as_view(), name='moduletype_interfaces'), - path('module-types//front-ports/', views.ModuleTypeFrontPortsView.as_view(), name='moduletype_frontports'), - path('module-types//rear-ports/', views.ModuleTypeRearPortsView.as_view(), name='moduletype_rearports'), path('module-types//edit/', views.ModuleTypeEditView.as_view(), name='moduletype_edit'), path('module-types//delete/', views.ModuleTypeDeleteView.as_view(), name='moduletype_delete'), path('module-types//', include(get_model_urls('dcim', 'moduletype'))), @@ -250,17 +233,7 @@ urlpatterns = [ path('devices//', views.DeviceView.as_view(), name='device'), path('devices//edit/', views.DeviceEditView.as_view(), name='device_edit'), path('devices//delete/', views.DeviceDeleteView.as_view(), name='device_delete'), - path('devices//console-ports/', views.DeviceConsolePortsView.as_view(), name='device_consoleports'), - path('devices//console-server-ports/', views.DeviceConsoleServerPortsView.as_view(), name='device_consoleserverports'), - path('devices//power-ports/', views.DevicePowerPortsView.as_view(), name='device_powerports'), - path('devices//power-outlets/', views.DevicePowerOutletsView.as_view(), name='device_poweroutlets'), - path('devices//interfaces/', views.DeviceInterfacesView.as_view(), name='device_interfaces'), - path('devices//front-ports/', views.DeviceFrontPortsView.as_view(), name='device_frontports'), - path('devices//rear-ports/', views.DeviceRearPortsView.as_view(), name='device_rearports'), - path('devices//module-bays/', views.DeviceModuleBaysView.as_view(), name='device_modulebays'), - path('devices//device-bays/', views.DeviceDeviceBaysView.as_view(), name='device_devicebays'), path('devices//inventory/', views.DeviceInventoryView.as_view(), name='device_inventory'), - path('devices//config-context/', views.DeviceConfigContextView.as_view(), name='device_configcontext'), path('devices//status/', views.DeviceStatusView.as_view(), name='device_status'), path('devices//lldp-neighbors/', views.DeviceLLDPNeighborsView.as_view(), name='device_lldp_neighbors'), path('devices//config/', views.DeviceConfigView.as_view(), name='device_config'), diff --git a/netbox/dcim/views.py b/netbox/dcim/views.py index 5930d6b2d..e299357d1 100644 --- a/netbox/dcim/views.py +++ b/netbox/dcim/views.py @@ -8,6 +8,7 @@ from django.shortcuts import get_object_or_404, redirect, render from django.urls import reverse from django.utils.html import escape from django.utils.safestring import mark_safe +from django.utils.translation import gettext as _ from django.views.generic import View from circuits.models import Circuit, CircuitTermination @@ -19,7 +20,7 @@ from utilities.forms import ConfirmationForm from utilities.paginator import EnhancedPaginator, get_paginate_count from utilities.permissions import get_permission_for_model from utilities.utils import count_related -from utilities.views import GetReturnURLMixin, ObjectPermissionRequiredMixin +from utilities.views import GetReturnURLMixin, ObjectPermissionRequiredMixin, ViewTab, register_model_view from virtualization.models import VirtualMachine from . import filtersets, forms, tables from .choices import DeviceFaceChoices @@ -47,7 +48,7 @@ class DeviceComponentsView(generic.ObjectChildrenView): def get_extra_context(self, request, instance): return { - 'active_tab': f"{self.child_model._meta.verbose_name_plural.replace(' ', '-')}", + 'active_tab': f"{self.child_model._meta.verbose_name_plural.replace(' ', '')}", } @@ -60,10 +61,11 @@ class DeviceTypeComponentsView(DeviceComponentsView): return self.child_model.objects.restrict(request.user, 'view').filter(device_type=parent) def get_extra_context(self, request, instance): - context = super().get_extra_context(request, instance) - context['return_url'] = reverse(self.viewname, kwargs={'pk': instance.pk}) - - return context + model_name = self.child_model._meta.verbose_name_plural + return { + 'active_tab': f"{model_name.replace(' ', '').replace('template', '')}", + 'return_url': reverse(self.viewname, kwargs={'pk': instance.pk}), + } class ModuleTypeComponentsView(DeviceComponentsView): @@ -75,10 +77,11 @@ class ModuleTypeComponentsView(DeviceComponentsView): return self.child_model.objects.restrict(request.user, 'view').filter(module_type=parent) def get_extra_context(self, request, instance): - context = super().get_extra_context(request, instance) - context['return_url'] = reverse(self.viewname, kwargs={'pk': instance.pk}) - - return context + model_name = self.child_model._meta.verbose_name_plural + return { + 'active_tab': f"{model_name.replace(' ', '').replace('template', '')}", + 'return_url': reverse(self.viewname, kwargs={'pk': instance.pk}), + } class BulkDisconnectView(GetReturnURLMixin, ObjectPermissionRequiredMixin, View): @@ -857,74 +860,144 @@ class DeviceTypeView(generic.ObjectView): } +@register_model_view(DeviceType, 'consoleports', path='console-ports') class DeviceTypeConsolePortsView(DeviceTypeComponentsView): child_model = ConsolePortTemplate table = tables.ConsolePortTemplateTable filterset = filtersets.ConsolePortTemplateFilterSet viewname = 'dcim:devicetype_consoleports' + tab = ViewTab( + label=_('Console Ports'), + badge=lambda obj: obj.consoleporttemplates.count(), + permission='dcim.view_consoleporttemplate', + always_display=False + ) +@register_model_view(DeviceType, 'consoleserverports', path='console-server-ports') class DeviceTypeConsoleServerPortsView(DeviceTypeComponentsView): child_model = ConsoleServerPortTemplate table = tables.ConsoleServerPortTemplateTable filterset = filtersets.ConsoleServerPortTemplateFilterSet viewname = 'dcim:devicetype_consoleserverports' + tab = ViewTab( + label=_('Console Server Ports'), + badge=lambda obj: obj.consoleserverporttemplates.count(), + permission='dcim.view_consoleserverporttemplate', + always_display=False + ) +@register_model_view(DeviceType, 'powerports', path='power-ports') class DeviceTypePowerPortsView(DeviceTypeComponentsView): child_model = PowerPortTemplate table = tables.PowerPortTemplateTable filterset = filtersets.PowerPortTemplateFilterSet viewname = 'dcim:devicetype_powerports' + tab = ViewTab( + label=_('Power Ports'), + badge=lambda obj: obj.powerporttemplates.count(), + permission='dcim.view_powerporttemplate', + always_display=False + ) +@register_model_view(DeviceType, 'poweroutlets', path='power-outlets') class DeviceTypePowerOutletsView(DeviceTypeComponentsView): child_model = PowerOutletTemplate table = tables.PowerOutletTemplateTable filterset = filtersets.PowerOutletTemplateFilterSet viewname = 'dcim:devicetype_poweroutlets' + tab = ViewTab( + label=_('Power Outlets'), + badge=lambda obj: obj.poweroutlettemplates.count(), + permission='dcim.view_poweroutlettemplate', + always_display=False + ) +@register_model_view(DeviceType, 'interfaces') class DeviceTypeInterfacesView(DeviceTypeComponentsView): child_model = InterfaceTemplate table = tables.InterfaceTemplateTable filterset = filtersets.InterfaceTemplateFilterSet viewname = 'dcim:devicetype_interfaces' + tab = ViewTab( + label=_('Interfaces'), + badge=lambda obj: obj.interfacetemplates.count(), + permission='dcim.view_interfacetemplate', + always_display=False + ) +@register_model_view(DeviceType, 'frontports', path='front-ports') class DeviceTypeFrontPortsView(DeviceTypeComponentsView): child_model = FrontPortTemplate table = tables.FrontPortTemplateTable filterset = filtersets.FrontPortTemplateFilterSet viewname = 'dcim:devicetype_frontports' + tab = ViewTab( + label=_('Front Ports'), + badge=lambda obj: obj.frontporttemplates.count(), + permission='dcim.view_frontporttemplate', + always_display=False + ) +@register_model_view(DeviceType, 'rearports', path='rear-ports') class DeviceTypeRearPortsView(DeviceTypeComponentsView): child_model = RearPortTemplate table = tables.RearPortTemplateTable filterset = filtersets.RearPortTemplateFilterSet viewname = 'dcim:devicetype_rearports' + tab = ViewTab( + label=_('Rear Ports'), + badge=lambda obj: obj.rearporttemplates.count(), + permission='dcim.view_rearporttemplate', + always_display=False + ) +@register_model_view(DeviceType, 'modulebays', path='module-bays') class DeviceTypeModuleBaysView(DeviceTypeComponentsView): child_model = ModuleBayTemplate table = tables.ModuleBayTemplateTable filterset = filtersets.ModuleBayTemplateFilterSet viewname = 'dcim:devicetype_modulebays' + tab = ViewTab( + label=_('Module Bays'), + badge=lambda obj: obj.modulebaytemplates.count(), + permission='dcim.view_modulebaytemplate', + always_display=False + ) +@register_model_view(DeviceType, 'devicebays', path='device-bays') class DeviceTypeDeviceBaysView(DeviceTypeComponentsView): child_model = DeviceBayTemplate table = tables.DeviceBayTemplateTable filterset = filtersets.DeviceBayTemplateFilterSet viewname = 'dcim:devicetype_devicebays' + tab = ViewTab( + label=_('Device Bays'), + badge=lambda obj: obj.devicebaytemplates.count(), + permission='dcim.view_devicebaytemplate', + always_display=False + ) +@register_model_view(DeviceType, 'inventoryitems', path='inventory-items') class DeviceTypeInventoryItemsView(DeviceTypeComponentsView): child_model = InventoryItemTemplate table = tables.InventoryItemTemplateTable filterset = filtersets.InventoryItemTemplateFilterSet viewname = 'dcim:devicetype_inventoryitems' + tab = ViewTab( + label=_('Inventory Items'), + badge=lambda obj: obj.inventoryitemtemplates.count(), + permission='dcim.view_invenotryitemtemplate', + always_display=False + ) class DeviceTypeEditView(generic.ObjectEditView): @@ -1011,53 +1084,102 @@ class ModuleTypeView(generic.ObjectView): } +@register_model_view(ModuleType, 'consoleports', path='console-ports') class ModuleTypeConsolePortsView(ModuleTypeComponentsView): child_model = ConsolePortTemplate table = tables.ConsolePortTemplateTable filterset = filtersets.ConsolePortTemplateFilterSet viewname = 'dcim:moduletype_consoleports' + tab = ViewTab( + label=_('Console Ports'), + badge=lambda obj: obj.consoleporttemplates.count(), + permission='dcim.view_consoleporttemplate', + always_display=False + ) +@register_model_view(ModuleType, 'consoleserverports', path='console-server-ports') class ModuleTypeConsoleServerPortsView(ModuleTypeComponentsView): child_model = ConsoleServerPortTemplate table = tables.ConsoleServerPortTemplateTable filterset = filtersets.ConsoleServerPortTemplateFilterSet viewname = 'dcim:moduletype_consoleserverports' + tab = ViewTab( + label=_('Console Server Ports'), + badge=lambda obj: obj.consoleserverporttemplates.count(), + permission='dcim.view_consoleserverporttemplate', + always_display=False + ) +@register_model_view(ModuleType, 'powerports', path='power-ports') class ModuleTypePowerPortsView(ModuleTypeComponentsView): child_model = PowerPortTemplate table = tables.PowerPortTemplateTable filterset = filtersets.PowerPortTemplateFilterSet viewname = 'dcim:moduletype_powerports' + tab = ViewTab( + label=_('Power Ports'), + badge=lambda obj: obj.powerporttemplates.count(), + permission='dcim.view_powerporttemplate', + always_display=False + ) +@register_model_view(ModuleType, 'poweroutlets', path='power-outlets') class ModuleTypePowerOutletsView(ModuleTypeComponentsView): child_model = PowerOutletTemplate table = tables.PowerOutletTemplateTable filterset = filtersets.PowerOutletTemplateFilterSet viewname = 'dcim:moduletype_poweroutlets' + tab = ViewTab( + label=_('Power Outlets'), + badge=lambda obj: obj.poweroutlettemplates.count(), + permission='dcim.view_poweroutlettemplate', + always_display=False + ) +@register_model_view(ModuleType, 'interfaces') class ModuleTypeInterfacesView(ModuleTypeComponentsView): child_model = InterfaceTemplate table = tables.InterfaceTemplateTable filterset = filtersets.InterfaceTemplateFilterSet viewname = 'dcim:moduletype_interfaces' + tab = ViewTab( + label=_('Interfaces'), + badge=lambda obj: obj.interfacetemplates.count(), + permission='dcim.view_interfacetemplate', + always_display=False + ) +@register_model_view(ModuleType, 'frontports', path='front-ports') class ModuleTypeFrontPortsView(ModuleTypeComponentsView): child_model = FrontPortTemplate table = tables.FrontPortTemplateTable filterset = filtersets.FrontPortTemplateFilterSet viewname = 'dcim:moduletype_frontports' + tab = ViewTab( + label=_('Front Ports'), + badge=lambda obj: obj.frontporttemplates.count(), + permission='dcim.view_frontporttemplate', + always_display=False + ) +@register_model_view(ModuleType, 'rearports', path='rear-ports') class ModuleTypeRearPortsView(ModuleTypeComponentsView): child_model = RearPortTemplate table = tables.RearPortTemplateTable filterset = filtersets.RearPortTemplateFilterSet viewname = 'dcim:moduletype_rearports' + tab = ViewTab( + label=_('Rear Ports'), + badge=lambda obj: obj.rearporttemplates.count(), + permission='dcim.view_rearporttemplate', + always_display=False + ) class ModuleTypeEditView(generic.ObjectEditView): @@ -1620,39 +1742,74 @@ class DeviceView(generic.ObjectView): } +@register_model_view(Device, 'consoleports', path='console-ports') class DeviceConsolePortsView(DeviceComponentsView): child_model = ConsolePort table = tables.DeviceConsolePortTable filterset = filtersets.ConsolePortFilterSet template_name = 'dcim/device/consoleports.html' + tab = ViewTab( + label=_('Console Ports'), + badge=lambda obj: obj.consoleports.count(), + permission='dcim.view_consoleport', + always_display=False + ) +@register_model_view(Device, 'consoleserverports', path='console-server-ports') class DeviceConsoleServerPortsView(DeviceComponentsView): child_model = ConsoleServerPort table = tables.DeviceConsoleServerPortTable filterset = filtersets.ConsoleServerPortFilterSet template_name = 'dcim/device/consoleserverports.html' + tab = ViewTab( + label=_('Console Server Ports'), + badge=lambda obj: obj.consoleserverports.count(), + permission='dcim.view_consoleserverport', + always_display=False + ) +@register_model_view(Device, 'powerports', path='power-ports') class DevicePowerPortsView(DeviceComponentsView): child_model = PowerPort table = tables.DevicePowerPortTable filterset = filtersets.PowerPortFilterSet template_name = 'dcim/device/powerports.html' + tab = ViewTab( + label=_('Power Ports'), + badge=lambda obj: obj.powerports.count(), + permission='dcim.view_powerport', + always_display=False + ) +@register_model_view(Device, 'poweroutlets', path='power-outlets') class DevicePowerOutletsView(DeviceComponentsView): child_model = PowerOutlet table = tables.DevicePowerOutletTable filterset = filtersets.PowerOutletFilterSet template_name = 'dcim/device/poweroutlets.html' + tab = ViewTab( + label=_('Power Outlets'), + badge=lambda obj: obj.poweroutlets.count(), + permission='dcim.view_poweroutlet', + always_display=False + ) +@register_model_view(Device, 'interfaces') class DeviceInterfacesView(DeviceComponentsView): child_model = Interface table = tables.DeviceInterfaceTable filterset = filtersets.InterfaceFilterSet template_name = 'dcim/device/interfaces.html' + tab = ViewTab( + label=_('Interfaces'), + badge=lambda obj: obj.interfaces.count(), + permission='dcim.view_interface', + always_display=False + ) def get_children(self, request, parent): return parent.vc_interfaces().restrict(request.user, 'view').prefetch_related( @@ -1661,39 +1818,74 @@ class DeviceInterfacesView(DeviceComponentsView): ) +@register_model_view(Device, 'frontports', path='front-ports') class DeviceFrontPortsView(DeviceComponentsView): child_model = FrontPort table = tables.DeviceFrontPortTable filterset = filtersets.FrontPortFilterSet template_name = 'dcim/device/frontports.html' + tab = ViewTab( + label=_('Front Ports'), + badge=lambda obj: obj.frontports.count(), + permission='dcim.view_frontport', + always_display=False + ) +@register_model_view(Device, 'rearports', path='rear-ports') class DeviceRearPortsView(DeviceComponentsView): child_model = RearPort table = tables.DeviceRearPortTable filterset = filtersets.RearPortFilterSet template_name = 'dcim/device/rearports.html' + tab = ViewTab( + label=_('Rear Ports'), + badge=lambda obj: obj.rearports.count(), + permission='dcim.view_rearport', + always_display=False + ) +@register_model_view(Device, 'modulebays', path='module-bays') class DeviceModuleBaysView(DeviceComponentsView): child_model = ModuleBay table = tables.DeviceModuleBayTable filterset = filtersets.ModuleBayFilterSet template_name = 'dcim/device/modulebays.html' + tab = ViewTab( + label=_('Module Bays'), + badge=lambda obj: obj.modulebays.count(), + permission='dcim.view_modulebay', + always_display=False + ) +@register_model_view(Device, 'devicebays', path='device-bays') class DeviceDeviceBaysView(DeviceComponentsView): child_model = DeviceBay table = tables.DeviceDeviceBayTable filterset = filtersets.DeviceBayFilterSet template_name = 'dcim/device/devicebays.html' + tab = ViewTab( + label=_('Device Bays'), + badge=lambda obj: obj.devicebays.count(), + permission='dcim.view_devicebay', + always_display=False + ) +@register_model_view(Device, 'inventory') class DeviceInventoryView(DeviceComponentsView): child_model = InventoryItem table = tables.DeviceInventoryItemTable filterset = filtersets.InventoryItemFilterSet template_name = 'dcim/device/inventory.html' + tab = ViewTab( + label=_('Inventory Items'), + badge=lambda obj: obj.inventoryitems.count(), + permission='dcim.view_inventoryitem', + always_display=False + ) class DeviceStatusView(generic.ObjectView): @@ -1736,9 +1928,14 @@ class DeviceConfigView(generic.ObjectView): } +@register_model_view(Device, 'configcontext', path='config-context') class DeviceConfigContextView(ObjectConfigContextView): queryset = Device.objects.annotate_config_context_data() base_template = 'dcim/device/base.html' + tab = ViewTab( + label=_('Config Context'), + permission='extras.view_configcontext' + ) class DeviceEditView(generic.ObjectEditView): diff --git a/netbox/extras/views.py b/netbox/extras/views.py index d8a015bb0..f95b3fb64 100644 --- a/netbox/extras/views.py +++ b/netbox/extras/views.py @@ -352,7 +352,7 @@ class ObjectConfigContextView(generic.ObjectView): 'source_contexts': source_contexts, 'format': format, 'base_template': self.base_template, - 'active_tab': 'config-context', + 'active_tab': 'configcontext', } diff --git a/netbox/ipam/urls.py b/netbox/ipam/urls.py index 76ea2934b..c7b60045b 100644 --- a/netbox/ipam/urls.py +++ b/netbox/ipam/urls.py @@ -57,7 +57,6 @@ urlpatterns = [ path('aggregates/edit/', views.AggregateBulkEditView.as_view(), name='aggregate_bulk_edit'), path('aggregates/delete/', views.AggregateBulkDeleteView.as_view(), name='aggregate_bulk_delete'), path('aggregates//', views.AggregateView.as_view(), name='aggregate'), - path('aggregates//prefixes/', views.AggregatePrefixesView.as_view(), name='aggregate_prefixes'), path('aggregates//edit/', views.AggregateEditView.as_view(), name='aggregate_edit'), path('aggregates//delete/', views.AggregateDeleteView.as_view(), name='aggregate_delete'), path('aggregates//', include(get_model_urls('ipam', 'aggregate'))), @@ -82,9 +81,6 @@ urlpatterns = [ path('prefixes//', views.PrefixView.as_view(), name='prefix'), path('prefixes//edit/', views.PrefixEditView.as_view(), name='prefix_edit'), path('prefixes//delete/', views.PrefixDeleteView.as_view(), name='prefix_delete'), - path('prefixes//prefixes/', views.PrefixPrefixesView.as_view(), name='prefix_prefixes'), - path('prefixes//ip-ranges/', views.PrefixIPRangesView.as_view(), name='prefix_ipranges'), - path('prefixes//ip-addresses/', views.PrefixIPAddressesView.as_view(), name='prefix_ipaddresses'), path('prefixes//', include(get_model_urls('ipam', 'prefix'))), # IP ranges @@ -96,7 +92,6 @@ urlpatterns = [ path('ip-ranges//', views.IPRangeView.as_view(), name='iprange'), path('ip-ranges//edit/', views.IPRangeEditView.as_view(), name='iprange_edit'), path('ip-ranges//delete/', views.IPRangeDeleteView.as_view(), name='iprange_delete'), - path('ip-ranges//ip-addresses/', views.IPRangeIPAddressesView.as_view(), name='iprange_ipaddresses'), path('ip-ranges//', include(get_model_urls('ipam', 'iprange'))), # IP addresses diff --git a/netbox/ipam/views.py b/netbox/ipam/views.py index 04d07e356..f705664b3 100644 --- a/netbox/ipam/views.py +++ b/netbox/ipam/views.py @@ -3,6 +3,7 @@ from django.db.models import Prefetch from django.db.models.expressions import RawSQL from django.shortcuts import get_object_or_404, redirect, render from django.urls import reverse +from django.utils.translation import gettext as _ from circuits.models import Provider, Circuit from circuits.tables import ProviderTable @@ -11,6 +12,7 @@ from dcim.models import Interface, Site, Device from dcim.tables import SiteTable from netbox.views import generic from utilities.utils import count_related +from utilities.views import ViewTab, register_model_view from virtualization.filtersets import VMInterfaceFilterSet from virtualization.models import VMInterface, VirtualMachine from . import filtersets, forms, tables @@ -289,12 +291,18 @@ class AggregateView(generic.ObjectView): queryset = Aggregate.objects.all() +@register_model_view(Aggregate, 'prefixes') class AggregatePrefixesView(generic.ObjectChildrenView): queryset = Aggregate.objects.all() child_model = Prefix table = tables.PrefixTable filterset = filtersets.PrefixFilterSet template_name = 'ipam/aggregate/prefixes.html' + tab = ViewTab( + label=_('Prefixes'), + badge=lambda x: x.get_child_prefixes().count(), + permission='ipam.view_prefix' + ) def get_children(self, request, parent): return Prefix.objects.restrict(request.user, 'view').filter( @@ -466,12 +474,18 @@ class PrefixView(generic.ObjectView): } +@register_model_view(Prefix, 'prefixes') class PrefixPrefixesView(generic.ObjectChildrenView): queryset = Prefix.objects.all() child_model = Prefix table = tables.PrefixTable filterset = filtersets.PrefixFilterSet template_name = 'ipam/prefix/prefixes.html' + tab = ViewTab( + label=_('Child Prefixes'), + badge=lambda x: x.get_child_prefixes().count(), + permission='ipam.view_prefix' + ) def get_children(self, request, parent): return parent.get_child_prefixes().restrict(request.user, 'view').prefetch_related( @@ -495,12 +509,18 @@ class PrefixPrefixesView(generic.ObjectChildrenView): } +@register_model_view(Prefix, 'ipranges', path='ip-ranges') class PrefixIPRangesView(generic.ObjectChildrenView): queryset = Prefix.objects.all() child_model = IPRange table = tables.IPRangeTable filterset = filtersets.IPRangeFilterSet template_name = 'ipam/prefix/ip_ranges.html' + tab = ViewTab( + label=_('Child Ranges'), + badge=lambda x: x.get_child_ranges().count(), + permission='ipam.view_iprange' + ) def get_children(self, request, parent): return parent.get_child_ranges().restrict(request.user, 'view').prefetch_related( @@ -510,17 +530,23 @@ class PrefixIPRangesView(generic.ObjectChildrenView): def get_extra_context(self, request, instance): return { 'bulk_querystring': f"vrf_id={instance.vrf.pk if instance.vrf else '0'}&parent={instance.prefix}", - 'active_tab': 'ip-ranges', + 'active_tab': 'ipranges', 'first_available_ip': instance.get_first_available_ip(), } +@register_model_view(Prefix, 'ipaddresses', path='ip-addresses') class PrefixIPAddressesView(generic.ObjectChildrenView): queryset = Prefix.objects.all() child_model = IPAddress table = tables.IPAddressTable filterset = filtersets.IPAddressFilterSet template_name = 'ipam/prefix/ip_addresses.html' + tab = ViewTab( + label=_('IP Addresses'), + badge=lambda x: x.get_child_ips().count(), + permission='ipam.view_ipaddress' + ) def get_children(self, request, parent): return parent.get_child_ips().restrict(request.user, 'view').prefetch_related('vrf', 'tenant', 'tenant__group') @@ -533,7 +559,7 @@ class PrefixIPAddressesView(generic.ObjectChildrenView): def get_extra_context(self, request, instance): return { 'bulk_querystring': f"vrf_id={instance.vrf.pk if instance.vrf else '0'}&parent={instance.prefix}", - 'active_tab': 'ip-addresses', + 'active_tab': 'ipaddresses', 'first_available_ip': instance.get_first_available_ip(), } @@ -581,19 +607,25 @@ class IPRangeView(generic.ObjectView): queryset = IPRange.objects.all() +@register_model_view(IPRange, 'ipaddresses', path='ip-addresses') class IPRangeIPAddressesView(generic.ObjectChildrenView): queryset = IPRange.objects.all() child_model = IPAddress table = tables.IPAddressTable filterset = filtersets.IPAddressFilterSet template_name = 'ipam/iprange/ip_addresses.html' + tab = ViewTab( + label=_('IP Addresses'), + badge=lambda x: x.get_child_ips().count(), + permission='ipam.view_ipaddress' + ) def get_children(self, request, parent): return parent.get_child_ips().restrict(request.user, 'view') def get_extra_context(self, request, instance): return { - 'active_tab': 'ip-addresses', + 'active_tab': 'ipaddresses', } diff --git a/netbox/netbox/models/features.py b/netbox/netbox/models/features.py index 5325cbcd1..f59e72c14 100644 --- a/netbox/netbox/models/features.py +++ b/netbox/netbox/models/features.py @@ -13,7 +13,7 @@ from extras.utils import is_taggable, register_features from netbox.signals import post_clean from utilities.json import CustomFieldJSONEncoder from utilities.utils import serialize_object -from utilities.views import ViewTab, register_model_view +from utilities.views import register_model_view __all__ = ( 'ChangeLoggingMixin', @@ -299,13 +299,11 @@ def _register_features(sender, **kwargs): register_model_view( sender, 'journal', - 'netbox.views.generic.ObjectJournalView', kwargs={'model': sender} - ) + )('netbox.views.generic.ObjectJournalView') if issubclass(sender, ChangeLoggingMixin): register_model_view( sender, 'changelog', - 'netbox.views.generic.ObjectChangeLogView', kwargs={'model': sender} - ) + )('netbox.views.generic.ObjectChangeLogView') diff --git a/netbox/templates/dcim/device/base.html b/netbox/templates/dcim/device/base.html index ea67154b1..161e41256 100644 --- a/netbox/templates/dcim/device/base.html +++ b/netbox/templates/dcim/device/base.html @@ -56,87 +56,6 @@ {% endblock %} {% block extra_tabs %} - {% with tab_name='device-bays' devicebay_count=object.devicebays.count %} - {% if active_tab == tab_name or devicebay_count %} - - {% endif %} - {% endwith %} - - {% with tab_name='module-bays' modulebay_count=object.modulebays.count %} - {% if active_tab == tab_name or modulebay_count %} - - {% endif %} - {% endwith %} - - {% with tab_name='interfaces' interface_count=object.interfaces_count %} - {% if active_tab == tab_name or interface_count %} - - {% endif %} - {% endwith %} - - {% with tab_name='front-ports' frontport_count=object.frontports.count %} - {% if active_tab == tab_name or frontport_count %} - - {% endif %} - {% endwith %} - - {% with tab_name='rear-ports' rearport_count=object.rearports.count %} - {% if active_tab == tab_name or rearport_count %} - - {% endif %} - {% endwith %} - - {% with tab_name='console-ports' consoleport_count=object.consoleports.count %} - {% if active_tab == tab_name or consoleport_count %} - - {% endif %} - {% endwith %} - - {% with tab_name='console-server-ports' consoleserverport_count=object.consoleserverports.count %} - {% if active_tab == tab_name or consoleserverport_count %} - - {% endif %} - {% endwith %} - - {% with tab_name='power-ports' powerport_count=object.powerports.count %} - {% if active_tab == tab_name or powerport_count %} - - {% endif %} - {% endwith %} - - {% with tab_name='power-outlets' poweroutlet_count=object.poweroutlets.count %} - {% if active_tab == tab_name or poweroutlet_count %} - - {% endif %} - {% endwith %} - - - {% with tab_name='inventory-items' inventoryitem_count=object.inventoryitems.count %} - {% if active_tab == tab_name or inventoryitem_count %} - - {% endif %} - {% endwith %} - {% if perms.dcim.napalm_read_device and object.status == 'active' and object.primary_ip and object.platform.napalm_driver %} {# NAPALM-enabled tabs #} {% endif %} - - {% if perms.extras.view_configcontext %} - - {% endif %} {% endblock %} diff --git a/netbox/templates/dcim/devicetype/base.html b/netbox/templates/dcim/devicetype/base.html index 83ee1f41e..916952dfb 100644 --- a/netbox/templates/dcim/devicetype/base.html +++ b/netbox/templates/dcim/devicetype/base.html @@ -51,85 +51,3 @@

    AV^SWTd$ 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 z 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ΞL?U-eNLY^sdB? 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

1=DKjMa4@|D%vn_4z4Q08WJN4WkDZI4XHt%bH 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 literal 104926 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%0DVf%zlFvL_8&3UWekePaMSPR*ycShy@=jkJ;* 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 S+A(+GoiDQYBWLjF%7J^GLq%OrN#>6DH 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 z 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

{% endif %} {% endblock %} - -{% block extra_tabs %} - {% with tab_name='device-bay-templates' devicebay_count=object.devicebaytemplates.count %} - {% if active_tab == tab_name or devicebay_count %} - - {% endif %} - {% endwith %} - - {% with tab_name='module-bay-templates' modulebay_count=object.modulebaytemplates.count %} - {% if active_tab == tab_name or modulebay_count %} - - {% endif %} - {% endwith %} - - {% with tab_name='interface-templates' interface_count=object.interfacetemplates.count %} - {% if active_tab == tab_name or interface_count %} - - {% endif %} - {% endwith %} - - {% with tab_name='front-port-templates' frontport_count=object.frontporttemplates.count %} - {% if active_tab == tab_name or frontport_count %} - - {% endif %} - {% endwith %} - - {% with tab_name='rear-port-templates' rearport_count=object.rearporttemplates.count %} - {% if active_tab == tab_name or rearport_count %} - - {% endif %} - {% endwith %} - - {% with tab_name='console-port-templates' consoleport_count=object.consoleporttemplates.count %} - {% if active_tab == tab_name or consoleport_count %} - - {% endif %} - {% endwith %} - - {% with tab_name='console-server-port-templates' consoleserverport_count=object.consoleserverporttemplates.count %} - {% if active_tab == tab_name or consoleserverport_count %} - - {% endif %} - {% endwith %} - - {% with tab_name='power-port-templates' powerport_count=object.powerporttemplates.count %} - {% if active_tab == tab_name or powerport_count %} - - {% endif %} - {% endwith %} - - {% with tab_name='power-outlet-templates' poweroutlet_count=object.poweroutlettemplates.count %} - {% if active_tab == tab_name or poweroutlet_count %} - - {% endif %} - {% endwith %} - - {% with tab_name='inventory-item-templates' inventoryitem_count=object.inventoryitemtemplates.count %} - {% if active_tab == tab_name or inventoryitem_count %} - - {% endif %} - {% endwith %} -{% endblock %} diff --git a/netbox/templates/dcim/moduletype/base.html b/netbox/templates/dcim/moduletype/base.html index f5713efc3..148effec2 100644 --- a/netbox/templates/dcim/moduletype/base.html +++ b/netbox/templates/dcim/moduletype/base.html @@ -42,61 +42,3 @@
{% endif %} {% endblock %} - -{% block extra_tabs %} - {% with interface_count=object.interfacetemplates.count %} - {% if interface_count %} - - {% endif %} - {% endwith %} - - {% with frontport_count=object.frontporttemplates.count %} - {% if frontport_count %} - - {% endif %} - {% endwith %} - - {% with rearport_count=object.rearporttemplates.count %} - {% if rearport_count %} - - {% endif %} - {% endwith %} - - {% with consoleport_count=object.consoleporttemplates.count %} - {% if consoleport_count %} - - {% endif %} - {% endwith %} - - {% with consoleserverport_count=object.consoleserverporttemplates.count %} - {% if consoleserverport_count %} - - {% endif %} - {% endwith %} - - {% with powerport_count=object.powerporttemplates.count %} - {% if powerport_count %} - - {% endif %} - {% endwith %} - - {% with poweroutlet_count=object.poweroutlettemplates.count %} - {% if poweroutlet_count %} - - {% endif %} - {% endwith %} -{% endblock %} diff --git a/netbox/templates/ipam/aggregate/base.html b/netbox/templates/ipam/aggregate/base.html index c69661a65..968c4a041 100644 --- a/netbox/templates/ipam/aggregate/base.html +++ b/netbox/templates/ipam/aggregate/base.html @@ -6,13 +6,3 @@ {{ block.super }} {% endblock %} - -{% block extra_tabs %} - {% if perms.ipam.view_prefix %} - - {% endif %} -{% endblock %} diff --git a/netbox/templates/ipam/iprange/base.html b/netbox/templates/ipam/iprange/base.html index 30e858264..e97db8557 100644 --- a/netbox/templates/ipam/iprange/base.html +++ b/netbox/templates/ipam/iprange/base.html @@ -8,13 +8,3 @@ {% endif %} {% endblock %} - -{% block extra_tabs %} - {% if perms.ipam.view_ipaddress %} - - {% endif %} -{% endblock %} diff --git a/netbox/templates/ipam/prefix/base.html b/netbox/templates/ipam/prefix/base.html index b543e37ac..7ac307014 100644 --- a/netbox/templates/ipam/prefix/base.html +++ b/netbox/templates/ipam/prefix/base.html @@ -8,21 +8,3 @@ {% endif %} {% endblock %} - -{% block extra_tabs %} - - - -{% endblock %} diff --git a/netbox/templates/virtualization/cluster/base.html b/netbox/templates/virtualization/cluster/base.html index 69b55ec6b..eb9eefe0e 100644 --- a/netbox/templates/virtualization/cluster/base.html +++ b/netbox/templates/virtualization/cluster/base.html @@ -24,20 +24,3 @@ {% endif %} {% endblock %} - -{% block extra_tabs %} - {% with virtualmachine_count=object.virtual_machines.count %} - - {% endwith %} - {% with device_count=object.devices.count %} - - {% endwith %} -{% endblock %} diff --git a/netbox/templates/virtualization/virtualmachine/base.html b/netbox/templates/virtualization/virtualmachine/base.html index 946467e31..995c16fb0 100644 --- a/netbox/templates/virtualization/virtualmachine/base.html +++ b/netbox/templates/virtualization/virtualmachine/base.html @@ -21,18 +21,3 @@ {% endif %} {% endblock %} - -{% block extra_tabs %} - {% with interface_count=object.interfaces.count %} - {% if interface_count %} - - {% endif %} - {% endwith %} - {% if perms.extras.view_configcontext %} - - {% endif %} -{% endblock %} diff --git a/netbox/utilities/templatetags/tabs.py b/netbox/utilities/templatetags/tabs.py index 13b4a5f63..e0ab49589 100644 --- a/netbox/utilities/templatetags/tabs.py +++ b/netbox/utilities/templatetags/tabs.py @@ -1,6 +1,6 @@ from django import template -from django.core.exceptions import ImproperlyConfigured from django.urls import reverse +from django.utils.module_loading import import_string from extras.registry import registry @@ -26,23 +26,27 @@ def model_view_tabs(context, instance): views = [] # Compile a list of tabs to be displayed in the UI - for view in views: - if view['tab_label'] and (not view['tab_permission'] or user.has_perm(view['tab_permission'])): + for config in views: + view = import_string(config['view']) if type(config['view']) is str else config['view'] + if tab := getattr(view, 'tab', None): + if tab.permission and not user.has_perm(tab.permission): + continue # Determine the value of the tab's badge (if any) - if view['tab_badge'] and callable(view['tab_badge']): - badge_value = view['tab_badge'](instance) - elif view['tab_badge']: - badge_value = view['tab_badge'] + if tab.badge and callable(tab.badge): + badge_value = tab.badge(instance) else: - badge_value = None + badge_value = tab.badge + + if not tab.always_display and not badge_value: + continue tabs.append({ - 'name': view['name'], - 'url': reverse(f"{app_label}:{model_name}_{view['name']}", args=[instance.pk]), - 'label': view['tab_label'], + 'name': config['name'], + 'url': reverse(f"{app_label}:{model_name}_{config['name']}", args=[instance.pk]), + 'label': tab.label, 'badge_value': badge_value, - 'is_active': context.get('active_tab') == view['name'], + 'is_active': context.get('active_tab') == config['name'], }) return { diff --git a/netbox/utilities/urls.py b/netbox/utilities/urls.py index 2db8bc91f..9ba2a65e6 100644 --- a/netbox/utilities/urls.py +++ b/netbox/utilities/urls.py @@ -30,9 +30,10 @@ def get_model_urls(app_label, model_name): view_ = config['view'] if issubclass(view_, View): view_ = view_.as_view() + # Create a path to the view paths.append( - path(f"{config['name']}/", view_, name=f"{model_name}_{config['name']}", kwargs=config['kwargs']) + path(f"{config['path']}/", view_, name=f"{model_name}_{config['name']}", kwargs=config['kwargs']) ) return paths diff --git a/netbox/utilities/views.py b/netbox/utilities/views.py index 1200112be..5a357111a 100644 --- a/netbox/utilities/views.py +++ b/netbox/utilities/views.py @@ -142,24 +142,39 @@ class ViewTab: self.always_display = always_display -def register_model_view(model, name, view, kwargs=None): +def register_model_view(model, name, path=None, kwargs=None): """ - Register a subview for a core model. + This decorator can be used to "attach" a view to any model in NetBox. This is typically used to inject + additional tabs within a model's detail view. For example, to add a custom tab to NetBox's dcim.Site model: + + @netbox_model_view(Site, 'myview', path='my-custom-view') + class MyView(ObjectView): + ... + + This will automatically create a URL path for MyView at `/dcim/sites//my-custom-view/` which can be + resolved using the view name `dcim:site_myview'. Args: - model: The Django model class with which this view will be associated - name: The name to register when creating a URL path - view: A class-based or function view, or the dotted path to it (e.g. 'myplugin.views.FooView') - kwargs: A dictionary of keyword arguments to send to the view (optional) + model: The Django model class with which this view will be associated. + name: The string used to form the view's name for URL resolution (e.g. via `reverse()`). This will be appended + to the name of the base view for the model using an underscore. + path: The URL path by which the view can be reached (optional). If not provided, `name` will be used. + kwargs: A dictionary of keyword arguments for the view to include when registering its URL path (optional) """ - app_label = model._meta.app_label - model_name = model._meta.model_name + def _wrapper(cls): + app_label = model._meta.app_label + model_name = model._meta.model_name - if model_name not in registry['views'][app_label]: - registry['views'][app_label][model_name] = [] + if model_name not in registry['views'][app_label]: + registry['views'][app_label][model_name] = [] - registry['views'][app_label][model_name].append({ - 'name': name, - 'view': view, - 'kwargs': kwargs or {}, - }) + registry['views'][app_label][model_name].append({ + 'name': name, + 'view': cls, + 'path': path or name, + 'kwargs': kwargs or {}, + }) + + return cls + + return _wrapper diff --git a/netbox/virtualization/urls.py b/netbox/virtualization/urls.py index 8968414bc..31914bc3b 100644 --- a/netbox/virtualization/urls.py +++ b/netbox/virtualization/urls.py @@ -35,8 +35,6 @@ urlpatterns = [ path('clusters/edit/', views.ClusterBulkEditView.as_view(), name='cluster_bulk_edit'), path('clusters/delete/', views.ClusterBulkDeleteView.as_view(), name='cluster_bulk_delete'), path('clusters//', views.ClusterView.as_view(), name='cluster'), - path('clusters//devices/', views.ClusterDevicesView.as_view(), name='cluster_devices'), - path('clusters//virtual-machines/', views.ClusterVirtualMachinesView.as_view(), name='cluster_virtualmachines'), path('clusters//edit/', views.ClusterEditView.as_view(), name='cluster_edit'), path('clusters//delete/', views.ClusterDeleteView.as_view(), name='cluster_delete'), path('clusters//devices/add/', views.ClusterAddDevicesView.as_view(), name='cluster_add_devices'), @@ -50,10 +48,8 @@ urlpatterns = [ path('virtual-machines/edit/', views.VirtualMachineBulkEditView.as_view(), name='virtualmachine_bulk_edit'), path('virtual-machines/delete/', views.VirtualMachineBulkDeleteView.as_view(), name='virtualmachine_bulk_delete'), path('virtual-machines//', views.VirtualMachineView.as_view(), name='virtualmachine'), - path('virtual-machines//interfaces/', views.VirtualMachineInterfacesView.as_view(), name='virtualmachine_interfaces'), path('virtual-machines//edit/', views.VirtualMachineEditView.as_view(), name='virtualmachine_edit'), path('virtual-machines//delete/', views.VirtualMachineDeleteView.as_view(), name='virtualmachine_delete'), - path('virtual-machines//config-context/', views.VirtualMachineConfigContextView.as_view(), name='virtualmachine_configcontext'), path('virtual-machines//', include(get_model_urls('virtualization', 'virtualmachine'))), # VM interfaces diff --git a/netbox/virtualization/views.py b/netbox/virtualization/views.py index 611725d62..3289c0b56 100644 --- a/netbox/virtualization/views.py +++ b/netbox/virtualization/views.py @@ -3,6 +3,7 @@ from django.db import transaction from django.db.models import Prefetch from django.shortcuts import get_object_or_404, redirect, render from django.urls import reverse +from django.utils.translation import gettext as _ from dcim.filtersets import DeviceFilterSet from dcim.models import Device @@ -12,6 +13,7 @@ from ipam.models import IPAddress, Service from ipam.tables import AssignedIPAddressesTable, InterfaceVLANTable from netbox.views import generic from utilities.utils import count_related +from utilities.views import ViewTab, register_model_view from . import filtersets, forms, tables from .models import Cluster, ClusterGroup, ClusterType, VirtualMachine, VMInterface @@ -161,28 +163,40 @@ class ClusterView(generic.ObjectView): queryset = Cluster.objects.all() +@register_model_view(Cluster, 'virtualmachines', path='virtual-machines') class ClusterVirtualMachinesView(generic.ObjectChildrenView): queryset = Cluster.objects.all() child_model = VirtualMachine table = tables.VirtualMachineTable filterset = filtersets.VirtualMachineFilterSet template_name = 'virtualization/cluster/virtual_machines.html' + tab = ViewTab( + label=_('Virtual Machines'), + badge=lambda obj: obj.virtual_machines.count(), + permission='virtualization.view_virtualmachine' + ) def get_children(self, request, parent): return VirtualMachine.objects.restrict(request.user, 'view').filter(cluster=parent) def get_extra_context(self, request, instance): return { - 'active_tab': 'virtual-machines', + 'active_tab': 'virtualmachines', } +@register_model_view(Cluster, 'devices') class ClusterDevicesView(generic.ObjectChildrenView): queryset = Cluster.objects.all() child_model = Device table = DeviceTable filterset = DeviceFilterSet template_name = 'virtualization/cluster/devices.html' + tab = ViewTab( + label=_('Devices'), + badge=lambda obj: obj.devices.count(), + permission='virtualization.view_virtualmachine' + ) def get_children(self, request, parent): return Device.objects.restrict(request.user, 'view').filter(cluster=parent) @@ -344,12 +358,18 @@ class VirtualMachineView(generic.ObjectView): } +@register_model_view(VirtualMachine, 'interfaces') class VirtualMachineInterfacesView(generic.ObjectChildrenView): queryset = VirtualMachine.objects.all() child_model = VMInterface table = tables.VirtualMachineVMInterfaceTable filterset = filtersets.VMInterfaceFilterSet template_name = 'virtualization/virtualmachine/interfaces.html' + tab = ViewTab( + label=_('Interfaces'), + badge=lambda obj: obj.interfaces.count(), + permission='virtualization.view_vminterface' + ) def get_children(self, request, parent): return parent.interfaces.restrict(request.user, 'view').prefetch_related( @@ -363,9 +383,14 @@ class VirtualMachineInterfacesView(generic.ObjectChildrenView): } +@register_model_view(VirtualMachine, 'configcontext', path='config-context') class VirtualMachineConfigContextView(ObjectConfigContextView): queryset = VirtualMachine.objects.annotate_config_context_data() base_template = 'virtualization/virtualmachine.html' + tab = ViewTab( + label=_('Config Context'), + permission='extras.view_configcontext' + ) class VirtualMachineEditView(generic.ObjectEditView): From 5e1a0733e4b439137e2e671b9b7404375db70809 Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Fri, 7 Oct 2022 12:14:19 -0400 Subject: [PATCH 059/162] Replace active_tab context for object views --- netbox/dcim/views.py | 9 ------ netbox/extras/views.py | 1 - netbox/ipam/urls.py | 2 -- netbox/ipam/views.py | 31 ++++++++------------ netbox/netbox/views/generic/base.py | 1 + netbox/netbox/views/generic/feature_views.py | 4 +-- netbox/netbox/views/generic/object_views.py | 3 +- netbox/templates/generic/object.html | 2 +- netbox/templates/ipam/vlan/base.html | 24 --------------- netbox/utilities/templatetags/tabs.py | 6 ++-- netbox/virtualization/views.py | 15 ---------- 11 files changed, 22 insertions(+), 76 deletions(-) diff --git a/netbox/dcim/views.py b/netbox/dcim/views.py index e299357d1..d5aed5897 100644 --- a/netbox/dcim/views.py +++ b/netbox/dcim/views.py @@ -46,11 +46,6 @@ class DeviceComponentsView(generic.ObjectChildrenView): def get_children(self, request, parent): return self.child_model.objects.restrict(request.user, 'view').filter(device=parent) - def get_extra_context(self, request, instance): - return { - 'active_tab': f"{self.child_model._meta.verbose_name_plural.replace(' ', '')}", - } - class DeviceTypeComponentsView(DeviceComponentsView): queryset = DeviceType.objects.all() @@ -61,9 +56,7 @@ class DeviceTypeComponentsView(DeviceComponentsView): return self.child_model.objects.restrict(request.user, 'view').filter(device_type=parent) def get_extra_context(self, request, instance): - model_name = self.child_model._meta.verbose_name_plural return { - 'active_tab': f"{model_name.replace(' ', '').replace('template', '')}", 'return_url': reverse(self.viewname, kwargs={'pk': instance.pk}), } @@ -77,9 +70,7 @@ class ModuleTypeComponentsView(DeviceComponentsView): return self.child_model.objects.restrict(request.user, 'view').filter(module_type=parent) def get_extra_context(self, request, instance): - model_name = self.child_model._meta.verbose_name_plural return { - 'active_tab': f"{model_name.replace(' ', '').replace('template', '')}", 'return_url': reverse(self.viewname, kwargs={'pk': instance.pk}), } diff --git a/netbox/extras/views.py b/netbox/extras/views.py index f95b3fb64..e48fd672b 100644 --- a/netbox/extras/views.py +++ b/netbox/extras/views.py @@ -352,7 +352,6 @@ class ObjectConfigContextView(generic.ObjectView): 'source_contexts': source_contexts, 'format': format, 'base_template': self.base_template, - 'active_tab': 'configcontext', } diff --git a/netbox/ipam/urls.py b/netbox/ipam/urls.py index c7b60045b..d5594eeb9 100644 --- a/netbox/ipam/urls.py +++ b/netbox/ipam/urls.py @@ -141,8 +141,6 @@ urlpatterns = [ path('vlans/edit/', views.VLANBulkEditView.as_view(), name='vlan_bulk_edit'), path('vlans/delete/', views.VLANBulkDeleteView.as_view(), name='vlan_bulk_delete'), path('vlans//', views.VLANView.as_view(), name='vlan'), - path('vlans//interfaces/', views.VLANInterfacesView.as_view(), name='vlan_interfaces'), - path('vlans//vm-interfaces/', views.VLANVMInterfacesView.as_view(), name='vlan_vminterfaces'), path('vlans//edit/', views.VLANEditView.as_view(), name='vlan_edit'), path('vlans//delete/', views.VLANDeleteView.as_view(), name='vlan_delete'), path('vlans//', include(get_model_urls('ipam', 'vlan'))), diff --git a/netbox/ipam/views.py b/netbox/ipam/views.py index f705664b3..fba577f02 100644 --- a/netbox/ipam/views.py +++ b/netbox/ipam/views.py @@ -319,7 +319,6 @@ class AggregatePrefixesView(generic.ObjectChildrenView): def get_extra_context(self, request, instance): return { 'bulk_querystring': f'within={instance.prefix}', - 'active_tab': 'prefixes', 'first_available_prefix': instance.get_first_available_prefix(), 'show_available': bool(request.GET.get('show_available', 'true') == 'true'), 'show_assigned': bool(request.GET.get('show_assigned', 'true') == 'true'), @@ -502,7 +501,6 @@ class PrefixPrefixesView(generic.ObjectChildrenView): def get_extra_context(self, request, instance): return { 'bulk_querystring': f"vrf_id={instance.vrf.pk if instance.vrf else '0'}&within={instance.prefix}", - 'active_tab': 'prefixes', 'first_available_prefix': instance.get_first_available_prefix(), 'show_available': bool(request.GET.get('show_available', 'true') == 'true'), 'show_assigned': bool(request.GET.get('show_assigned', 'true') == 'true'), @@ -530,7 +528,6 @@ class PrefixIPRangesView(generic.ObjectChildrenView): def get_extra_context(self, request, instance): return { 'bulk_querystring': f"vrf_id={instance.vrf.pk if instance.vrf else '0'}&parent={instance.prefix}", - 'active_tab': 'ipranges', 'first_available_ip': instance.get_first_available_ip(), } @@ -559,7 +556,6 @@ class PrefixIPAddressesView(generic.ObjectChildrenView): def get_extra_context(self, request, instance): return { 'bulk_querystring': f"vrf_id={instance.vrf.pk if instance.vrf else '0'}&parent={instance.prefix}", - 'active_tab': 'ipaddresses', 'first_available_ip': instance.get_first_available_ip(), } @@ -623,11 +619,6 @@ class IPRangeIPAddressesView(generic.ObjectChildrenView): def get_children(self, request, parent): return parent.get_child_ips().restrict(request.user, 'view') - def get_extra_context(self, request, instance): - return { - 'active_tab': 'ipaddresses', - } - class IPRangeEditView(generic.ObjectEditView): queryset = IPRange.objects.all() @@ -1032,37 +1023,39 @@ class VLANView(generic.ObjectView): } +@register_model_view(VLAN, 'interfaces') class VLANInterfacesView(generic.ObjectChildrenView): queryset = VLAN.objects.all() child_model = Interface table = tables.VLANDevicesTable filterset = InterfaceFilterSet template_name = 'ipam/vlan/interfaces.html' + tab = ViewTab( + label=_('Device Interfaces'), + badge=lambda x: x.get_interfaces().count(), + permission='dcim.view_interface' + ) def get_children(self, request, parent): return parent.get_interfaces().restrict(request.user, 'view') - def get_extra_context(self, request, instance): - return { - 'active_tab': 'interfaces', - } - +@register_model_view(VLAN, 'vminterfaces', path='vm-interfaces') class VLANVMInterfacesView(generic.ObjectChildrenView): queryset = VLAN.objects.all() child_model = VMInterface table = tables.VLANVirtualMachinesTable filterset = VMInterfaceFilterSet template_name = 'ipam/vlan/vminterfaces.html' + tab = ViewTab( + label=_('VM Interfaces'), + badge=lambda x: x.get_vminterfaces().count(), + permission='virtualization.view_vminterface' + ) def get_children(self, request, parent): return parent.get_vminterfaces().restrict(request.user, 'view') - def get_extra_context(self, request, instance): - return { - 'active_tab': 'vminterfaces', - } - class VLANEditView(generic.ObjectEditView): queryset = VLAN.objects.all() diff --git a/netbox/netbox/views/generic/base.py b/netbox/netbox/views/generic/base.py index 3ad3bcf67..3a85df618 100644 --- a/netbox/netbox/views/generic/base.py +++ b/netbox/netbox/views/generic/base.py @@ -14,6 +14,7 @@ class BaseObjectView(ObjectPermissionRequiredMixin, View): """ queryset = None template_name = None + tab = None def get_object(self, **kwargs): """ diff --git a/netbox/netbox/views/generic/feature_views.py b/netbox/netbox/views/generic/feature_views.py index 963fad196..ce5b29eb2 100644 --- a/netbox/netbox/views/generic/feature_views.py +++ b/netbox/netbox/views/generic/feature_views.py @@ -62,7 +62,7 @@ class ObjectChangeLogView(View): 'object': obj, 'table': objectchanges_table, 'base_template': self.base_template, - 'active_tab': 'changelog', + 'tab': self.tab, }) @@ -122,5 +122,5 @@ class ObjectJournalView(View): 'form': form, 'table': journalentry_table, 'base_template': self.base_template, - 'active_tab': 'journal', + 'tab': self.tab, }) diff --git a/netbox/netbox/views/generic/object_views.py b/netbox/netbox/views/generic/object_views.py index a56a832b6..941eee72e 100644 --- a/netbox/netbox/views/generic/object_views.py +++ b/netbox/netbox/views/generic/object_views.py @@ -5,7 +5,6 @@ from django.contrib import messages from django.core.exceptions import ObjectDoesNotExist from django.db import transaction from django.db.models import ProtectedError -from django.forms.widgets import HiddenInput from django.shortcuts import redirect, render from django.urls import reverse from django.utils.html import escape @@ -67,6 +66,7 @@ class ObjectView(BaseObjectView): return render(request, self.get_template_name(), { 'object': instance, + 'tab': self.tab, **self.get_extra_context(request, instance), }) @@ -141,6 +141,7 @@ class ObjectChildrenView(ObjectView, ActionsMixin, TableMixin): 'child_model': self.child_model, 'table': table, 'actions': actions, + 'tab': self.tab, **self.get_extra_context(request, instance), }) diff --git a/netbox/templates/generic/object.html b/netbox/templates/generic/object.html index 2c3c76329..023726a30 100644 --- a/netbox/templates/generic/object.html +++ b/netbox/templates/generic/object.html @@ -81,7 +81,7 @@ Context:
{% endif %} {% endblock %} - -{% block extra_tabs %} - {% if perms.dcim.napalm_read_device and object.status == 'active' and object.primary_ip and object.platform.napalm_driver %} - {# NAPALM-enabled tabs #} - - - - {% endif %} -{% endblock %} diff --git a/netbox/utilities/templates/tabs/model_view_tabs.html b/netbox/utilities/templates/tabs/model_view_tabs.html index 2c6a9046d..e41acf4c0 100644 --- a/netbox/utilities/templates/tabs/model_view_tabs.html +++ b/netbox/utilities/templates/tabs/model_view_tabs.html @@ -1,8 +1,7 @@ {% for tab in tabs %} {% endfor %} diff --git a/netbox/utilities/templatetags/tabs.py b/netbox/utilities/templatetags/tabs.py index e8ad786a1..6f245eff3 100644 --- a/netbox/utilities/templatetags/tabs.py +++ b/netbox/utilities/templatetags/tabs.py @@ -32,24 +32,16 @@ def model_view_tabs(context, instance): if tab.permission and not user.has_perm(tab.permission): continue - # Determine the value of the tab's badge (if any) - if tab.badge and callable(tab.badge): - badge_value = tab.badge(instance) - else: - badge_value = tab.badge - - if not tab.always_display and not badge_value: - continue - - viewname = f"{app_label}:{model_name}_{config['name']}" - active_tab = context.get('tab') - tabs.append({ - 'name': config['name'], - 'url': reverse(viewname, args=[instance.pk]), - 'label': tab.label, - 'badge_value': badge_value, - 'is_active': active_tab and active_tab == tab, - }) + if attrs := tab.render(instance): + viewname = f"{app_label}:{model_name}_{config['name']}" + active_tab = context.get('tab') + tabs.append({ + 'name': config['name'], + 'url': reverse(viewname, args=[instance.pk]), + 'label': attrs['label'], + 'badge': attrs['badge'], + 'is_active': active_tab and active_tab == tab, + }) return { 'tabs': tabs, diff --git a/netbox/utilities/views.py b/netbox/utilities/views.py index 5a357111a..f94f1842a 100644 --- a/netbox/utilities/views.py +++ b/netbox/utilities/views.py @@ -134,12 +134,31 @@ class GetReturnURLMixin: class ViewTab: - - def __init__(self, label, badge=None, permission=None, always_display=True): + """ + ViewTabs are used for navigation among multiple object-specific views, such as the changelog or journal for + a particular object. + """ + def __init__(self, label, badge=None, permission=None): self.label = label self.badge = badge self.permission = permission - self.always_display = always_display + + def render(self, instance): + """Return the attributes needed to render a tab in HTML.""" + badge_value = self._get_badge_value(instance) + if self.badge and not badge_value: + return None + return { + 'label': self.label, + 'badge': badge_value, + } + + def _get_badge_value(self, instance): + if not self.badge: + return None + if callable(self.badge): + return self.badge(instance) + return self.badge def register_model_view(model, name, path=None, kwargs=None): From 053c97b7a8e0ef20fda3873108d981c92a129984 Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Fri, 7 Oct 2022 15:03:52 -0400 Subject: [PATCH 061/162] Docs and test for #9072 --- docs/plugins/development/views.md | 26 +++++++++++++++++++++ docs/release-notes/version-3.4.md | 1 + netbox/extras/tests/dummy_plugin/views.py | 9 +++++++ netbox/extras/tests/test_plugins.py | 11 +++++++++ netbox/netbox/views/generic/base.py | 1 - netbox/netbox/views/generic/object_views.py | 5 ++++ netbox/utilities/views.py | 8 ++++++- 7 files changed, 59 insertions(+), 2 deletions(-) diff --git a/docs/plugins/development/views.md b/docs/plugins/development/views.md index cabcd7045..dfada7a42 100644 --- a/docs/plugins/development/views.md +++ b/docs/plugins/development/views.md @@ -148,6 +148,32 @@ These views are provided to enable or enhance certain NetBox model features, suc ## Extending Core Views +### Additional Tabs + +Plugins can "attach" a custom view to a core NetBox model by registering it with `register_model_view()`. To include a tab for this view within the NetBox UI, declare a TabView instance named `tab`: + +```python +from dcim.models import Site +from myplugin.models import Stuff +from netbox.views import generic +from utilities.views import ViewTab, register_model_view + +@register_model_view(Site, 'mview', path='some-other-stuff') +class MyView(generic.ObjectView): + ... + tab = ViewTab( + label='Other Stuff', + badge=lambda obj: Stuff.objects.filter(site=obj).count(), + permission='myplugin.view_stuff' + ) +``` + +::: utilities.views.register_model_view + +::: utilities.views.ViewTab + +### Extra Template Content + Plugins can inject custom content into certain areas of the detail views of applicable models. This is accomplished by subclassing `PluginTemplateExtension`, designating a particular NetBox model, and defining the desired methods to render custom content. Four methods are available: * `left_page()` - Inject content on the left side of the page diff --git a/docs/release-notes/version-3.4.md b/docs/release-notes/version-3.4.md index 313a84f20..5e9fe0439 100644 --- a/docs/release-notes/version-3.4.md +++ b/docs/release-notes/version-3.4.md @@ -26,6 +26,7 @@ A new `PluginMenu` class has been introduced, which enables a plugin to inject a ### Plugins API * [#9071](https://github.com/netbox-community/netbox/issues/9071) - Introduce `PluginMenu` for top-level plugin navigation menus +* [#9072](https://github.com/netbox-community/netbox/issues/9072) - Enable registration of tabbed plugin views for core NetBox models * [#9880](https://github.com/netbox-community/netbox/issues/9880) - Introduce `django_apps` plugin configuration parameter * [#10314](https://github.com/netbox-community/netbox/issues/10314) - Move `clone()` method from NetBoxModel to CloningMixin diff --git a/netbox/extras/tests/dummy_plugin/views.py b/netbox/extras/tests/dummy_plugin/views.py index 4512758df..8713102c5 100644 --- a/netbox/extras/tests/dummy_plugin/views.py +++ b/netbox/extras/tests/dummy_plugin/views.py @@ -1,6 +1,8 @@ from django.http import HttpResponse from django.views.generic import View +from dcim.models import Site +from utilities.views import register_model_view from .models import DummyModel @@ -9,3 +11,10 @@ class DummyModelsView(View): def get(self, request): instance_count = DummyModel.objects.count() return HttpResponse(f"Instances: {instance_count}") + + +@register_model_view(Site, 'extra', path='other-stuff') +class ExtraCoreModelView(View): + + def get(self, request, pk): + return HttpResponse("Success!") diff --git a/netbox/extras/tests/test_plugins.py b/netbox/extras/tests/test_plugins.py index e0ff67a2b..2eca3a3f7 100644 --- a/netbox/extras/tests/test_plugins.py +++ b/netbox/extras/tests/test_plugins.py @@ -59,6 +59,17 @@ class PluginTest(TestCase): response = client.get(url) self.assertEqual(response.status_code, 200) + def test_registered_views(self): + + # Test URL resolution + url = reverse('dcim:site_extra', kwargs={'pk': 1}) + self.assertEqual(url, '/dcim/sites/1/other-stuff/') + + # Test GET request + client = Client() + response = client.get(url) + self.assertEqual(response.status_code, 200) + def test_menu(self): """ Check menu registration. diff --git a/netbox/netbox/views/generic/base.py b/netbox/netbox/views/generic/base.py index 3a85df618..3ad3bcf67 100644 --- a/netbox/netbox/views/generic/base.py +++ b/netbox/netbox/views/generic/base.py @@ -14,7 +14,6 @@ class BaseObjectView(ObjectPermissionRequiredMixin, View): """ queryset = None template_name = None - tab = None def get_object(self, **kwargs): """ diff --git a/netbox/netbox/views/generic/object_views.py b/netbox/netbox/views/generic/object_views.py index 941eee72e..9aa71b01b 100644 --- a/netbox/netbox/views/generic/object_views.py +++ b/netbox/netbox/views/generic/object_views.py @@ -37,7 +37,12 @@ class ObjectView(BaseObjectView): Retrieve a single object for display. Note: If `template_name` is not specified, it will be determined automatically based on the queryset model. + + Attributes: + tab: A ViewTab instance for the view """ + tab = None + def get_required_permission(self): return get_permission_for_model(self.queryset.model, 'view') diff --git a/netbox/utilities/views.py b/netbox/utilities/views.py index f94f1842a..75c5aecff 100644 --- a/netbox/utilities/views.py +++ b/netbox/utilities/views.py @@ -137,6 +137,12 @@ class ViewTab: """ ViewTabs are used for navigation among multiple object-specific views, such as the changelog or journal for a particular object. + + Args: + label: Human-friendly text + badge: A static value or callable to display alongside the label (optional). If a callable is used, it must accept a single + argument representing the object being viewed. + permission: The permission required to display the tab (optional). """ def __init__(self, label, badge=None, permission=None): self.label = label @@ -178,7 +184,7 @@ def register_model_view(model, name, path=None, kwargs=None): name: The string used to form the view's name for URL resolution (e.g. via `reverse()`). This will be appended to the name of the base view for the model using an underscore. path: The URL path by which the view can be reached (optional). If not provided, `name` will be used. - kwargs: A dictionary of keyword arguments for the view to include when registering its URL path (optional) + kwargs: A dictionary of keyword arguments for the view to include when registering its URL path (optional). """ def _wrapper(cls): app_label = model._meta.app_label From b0ba9bd83d7231c3889892d2488602b91aa2f329 Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Fri, 7 Oct 2022 17:17:58 -0400 Subject: [PATCH 062/162] Closes #10608: Register all core model views using register_model_view() --- netbox/circuits/urls.py | 18 +- netbox/circuits/views.py | 20 +++ netbox/dcim/urls.py | 131 ++------------ netbox/dcim/views.py | 308 ++++++++++++++++++++++++--------- netbox/extras/urls.py | 26 +-- netbox/extras/views.py | 26 ++- netbox/ipam/urls.py | 51 +----- netbox/ipam/views.py | 55 +++++- netbox/tenancy/urls.py | 18 +- netbox/tenancy/views.py | 19 +- netbox/utilities/urls.py | 4 +- netbox/utilities/views.py | 4 +- netbox/virtualization/urls.py | 17 -- netbox/virtualization/views.py | 17 ++ netbox/wireless/urls.py | 9 - netbox/wireless/views.py | 10 ++ 16 files changed, 389 insertions(+), 344 deletions(-) diff --git a/netbox/circuits/urls.py b/netbox/circuits/urls.py index 55ceeddc3..d8c5ea276 100644 --- a/netbox/circuits/urls.py +++ b/netbox/circuits/urls.py @@ -1,9 +1,7 @@ from django.urls import include, path -from dcim.views import PathTraceView from utilities.urls import get_model_urls from . import views -from .models import CircuitTermination app_name = 'circuits' urlpatterns = [ @@ -14,9 +12,6 @@ urlpatterns = [ path('providers/import/', views.ProviderBulkImportView.as_view(), name='provider_import'), path('providers/edit/', views.ProviderBulkEditView.as_view(), name='provider_bulk_edit'), path('providers/delete/', views.ProviderBulkDeleteView.as_view(), name='provider_bulk_delete'), - path('providers//', views.ProviderView.as_view(), name='provider'), - path('providers//edit/', views.ProviderEditView.as_view(), name='provider_edit'), - path('providers//delete/', views.ProviderDeleteView.as_view(), name='provider_delete'), path('providers//', include(get_model_urls('circuits', 'provider'))), # Provider networks @@ -25,9 +20,6 @@ urlpatterns = [ path('provider-networks/import/', views.ProviderNetworkBulkImportView.as_view(), name='providernetwork_import'), path('provider-networks/edit/', views.ProviderNetworkBulkEditView.as_view(), name='providernetwork_bulk_edit'), path('provider-networks/delete/', views.ProviderNetworkBulkDeleteView.as_view(), name='providernetwork_bulk_delete'), - path('provider-networks//', views.ProviderNetworkView.as_view(), name='providernetwork'), - path('provider-networks//edit/', views.ProviderNetworkEditView.as_view(), name='providernetwork_edit'), - path('provider-networks//delete/', views.ProviderNetworkDeleteView.as_view(), name='providernetwork_delete'), path('provider-networks//', include(get_model_urls('circuits', 'providernetwork'))), # Circuit types @@ -36,9 +28,6 @@ urlpatterns = [ path('circuit-types/import/', views.CircuitTypeBulkImportView.as_view(), name='circuittype_import'), path('circuit-types/edit/', views.CircuitTypeBulkEditView.as_view(), name='circuittype_bulk_edit'), path('circuit-types/delete/', views.CircuitTypeBulkDeleteView.as_view(), name='circuittype_bulk_delete'), - path('circuit-types//', views.CircuitTypeView.as_view(), name='circuittype'), - path('circuit-types//edit/', views.CircuitTypeEditView.as_view(), name='circuittype_edit'), - path('circuit-types//delete/', views.CircuitTypeDeleteView.as_view(), name='circuittype_delete'), path('circuit-types//', include(get_model_urls('circuits', 'circuittype'))), # Circuits @@ -47,16 +36,11 @@ urlpatterns = [ path('circuits/import/', views.CircuitBulkImportView.as_view(), name='circuit_import'), path('circuits/edit/', views.CircuitBulkEditView.as_view(), name='circuit_bulk_edit'), path('circuits/delete/', views.CircuitBulkDeleteView.as_view(), name='circuit_bulk_delete'), - path('circuits//', views.CircuitView.as_view(), name='circuit'), - path('circuits//edit/', views.CircuitEditView.as_view(), name='circuit_edit'), - path('circuits//delete/', views.CircuitDeleteView.as_view(), name='circuit_delete'), path('circuits//terminations/swap/', views.CircuitSwapTerminations.as_view(), name='circuit_terminations_swap'), path('circuits//', include(get_model_urls('circuits', 'circuit'))), # Circuit terminations path('circuit-terminations/add/', views.CircuitTerminationEditView.as_view(), name='circuittermination_add'), - path('circuit-terminations//edit/', views.CircuitTerminationEditView.as_view(), name='circuittermination_edit'), - path('circuit-terminations//delete/', views.CircuitTerminationDeleteView.as_view(), name='circuittermination_delete'), - path('circuit-terminations//trace/', PathTraceView.as_view(), name='circuittermination_trace', kwargs={'model': CircuitTermination}), + path('circuit-terminations//', include(get_model_urls('circuits', 'circuittermination'))), ] diff --git a/netbox/circuits/views.py b/netbox/circuits/views.py index 423bd67d6..dc809666b 100644 --- a/netbox/circuits/views.py +++ b/netbox/circuits/views.py @@ -3,9 +3,11 @@ from django.db import transaction from django.db.models import Q from django.shortcuts import get_object_or_404, redirect, render +from dcim.views import PathTraceView from netbox.views import generic from utilities.forms import ConfirmationForm from utilities.utils import count_related +from utilities.views import register_model_view from . import filtersets, forms, tables from .models import * @@ -23,6 +25,7 @@ class ProviderListView(generic.ObjectListView): table = tables.ProviderTable +@register_model_view(Provider) class ProviderView(generic.ObjectView): queryset = Provider.objects.all() @@ -41,11 +44,13 @@ class ProviderView(generic.ObjectView): } +@register_model_view(Provider, 'edit') class ProviderEditView(generic.ObjectEditView): queryset = Provider.objects.all() form = forms.ProviderForm +@register_model_view(Provider, 'delete') class ProviderDeleteView(generic.ObjectDeleteView): queryset = Provider.objects.all() @@ -84,6 +89,7 @@ class ProviderNetworkListView(generic.ObjectListView): table = tables.ProviderNetworkTable +@register_model_view(ProviderNetwork) class ProviderNetworkView(generic.ObjectView): queryset = ProviderNetwork.objects.all() @@ -103,11 +109,13 @@ class ProviderNetworkView(generic.ObjectView): } +@register_model_view(ProviderNetwork, 'edit') class ProviderNetworkEditView(generic.ObjectEditView): queryset = ProviderNetwork.objects.all() form = forms.ProviderNetworkForm +@register_model_view(ProviderNetwork, 'delete') class ProviderNetworkDeleteView(generic.ObjectDeleteView): queryset = ProviderNetwork.objects.all() @@ -144,6 +152,7 @@ class CircuitTypeListView(generic.ObjectListView): table = tables.CircuitTypeTable +@register_model_view(CircuitType) class CircuitTypeView(generic.ObjectView): queryset = CircuitType.objects.all() @@ -157,11 +166,13 @@ class CircuitTypeView(generic.ObjectView): } +@register_model_view(CircuitType, 'edit') class CircuitTypeEditView(generic.ObjectEditView): queryset = CircuitType.objects.all() form = forms.CircuitTypeForm +@register_model_view(CircuitType, 'delete') class CircuitTypeDeleteView(generic.ObjectDeleteView): queryset = CircuitType.objects.all() @@ -202,15 +213,18 @@ class CircuitListView(generic.ObjectListView): table = tables.CircuitTable +@register_model_view(Circuit) class CircuitView(generic.ObjectView): queryset = Circuit.objects.all() +@register_model_view(Circuit, 'edit') class CircuitEditView(generic.ObjectEditView): queryset = Circuit.objects.all() form = forms.CircuitForm +@register_model_view(Circuit, 'delete') class CircuitDeleteView(generic.ObjectDeleteView): queryset = Circuit.objects.all() @@ -318,11 +332,17 @@ class CircuitSwapTerminations(generic.ObjectEditView): # Circuit terminations # +@register_model_view(CircuitTermination, 'edit') class CircuitTerminationEditView(generic.ObjectEditView): queryset = CircuitTermination.objects.all() form = forms.CircuitTerminationForm template_name = 'circuits/circuittermination_edit.html' +@register_model_view(CircuitTermination, 'delete') class CircuitTerminationDeleteView(generic.ObjectDeleteView): queryset = CircuitTermination.objects.all() + + +# Trace view +register_model_view(CircuitTermination, 'trace', kwargs={'model': CircuitTermination})(PathTraceView) diff --git a/netbox/dcim/urls.py b/netbox/dcim/urls.py index 94c2a7131..ecd2d46c5 100644 --- a/netbox/dcim/urls.py +++ b/netbox/dcim/urls.py @@ -2,9 +2,6 @@ from django.urls import include, path from utilities.urls import get_model_urls from . import views -from .models import ( - ConsolePort, ConsoleServerPort, FrontPort, Interface, PowerFeed, PowerPort, PowerOutlet, RearPort, -) app_name = 'dcim' urlpatterns = [ @@ -15,9 +12,6 @@ urlpatterns = [ path('regions/import/', views.RegionBulkImportView.as_view(), name='region_import'), path('regions/edit/', views.RegionBulkEditView.as_view(), name='region_bulk_edit'), path('regions/delete/', views.RegionBulkDeleteView.as_view(), name='region_bulk_delete'), - path('regions//', views.RegionView.as_view(), name='region'), - path('regions//edit/', views.RegionEditView.as_view(), name='region_edit'), - path('regions//delete/', views.RegionDeleteView.as_view(), name='region_delete'), path('regions//', include(get_model_urls('dcim', 'region'))), # Site groups @@ -26,9 +20,6 @@ urlpatterns = [ path('site-groups/import/', views.SiteGroupBulkImportView.as_view(), name='sitegroup_import'), path('site-groups/edit/', views.SiteGroupBulkEditView.as_view(), name='sitegroup_bulk_edit'), path('site-groups/delete/', views.SiteGroupBulkDeleteView.as_view(), name='sitegroup_bulk_delete'), - path('site-groups//', views.SiteGroupView.as_view(), name='sitegroup'), - path('site-groups//edit/', views.SiteGroupEditView.as_view(), name='sitegroup_edit'), - path('site-groups//delete/', views.SiteGroupDeleteView.as_view(), name='sitegroup_delete'), path('site-groups//', include(get_model_urls('dcim', 'sitegroup'))), # Sites @@ -37,9 +28,6 @@ urlpatterns = [ path('sites/import/', views.SiteBulkImportView.as_view(), name='site_import'), path('sites/edit/', views.SiteBulkEditView.as_view(), name='site_bulk_edit'), path('sites/delete/', views.SiteBulkDeleteView.as_view(), name='site_bulk_delete'), - path('sites//', views.SiteView.as_view(), name='site'), - path('sites//edit/', views.SiteEditView.as_view(), name='site_edit'), - path('sites//delete/', views.SiteDeleteView.as_view(), name='site_delete'), path('sites//', include(get_model_urls('dcim', 'site'))), # Locations @@ -48,9 +36,6 @@ urlpatterns = [ path('locations/import/', views.LocationBulkImportView.as_view(), name='location_import'), path('locations/edit/', views.LocationBulkEditView.as_view(), name='location_bulk_edit'), path('locations/delete/', views.LocationBulkDeleteView.as_view(), name='location_bulk_delete'), - path('locations//', views.LocationView.as_view(), name='location'), - path('locations//edit/', views.LocationEditView.as_view(), name='location_edit'), - path('locations//delete/', views.LocationDeleteView.as_view(), name='location_delete'), path('locations//', include(get_model_urls('dcim', 'location'))), # Rack roles @@ -59,9 +44,6 @@ urlpatterns = [ path('rack-roles/import/', views.RackRoleBulkImportView.as_view(), name='rackrole_import'), path('rack-roles/edit/', views.RackRoleBulkEditView.as_view(), name='rackrole_bulk_edit'), path('rack-roles/delete/', views.RackRoleBulkDeleteView.as_view(), name='rackrole_bulk_delete'), - path('rack-roles//', views.RackRoleView.as_view(), name='rackrole'), - path('rack-roles//edit/', views.RackRoleEditView.as_view(), name='rackrole_edit'), - path('rack-roles//delete/', views.RackRoleDeleteView.as_view(), name='rackrole_delete'), path('rack-roles//', include(get_model_urls('dcim', 'rackrole'))), # Rack reservations @@ -70,9 +52,6 @@ urlpatterns = [ path('rack-reservations/import/', views.RackReservationImportView.as_view(), name='rackreservation_import'), path('rack-reservations/edit/', views.RackReservationBulkEditView.as_view(), name='rackreservation_bulk_edit'), path('rack-reservations/delete/', views.RackReservationBulkDeleteView.as_view(), name='rackreservation_bulk_delete'), - path('rack-reservations//', views.RackReservationView.as_view(), name='rackreservation'), - path('rack-reservations//edit/', views.RackReservationEditView.as_view(), name='rackreservation_edit'), - path('rack-reservations//delete/', views.RackReservationDeleteView.as_view(), name='rackreservation_delete'), path('rack-reservations//', include(get_model_urls('dcim', 'rackreservation'))), # Racks @@ -82,9 +61,6 @@ urlpatterns = [ path('racks/import/', views.RackBulkImportView.as_view(), name='rack_import'), path('racks/edit/', views.RackBulkEditView.as_view(), name='rack_bulk_edit'), path('racks/delete/', views.RackBulkDeleteView.as_view(), name='rack_bulk_delete'), - path('racks//', views.RackView.as_view(), name='rack'), - path('racks//edit/', views.RackEditView.as_view(), name='rack_edit'), - path('racks//delete/', views.RackDeleteView.as_view(), name='rack_delete'), path('racks//', include(get_model_urls('dcim', 'rack'))), # Manufacturers @@ -93,9 +69,6 @@ urlpatterns = [ path('manufacturers/import/', views.ManufacturerBulkImportView.as_view(), name='manufacturer_import'), path('manufacturers/edit/', views.ManufacturerBulkEditView.as_view(), name='manufacturer_bulk_edit'), path('manufacturers/delete/', views.ManufacturerBulkDeleteView.as_view(), name='manufacturer_bulk_delete'), - path('manufacturers//', views.ManufacturerView.as_view(), name='manufacturer'), - path('manufacturers//edit/', views.ManufacturerEditView.as_view(), name='manufacturer_edit'), - path('manufacturers//delete/', views.ManufacturerDeleteView.as_view(), name='manufacturer_delete'), path('manufacturers//', include(get_model_urls('dcim', 'manufacturer'))), # Device types @@ -104,9 +77,6 @@ urlpatterns = [ path('device-types/import/', views.DeviceTypeImportView.as_view(), name='devicetype_import'), path('device-types/edit/', views.DeviceTypeBulkEditView.as_view(), name='devicetype_bulk_edit'), path('device-types/delete/', views.DeviceTypeBulkDeleteView.as_view(), name='devicetype_bulk_delete'), - path('device-types//', views.DeviceTypeView.as_view(), name='devicetype'), - path('device-types//edit/', views.DeviceTypeEditView.as_view(), name='devicetype_edit'), - path('device-types//delete/', views.DeviceTypeDeleteView.as_view(), name='devicetype_delete'), path('device-types//', include(get_model_urls('dcim', 'devicetype'))), # Module types @@ -115,9 +85,6 @@ urlpatterns = [ path('module-types/import/', views.ModuleTypeImportView.as_view(), name='moduletype_import'), path('module-types/edit/', views.ModuleTypeBulkEditView.as_view(), name='moduletype_bulk_edit'), path('module-types/delete/', views.ModuleTypeBulkDeleteView.as_view(), name='moduletype_bulk_delete'), - path('module-types//', views.ModuleTypeView.as_view(), name='moduletype'), - path('module-types//edit/', views.ModuleTypeEditView.as_view(), name='moduletype_edit'), - path('module-types//delete/', views.ModuleTypeDeleteView.as_view(), name='moduletype_delete'), path('module-types//', include(get_model_urls('dcim', 'moduletype'))), # Console port templates @@ -125,80 +92,70 @@ urlpatterns = [ path('console-port-templates/edit/', views.ConsolePortTemplateBulkEditView.as_view(), name='consoleporttemplate_bulk_edit'), path('console-port-templates/rename/', views.ConsolePortTemplateBulkRenameView.as_view(), name='consoleporttemplate_bulk_rename'), path('console-port-templates/delete/', views.ConsolePortTemplateBulkDeleteView.as_view(), name='consoleporttemplate_bulk_delete'), - path('console-port-templates//edit/', views.ConsolePortTemplateEditView.as_view(), name='consoleporttemplate_edit'), - path('console-port-templates//delete/', views.ConsolePortTemplateDeleteView.as_view(), name='consoleporttemplate_delete'), + path('console-port-templates//', include(get_model_urls('dcim', 'consoleporttemplate'))), # Console server port templates path('console-server-port-templates/add/', views.ConsoleServerPortTemplateCreateView.as_view(), name='consoleserverporttemplate_add'), path('console-server-port-templates/edit/', views.ConsoleServerPortTemplateBulkEditView.as_view(), name='consoleserverporttemplate_bulk_edit'), path('console-server-port-templates/rename/', views.ConsoleServerPortTemplateBulkRenameView.as_view(), name='consoleserverporttemplate_bulk_rename'), path('console-server-port-templates/delete/', views.ConsoleServerPortTemplateBulkDeleteView.as_view(), name='consoleserverporttemplate_bulk_delete'), - path('console-server-port-templates//edit/', views.ConsoleServerPortTemplateEditView.as_view(), name='consoleserverporttemplate_edit'), - path('console-server-port-templates//delete/', views.ConsoleServerPortTemplateDeleteView.as_view(), name='consoleserverporttemplate_delete'), + path('console-server-port-templates//', include(get_model_urls('dcim', 'consoleserverporttemplate'))), # Power port templates path('power-port-templates/add/', views.PowerPortTemplateCreateView.as_view(), name='powerporttemplate_add'), path('power-port-templates/edit/', views.PowerPortTemplateBulkEditView.as_view(), name='powerporttemplate_bulk_edit'), path('power-port-templates/rename/', views.PowerPortTemplateBulkRenameView.as_view(), name='powerporttemplate_bulk_rename'), path('power-port-templates/delete/', views.PowerPortTemplateBulkDeleteView.as_view(), name='powerporttemplate_bulk_delete'), - path('power-port-templates//edit/', views.PowerPortTemplateEditView.as_view(), name='powerporttemplate_edit'), - path('power-port-templates//delete/', views.PowerPortTemplateDeleteView.as_view(), name='powerporttemplate_delete'), + path('power-port-templates//', include(get_model_urls('dcim', 'powerporttemplate'))), # Power outlet templates path('power-outlet-templates/add/', views.PowerOutletTemplateCreateView.as_view(), name='poweroutlettemplate_add'), path('power-outlet-templates/edit/', views.PowerOutletTemplateBulkEditView.as_view(), name='poweroutlettemplate_bulk_edit'), path('power-outlet-templates/rename/', views.PowerOutletTemplateBulkRenameView.as_view(), name='poweroutlettemplate_bulk_rename'), path('power-outlet-templates/delete/', views.PowerOutletTemplateBulkDeleteView.as_view(), name='poweroutlettemplate_bulk_delete'), - path('power-outlet-templates//edit/', views.PowerOutletTemplateEditView.as_view(), name='poweroutlettemplate_edit'), - path('power-outlet-templates//delete/', views.PowerOutletTemplateDeleteView.as_view(), name='poweroutlettemplate_delete'), + path('power-outlet-templates//', include(get_model_urls('dcim', 'poweroutlettemplate'))), # Interface templates path('interface-templates/add/', views.InterfaceTemplateCreateView.as_view(), name='interfacetemplate_add'), path('interface-templates/edit/', views.InterfaceTemplateBulkEditView.as_view(), name='interfacetemplate_bulk_edit'), path('interface-templates/rename/', views.InterfaceTemplateBulkRenameView.as_view(), name='interfacetemplate_bulk_rename'), path('interface-templates/delete/', views.InterfaceTemplateBulkDeleteView.as_view(), name='interfacetemplate_bulk_delete'), - path('interface-templates//edit/', views.InterfaceTemplateEditView.as_view(), name='interfacetemplate_edit'), - path('interface-templates//delete/', views.InterfaceTemplateDeleteView.as_view(), name='interfacetemplate_delete'), + path('interface-templates//', include(get_model_urls('dcim', 'interfacetemplate'))), # Front port templates path('front-port-templates/add/', views.FrontPortTemplateCreateView.as_view(), name='frontporttemplate_add'), path('front-port-templates/edit/', views.FrontPortTemplateBulkEditView.as_view(), name='frontporttemplate_bulk_edit'), path('front-port-templates/rename/', views.FrontPortTemplateBulkRenameView.as_view(), name='frontporttemplate_bulk_rename'), path('front-port-templates/delete/', views.FrontPortTemplateBulkDeleteView.as_view(), name='frontporttemplate_bulk_delete'), - path('front-port-templates//edit/', views.FrontPortTemplateEditView.as_view(), name='frontporttemplate_edit'), - path('front-port-templates//delete/', views.FrontPortTemplateDeleteView.as_view(), name='frontporttemplate_delete'), + path('front-port-templates//', include(get_model_urls('dcim', 'frontporttemplate'))), # Rear port templates path('rear-port-templates/add/', views.RearPortTemplateCreateView.as_view(), name='rearporttemplate_add'), path('rear-port-templates/edit/', views.RearPortTemplateBulkEditView.as_view(), name='rearporttemplate_bulk_edit'), path('rear-port-templates/rename/', views.RearPortTemplateBulkRenameView.as_view(), name='rearporttemplate_bulk_rename'), path('rear-port-templates/delete/', views.RearPortTemplateBulkDeleteView.as_view(), name='rearporttemplate_bulk_delete'), - path('rear-port-templates//edit/', views.RearPortTemplateEditView.as_view(), name='rearporttemplate_edit'), - path('rear-port-templates//delete/', views.RearPortTemplateDeleteView.as_view(), name='rearporttemplate_delete'), + path('rear-port-templates//', include(get_model_urls('dcim', 'rearporttemplate'))), # Device bay templates path('device-bay-templates/add/', views.DeviceBayTemplateCreateView.as_view(), name='devicebaytemplate_add'), path('device-bay-templates/edit/', views.DeviceBayTemplateBulkEditView.as_view(), name='devicebaytemplate_bulk_edit'), path('device-bay-templates/rename/', views.DeviceBayTemplateBulkRenameView.as_view(), name='devicebaytemplate_bulk_rename'), path('device-bay-templates/delete/', views.DeviceBayTemplateBulkDeleteView.as_view(), name='devicebaytemplate_bulk_delete'), - path('device-bay-templates//edit/', views.DeviceBayTemplateEditView.as_view(), name='devicebaytemplate_edit'), - path('device-bay-templates//delete/', views.DeviceBayTemplateDeleteView.as_view(), name='devicebaytemplate_delete'), + path('device-bay-templates//', include(get_model_urls('dcim', 'devicebaytemplate'))), # Module bay templates path('module-bay-templates/add/', views.ModuleBayTemplateCreateView.as_view(), name='modulebaytemplate_add'), path('module-bay-templates/edit/', views.ModuleBayTemplateBulkEditView.as_view(), name='modulebaytemplate_bulk_edit'), path('module-bay-templates/rename/', views.ModuleBayTemplateBulkRenameView.as_view(), name='modulebaytemplate_bulk_rename'), path('module-bay-templates/delete/', views.ModuleBayTemplateBulkDeleteView.as_view(), name='modulebaytemplate_bulk_delete'), - path('module-bay-templates//edit/', views.ModuleBayTemplateEditView.as_view(), name='modulebaytemplate_edit'), - path('module-bay-templates//delete/', views.ModuleBayTemplateDeleteView.as_view(), name='modulebaytemplate_delete'), + path('module-bay-templates//', include(get_model_urls('dcim', 'modulebaytemplate'))), # Inventory item templates path('inventory-item-templates/add/', views.InventoryItemTemplateCreateView.as_view(), name='inventoryitemtemplate_add'), path('inventory-item-templates/edit/', views.InventoryItemTemplateBulkEditView.as_view(), name='inventoryitemtemplate_bulk_edit'), path('inventory-item-templates/rename/', views.InventoryItemTemplateBulkRenameView.as_view(), name='inventoryitemtemplate_bulk_rename'), path('inventory-item-templates/delete/', views.InventoryItemTemplateBulkDeleteView.as_view(), name='inventoryitemtemplate_bulk_delete'), - path('inventory-item-templates//edit/', views.InventoryItemTemplateEditView.as_view(), name='inventoryitemtemplate_edit'), - path('inventory-item-templates//delete/', views.InventoryItemTemplateDeleteView.as_view(), name='inventoryitemtemplate_delete'), + path('inventory-item-templates//', include(get_model_urls('dcim', 'inventoryitemtemplate'))), # Device roles path('device-roles/', views.DeviceRoleListView.as_view(), name='devicerole_list'), @@ -206,9 +163,6 @@ urlpatterns = [ path('device-roles/import/', views.DeviceRoleBulkImportView.as_view(), name='devicerole_import'), path('device-roles/edit/', views.DeviceRoleBulkEditView.as_view(), name='devicerole_bulk_edit'), path('device-roles/delete/', views.DeviceRoleBulkDeleteView.as_view(), name='devicerole_bulk_delete'), - path('device-roles//', views.DeviceRoleView.as_view(), name='devicerole'), - path('device-roles//edit/', views.DeviceRoleEditView.as_view(), name='devicerole_edit'), - path('device-roles//delete/', views.DeviceRoleDeleteView.as_view(), name='devicerole_delete'), path('device-roles//', include(get_model_urls('dcim', 'devicerole'))), # Platforms @@ -217,9 +171,6 @@ urlpatterns = [ path('platforms/import/', views.PlatformBulkImportView.as_view(), name='platform_import'), path('platforms/edit/', views.PlatformBulkEditView.as_view(), name='platform_bulk_edit'), path('platforms/delete/', views.PlatformBulkDeleteView.as_view(), name='platform_bulk_delete'), - path('platforms//', views.PlatformView.as_view(), name='platform'), - path('platforms//edit/', views.PlatformEditView.as_view(), name='platform_edit'), - path('platforms//delete/', views.PlatformDeleteView.as_view(), name='platform_delete'), path('platforms//', include(get_model_urls('dcim', 'platform'))), # Devices @@ -230,9 +181,6 @@ urlpatterns = [ path('devices/edit/', views.DeviceBulkEditView.as_view(), name='device_bulk_edit'), path('devices/rename/', views.DeviceBulkRenameView.as_view(), name='device_bulk_rename'), path('devices/delete/', views.DeviceBulkDeleteView.as_view(), name='device_bulk_delete'), - path('devices//', views.DeviceView.as_view(), name='device'), - path('devices//edit/', views.DeviceEditView.as_view(), name='device_edit'), - path('devices//delete/', views.DeviceDeleteView.as_view(), name='device_delete'), path('devices//', include(get_model_urls('dcim', 'device'))), # Modules @@ -241,9 +189,6 @@ urlpatterns = [ path('modules/import/', views.ModuleBulkImportView.as_view(), name='module_import'), path('modules/edit/', views.ModuleBulkEditView.as_view(), name='module_bulk_edit'), path('modules/delete/', views.ModuleBulkDeleteView.as_view(), name='module_bulk_delete'), - path('modules//', views.ModuleView.as_view(), name='module'), - path('modules//edit/', views.ModuleEditView.as_view(), name='module_edit'), - path('modules//delete/', views.ModuleDeleteView.as_view(), name='module_delete'), path('modules//', include(get_model_urls('dcim', 'module'))), # Console ports @@ -254,10 +199,6 @@ urlpatterns = [ path('console-ports/rename/', views.ConsolePortBulkRenameView.as_view(), name='consoleport_bulk_rename'), path('console-ports/disconnect/', views.ConsolePortBulkDisconnectView.as_view(), name='consoleport_bulk_disconnect'), path('console-ports/delete/', views.ConsolePortBulkDeleteView.as_view(), name='consoleport_bulk_delete'), - path('console-ports//', views.ConsolePortView.as_view(), name='consoleport'), - path('console-ports//edit/', views.ConsolePortEditView.as_view(), name='consoleport_edit'), - path('console-ports//delete/', views.ConsolePortDeleteView.as_view(), name='consoleport_delete'), - path('console-ports//trace/', views.PathTraceView.as_view(), name='consoleport_trace', kwargs={'model': ConsolePort}), path('console-ports//', include(get_model_urls('dcim', 'consoleport'))), path('devices/console-ports/add/', views.DeviceBulkAddConsolePortView.as_view(), name='device_bulk_add_consoleport'), @@ -269,10 +210,6 @@ urlpatterns = [ path('console-server-ports/rename/', views.ConsoleServerPortBulkRenameView.as_view(), name='consoleserverport_bulk_rename'), path('console-server-ports/disconnect/', views.ConsoleServerPortBulkDisconnectView.as_view(), name='consoleserverport_bulk_disconnect'), path('console-server-ports/delete/', views.ConsoleServerPortBulkDeleteView.as_view(), name='consoleserverport_bulk_delete'), - path('console-server-ports//', views.ConsoleServerPortView.as_view(), name='consoleserverport'), - path('console-server-ports//edit/', views.ConsoleServerPortEditView.as_view(), name='consoleserverport_edit'), - path('console-server-ports//delete/', views.ConsoleServerPortDeleteView.as_view(), name='consoleserverport_delete'), - path('console-server-ports//trace/', views.PathTraceView.as_view(), name='consoleserverport_trace', kwargs={'model': ConsoleServerPort}), path('console-server-ports//', include(get_model_urls('dcim', 'consoleserverport'))), path('devices/console-server-ports/add/', views.DeviceBulkAddConsoleServerPortView.as_view(), name='device_bulk_add_consoleserverport'), @@ -284,10 +221,6 @@ urlpatterns = [ path('power-ports/rename/', views.PowerPortBulkRenameView.as_view(), name='powerport_bulk_rename'), path('power-ports/disconnect/', views.PowerPortBulkDisconnectView.as_view(), name='powerport_bulk_disconnect'), path('power-ports/delete/', views.PowerPortBulkDeleteView.as_view(), name='powerport_bulk_delete'), - path('power-ports//', views.PowerPortView.as_view(), name='powerport'), - path('power-ports//edit/', views.PowerPortEditView.as_view(), name='powerport_edit'), - path('power-ports//delete/', views.PowerPortDeleteView.as_view(), name='powerport_delete'), - path('power-ports//trace/', views.PathTraceView.as_view(), name='powerport_trace', kwargs={'model': PowerPort}), path('power-ports//', include(get_model_urls('dcim', 'powerport'))), path('devices/power-ports/add/', views.DeviceBulkAddPowerPortView.as_view(), name='device_bulk_add_powerport'), @@ -299,10 +232,6 @@ urlpatterns = [ path('power-outlets/rename/', views.PowerOutletBulkRenameView.as_view(), name='poweroutlet_bulk_rename'), path('power-outlets/disconnect/', views.PowerOutletBulkDisconnectView.as_view(), name='poweroutlet_bulk_disconnect'), path('power-outlets/delete/', views.PowerOutletBulkDeleteView.as_view(), name='poweroutlet_bulk_delete'), - path('power-outlets//', views.PowerOutletView.as_view(), name='poweroutlet'), - path('power-outlets//edit/', views.PowerOutletEditView.as_view(), name='poweroutlet_edit'), - path('power-outlets//delete/', views.PowerOutletDeleteView.as_view(), name='poweroutlet_delete'), - path('power-outlets//trace/', views.PathTraceView.as_view(), name='poweroutlet_trace', kwargs={'model': PowerOutlet}), path('power-outlets//', include(get_model_urls('dcim', 'poweroutlet'))), path('devices/power-outlets/add/', views.DeviceBulkAddPowerOutletView.as_view(), name='device_bulk_add_poweroutlet'), @@ -314,10 +243,6 @@ urlpatterns = [ path('interfaces/rename/', views.InterfaceBulkRenameView.as_view(), name='interface_bulk_rename'), path('interfaces/disconnect/', views.InterfaceBulkDisconnectView.as_view(), name='interface_bulk_disconnect'), path('interfaces/delete/', views.InterfaceBulkDeleteView.as_view(), name='interface_bulk_delete'), - path('interfaces//', views.InterfaceView.as_view(), name='interface'), - path('interfaces//edit/', views.InterfaceEditView.as_view(), name='interface_edit'), - path('interfaces//delete/', views.InterfaceDeleteView.as_view(), name='interface_delete'), - path('interfaces//trace/', views.PathTraceView.as_view(), name='interface_trace', kwargs={'model': Interface}), path('interfaces//', include(get_model_urls('dcim', 'interface'))), path('devices/interfaces/add/', views.DeviceBulkAddInterfaceView.as_view(), name='device_bulk_add_interface'), @@ -329,10 +254,6 @@ urlpatterns = [ path('front-ports/rename/', views.FrontPortBulkRenameView.as_view(), name='frontport_bulk_rename'), path('front-ports/disconnect/', views.FrontPortBulkDisconnectView.as_view(), name='frontport_bulk_disconnect'), path('front-ports/delete/', views.FrontPortBulkDeleteView.as_view(), name='frontport_bulk_delete'), - path('front-ports//', views.FrontPortView.as_view(), name='frontport'), - path('front-ports//edit/', views.FrontPortEditView.as_view(), name='frontport_edit'), - path('front-ports//delete/', views.FrontPortDeleteView.as_view(), name='frontport_delete'), - path('front-ports//trace/', views.PathTraceView.as_view(), name='frontport_trace', kwargs={'model': FrontPort}), path('front-ports//', include(get_model_urls('dcim', 'frontport'))), # path('devices/front-ports/add/', views.DeviceBulkAddFrontPortView.as_view(), name='device_bulk_add_frontport'), @@ -344,10 +265,6 @@ urlpatterns = [ path('rear-ports/rename/', views.RearPortBulkRenameView.as_view(), name='rearport_bulk_rename'), path('rear-ports/disconnect/', views.RearPortBulkDisconnectView.as_view(), name='rearport_bulk_disconnect'), path('rear-ports/delete/', views.RearPortBulkDeleteView.as_view(), name='rearport_bulk_delete'), - path('rear-ports//', views.RearPortView.as_view(), name='rearport'), - path('rear-ports//edit/', views.RearPortEditView.as_view(), name='rearport_edit'), - path('rear-ports//delete/', views.RearPortDeleteView.as_view(), name='rearport_delete'), - path('rear-ports//trace/', views.PathTraceView.as_view(), name='rearport_trace', kwargs={'model': RearPort}), path('rear-ports//', include(get_model_urls('dcim', 'rearport'))), path('devices/rear-ports/add/', views.DeviceBulkAddRearPortView.as_view(), name='device_bulk_add_rearport'), @@ -358,9 +275,6 @@ urlpatterns = [ path('module-bays/edit/', views.ModuleBayBulkEditView.as_view(), name='modulebay_bulk_edit'), path('module-bays/rename/', views.ModuleBayBulkRenameView.as_view(), name='modulebay_bulk_rename'), path('module-bays/delete/', views.ModuleBayBulkDeleteView.as_view(), name='modulebay_bulk_delete'), - path('module-bays//', views.ModuleBayView.as_view(), name='modulebay'), - path('module-bays//edit/', views.ModuleBayEditView.as_view(), name='modulebay_edit'), - path('module-bays//delete/', views.ModuleBayDeleteView.as_view(), name='modulebay_delete'), path('module-bays//', include(get_model_urls('dcim', 'modulebay'))), path('devices/module-bays/add/', views.DeviceBulkAddModuleBayView.as_view(), name='device_bulk_add_modulebay'), @@ -371,11 +285,6 @@ urlpatterns = [ path('device-bays/edit/', views.DeviceBayBulkEditView.as_view(), name='devicebay_bulk_edit'), path('device-bays/rename/', views.DeviceBayBulkRenameView.as_view(), name='devicebay_bulk_rename'), path('device-bays/delete/', views.DeviceBayBulkDeleteView.as_view(), name='devicebay_bulk_delete'), - path('device-bays//', views.DeviceBayView.as_view(), name='devicebay'), - path('device-bays//edit/', views.DeviceBayEditView.as_view(), name='devicebay_edit'), - path('device-bays//delete/', views.DeviceBayDeleteView.as_view(), name='devicebay_delete'), - path('device-bays//populate/', views.DeviceBayPopulateView.as_view(), name='devicebay_populate'), - path('device-bays//depopulate/', views.DeviceBayDepopulateView.as_view(), name='devicebay_depopulate'), path('device-bays//', include(get_model_urls('dcim', 'devicebay'))), path('devices/device-bays/add/', views.DeviceBulkAddDeviceBayView.as_view(), name='device_bulk_add_devicebay'), @@ -386,9 +295,6 @@ urlpatterns = [ path('inventory-items/edit/', views.InventoryItemBulkEditView.as_view(), name='inventoryitem_bulk_edit'), path('inventory-items/rename/', views.InventoryItemBulkRenameView.as_view(), name='inventoryitem_bulk_rename'), path('inventory-items/delete/', views.InventoryItemBulkDeleteView.as_view(), name='inventoryitem_bulk_delete'), - path('inventory-items//', views.InventoryItemView.as_view(), name='inventoryitem'), - path('inventory-items//edit/', views.InventoryItemEditView.as_view(), name='inventoryitem_edit'), - path('inventory-items//delete/', views.InventoryItemDeleteView.as_view(), name='inventoryitem_delete'), path('inventory-items//', include(get_model_urls('dcim', 'inventoryitem'))), path('devices/inventory-items/add/', views.DeviceBulkAddInventoryItemView.as_view(), name='device_bulk_add_inventoryitem'), @@ -398,9 +304,6 @@ urlpatterns = [ path('inventory-item-roles/import/', views.InventoryItemRoleBulkImportView.as_view(), name='inventoryitemrole_import'), path('inventory-item-roles/edit/', views.InventoryItemRoleBulkEditView.as_view(), name='inventoryitemrole_bulk_edit'), path('inventory-item-roles/delete/', views.InventoryItemRoleBulkDeleteView.as_view(), name='inventoryitemrole_bulk_delete'), - path('inventory-item-roles//', views.InventoryItemRoleView.as_view(), name='inventoryitemrole'), - path('inventory-item-roles//edit/', views.InventoryItemRoleEditView.as_view(), name='inventoryitemrole_edit'), - path('inventory-item-roles//delete/', views.InventoryItemRoleDeleteView.as_view(), name='inventoryitemrole_delete'), path('inventory-item-roles//', include(get_model_urls('dcim', 'inventoryitemrole'))), # Cables @@ -409,9 +312,6 @@ urlpatterns = [ path('cables/import/', views.CableBulkImportView.as_view(), name='cable_import'), path('cables/edit/', views.CableBulkEditView.as_view(), name='cable_bulk_edit'), path('cables/delete/', views.CableBulkDeleteView.as_view(), name='cable_bulk_delete'), - path('cables//', views.CableView.as_view(), name='cable'), - path('cables//edit/', views.CableEditView.as_view(), name='cable_edit'), - path('cables//delete/', views.CableDeleteView.as_view(), name='cable_delete'), path('cables//', include(get_model_urls('dcim', 'cable'))), # Console/power/interface connections (read-only) @@ -425,10 +325,6 @@ urlpatterns = [ path('virtual-chassis/import/', views.VirtualChassisBulkImportView.as_view(), name='virtualchassis_import'), path('virtual-chassis/edit/', views.VirtualChassisBulkEditView.as_view(), name='virtualchassis_bulk_edit'), path('virtual-chassis/delete/', views.VirtualChassisBulkDeleteView.as_view(), name='virtualchassis_bulk_delete'), - path('virtual-chassis//', views.VirtualChassisView.as_view(), name='virtualchassis'), - path('virtual-chassis//edit/', views.VirtualChassisEditView.as_view(), name='virtualchassis_edit'), - path('virtual-chassis//delete/', views.VirtualChassisDeleteView.as_view(), name='virtualchassis_delete'), - path('virtual-chassis//add-member/', views.VirtualChassisAddMemberView.as_view(), name='virtualchassis_add_member'), path('virtual-chassis//', include(get_model_urls('dcim', 'virtualchassis'))), path('virtual-chassis-members//delete/', views.VirtualChassisRemoveMemberView.as_view(), name='virtualchassis_remove_member'), @@ -438,9 +334,6 @@ urlpatterns = [ path('power-panels/import/', views.PowerPanelBulkImportView.as_view(), name='powerpanel_import'), path('power-panels/edit/', views.PowerPanelBulkEditView.as_view(), name='powerpanel_bulk_edit'), path('power-panels/delete/', views.PowerPanelBulkDeleteView.as_view(), name='powerpanel_bulk_delete'), - path('power-panels//', views.PowerPanelView.as_view(), name='powerpanel'), - path('power-panels//edit/', views.PowerPanelEditView.as_view(), name='powerpanel_edit'), - path('power-panels//delete/', views.PowerPanelDeleteView.as_view(), name='powerpanel_delete'), path('power-panels//', include(get_model_urls('dcim', 'powerpanel'))), # Power feeds @@ -450,10 +343,6 @@ urlpatterns = [ path('power-feeds/edit/', views.PowerFeedBulkEditView.as_view(), name='powerfeed_bulk_edit'), path('power-feeds/disconnect/', views.PowerFeedBulkDisconnectView.as_view(), name='powerfeed_bulk_disconnect'), path('power-feeds/delete/', views.PowerFeedBulkDeleteView.as_view(), name='powerfeed_bulk_delete'), - path('power-feeds//', views.PowerFeedView.as_view(), name='powerfeed'), - path('power-feeds//edit/', views.PowerFeedEditView.as_view(), name='powerfeed_edit'), - path('power-feeds//delete/', views.PowerFeedDeleteView.as_view(), name='powerfeed_delete'), - path('power-feeds//trace/', views.PathTraceView.as_view(), name='powerfeed_trace', kwargs={'model': PowerFeed}), path('power-feeds//', include(get_model_urls('dcim', 'powerfeed'))), ] diff --git a/netbox/dcim/views.py b/netbox/dcim/views.py index ef0c1f917..195de2937 100644 --- a/netbox/dcim/views.py +++ b/netbox/dcim/views.py @@ -134,6 +134,61 @@ class BulkDisconnectView(GetReturnURLMixin, ObjectPermissionRequiredMixin, View) }) +class PathTraceView(generic.ObjectView): + """ + Trace a cable path beginning from the given path endpoint (origin). + """ + additional_permissions = ['dcim.view_cable'] + template_name = 'dcim/cable_trace.html' + + def dispatch(self, request, *args, **kwargs): + model = kwargs.pop('model') + self.queryset = model.objects.all() + + return super().dispatch(request, *args, **kwargs) + + def get_extra_context(self, request, instance): + related_paths = [] + + # If tracing a PathEndpoint, locate the CablePath (if one exists) by its origin + if isinstance(instance, PathEndpoint): + path = instance._path + + # Otherwise, find all CablePaths which traverse the specified object + else: + related_paths = CablePath.objects.filter(_nodes__contains=instance) + # Check for specification of a particular path (when tracing pass-through ports) + try: + path_id = int(request.GET.get('cablepath_id')) + except TypeError: + path_id = None + if path_id in list(related_paths.values_list('pk', flat=True)): + path = CablePath.objects.get(pk=path_id) + else: + path = related_paths.first() + + # No paths found + if path is None: + return { + 'path': None + } + + # Get the total length of the cable and whether the length is definitive (fully defined) + total_length, is_definitive = path.get_total_length() if path else (None, False) + + # Determine the path to the SVG trace image + api_viewname = f"{path.origin_type.app_label}-api:{path.origin_type.model}-trace" + svg_url = f"{reverse(api_viewname, kwargs={'pk': path.origins[0].pk})}?render=svg" + + return { + 'path': path, + 'related_paths': related_paths, + 'total_length': total_length, + 'is_definitive': is_definitive, + 'svg_url': svg_url, + } + + # # Regions # @@ -151,6 +206,7 @@ class RegionListView(generic.ObjectListView): table = tables.RegionTable +@register_model_view(Region) class RegionView(generic.ObjectView): queryset = Region.objects.all() @@ -179,11 +235,13 @@ class RegionView(generic.ObjectView): } +@register_model_view(Region, 'edit') class RegionEditView(generic.ObjectEditView): queryset = Region.objects.all() form = forms.RegionForm +@register_model_view(Region, 'delete') class RegionDeleteView(generic.ObjectDeleteView): queryset = Region.objects.all() @@ -236,6 +294,7 @@ class SiteGroupListView(generic.ObjectListView): table = tables.SiteGroupTable +@register_model_view(SiteGroup) class SiteGroupView(generic.ObjectView): queryset = SiteGroup.objects.all() @@ -264,11 +323,13 @@ class SiteGroupView(generic.ObjectView): } +@register_model_view(SiteGroup, 'edit') class SiteGroupEditView(generic.ObjectEditView): queryset = SiteGroup.objects.all() form = forms.SiteGroupForm +@register_model_view(SiteGroup, 'delete') class SiteGroupDeleteView(generic.ObjectDeleteView): queryset = SiteGroup.objects.all() @@ -315,6 +376,7 @@ class SiteListView(generic.ObjectListView): table = tables.SiteTable +@register_model_view(Site) class SiteView(generic.ObjectView): queryset = Site.objects.prefetch_related('tenant__group') @@ -367,11 +429,13 @@ class SiteView(generic.ObjectView): } +@register_model_view(Site, 'edit') class SiteEditView(generic.ObjectEditView): queryset = Site.objects.all() form = forms.SiteForm +@register_model_view(Site, 'delete') class SiteDeleteView(generic.ObjectDeleteView): queryset = Site.objects.all() @@ -418,6 +482,7 @@ class LocationListView(generic.ObjectListView): table = tables.LocationTable +@register_model_view(Location) class LocationView(generic.ObjectView): queryset = Location.objects.all() @@ -457,11 +522,13 @@ class LocationView(generic.ObjectView): } +@register_model_view(Location, 'edit') class LocationEditView(generic.ObjectEditView): queryset = Location.objects.all() form = forms.LocationForm +@register_model_view(Location, 'delete') class LocationDeleteView(generic.ObjectDeleteView): queryset = Location.objects.all() @@ -510,6 +577,7 @@ class RackRoleListView(generic.ObjectListView): table = tables.RackRoleTable +@register_model_view(RackRole) class RackRoleView(generic.ObjectView): queryset = RackRole.objects.all() @@ -528,11 +596,13 @@ class RackRoleView(generic.ObjectView): } +@register_model_view(RackRole, 'edit') class RackRoleEditView(generic.ObjectEditView): queryset = RackRole.objects.all() form = forms.RackRoleForm +@register_model_view(RackRole, 'delete') class RackRoleDeleteView(generic.ObjectDeleteView): queryset = RackRole.objects.all() @@ -623,6 +693,7 @@ class RackElevationListView(generic.ObjectListView): }) +@register_model_view(Rack) class RackView(generic.ObjectView): queryset = Rack.objects.prefetch_related('site__region', 'tenant__group', 'location', 'role') @@ -666,12 +737,14 @@ class RackView(generic.ObjectView): } +@register_model_view(Rack, 'edit') class RackEditView(generic.ObjectEditView): queryset = Rack.objects.all() form = forms.RackForm template_name = 'dcim/rack_edit.html' +@register_model_view(Rack, 'delete') class RackDeleteView(generic.ObjectDeleteView): queryset = Rack.objects.all() @@ -706,10 +779,12 @@ class RackReservationListView(generic.ObjectListView): table = tables.RackReservationTable +@register_model_view(RackReservation) class RackReservationView(generic.ObjectView): queryset = RackReservation.objects.all() +@register_model_view(RackReservation, 'edit') class RackReservationEditView(generic.ObjectEditView): queryset = RackReservation.objects.all() form = forms.RackReservationForm @@ -722,6 +797,7 @@ class RackReservationEditView(generic.ObjectEditView): return obj +@register_model_view(RackReservation, 'delete') class RackReservationDeleteView(generic.ObjectDeleteView): queryset = RackReservation.objects.all() @@ -770,6 +846,7 @@ class ManufacturerListView(generic.ObjectListView): table = tables.ManufacturerTable +@register_model_view(Manufacturer) class ManufacturerView(generic.ObjectView): queryset = Manufacturer.objects.all() @@ -796,11 +873,13 @@ class ManufacturerView(generic.ObjectView): } +@register_model_view(Manufacturer, 'edit') class ManufacturerEditView(generic.ObjectEditView): queryset = Manufacturer.objects.all() form = forms.ManufacturerForm +@register_model_view(Manufacturer, 'delete') class ManufacturerDeleteView(generic.ObjectDeleteView): queryset = Manufacturer.objects.all() @@ -840,6 +919,7 @@ class DeviceTypeListView(generic.ObjectListView): table = tables.DeviceTypeTable +@register_model_view(DeviceType) class DeviceTypeView(generic.ObjectView): queryset = DeviceType.objects.all() @@ -851,6 +931,17 @@ class DeviceTypeView(generic.ObjectView): } +@register_model_view(DeviceType, 'edit') +class DeviceTypeEditView(generic.ObjectEditView): + queryset = DeviceType.objects.all() + form = forms.DeviceTypeForm + + +@register_model_view(DeviceType, 'delete') +class DeviceTypeDeleteView(generic.ObjectDeleteView): + queryset = DeviceType.objects.all() + + @register_model_view(DeviceType, 'consoleports', path='console-ports') class DeviceTypeConsolePortsView(DeviceTypeComponentsView): child_model = ConsolePortTemplate @@ -981,15 +1072,6 @@ class DeviceTypeInventoryItemsView(DeviceTypeComponentsView): ) -class DeviceTypeEditView(generic.ObjectEditView): - queryset = DeviceType.objects.all() - form = forms.DeviceTypeForm - - -class DeviceTypeDeleteView(generic.ObjectDeleteView): - queryset = DeviceType.objects.all() - - class DeviceTypeImportView(generic.ObjectImportView): additional_permissions = [ 'dcim.add_devicetype', @@ -1054,6 +1136,7 @@ class ModuleTypeListView(generic.ObjectListView): table = tables.ModuleTypeTable +@register_model_view(ModuleType) class ModuleTypeView(generic.ObjectView): queryset = ModuleType.objects.all() @@ -1065,6 +1148,17 @@ class ModuleTypeView(generic.ObjectView): } +@register_model_view(ModuleType, 'edit') +class ModuleTypeEditView(generic.ObjectEditView): + queryset = ModuleType.objects.all() + form = forms.ModuleTypeForm + + +@register_model_view(ModuleType, 'delete') +class ModuleTypeDeleteView(generic.ObjectDeleteView): + queryset = ModuleType.objects.all() + + @register_model_view(ModuleType, 'consoleports', path='console-ports') class ModuleTypeConsolePortsView(ModuleTypeComponentsView): child_model = ConsolePortTemplate @@ -1156,15 +1250,6 @@ class ModuleTypeRearPortsView(ModuleTypeComponentsView): ) -class ModuleTypeEditView(generic.ObjectEditView): - queryset = ModuleType.objects.all() - form = forms.ModuleTypeForm - - -class ModuleTypeDeleteView(generic.ObjectDeleteView): - queryset = ModuleType.objects.all() - - class ModuleTypeImportView(generic.ObjectImportView): additional_permissions = [ 'dcim.add_moduletype', @@ -1220,11 +1305,13 @@ class ConsolePortTemplateCreateView(generic.ComponentCreateView): model_form = forms.ConsolePortTemplateForm +@register_model_view(ConsolePortTemplate, 'edit') class ConsolePortTemplateEditView(generic.ObjectEditView): queryset = ConsolePortTemplate.objects.all() form = forms.ConsolePortTemplateForm +@register_model_view(ConsolePortTemplate, 'delete') class ConsolePortTemplateDeleteView(generic.ObjectDeleteView): queryset = ConsolePortTemplate.objects.all() @@ -1254,11 +1341,13 @@ class ConsoleServerPortTemplateCreateView(generic.ComponentCreateView): model_form = forms.ConsoleServerPortTemplateForm +@register_model_view(ConsoleServerPortTemplate, 'edit') class ConsoleServerPortTemplateEditView(generic.ObjectEditView): queryset = ConsoleServerPortTemplate.objects.all() form = forms.ConsoleServerPortTemplateForm +@register_model_view(ConsoleServerPortTemplate, 'delete') class ConsoleServerPortTemplateDeleteView(generic.ObjectDeleteView): queryset = ConsoleServerPortTemplate.objects.all() @@ -1288,11 +1377,13 @@ class PowerPortTemplateCreateView(generic.ComponentCreateView): model_form = forms.PowerPortTemplateForm +@register_model_view(PowerPortTemplate, 'edit') class PowerPortTemplateEditView(generic.ObjectEditView): queryset = PowerPortTemplate.objects.all() form = forms.PowerPortTemplateForm +@register_model_view(PowerPortTemplate, 'delete') class PowerPortTemplateDeleteView(generic.ObjectDeleteView): queryset = PowerPortTemplate.objects.all() @@ -1322,11 +1413,13 @@ class PowerOutletTemplateCreateView(generic.ComponentCreateView): model_form = forms.PowerOutletTemplateForm +@register_model_view(PowerOutletTemplate, 'edit') class PowerOutletTemplateEditView(generic.ObjectEditView): queryset = PowerOutletTemplate.objects.all() form = forms.PowerOutletTemplateForm +@register_model_view(PowerOutletTemplate, 'delete') class PowerOutletTemplateDeleteView(generic.ObjectDeleteView): queryset = PowerOutletTemplate.objects.all() @@ -1356,11 +1449,13 @@ class InterfaceTemplateCreateView(generic.ComponentCreateView): model_form = forms.InterfaceTemplateForm +@register_model_view(InterfaceTemplate, 'edit') class InterfaceTemplateEditView(generic.ObjectEditView): queryset = InterfaceTemplate.objects.all() form = forms.InterfaceTemplateForm +@register_model_view(InterfaceTemplate, 'delete') class InterfaceTemplateDeleteView(generic.ObjectDeleteView): queryset = InterfaceTemplate.objects.all() @@ -1390,11 +1485,13 @@ class FrontPortTemplateCreateView(generic.ComponentCreateView): model_form = forms.FrontPortTemplateForm +@register_model_view(FrontPortTemplate, 'edit') class FrontPortTemplateEditView(generic.ObjectEditView): queryset = FrontPortTemplate.objects.all() form = forms.FrontPortTemplateForm +@register_model_view(FrontPortTemplate, 'delete') class FrontPortTemplateDeleteView(generic.ObjectDeleteView): queryset = FrontPortTemplate.objects.all() @@ -1424,11 +1521,13 @@ class RearPortTemplateCreateView(generic.ComponentCreateView): model_form = forms.RearPortTemplateForm +@register_model_view(RearPortTemplate, 'edit') class RearPortTemplateEditView(generic.ObjectEditView): queryset = RearPortTemplate.objects.all() form = forms.RearPortTemplateForm +@register_model_view(RearPortTemplate, 'delete') class RearPortTemplateDeleteView(generic.ObjectDeleteView): queryset = RearPortTemplate.objects.all() @@ -1458,11 +1557,13 @@ class ModuleBayTemplateCreateView(generic.ComponentCreateView): model_form = forms.ModuleBayTemplateForm +@register_model_view(ModuleBayTemplate, 'edit') class ModuleBayTemplateEditView(generic.ObjectEditView): queryset = ModuleBayTemplate.objects.all() form = forms.ModuleBayTemplateForm +@register_model_view(ModuleBayTemplate, 'delete') class ModuleBayTemplateDeleteView(generic.ObjectDeleteView): queryset = ModuleBayTemplate.objects.all() @@ -1492,11 +1593,13 @@ class DeviceBayTemplateCreateView(generic.ComponentCreateView): model_form = forms.DeviceBayTemplateForm +@register_model_view(DeviceBayTemplate, 'edit') class DeviceBayTemplateEditView(generic.ObjectEditView): queryset = DeviceBayTemplate.objects.all() form = forms.DeviceBayTemplateForm +@register_model_view(DeviceBayTemplate, 'delete') class DeviceBayTemplateDeleteView(generic.ObjectDeleteView): queryset = DeviceBayTemplate.objects.all() @@ -1537,11 +1640,13 @@ class InventoryItemTemplateCreateView(generic.ComponentCreateView): return instance +@register_model_view(InventoryItemTemplate, 'edit') class InventoryItemTemplateEditView(generic.ObjectEditView): queryset = InventoryItemTemplate.objects.all() form = forms.InventoryItemTemplateForm +@register_model_view(InventoryItemTemplate, 'delete') class InventoryItemTemplateDeleteView(generic.ObjectDeleteView): queryset = InventoryItemTemplate.objects.all() @@ -1575,6 +1680,7 @@ class DeviceRoleListView(generic.ObjectListView): table = tables.DeviceRoleTable +@register_model_view(DeviceRole) class DeviceRoleView(generic.ObjectView): queryset = DeviceRole.objects.all() @@ -1592,11 +1698,13 @@ class DeviceRoleView(generic.ObjectView): } +@register_model_view(DeviceRole, 'edit') class DeviceRoleEditView(generic.ObjectEditView): queryset = DeviceRole.objects.all() form = forms.DeviceRoleForm +@register_model_view(DeviceRole, 'delete') class DeviceRoleDeleteView(generic.ObjectDeleteView): queryset = DeviceRole.objects.all() @@ -1639,6 +1747,7 @@ class PlatformListView(generic.ObjectListView): filterset_form = forms.PlatformFilterForm +@register_model_view(Platform) class PlatformView(generic.ObjectView): queryset = Platform.objects.all() @@ -1655,11 +1764,13 @@ class PlatformView(generic.ObjectView): } +@register_model_view(Platform, 'edit') class PlatformEditView(generic.ObjectEditView): queryset = Platform.objects.all() form = forms.PlatformForm +@register_model_view(Platform, 'delete') class PlatformDeleteView(generic.ObjectDeleteView): queryset = Platform.objects.all() @@ -1694,6 +1805,7 @@ class DeviceListView(generic.ObjectListView): template_name = 'dcim/device_list.html' +@register_model_view(Device) class DeviceView(generic.ObjectView): queryset = Device.objects.all() @@ -1716,6 +1828,18 @@ class DeviceView(generic.ObjectView): } +@register_model_view(Device, 'edit') +class DeviceEditView(generic.ObjectEditView): + queryset = Device.objects.all() + form = forms.DeviceForm + template_name = 'dcim/device_edit.html' + + +@register_model_view(Device, 'delete') +class DeviceDeleteView(generic.ObjectDeleteView): + queryset = Device.objects.all() + + @register_model_view(Device, 'consoleports', path='console-ports') class DeviceConsolePortsView(DeviceComponentsView): child_model = ConsolePort @@ -1862,16 +1986,6 @@ class DeviceConfigContextView(ObjectConfigContextView): ) -class DeviceEditView(generic.ObjectEditView): - queryset = Device.objects.all() - form = forms.DeviceForm - template_name = 'dcim/device_edit.html' - - -class DeviceDeleteView(generic.ObjectDeleteView): - queryset = Device.objects.all() - - class DeviceBulkImportView(generic.BulkImportView): queryset = Device.objects.all() model_form = forms.DeviceCSVForm @@ -1988,15 +2102,18 @@ class ModuleListView(generic.ObjectListView): table = tables.ModuleTable +@register_model_view(Module) class ModuleView(generic.ObjectView): queryset = Module.objects.all() +@register_model_view(Module, 'edit') class ModuleEditView(generic.ObjectEditView): queryset = Module.objects.all() form = forms.ModuleForm +@register_model_view(Module, 'delete') class ModuleDeleteView(generic.ObjectDeleteView): queryset = Module.objects.all() @@ -2032,6 +2149,7 @@ class ConsolePortListView(generic.ObjectListView): actions = ('import', 'export', 'bulk_edit', 'bulk_delete') +@register_model_view(ConsolePort) class ConsolePortView(generic.ObjectView): queryset = ConsolePort.objects.all() @@ -2042,11 +2160,13 @@ class ConsolePortCreateView(generic.ComponentCreateView): model_form = forms.ConsolePortForm +@register_model_view(ConsolePort, 'edit') class ConsolePortEditView(generic.ObjectEditView): queryset = ConsolePort.objects.all() form = forms.ConsolePortForm +@register_model_view(ConsolePort, 'delete') class ConsolePortDeleteView(generic.ObjectDeleteView): queryset = ConsolePort.objects.all() @@ -2078,6 +2198,10 @@ class ConsolePortBulkDeleteView(generic.BulkDeleteView): table = tables.ConsolePortTable +# Trace view +register_model_view(ConsolePort, 'trace', kwargs={'model': ConsolePort})(PathTraceView) + + # # Console server ports # @@ -2090,6 +2214,7 @@ class ConsoleServerPortListView(generic.ObjectListView): actions = ('import', 'export', 'bulk_edit', 'bulk_delete') +@register_model_view(ConsoleServerPort) class ConsoleServerPortView(generic.ObjectView): queryset = ConsoleServerPort.objects.all() @@ -2100,11 +2225,13 @@ class ConsoleServerPortCreateView(generic.ComponentCreateView): model_form = forms.ConsoleServerPortForm +@register_model_view(ConsoleServerPort, 'edit') class ConsoleServerPortEditView(generic.ObjectEditView): queryset = ConsoleServerPort.objects.all() form = forms.ConsoleServerPortForm +@register_model_view(ConsoleServerPort, 'delete') class ConsoleServerPortDeleteView(generic.ObjectDeleteView): queryset = ConsoleServerPort.objects.all() @@ -2136,6 +2263,10 @@ class ConsoleServerPortBulkDeleteView(generic.BulkDeleteView): table = tables.ConsoleServerPortTable +# Trace view +register_model_view(ConsoleServerPort, 'trace', kwargs={'model': ConsoleServerPort})(PathTraceView) + + # # Power ports # @@ -2148,6 +2279,7 @@ class PowerPortListView(generic.ObjectListView): actions = ('import', 'export', 'bulk_edit', 'bulk_delete') +@register_model_view(PowerPort) class PowerPortView(generic.ObjectView): queryset = PowerPort.objects.all() @@ -2158,11 +2290,13 @@ class PowerPortCreateView(generic.ComponentCreateView): model_form = forms.PowerPortForm +@register_model_view(PowerPort, 'edit') class PowerPortEditView(generic.ObjectEditView): queryset = PowerPort.objects.all() form = forms.PowerPortForm +@register_model_view(PowerPort, 'delete') class PowerPortDeleteView(generic.ObjectDeleteView): queryset = PowerPort.objects.all() @@ -2194,6 +2328,10 @@ class PowerPortBulkDeleteView(generic.BulkDeleteView): table = tables.PowerPortTable +# Trace view +register_model_view(PowerPort, 'trace', kwargs={'model': PowerPort})(PathTraceView) + + # # Power outlets # @@ -2206,6 +2344,7 @@ class PowerOutletListView(generic.ObjectListView): actions = ('import', 'export', 'bulk_edit', 'bulk_delete') +@register_model_view(PowerOutlet) class PowerOutletView(generic.ObjectView): queryset = PowerOutlet.objects.all() @@ -2216,11 +2355,13 @@ class PowerOutletCreateView(generic.ComponentCreateView): model_form = forms.PowerOutletForm +@register_model_view(PowerOutlet, 'edit') class PowerOutletEditView(generic.ObjectEditView): queryset = PowerOutlet.objects.all() form = forms.PowerOutletForm +@register_model_view(PowerOutlet, 'delete') class PowerOutletDeleteView(generic.ObjectDeleteView): queryset = PowerOutlet.objects.all() @@ -2252,6 +2393,10 @@ class PowerOutletBulkDeleteView(generic.BulkDeleteView): table = tables.PowerOutletTable +# Trace view +register_model_view(PowerOutlet, 'trace', kwargs={'model': PowerOutlet})(PathTraceView) + + # # Interfaces # @@ -2264,6 +2409,7 @@ class InterfaceListView(generic.ObjectListView): actions = ('import', 'export', 'bulk_edit', 'bulk_delete') +@register_model_view(Interface) class InterfaceView(generic.ObjectView): queryset = Interface.objects.all() @@ -2318,11 +2464,13 @@ class InterfaceCreateView(generic.ComponentCreateView): model_form = forms.InterfaceForm +@register_model_view(Interface, 'edit') class InterfaceEditView(generic.ObjectEditView): queryset = Interface.objects.all() form = forms.InterfaceForm +@register_model_view(Interface, 'delete') class InterfaceDeleteView(generic.ObjectDeleteView): queryset = Interface.objects.all() @@ -2354,6 +2502,10 @@ class InterfaceBulkDeleteView(generic.BulkDeleteView): table = tables.InterfaceTable +# Trace view +register_model_view(Interface, 'trace', kwargs={'model': Interface})(PathTraceView) + + # # Front ports # @@ -2366,6 +2518,7 @@ class FrontPortListView(generic.ObjectListView): actions = ('import', 'export', 'bulk_edit', 'bulk_delete') +@register_model_view(FrontPort) class FrontPortView(generic.ObjectView): queryset = FrontPort.objects.all() @@ -2376,11 +2529,13 @@ class FrontPortCreateView(generic.ComponentCreateView): model_form = forms.FrontPortForm +@register_model_view(FrontPort, 'edit') class FrontPortEditView(generic.ObjectEditView): queryset = FrontPort.objects.all() form = forms.FrontPortForm +@register_model_view(FrontPort, 'delete') class FrontPortDeleteView(generic.ObjectDeleteView): queryset = FrontPort.objects.all() @@ -2412,6 +2567,10 @@ class FrontPortBulkDeleteView(generic.BulkDeleteView): table = tables.FrontPortTable +# Trace view +register_model_view(FrontPort, 'trace', kwargs={'model': FrontPort})(PathTraceView) + + # # Rear ports # @@ -2424,6 +2583,7 @@ class RearPortListView(generic.ObjectListView): actions = ('import', 'export', 'bulk_edit', 'bulk_delete') +@register_model_view(RearPort) class RearPortView(generic.ObjectView): queryset = RearPort.objects.all() @@ -2434,11 +2594,13 @@ class RearPortCreateView(generic.ComponentCreateView): model_form = forms.RearPortForm +@register_model_view(RearPort, 'edit') class RearPortEditView(generic.ObjectEditView): queryset = RearPort.objects.all() form = forms.RearPortForm +@register_model_view(RearPort, 'delete') class RearPortDeleteView(generic.ObjectDeleteView): queryset = RearPort.objects.all() @@ -2470,6 +2632,10 @@ class RearPortBulkDeleteView(generic.BulkDeleteView): table = tables.RearPortTable +# Trace view +register_model_view(RearPort, 'trace', kwargs={'model': RearPort})(PathTraceView) + + # # Module bays # @@ -2482,6 +2648,7 @@ class ModuleBayListView(generic.ObjectListView): actions = ('import', 'export', 'bulk_edit', 'bulk_delete') +@register_model_view(ModuleBay) class ModuleBayView(generic.ObjectView): queryset = ModuleBay.objects.all() @@ -2492,11 +2659,13 @@ class ModuleBayCreateView(generic.ComponentCreateView): model_form = forms.ModuleBayForm +@register_model_view(ModuleBay, 'edit') class ModuleBayEditView(generic.ObjectEditView): queryset = ModuleBay.objects.all() form = forms.ModuleBayForm +@register_model_view(ModuleBay, 'delete') class ModuleBayDeleteView(generic.ObjectDeleteView): queryset = ModuleBay.objects.all() @@ -2536,6 +2705,7 @@ class DeviceBayListView(generic.ObjectListView): actions = ('import', 'export', 'bulk_edit', 'bulk_delete') +@register_model_view(DeviceBay) class DeviceBayView(generic.ObjectView): queryset = DeviceBay.objects.all() @@ -2546,15 +2716,18 @@ class DeviceBayCreateView(generic.ComponentCreateView): model_form = forms.DeviceBayForm +@register_model_view(DeviceBay, 'edit') class DeviceBayEditView(generic.ObjectEditView): queryset = DeviceBay.objects.all() form = forms.DeviceBayForm +@register_model_view(DeviceBay, 'delete') class DeviceBayDeleteView(generic.ObjectDeleteView): queryset = DeviceBay.objects.all() +@register_model_view(DeviceBay, 'populate') class DeviceBayPopulateView(generic.ObjectEditView): queryset = DeviceBay.objects.all() @@ -2588,6 +2761,7 @@ class DeviceBayPopulateView(generic.ObjectEditView): }) +@register_model_view(DeviceBay, 'depopulate') class DeviceBayDepopulateView(generic.ObjectEditView): queryset = DeviceBay.objects.all() @@ -2657,10 +2831,12 @@ class InventoryItemListView(generic.ObjectListView): actions = ('import', 'export', 'bulk_edit', 'bulk_delete') +@register_model_view(InventoryItem) class InventoryItemView(generic.ObjectView): queryset = InventoryItem.objects.all() +@register_model_view(InventoryItem, 'edit') class InventoryItemEditView(generic.ObjectEditView): queryset = InventoryItem.objects.all() form = forms.InventoryItemForm @@ -2683,6 +2859,7 @@ class InventoryItemCreateView(generic.ComponentCreateView): return instance +@register_model_view(InventoryItem, 'delete') class InventoryItemDeleteView(generic.ObjectDeleteView): queryset = InventoryItem.objects.all() @@ -2723,6 +2900,7 @@ class InventoryItemRoleListView(generic.ObjectListView): table = tables.InventoryItemRoleTable +@register_model_view(InventoryItemRole) class InventoryItemRoleView(generic.ObjectView): queryset = InventoryItemRole.objects.all() @@ -2732,11 +2910,13 @@ class InventoryItemRoleView(generic.ObjectView): } +@register_model_view(InventoryItemRole, 'edit') class InventoryItemRoleEditView(generic.ObjectEditView): queryset = InventoryItemRole.objects.all() form = forms.InventoryItemRoleForm +@register_model_view(InventoryItemRole, 'delete') class InventoryItemRoleDeleteView(generic.ObjectDeleteView): queryset = InventoryItemRole.objects.all() @@ -2892,65 +3072,12 @@ class CableListView(generic.ObjectListView): actions = ('import', 'export', 'bulk_edit', 'bulk_delete') +@register_model_view(Cable) class CableView(generic.ObjectView): queryset = Cable.objects.all() -class PathTraceView(generic.ObjectView): - """ - Trace a cable path beginning from the given path endpoint (origin). - """ - additional_permissions = ['dcim.view_cable'] - template_name = 'dcim/cable_trace.html' - - def dispatch(self, request, *args, **kwargs): - model = kwargs.pop('model') - self.queryset = model.objects.all() - - return super().dispatch(request, *args, **kwargs) - - def get_extra_context(self, request, instance): - related_paths = [] - - # If tracing a PathEndpoint, locate the CablePath (if one exists) by its origin - if isinstance(instance, PathEndpoint): - path = instance._path - - # Otherwise, find all CablePaths which traverse the specified object - else: - related_paths = CablePath.objects.filter(_nodes__contains=instance) - # Check for specification of a particular path (when tracing pass-through ports) - try: - path_id = int(request.GET.get('cablepath_id')) - except TypeError: - path_id = None - if path_id in list(related_paths.values_list('pk', flat=True)): - path = CablePath.objects.get(pk=path_id) - else: - path = related_paths.first() - - # No paths found - if path is None: - return { - 'path': None - } - - # Get the total length of the cable and whether the length is definitive (fully defined) - total_length, is_definitive = path.get_total_length() if path else (None, False) - - # Determine the path to the SVG trace image - api_viewname = f"{path.origin_type.app_label}-api:{path.origin_type.model}-trace" - svg_url = f"{reverse(api_viewname, kwargs={'pk': path.origins[0].pk})}?render=svg" - - return { - 'path': path, - 'related_paths': related_paths, - 'total_length': total_length, - 'is_definitive': is_definitive, - 'svg_url': svg_url, - } - - +@register_model_view(Cable, 'edit') class CableEditView(generic.ObjectEditView): queryset = Cable.objects.all() template_name = 'dcim/cable_edit.html' @@ -2984,6 +3111,7 @@ class CableEditView(generic.ObjectEditView): return obj +@register_model_view(Cable, 'delete') class CableDeleteView(generic.ObjectDeleteView): queryset = Cable.objects.all() @@ -3072,6 +3200,7 @@ class VirtualChassisListView(generic.ObjectListView): filterset_form = forms.VirtualChassisFilterForm +@register_model_view(VirtualChassis) class VirtualChassisView(generic.ObjectView): queryset = VirtualChassis.objects.all() @@ -3089,6 +3218,7 @@ class VirtualChassisCreateView(generic.ObjectEditView): template_name = 'dcim/virtualchassis_add.html' +@register_model_view(VirtualChassis, 'edit') class VirtualChassisEditView(ObjectPermissionRequiredMixin, GetReturnURLMixin, View): queryset = VirtualChassis.objects.all() @@ -3157,10 +3287,12 @@ class VirtualChassisEditView(ObjectPermissionRequiredMixin, GetReturnURLMixin, V }) +@register_model_view(VirtualChassis, 'delete') class VirtualChassisDeleteView(generic.ObjectDeleteView): queryset = VirtualChassis.objects.all() +@register_model_view(VirtualChassis, 'add_member', path='add-member') class VirtualChassisAddMemberView(ObjectPermissionRequiredMixin, GetReturnURLMixin, View): queryset = VirtualChassis.objects.all() @@ -3299,6 +3431,7 @@ class PowerPanelListView(generic.ObjectListView): table = tables.PowerPanelTable +@register_model_view(PowerPanel) class PowerPanelView(generic.ObjectView): queryset = PowerPanel.objects.all() @@ -3317,11 +3450,13 @@ class PowerPanelView(generic.ObjectView): } +@register_model_view(PowerPanel, 'edit') class PowerPanelEditView(generic.ObjectEditView): queryset = PowerPanel.objects.all() form = forms.PowerPanelForm +@register_model_view(PowerPanel, 'delete') class PowerPanelDeleteView(generic.ObjectDeleteView): queryset = PowerPanel.objects.all() @@ -3358,15 +3493,18 @@ class PowerFeedListView(generic.ObjectListView): table = tables.PowerFeedTable +@register_model_view(PowerFeed) class PowerFeedView(generic.ObjectView): queryset = PowerFeed.objects.all() +@register_model_view(PowerFeed, 'edit') class PowerFeedEditView(generic.ObjectEditView): queryset = PowerFeed.objects.all() form = forms.PowerFeedForm +@register_model_view(PowerFeed, 'delete') class PowerFeedDeleteView(generic.ObjectDeleteView): queryset = PowerFeed.objects.all() @@ -3392,3 +3530,7 @@ class PowerFeedBulkDeleteView(generic.BulkDeleteView): queryset = PowerFeed.objects.all() filterset = filtersets.PowerFeedFilterSet table = tables.PowerFeedTable + + +# Trace view +register_model_view(PowerFeed, 'trace', kwargs={'model': PowerFeed})(PathTraceView) diff --git a/netbox/extras/urls.py b/netbox/extras/urls.py index 18d0314bf..ecc4c116c 100644 --- a/netbox/extras/urls.py +++ b/netbox/extras/urls.py @@ -13,9 +13,6 @@ urlpatterns = [ path('custom-fields/import/', views.CustomFieldBulkImportView.as_view(), name='customfield_import'), path('custom-fields/edit/', views.CustomFieldBulkEditView.as_view(), name='customfield_bulk_edit'), path('custom-fields/delete/', views.CustomFieldBulkDeleteView.as_view(), name='customfield_bulk_delete'), - path('custom-fields//', views.CustomFieldView.as_view(), name='customfield'), - path('custom-fields//edit/', views.CustomFieldEditView.as_view(), name='customfield_edit'), - path('custom-fields//delete/', views.CustomFieldDeleteView.as_view(), name='customfield_delete'), path('custom-fields//', include(get_model_urls('extras', 'customfield'))), # Custom links @@ -24,9 +21,6 @@ urlpatterns = [ path('custom-links/import/', views.CustomLinkBulkImportView.as_view(), name='customlink_import'), path('custom-links/edit/', views.CustomLinkBulkEditView.as_view(), name='customlink_bulk_edit'), path('custom-links/delete/', views.CustomLinkBulkDeleteView.as_view(), name='customlink_bulk_delete'), - path('custom-links//', views.CustomLinkView.as_view(), name='customlink'), - path('custom-links//edit/', views.CustomLinkEditView.as_view(), name='customlink_edit'), - path('custom-links//delete/', views.CustomLinkDeleteView.as_view(), name='customlink_delete'), path('custom-links//', include(get_model_urls('extras', 'customlink'))), # Export templates @@ -35,9 +29,6 @@ urlpatterns = [ path('export-templates/import/', views.ExportTemplateBulkImportView.as_view(), name='exporttemplate_import'), path('export-templates/edit/', views.ExportTemplateBulkEditView.as_view(), name='exporttemplate_bulk_edit'), path('export-templates/delete/', views.ExportTemplateBulkDeleteView.as_view(), name='exporttemplate_bulk_delete'), - path('export-templates//', views.ExportTemplateView.as_view(), name='exporttemplate'), - path('export-templates//edit/', views.ExportTemplateEditView.as_view(), name='exporttemplate_edit'), - path('export-templates//delete/', views.ExportTemplateDeleteView.as_view(), name='exporttemplate_delete'), path('export-templates//', include(get_model_urls('extras', 'exporttemplate'))), # Webhooks @@ -46,9 +37,6 @@ urlpatterns = [ path('webhooks/import/', views.WebhookBulkImportView.as_view(), name='webhook_import'), path('webhooks/edit/', views.WebhookBulkEditView.as_view(), name='webhook_bulk_edit'), path('webhooks/delete/', views.WebhookBulkDeleteView.as_view(), name='webhook_bulk_delete'), - path('webhooks//', views.WebhookView.as_view(), name='webhook'), - path('webhooks//edit/', views.WebhookEditView.as_view(), name='webhook_edit'), - path('webhooks//delete/', views.WebhookDeleteView.as_view(), name='webhook_delete'), path('webhooks//', include(get_model_urls('extras', 'webhook'))), # Tags @@ -57,9 +45,6 @@ urlpatterns = [ path('tags/import/', views.TagBulkImportView.as_view(), name='tag_import'), path('tags/edit/', views.TagBulkEditView.as_view(), name='tag_bulk_edit'), path('tags/delete/', views.TagBulkDeleteView.as_view(), name='tag_bulk_delete'), - path('tags//', views.TagView.as_view(), name='tag'), - path('tags//edit/', views.TagEditView.as_view(), name='tag_edit'), - path('tags//delete/', views.TagDeleteView.as_view(), name='tag_delete'), path('tags//', include(get_model_urls('extras', 'tag'))), # Config contexts @@ -67,29 +52,22 @@ urlpatterns = [ path('config-contexts/add/', views.ConfigContextEditView.as_view(), name='configcontext_add'), path('config-contexts/edit/', views.ConfigContextBulkEditView.as_view(), name='configcontext_bulk_edit'), path('config-contexts/delete/', views.ConfigContextBulkDeleteView.as_view(), name='configcontext_bulk_delete'), - path('config-contexts//', views.ConfigContextView.as_view(), name='configcontext'), - path('config-contexts//edit/', views.ConfigContextEditView.as_view(), name='configcontext_edit'), - path('config-contexts//delete/', views.ConfigContextDeleteView.as_view(), name='configcontext_delete'), path('config-contexts//', include(get_model_urls('extras', 'configcontext'))), # Image attachments path('image-attachments/add/', views.ImageAttachmentEditView.as_view(), name='imageattachment_add'), - path('image-attachments//edit/', views.ImageAttachmentEditView.as_view(), name='imageattachment_edit'), - path('image-attachments//delete/', views.ImageAttachmentDeleteView.as_view(), name='imageattachment_delete'), + path('image-attachments//', include(get_model_urls('extras', 'imageattachment'))), # Journal entries path('journal-entries/', views.JournalEntryListView.as_view(), name='journalentry_list'), path('journal-entries/add/', views.JournalEntryEditView.as_view(), name='journalentry_add'), path('journal-entries/edit/', views.JournalEntryBulkEditView.as_view(), name='journalentry_bulk_edit'), path('journal-entries/delete/', views.JournalEntryBulkDeleteView.as_view(), name='journalentry_bulk_delete'), - path('journal-entries//', views.JournalEntryView.as_view(), name='journalentry'), - path('journal-entries//edit/', views.JournalEntryEditView.as_view(), name='journalentry_edit'), - path('journal-entries//delete/', views.JournalEntryDeleteView.as_view(), name='journalentry_delete'), path('journal-entries//', include(get_model_urls('extras', 'journalentry'))), # Change logging path('changelog/', views.ObjectChangeListView.as_view(), name='objectchange_list'), - path('changelog//', views.ObjectChangeView.as_view(), name='objectchange'), + path('changelog//', include(get_model_urls('extras', 'objectchange'))), # Reports path('reports/', views.ReportListView.as_view(), name='report_list'), diff --git a/netbox/extras/views.py b/netbox/extras/views.py index e48fd672b..337980e94 100644 --- a/netbox/extras/views.py +++ b/netbox/extras/views.py @@ -12,7 +12,7 @@ from netbox.views import generic from utilities.forms import ConfirmationForm from utilities.htmx import is_htmx from utilities.utils import copy_safe_request, count_related, get_viewname, normalize_querydict, shallow_compare_dict -from utilities.views import ContentTypePermissionRequiredMixin +from utilities.views import ContentTypePermissionRequiredMixin, register_model_view from . import filtersets, forms, tables from .choices import JobResultStatusChoices from .models import * @@ -31,15 +31,18 @@ class CustomFieldListView(generic.ObjectListView): table = tables.CustomFieldTable +@register_model_view(CustomField) class CustomFieldView(generic.ObjectView): queryset = CustomField.objects.all() +@register_model_view(CustomField, 'edit') class CustomFieldEditView(generic.ObjectEditView): queryset = CustomField.objects.all() form = forms.CustomFieldForm +@register_model_view(CustomField, 'delete') class CustomFieldDeleteView(generic.ObjectDeleteView): queryset = CustomField.objects.all() @@ -74,15 +77,18 @@ class CustomLinkListView(generic.ObjectListView): table = tables.CustomLinkTable +@register_model_view(CustomLink) class CustomLinkView(generic.ObjectView): queryset = CustomLink.objects.all() +@register_model_view(CustomLink, 'edit') class CustomLinkEditView(generic.ObjectEditView): queryset = CustomLink.objects.all() form = forms.CustomLinkForm +@register_model_view(CustomLink, 'delete') class CustomLinkDeleteView(generic.ObjectDeleteView): queryset = CustomLink.objects.all() @@ -117,15 +123,18 @@ class ExportTemplateListView(generic.ObjectListView): table = tables.ExportTemplateTable +@register_model_view(ExportTemplate) class ExportTemplateView(generic.ObjectView): queryset = ExportTemplate.objects.all() +@register_model_view(ExportTemplate, 'edit') class ExportTemplateEditView(generic.ObjectEditView): queryset = ExportTemplate.objects.all() form = forms.ExportTemplateForm +@register_model_view(ExportTemplate, 'delete') class ExportTemplateDeleteView(generic.ObjectDeleteView): queryset = ExportTemplate.objects.all() @@ -160,15 +169,18 @@ class WebhookListView(generic.ObjectListView): table = tables.WebhookTable +@register_model_view(Webhook) class WebhookView(generic.ObjectView): queryset = Webhook.objects.all() +@register_model_view(Webhook, 'edit') class WebhookEditView(generic.ObjectEditView): queryset = Webhook.objects.all() form = forms.WebhookForm +@register_model_view(Webhook, 'delete') class WebhookDeleteView(generic.ObjectDeleteView): queryset = Webhook.objects.all() @@ -205,6 +217,7 @@ class TagListView(generic.ObjectListView): table = tables.TagTable +@register_model_view(Tag) class TagView(generic.ObjectView): queryset = Tag.objects.all() @@ -230,11 +243,13 @@ class TagView(generic.ObjectView): } +@register_model_view(Tag, 'edit') class TagEditView(generic.ObjectEditView): queryset = Tag.objects.all() form = forms.TagForm +@register_model_view(Tag, 'delete') class TagDeleteView(generic.ObjectDeleteView): queryset = Tag.objects.all() @@ -272,6 +287,7 @@ class ConfigContextListView(generic.ObjectListView): actions = ('add', 'bulk_edit', 'bulk_delete') +@register_model_view(ConfigContext) class ConfigContextView(generic.ObjectView): queryset = ConfigContext.objects.all() @@ -309,6 +325,7 @@ class ConfigContextView(generic.ObjectView): } +@register_model_view(ConfigContext, 'edit') class ConfigContextEditView(generic.ObjectEditView): queryset = ConfigContext.objects.all() form = forms.ConfigContextForm @@ -321,6 +338,7 @@ class ConfigContextBulkEditView(generic.BulkEditView): form = forms.ConfigContextBulkEditForm +@register_model_view(ConfigContext, 'delete') class ConfigContextDeleteView(generic.ObjectDeleteView): queryset = ConfigContext.objects.all() @@ -368,6 +386,7 @@ class ObjectChangeListView(generic.ObjectListView): actions = ('export',) +@register_model_view(ObjectChange) class ObjectChangeView(generic.ObjectView): queryset = ObjectChange.objects.all() @@ -425,6 +444,7 @@ class ObjectChangeView(generic.ObjectView): # Image attachments # +@register_model_view(ImageAttachment, 'edit') class ImageAttachmentEditView(generic.ObjectEditView): queryset = ImageAttachment.objects.all() form = forms.ImageAttachmentForm @@ -447,6 +467,7 @@ class ImageAttachmentEditView(generic.ObjectEditView): } +@register_model_view(ImageAttachment, 'delete') class ImageAttachmentDeleteView(generic.ObjectDeleteView): queryset = ImageAttachment.objects.all() @@ -466,10 +487,12 @@ class JournalEntryListView(generic.ObjectListView): actions = ('export', 'bulk_edit', 'bulk_delete') +@register_model_view(JournalEntry) class JournalEntryView(generic.ObjectView): queryset = JournalEntry.objects.all() +@register_model_view(JournalEntry, 'edit') class JournalEntryEditView(generic.ObjectEditView): queryset = JournalEntry.objects.all() form = forms.JournalEntryForm @@ -487,6 +510,7 @@ class JournalEntryEditView(generic.ObjectEditView): return reverse(viewname, kwargs={'pk': obj.pk}) +@register_model_view(JournalEntry, 'delete') class JournalEntryDeleteView(generic.ObjectDeleteView): queryset = JournalEntry.objects.all() diff --git a/netbox/ipam/urls.py b/netbox/ipam/urls.py index d5594eeb9..032ddf498 100644 --- a/netbox/ipam/urls.py +++ b/netbox/ipam/urls.py @@ -12,9 +12,6 @@ urlpatterns = [ path('asns/import/', views.ASNBulkImportView.as_view(), name='asn_import'), path('asns/edit/', views.ASNBulkEditView.as_view(), name='asn_bulk_edit'), path('asns/delete/', views.ASNBulkDeleteView.as_view(), name='asn_bulk_delete'), - path('asns//', views.ASNView.as_view(), name='asn'), - path('asns//edit/', views.ASNEditView.as_view(), name='asn_edit'), - path('asns//delete/', views.ASNDeleteView.as_view(), name='asn_delete'), path('asns//', include(get_model_urls('ipam', 'asn'))), # VRFs @@ -23,9 +20,6 @@ urlpatterns = [ path('vrfs/import/', views.VRFBulkImportView.as_view(), name='vrf_import'), path('vrfs/edit/', views.VRFBulkEditView.as_view(), name='vrf_bulk_edit'), path('vrfs/delete/', views.VRFBulkDeleteView.as_view(), name='vrf_bulk_delete'), - path('vrfs//', views.VRFView.as_view(), name='vrf'), - path('vrfs//edit/', views.VRFEditView.as_view(), name='vrf_edit'), - path('vrfs//delete/', views.VRFDeleteView.as_view(), name='vrf_delete'), path('vrfs//', include(get_model_urls('ipam', 'vrf'))), # Route targets @@ -34,9 +28,6 @@ urlpatterns = [ path('route-targets/import/', views.RouteTargetBulkImportView.as_view(), name='routetarget_import'), path('route-targets/edit/', views.RouteTargetBulkEditView.as_view(), name='routetarget_bulk_edit'), path('route-targets/delete/', views.RouteTargetBulkDeleteView.as_view(), name='routetarget_bulk_delete'), - path('route-targets//', views.RouteTargetView.as_view(), name='routetarget'), - path('route-targets//edit/', views.RouteTargetEditView.as_view(), name='routetarget_edit'), - path('route-targets//delete/', views.RouteTargetDeleteView.as_view(), name='routetarget_delete'), path('route-targets//', include(get_model_urls('ipam', 'routetarget'))), # RIRs @@ -45,9 +36,6 @@ urlpatterns = [ path('rirs/import/', views.RIRBulkImportView.as_view(), name='rir_import'), path('rirs/edit/', views.RIRBulkEditView.as_view(), name='rir_bulk_edit'), path('rirs/delete/', views.RIRBulkDeleteView.as_view(), name='rir_bulk_delete'), - path('rirs//', views.RIRView.as_view(), name='rir'), - path('rirs//edit/', views.RIREditView.as_view(), name='rir_edit'), - path('rirs//delete/', views.RIRDeleteView.as_view(), name='rir_delete'), path('rirs//', include(get_model_urls('ipam', 'rir'))), # Aggregates @@ -56,9 +44,6 @@ urlpatterns = [ path('aggregates/import/', views.AggregateBulkImportView.as_view(), name='aggregate_import'), path('aggregates/edit/', views.AggregateBulkEditView.as_view(), name='aggregate_bulk_edit'), path('aggregates/delete/', views.AggregateBulkDeleteView.as_view(), name='aggregate_bulk_delete'), - path('aggregates//', views.AggregateView.as_view(), name='aggregate'), - path('aggregates//edit/', views.AggregateEditView.as_view(), name='aggregate_edit'), - path('aggregates//delete/', views.AggregateDeleteView.as_view(), name='aggregate_delete'), path('aggregates//', include(get_model_urls('ipam', 'aggregate'))), # Roles @@ -67,9 +52,6 @@ urlpatterns = [ path('roles/import/', views.RoleBulkImportView.as_view(), name='role_import'), path('roles/edit/', views.RoleBulkEditView.as_view(), name='role_bulk_edit'), path('roles/delete/', views.RoleBulkDeleteView.as_view(), name='role_bulk_delete'), - path('roles//', views.RoleView.as_view(), name='role'), - path('roles//edit/', views.RoleEditView.as_view(), name='role_edit'), - path('roles//delete/', views.RoleDeleteView.as_view(), name='role_delete'), path('roles//', include(get_model_urls('ipam', 'role'))), # Prefixes @@ -78,9 +60,6 @@ urlpatterns = [ path('prefixes/import/', views.PrefixBulkImportView.as_view(), name='prefix_import'), path('prefixes/edit/', views.PrefixBulkEditView.as_view(), name='prefix_bulk_edit'), path('prefixes/delete/', views.PrefixBulkDeleteView.as_view(), name='prefix_bulk_delete'), - path('prefixes//', views.PrefixView.as_view(), name='prefix'), - path('prefixes//edit/', views.PrefixEditView.as_view(), name='prefix_edit'), - path('prefixes//delete/', views.PrefixDeleteView.as_view(), name='prefix_delete'), path('prefixes//', include(get_model_urls('ipam', 'prefix'))), # IP ranges @@ -89,9 +68,6 @@ urlpatterns = [ path('ip-ranges/import/', views.IPRangeBulkImportView.as_view(), name='iprange_import'), path('ip-ranges/edit/', views.IPRangeBulkEditView.as_view(), name='iprange_bulk_edit'), path('ip-ranges/delete/', views.IPRangeBulkDeleteView.as_view(), name='iprange_bulk_delete'), - path('ip-ranges//', views.IPRangeView.as_view(), name='iprange'), - path('ip-ranges//edit/', views.IPRangeEditView.as_view(), name='iprange_edit'), - path('ip-ranges//delete/', views.IPRangeDeleteView.as_view(), name='iprange_delete'), path('ip-ranges//', include(get_model_urls('ipam', 'iprange'))), # IP addresses @@ -102,9 +78,6 @@ urlpatterns = [ path('ip-addresses/edit/', views.IPAddressBulkEditView.as_view(), name='ipaddress_bulk_edit'), path('ip-addresses/delete/', views.IPAddressBulkDeleteView.as_view(), name='ipaddress_bulk_delete'), path('ip-addresses/assign/', views.IPAddressAssignView.as_view(), name='ipaddress_assign'), - path('ip-addresses//', views.IPAddressView.as_view(), name='ipaddress'), - path('ip-addresses//edit/', views.IPAddressEditView.as_view(), name='ipaddress_edit'), - path('ip-addresses//delete/', views.IPAddressDeleteView.as_view(), name='ipaddress_delete'), path('ip-addresses//', include(get_model_urls('ipam', 'ipaddress'))), # FHRP groups @@ -113,15 +86,11 @@ urlpatterns = [ path('fhrp-groups/import/', views.FHRPGroupBulkImportView.as_view(), name='fhrpgroup_import'), path('fhrp-groups/edit/', views.FHRPGroupBulkEditView.as_view(), name='fhrpgroup_bulk_edit'), path('fhrp-groups/delete/', views.FHRPGroupBulkDeleteView.as_view(), name='fhrpgroup_bulk_delete'), - path('fhrp-groups//', views.FHRPGroupView.as_view(), name='fhrpgroup'), - path('fhrp-groups//edit/', views.FHRPGroupEditView.as_view(), name='fhrpgroup_edit'), - path('fhrp-groups//delete/', views.FHRPGroupDeleteView.as_view(), name='fhrpgroup_delete'), path('fhrp-groups//', include(get_model_urls('ipam', 'fhrpgroup'))), # FHRP group assignments path('fhrp-group-assignments/add/', views.FHRPGroupAssignmentEditView.as_view(), name='fhrpgroupassignment_add'), - path('fhrp-group-assignments//edit/', views.FHRPGroupAssignmentEditView.as_view(), name='fhrpgroupassignment_edit'), - path('fhrp-group-assignments//delete/', views.FHRPGroupAssignmentDeleteView.as_view(), name='fhrpgroupassignment_delete'), + path('fhrp-group-assignments//', include(get_model_urls('ipam', 'fhrpgroupassignment'))), # VLAN groups path('vlan-groups/', views.VLANGroupListView.as_view(), name='vlangroup_list'), @@ -129,9 +98,6 @@ urlpatterns = [ path('vlan-groups/import/', views.VLANGroupBulkImportView.as_view(), name='vlangroup_import'), path('vlan-groups/edit/', views.VLANGroupBulkEditView.as_view(), name='vlangroup_bulk_edit'), path('vlan-groups/delete/', views.VLANGroupBulkDeleteView.as_view(), name='vlangroup_bulk_delete'), - path('vlan-groups//', views.VLANGroupView.as_view(), name='vlangroup'), - path('vlan-groups//edit/', views.VLANGroupEditView.as_view(), name='vlangroup_edit'), - path('vlan-groups//delete/', views.VLANGroupDeleteView.as_view(), name='vlangroup_delete'), path('vlan-groups//', include(get_model_urls('ipam', 'vlangroup'))), # VLANs @@ -140,9 +106,6 @@ urlpatterns = [ path('vlans/import/', views.VLANBulkImportView.as_view(), name='vlan_import'), path('vlans/edit/', views.VLANBulkEditView.as_view(), name='vlan_bulk_edit'), path('vlans/delete/', views.VLANBulkDeleteView.as_view(), name='vlan_bulk_delete'), - path('vlans//', views.VLANView.as_view(), name='vlan'), - path('vlans//edit/', views.VLANEditView.as_view(), name='vlan_edit'), - path('vlans//delete/', views.VLANDeleteView.as_view(), name='vlan_delete'), path('vlans//', include(get_model_urls('ipam', 'vlan'))), # Service templates @@ -151,9 +114,6 @@ urlpatterns = [ path('service-templates/import/', views.ServiceTemplateBulkImportView.as_view(), name='servicetemplate_import'), path('service-templates/edit/', views.ServiceTemplateBulkEditView.as_view(), name='servicetemplate_bulk_edit'), path('service-templates/delete/', views.ServiceTemplateBulkDeleteView.as_view(), name='servicetemplate_bulk_delete'), - path('service-templates//', views.ServiceTemplateView.as_view(), name='servicetemplate'), - path('service-templates//edit/', views.ServiceTemplateEditView.as_view(), name='servicetemplate_edit'), - path('service-templates//delete/', views.ServiceTemplateDeleteView.as_view(), name='servicetemplate_delete'), path('service-templates//', include(get_model_urls('ipam', 'servicetemplate'))), # Services @@ -162,9 +122,6 @@ urlpatterns = [ path('services/import/', views.ServiceBulkImportView.as_view(), name='service_import'), path('services/edit/', views.ServiceBulkEditView.as_view(), name='service_bulk_edit'), path('services/delete/', views.ServiceBulkDeleteView.as_view(), name='service_bulk_delete'), - path('services//', views.ServiceView.as_view(), name='service'), - path('services//edit/', views.ServiceEditView.as_view(), name='service_edit'), - path('services//delete/', views.ServiceDeleteView.as_view(), name='service_delete'), path('services//', include(get_model_urls('ipam', 'service'))), # L2VPN @@ -173,9 +130,6 @@ urlpatterns = [ path('l2vpns/import/', views.L2VPNBulkImportView.as_view(), name='l2vpn_import'), path('l2vpns/edit/', views.L2VPNBulkEditView.as_view(), name='l2vpn_bulk_edit'), path('l2vpns/delete/', views.L2VPNBulkDeleteView.as_view(), name='l2vpn_bulk_delete'), - path('l2vpns//', views.L2VPNView.as_view(), name='l2vpn'), - path('l2vpns//edit/', views.L2VPNEditView.as_view(), name='l2vpn_edit'), - path('l2vpns//delete/', views.L2VPNDeleteView.as_view(), name='l2vpn_delete'), path('l2vpns//', include(get_model_urls('ipam', 'l2vpn'))), # L2VPN terminations @@ -184,8 +138,5 @@ urlpatterns = [ path('l2vpn-terminations/import/', views.L2VPNTerminationBulkImportView.as_view(), name='l2vpntermination_import'), path('l2vpn-terminations/edit/', views.L2VPNTerminationBulkEditView.as_view(), name='l2vpntermination_bulk_edit'), path('l2vpn-terminations/delete/', views.L2VPNTerminationBulkDeleteView.as_view(), name='l2vpntermination_bulk_delete'), - path('l2vpn-terminations//', views.L2VPNTerminationView.as_view(), name='l2vpntermination'), - path('l2vpn-terminations//edit/', views.L2VPNTerminationEditView.as_view(), name='l2vpntermination_edit'), - path('l2vpn-terminations//delete/', views.L2VPNTerminationDeleteView.as_view(), name='l2vpntermination_delete'), path('l2vpn-terminations//', include(get_model_urls('ipam', 'l2vpntermination'))), ] diff --git a/netbox/ipam/views.py b/netbox/ipam/views.py index fba577f02..a5f487f7d 100644 --- a/netbox/ipam/views.py +++ b/netbox/ipam/views.py @@ -34,6 +34,7 @@ class VRFListView(generic.ObjectListView): table = tables.VRFTable +@register_model_view(VRF) class VRFView(generic.ObjectView): queryset = VRF.objects.all() @@ -58,11 +59,13 @@ class VRFView(generic.ObjectView): } +@register_model_view(VRF, 'edit') class VRFEditView(generic.ObjectEditView): queryset = VRF.objects.all() form = forms.VRFForm +@register_model_view(VRF, 'delete') class VRFDeleteView(generic.ObjectDeleteView): queryset = VRF.objects.all() @@ -97,6 +100,7 @@ class RouteTargetListView(generic.ObjectListView): table = tables.RouteTargetTable +@register_model_view(RouteTarget) class RouteTargetView(generic.ObjectView): queryset = RouteTarget.objects.all() @@ -116,11 +120,13 @@ class RouteTargetView(generic.ObjectView): } +@register_model_view(RouteTarget, 'edit') class RouteTargetEditView(generic.ObjectEditView): queryset = RouteTarget.objects.all() form = forms.RouteTargetForm +@register_model_view(RouteTarget, 'delete') class RouteTargetDeleteView(generic.ObjectDeleteView): queryset = RouteTarget.objects.all() @@ -157,6 +163,7 @@ class RIRListView(generic.ObjectListView): table = tables.RIRTable +@register_model_view(RIR) class RIRView(generic.ObjectView): queryset = RIR.objects.all() @@ -172,11 +179,13 @@ class RIRView(generic.ObjectView): } +@register_model_view(RIR, 'edit') class RIREditView(generic.ObjectEditView): queryset = RIR.objects.all() form = forms.RIRForm +@register_model_view(RIR, 'delete') class RIRDeleteView(generic.ObjectDeleteView): queryset = RIR.objects.all() @@ -218,6 +227,7 @@ class ASNListView(generic.ObjectListView): table = tables.ASNTable +@register_model_view(ASN) class ASNView(generic.ObjectView): queryset = ASN.objects.all() @@ -242,11 +252,13 @@ class ASNView(generic.ObjectView): } +@register_model_view(ASN, 'edit') class ASNEditView(generic.ObjectEditView): queryset = ASN.objects.all() form = forms.ASNForm +@register_model_view(ASN, 'delete') class ASNDeleteView(generic.ObjectDeleteView): queryset = ASN.objects.all() @@ -287,6 +299,7 @@ class AggregateListView(generic.ObjectListView): table = tables.AggregateTable +@register_model_view(Aggregate) class AggregateView(generic.ObjectView): queryset = Aggregate.objects.all() @@ -325,11 +338,13 @@ class AggregatePrefixesView(generic.ObjectChildrenView): } +@register_model_view(Aggregate, 'edit') class AggregateEditView(generic.ObjectEditView): queryset = Aggregate.objects.all() form = forms.AggregateForm +@register_model_view(Aggregate, 'delete') class AggregateDeleteView(generic.ObjectDeleteView): queryset = Aggregate.objects.all() @@ -372,6 +387,7 @@ class RoleListView(generic.ObjectListView): table = tables.RoleTable +@register_model_view(Role) class RoleView(generic.ObjectView): queryset = Role.objects.all() @@ -388,11 +404,13 @@ class RoleView(generic.ObjectView): } +@register_model_view(Role, 'edit') class RoleEditView(generic.ObjectEditView): queryset = Role.objects.all() form = forms.RoleForm +@register_model_view(Role, 'delete') class RoleDeleteView(generic.ObjectDeleteView): queryset = Role.objects.all() @@ -427,6 +445,7 @@ class PrefixListView(generic.ObjectListView): template_name = 'ipam/prefix_list.html' +@register_model_view(Prefix) class PrefixView(generic.ObjectView): queryset = Prefix.objects.all() @@ -560,11 +579,13 @@ class PrefixIPAddressesView(generic.ObjectChildrenView): } +@register_model_view(Prefix, 'edit') class PrefixEditView(generic.ObjectEditView): queryset = Prefix.objects.all() form = forms.PrefixForm +@register_model_view(Prefix, 'delete') class PrefixDeleteView(generic.ObjectDeleteView): queryset = Prefix.objects.all() @@ -599,6 +620,7 @@ class IPRangeListView(generic.ObjectListView): table = tables.IPRangeTable +@register_model_view(IPRange) class IPRangeView(generic.ObjectView): queryset = IPRange.objects.all() @@ -620,11 +642,13 @@ class IPRangeIPAddressesView(generic.ObjectChildrenView): return parent.get_child_ips().restrict(request.user, 'view') +@register_model_view(IPRange, 'edit') class IPRangeEditView(generic.ObjectEditView): queryset = IPRange.objects.all() form = forms.IPRangeForm +@register_model_view(IPRange, 'delete') class IPRangeDeleteView(generic.ObjectDeleteView): queryset = IPRange.objects.all() @@ -659,6 +683,7 @@ class IPAddressListView(generic.ObjectListView): table = tables.IPAddressTable +@register_model_view(IPAddress) class IPAddressView(generic.ObjectView): queryset = IPAddress.objects.prefetch_related('vrf__tenant', 'tenant') @@ -726,6 +751,7 @@ class IPAddressView(generic.ObjectView): } +@register_model_view(IPAddress, 'edit') class IPAddressEditView(generic.ObjectEditView): queryset = IPAddress.objects.all() form = forms.IPAddressForm @@ -795,6 +821,7 @@ class IPAddressAssignView(generic.ObjectView): }) +@register_model_view(IPAddress, 'delete') class IPAddressDeleteView(generic.ObjectDeleteView): queryset = IPAddress.objects.all() @@ -839,6 +866,7 @@ class VLANGroupListView(generic.ObjectListView): table = tables.VLANGroupTable +@register_model_view(VLANGroup) class VLANGroupView(generic.ObjectView): queryset = VLANGroup.objects.all() @@ -869,11 +897,13 @@ class VLANGroupView(generic.ObjectView): } +@register_model_view(VLANGroup, 'edit') class VLANGroupEditView(generic.ObjectEditView): queryset = VLANGroup.objects.all() form = forms.VLANGroupForm +@register_model_view(VLANGroup, 'delete') class VLANGroupDeleteView(generic.ObjectDeleteView): queryset = VLANGroup.objects.all() @@ -914,6 +944,7 @@ class FHRPGroupListView(generic.ObjectListView): table = tables.FHRPGroupTable +@register_model_view(FHRPGroup) class FHRPGroupView(generic.ObjectView): queryset = FHRPGroup.objects.all() @@ -938,6 +969,7 @@ class FHRPGroupView(generic.ObjectView): } +@register_model_view(FHRPGroup, 'edit') class FHRPGroupEditView(generic.ObjectEditView): queryset = FHRPGroup.objects.all() form = forms.FHRPGroupForm @@ -954,6 +986,7 @@ class FHRPGroupEditView(generic.ObjectEditView): return return_url +@register_model_view(FHRPGroup, 'delete') class FHRPGroupDeleteView(generic.ObjectDeleteView): queryset = FHRPGroup.objects.all() @@ -981,6 +1014,7 @@ class FHRPGroupBulkDeleteView(generic.BulkDeleteView): # FHRP group assignments # +@register_model_view(FHRPGroupAssignment, 'edit') class FHRPGroupAssignmentEditView(generic.ObjectEditView): queryset = FHRPGroupAssignment.objects.all() form = forms.FHRPGroupAssignmentForm @@ -994,6 +1028,7 @@ class FHRPGroupAssignmentEditView(generic.ObjectEditView): return instance +@register_model_view(FHRPGroupAssignment, 'delete') class FHRPGroupAssignmentDeleteView(generic.ObjectDeleteView): queryset = FHRPGroupAssignment.objects.all() @@ -1009,6 +1044,7 @@ class VLANListView(generic.ObjectListView): table = tables.VLANTable +@register_model_view(VLAN) class VLANView(generic.ObjectView): queryset = VLAN.objects.all() @@ -1057,12 +1093,14 @@ class VLANVMInterfacesView(generic.ObjectChildrenView): return parent.get_vminterfaces().restrict(request.user, 'view') +@register_model_view(VLAN, 'edit') class VLANEditView(generic.ObjectEditView): queryset = VLAN.objects.all() form = forms.VLANForm template_name = 'ipam/vlan_edit.html' +@register_model_view(VLAN, 'delete') class VLANDeleteView(generic.ObjectDeleteView): queryset = VLAN.objects.all() @@ -1097,15 +1135,18 @@ class ServiceTemplateListView(generic.ObjectListView): table = tables.ServiceTemplateTable +@register_model_view(ServiceTemplate) class ServiceTemplateView(generic.ObjectView): queryset = ServiceTemplate.objects.all() +@register_model_view(ServiceTemplate, 'edit') class ServiceTemplateEditView(generic.ObjectEditView): queryset = ServiceTemplate.objects.all() form = forms.ServiceTemplateForm +@register_model_view(ServiceTemplate, 'delete') class ServiceTemplateDeleteView(generic.ObjectDeleteView): queryset = ServiceTemplate.objects.all() @@ -1140,6 +1181,7 @@ class ServiceListView(generic.ObjectListView): table = tables.ServiceTable +@register_model_view(Service) class ServiceView(generic.ObjectView): queryset = Service.objects.all() @@ -1150,12 +1192,14 @@ class ServiceCreateView(generic.ObjectEditView): template_name = 'ipam/service_create.html' +@register_model_view(Service, 'edit') class ServiceEditView(generic.ObjectEditView): queryset = Service.objects.all() form = forms.ServiceForm template_name = 'ipam/service_edit.html' +@register_model_view(Service, 'delete') class ServiceDeleteView(generic.ObjectDeleteView): queryset = Service.objects.all() @@ -1181,7 +1225,6 @@ class ServiceBulkDeleteView(generic.BulkDeleteView): # L2VPN - class L2VPNListView(generic.ObjectListView): queryset = L2VPN.objects.all() table = L2VPNTable @@ -1189,6 +1232,7 @@ class L2VPNListView(generic.ObjectListView): filterset_form = forms.L2VPNFilterForm +@register_model_view(L2VPN) class L2VPNView(generic.ObjectView): queryset = L2VPN.objects.all() @@ -1213,11 +1257,13 @@ class L2VPNView(generic.ObjectView): } +@register_model_view(L2VPN, 'edit') class L2VPNEditView(generic.ObjectEditView): queryset = L2VPN.objects.all() form = forms.L2VPNForm +@register_model_view(L2VPN, 'delete') class L2VPNDeleteView(generic.ObjectDeleteView): queryset = L2VPN.objects.all() @@ -1241,6 +1287,10 @@ class L2VPNBulkDeleteView(generic.BulkDeleteView): table = tables.L2VPNTable +# +# L2VPN terminations +# + class L2VPNTerminationListView(generic.ObjectListView): queryset = L2VPNTermination.objects.all() table = L2VPNTerminationTable @@ -1248,16 +1298,19 @@ class L2VPNTerminationListView(generic.ObjectListView): filterset_form = forms.L2VPNTerminationFilterForm +@register_model_view(L2VPNTermination) class L2VPNTerminationView(generic.ObjectView): queryset = L2VPNTermination.objects.all() +@register_model_view(L2VPNTermination, 'edit') class L2VPNTerminationEditView(generic.ObjectEditView): queryset = L2VPNTermination.objects.all() form = forms.L2VPNTerminationForm template_name = 'ipam/l2vpntermination_edit.html' +@register_model_view(L2VPNTermination, 'delete') class L2VPNTerminationDeleteView(generic.ObjectDeleteView): queryset = L2VPNTermination.objects.all() diff --git a/netbox/tenancy/urls.py b/netbox/tenancy/urls.py index b55e949dd..3b5addaec 100644 --- a/netbox/tenancy/urls.py +++ b/netbox/tenancy/urls.py @@ -12,9 +12,6 @@ urlpatterns = [ path('tenant-groups/import/', views.TenantGroupBulkImportView.as_view(), name='tenantgroup_import'), path('tenant-groups/edit/', views.TenantGroupBulkEditView.as_view(), name='tenantgroup_bulk_edit'), path('tenant-groups/delete/', views.TenantGroupBulkDeleteView.as_view(), name='tenantgroup_bulk_delete'), - path('tenant-groups//', views.TenantGroupView.as_view(), name='tenantgroup'), - path('tenant-groups//edit/', views.TenantGroupEditView.as_view(), name='tenantgroup_edit'), - path('tenant-groups//delete/', views.TenantGroupDeleteView.as_view(), name='tenantgroup_delete'), path('tenant-groups//', include(get_model_urls('tenancy', 'tenantgroup'))), # Tenants @@ -23,9 +20,6 @@ urlpatterns = [ path('tenants/import/', views.TenantBulkImportView.as_view(), name='tenant_import'), path('tenants/edit/', views.TenantBulkEditView.as_view(), name='tenant_bulk_edit'), path('tenants/delete/', views.TenantBulkDeleteView.as_view(), name='tenant_bulk_delete'), - path('tenants//', views.TenantView.as_view(), name='tenant'), - path('tenants//edit/', views.TenantEditView.as_view(), name='tenant_edit'), - path('tenants//delete/', views.TenantDeleteView.as_view(), name='tenant_delete'), path('tenants//', include(get_model_urls('tenancy', 'tenant'))), # Contact groups @@ -34,9 +28,6 @@ urlpatterns = [ path('contact-groups/import/', views.ContactGroupBulkImportView.as_view(), name='contactgroup_import'), path('contact-groups/edit/', views.ContactGroupBulkEditView.as_view(), name='contactgroup_bulk_edit'), path('contact-groups/delete/', views.ContactGroupBulkDeleteView.as_view(), name='contactgroup_bulk_delete'), - path('contact-groups//', views.ContactGroupView.as_view(), name='contactgroup'), - path('contact-groups//edit/', views.ContactGroupEditView.as_view(), name='contactgroup_edit'), - path('contact-groups//delete/', views.ContactGroupDeleteView.as_view(), name='contactgroup_delete'), path('contact-groups//', include(get_model_urls('tenancy', 'contactgroup'))), # Contact roles @@ -45,9 +36,6 @@ urlpatterns = [ path('contact-roles/import/', views.ContactRoleBulkImportView.as_view(), name='contactrole_import'), path('contact-roles/edit/', views.ContactRoleBulkEditView.as_view(), name='contactrole_bulk_edit'), path('contact-roles/delete/', views.ContactRoleBulkDeleteView.as_view(), name='contactrole_bulk_delete'), - path('contact-roles//', views.ContactRoleView.as_view(), name='contactrole'), - path('contact-roles//edit/', views.ContactRoleEditView.as_view(), name='contactrole_edit'), - path('contact-roles//delete/', views.ContactRoleDeleteView.as_view(), name='contactrole_delete'), path('contact-roles//', include(get_model_urls('tenancy', 'contactrole'))), # Contacts @@ -56,14 +44,10 @@ urlpatterns = [ path('contacts/import/', views.ContactBulkImportView.as_view(), name='contact_import'), path('contacts/edit/', views.ContactBulkEditView.as_view(), name='contact_bulk_edit'), path('contacts/delete/', views.ContactBulkDeleteView.as_view(), name='contact_bulk_delete'), - path('contacts//', views.ContactView.as_view(), name='contact'), - path('contacts//edit/', views.ContactEditView.as_view(), name='contact_edit'), - path('contacts//delete/', views.ContactDeleteView.as_view(), name='contact_delete'), path('contacts//', include(get_model_urls('tenancy', 'contact'))), # Contact assignments path('contact-assignments/add/', views.ContactAssignmentEditView.as_view(), name='contactassignment_add'), - path('contact-assignments//edit/', views.ContactAssignmentEditView.as_view(), name='contactassignment_edit'), - path('contact-assignments//delete/', views.ContactAssignmentDeleteView.as_view(), name='contactassignment_delete'), + path('contact-assignments//', include(get_model_urls('tenancy', 'contactassignment'))), ] diff --git a/netbox/tenancy/views.py b/netbox/tenancy/views.py index e582c15d1..1ebbda208 100644 --- a/netbox/tenancy/views.py +++ b/netbox/tenancy/views.py @@ -1,5 +1,4 @@ from django.contrib.contenttypes.models import ContentType -from django.http import QueryDict from django.shortcuts import get_object_or_404 from circuits.models import Circuit @@ -7,6 +6,7 @@ from dcim.models import Cable, Device, Location, Rack, RackReservation, Site from ipam.models import Aggregate, IPAddress, IPRange, Prefix, VLAN, VRF, ASN from netbox.views import generic from utilities.utils import count_related +from utilities.views import register_model_view from virtualization.models import VirtualMachine, Cluster from wireless.models import WirelessLAN, WirelessLink from . import filtersets, forms, tables @@ -30,6 +30,7 @@ class TenantGroupListView(generic.ObjectListView): table = tables.TenantGroupTable +@register_model_view(TenantGroup) class TenantGroupView(generic.ObjectView): queryset = TenantGroup.objects.all() @@ -45,11 +46,13 @@ class TenantGroupView(generic.ObjectView): } +@register_model_view(TenantGroup, 'edit') class TenantGroupEditView(generic.ObjectEditView): queryset = TenantGroup.objects.all() form = forms.TenantGroupForm +@register_model_view(TenantGroup, 'delete') class TenantGroupDeleteView(generic.ObjectDeleteView): queryset = TenantGroup.objects.all() @@ -95,6 +98,7 @@ class TenantListView(generic.ObjectListView): table = tables.TenantTable +@register_model_view(Tenant) class TenantView(generic.ObjectView): queryset = Tenant.objects.all() @@ -125,11 +129,13 @@ class TenantView(generic.ObjectView): } +@register_model_view(Tenant, 'edit') class TenantEditView(generic.ObjectEditView): queryset = Tenant.objects.all() form = forms.TenantForm +@register_model_view(Tenant, 'delete') class TenantDeleteView(generic.ObjectDeleteView): queryset = Tenant.objects.all() @@ -170,6 +176,7 @@ class ContactGroupListView(generic.ObjectListView): table = tables.ContactGroupTable +@register_model_view(ContactGroup) class ContactGroupView(generic.ObjectView): queryset = ContactGroup.objects.all() @@ -198,11 +205,13 @@ class ContactGroupView(generic.ObjectView): } +@register_model_view(ContactGroup, 'edit') class ContactGroupEditView(generic.ObjectEditView): queryset = ContactGroup.objects.all() form = forms.ContactGroupForm +@register_model_view(ContactGroup, 'delete') class ContactGroupDeleteView(generic.ObjectDeleteView): queryset = ContactGroup.objects.all() @@ -248,6 +257,7 @@ class ContactRoleListView(generic.ObjectListView): table = tables.ContactRoleTable +@register_model_view(ContactRole) class ContactRoleView(generic.ObjectView): queryset = ContactRole.objects.all() @@ -265,11 +275,13 @@ class ContactRoleView(generic.ObjectView): } +@register_model_view(ContactRole, 'edit') class ContactRoleEditView(generic.ObjectEditView): queryset = ContactRole.objects.all() form = forms.ContactRoleForm +@register_model_view(ContactRole, 'delete') class ContactRoleDeleteView(generic.ObjectDeleteView): queryset = ContactRole.objects.all() @@ -305,6 +317,7 @@ class ContactListView(generic.ObjectListView): table = tables.ContactTable +@register_model_view(Contact) class ContactView(generic.ObjectView): queryset = Contact.objects.all() @@ -322,11 +335,13 @@ class ContactView(generic.ObjectView): } +@register_model_view(Contact, 'edit') class ContactEditView(generic.ObjectEditView): queryset = Contact.objects.all() form = forms.ContactForm +@register_model_view(Contact, 'delete') class ContactDeleteView(generic.ObjectDeleteView): queryset = Contact.objects.all() @@ -354,6 +369,7 @@ class ContactBulkDeleteView(generic.BulkDeleteView): # Contact assignments # +@register_model_view(ContactAssignment, 'edit') class ContactAssignmentEditView(generic.ObjectEditView): queryset = ContactAssignment.objects.all() form = forms.ContactAssignmentForm @@ -373,5 +389,6 @@ class ContactAssignmentEditView(generic.ObjectEditView): } +@register_model_view(ContactAssignment, 'delete') class ContactAssignmentDeleteView(generic.ObjectDeleteView): queryset = ContactAssignment.objects.all() diff --git a/netbox/utilities/urls.py b/netbox/utilities/urls.py index 9ba2a65e6..16642f589 100644 --- a/netbox/utilities/urls.py +++ b/netbox/utilities/urls.py @@ -32,8 +32,10 @@ def get_model_urls(app_label, model_name): view_ = view_.as_view() # Create a path to the view + name = f"{model_name}_{config['name']}" if config['name'] else model_name + url_path = f"{config['path']}/" if config['path'] else '' paths.append( - path(f"{config['path']}/", view_, name=f"{model_name}_{config['name']}", kwargs=config['kwargs']) + path(url_path, view_, name=name, kwargs=config['kwargs']) ) return paths diff --git a/netbox/utilities/views.py b/netbox/utilities/views.py index 75c5aecff..bdd6e4880 100644 --- a/netbox/utilities/views.py +++ b/netbox/utilities/views.py @@ -167,7 +167,7 @@ class ViewTab: return self.badge -def register_model_view(model, name, path=None, kwargs=None): +def register_model_view(model, name='', path=None, kwargs=None): """ This decorator can be used to "attach" a view to any model in NetBox. This is typically used to inject additional tabs within a model's detail view. For example, to add a custom tab to NetBox's dcim.Site model: @@ -182,7 +182,7 @@ def register_model_view(model, name, path=None, kwargs=None): Args: model: The Django model class with which this view will be associated. name: The string used to form the view's name for URL resolution (e.g. via `reverse()`). This will be appended - to the name of the base view for the model using an underscore. + to the name of the base view for the model using an underscore. If blank, the model name will be used. path: The URL path by which the view can be reached (optional). If not provided, `name` will be used. kwargs: A dictionary of keyword arguments for the view to include when registering its URL path (optional). """ diff --git a/netbox/virtualization/urls.py b/netbox/virtualization/urls.py index 31914bc3b..9e5d5a670 100644 --- a/netbox/virtualization/urls.py +++ b/netbox/virtualization/urls.py @@ -12,9 +12,6 @@ urlpatterns = [ path('cluster-types/import/', views.ClusterTypeBulkImportView.as_view(), name='clustertype_import'), path('cluster-types/edit/', views.ClusterTypeBulkEditView.as_view(), name='clustertype_bulk_edit'), path('cluster-types/delete/', views.ClusterTypeBulkDeleteView.as_view(), name='clustertype_bulk_delete'), - path('cluster-types//', views.ClusterTypeView.as_view(), name='clustertype'), - path('cluster-types//edit/', views.ClusterTypeEditView.as_view(), name='clustertype_edit'), - path('cluster-types//delete/', views.ClusterTypeDeleteView.as_view(), name='clustertype_delete'), path('cluster-types//', include(get_model_urls('virtualization', 'clustertype'))), # Cluster groups @@ -23,9 +20,6 @@ urlpatterns = [ path('cluster-groups/import/', views.ClusterGroupBulkImportView.as_view(), name='clustergroup_import'), path('cluster-groups/edit/', views.ClusterGroupBulkEditView.as_view(), name='clustergroup_bulk_edit'), path('cluster-groups/delete/', views.ClusterGroupBulkDeleteView.as_view(), name='clustergroup_bulk_delete'), - path('cluster-groups//', views.ClusterGroupView.as_view(), name='clustergroup'), - path('cluster-groups//edit/', views.ClusterGroupEditView.as_view(), name='clustergroup_edit'), - path('cluster-groups//delete/', views.ClusterGroupDeleteView.as_view(), name='clustergroup_delete'), path('cluster-groups//', include(get_model_urls('virtualization', 'clustergroup'))), # Clusters @@ -34,11 +28,6 @@ urlpatterns = [ path('clusters/import/', views.ClusterBulkImportView.as_view(), name='cluster_import'), path('clusters/edit/', views.ClusterBulkEditView.as_view(), name='cluster_bulk_edit'), path('clusters/delete/', views.ClusterBulkDeleteView.as_view(), name='cluster_bulk_delete'), - path('clusters//', views.ClusterView.as_view(), name='cluster'), - path('clusters//edit/', views.ClusterEditView.as_view(), name='cluster_edit'), - path('clusters//delete/', views.ClusterDeleteView.as_view(), name='cluster_delete'), - path('clusters//devices/add/', views.ClusterAddDevicesView.as_view(), name='cluster_add_devices'), - path('clusters//devices/remove/', views.ClusterRemoveDevicesView.as_view(), name='cluster_remove_devices'), path('clusters//', include(get_model_urls('virtualization', 'cluster'))), # Virtual machines @@ -47,9 +36,6 @@ urlpatterns = [ path('virtual-machines/import/', views.VirtualMachineBulkImportView.as_view(), name='virtualmachine_import'), path('virtual-machines/edit/', views.VirtualMachineBulkEditView.as_view(), name='virtualmachine_bulk_edit'), path('virtual-machines/delete/', views.VirtualMachineBulkDeleteView.as_view(), name='virtualmachine_bulk_delete'), - path('virtual-machines//', views.VirtualMachineView.as_view(), name='virtualmachine'), - path('virtual-machines//edit/', views.VirtualMachineEditView.as_view(), name='virtualmachine_edit'), - path('virtual-machines//delete/', views.VirtualMachineDeleteView.as_view(), name='virtualmachine_delete'), path('virtual-machines//', include(get_model_urls('virtualization', 'virtualmachine'))), # VM interfaces @@ -59,9 +45,6 @@ urlpatterns = [ path('interfaces/edit/', views.VMInterfaceBulkEditView.as_view(), name='vminterface_bulk_edit'), path('interfaces/rename/', views.VMInterfaceBulkRenameView.as_view(), name='vminterface_bulk_rename'), path('interfaces/delete/', views.VMInterfaceBulkDeleteView.as_view(), name='vminterface_bulk_delete'), - path('interfaces//', views.VMInterfaceView.as_view(), name='vminterface'), - path('interfaces//edit/', views.VMInterfaceEditView.as_view(), name='vminterface_edit'), - path('interfaces//delete/', views.VMInterfaceDeleteView.as_view(), name='vminterface_delete'), path('interfaces//', include(get_model_urls('virtualization', 'vminterface'))), path('virtual-machines/interfaces/add/', views.VirtualMachineBulkAddInterfaceView.as_view(), name='virtualmachine_bulk_add_vminterface'), diff --git a/netbox/virtualization/views.py b/netbox/virtualization/views.py index 6a4cc32f4..bda2415a5 100644 --- a/netbox/virtualization/views.py +++ b/netbox/virtualization/views.py @@ -31,6 +31,7 @@ class ClusterTypeListView(generic.ObjectListView): table = tables.ClusterTypeTable +@register_model_view(ClusterType) class ClusterTypeView(generic.ObjectView): queryset = ClusterType.objects.all() @@ -49,11 +50,13 @@ class ClusterTypeView(generic.ObjectView): } +@register_model_view(ClusterType, 'edit') class ClusterTypeEditView(generic.ObjectEditView): queryset = ClusterType.objects.all() form = forms.ClusterTypeForm +@register_model_view(ClusterType, 'delete') class ClusterTypeDeleteView(generic.ObjectDeleteView): queryset = ClusterType.objects.all() @@ -93,6 +96,7 @@ class ClusterGroupListView(generic.ObjectListView): table = tables.ClusterGroupTable +@register_model_view(ClusterGroup) class ClusterGroupView(generic.ObjectView): queryset = ClusterGroup.objects.all() @@ -111,11 +115,13 @@ class ClusterGroupView(generic.ObjectView): } +@register_model_view(ClusterGroup, 'edit') class ClusterGroupEditView(generic.ObjectEditView): queryset = ClusterGroup.objects.all() form = forms.ClusterGroupForm +@register_model_view(ClusterGroup, 'delete') class ClusterGroupDeleteView(generic.ObjectDeleteView): queryset = ClusterGroup.objects.all() @@ -159,6 +165,7 @@ class ClusterListView(generic.ObjectListView): filterset_form = forms.ClusterFilterForm +@register_model_view(Cluster) class ClusterView(generic.ObjectView): queryset = Cluster.objects.all() @@ -197,11 +204,13 @@ class ClusterDevicesView(generic.ObjectChildrenView): return Device.objects.restrict(request.user, 'view').filter(cluster=parent) +@register_model_view(Cluster, 'edit') class ClusterEditView(generic.ObjectEditView): queryset = Cluster.objects.all() form = forms.ClusterForm +@register_model_view(Cluster, 'delete') class ClusterDeleteView(generic.ObjectDeleteView): queryset = Cluster.objects.all() @@ -225,6 +234,7 @@ class ClusterBulkDeleteView(generic.BulkDeleteView): table = tables.ClusterTable +@register_model_view(Cluster, 'add_devices', path='devices/add') class ClusterAddDevicesView(generic.ObjectEditView): queryset = Cluster.objects.all() form = forms.ClusterAddDevicesForm @@ -266,6 +276,7 @@ class ClusterAddDevicesView(generic.ObjectEditView): }) +@register_model_view(Cluster, 'remove_devices', path='devices/remove') class ClusterRemoveDevicesView(generic.ObjectEditView): queryset = Cluster.objects.all() form = forms.ClusterRemoveDevicesForm @@ -319,6 +330,7 @@ class VirtualMachineListView(generic.ObjectListView): template_name = 'virtualization/virtualmachine_list.html' +@register_model_view(VirtualMachine) class VirtualMachineView(generic.ObjectView): queryset = VirtualMachine.objects.prefetch_related('tenant__group') @@ -378,11 +390,13 @@ class VirtualMachineConfigContextView(ObjectConfigContextView): ) +@register_model_view(VirtualMachine, 'edit') class VirtualMachineEditView(generic.ObjectEditView): queryset = VirtualMachine.objects.all() form = forms.VirtualMachineForm +@register_model_view(VirtualMachine, 'delete') class VirtualMachineDeleteView(generic.ObjectDeleteView): queryset = VirtualMachine.objects.all() @@ -418,6 +432,7 @@ class VMInterfaceListView(generic.ObjectListView): actions = ('import', 'export', 'bulk_edit', 'bulk_delete') +@register_model_view(VMInterface) class VMInterfaceView(generic.ObjectView): queryset = VMInterface.objects.all() @@ -463,11 +478,13 @@ class VMInterfaceCreateView(generic.ComponentCreateView): model_form = forms.VMInterfaceForm +@register_model_view(VMInterface, 'edit') class VMInterfaceEditView(generic.ObjectEditView): queryset = VMInterface.objects.all() form = forms.VMInterfaceForm +@register_model_view(VMInterface, 'delete') class VMInterfaceDeleteView(generic.ObjectDeleteView): queryset = VMInterface.objects.all() diff --git a/netbox/wireless/urls.py b/netbox/wireless/urls.py index d6e84b1b8..cf8ea5716 100644 --- a/netbox/wireless/urls.py +++ b/netbox/wireless/urls.py @@ -12,9 +12,6 @@ urlpatterns = ( path('wireless-lan-groups/import/', views.WirelessLANGroupBulkImportView.as_view(), name='wirelesslangroup_import'), path('wireless-lan-groups/edit/', views.WirelessLANGroupBulkEditView.as_view(), name='wirelesslangroup_bulk_edit'), path('wireless-lan-groups/delete/', views.WirelessLANGroupBulkDeleteView.as_view(), name='wirelesslangroup_bulk_delete'), - path('wireless-lan-groups//', views.WirelessLANGroupView.as_view(), name='wirelesslangroup'), - path('wireless-lan-groups//edit/', views.WirelessLANGroupEditView.as_view(), name='wirelesslangroup_edit'), - path('wireless-lan-groups//delete/', views.WirelessLANGroupDeleteView.as_view(), name='wirelesslangroup_delete'), path('wireless-lan-groups//', include(get_model_urls('wireless', 'wirelesslangroup'))), # Wireless LANs @@ -23,9 +20,6 @@ urlpatterns = ( path('wireless-lans/import/', views.WirelessLANBulkImportView.as_view(), name='wirelesslan_import'), path('wireless-lans/edit/', views.WirelessLANBulkEditView.as_view(), name='wirelesslan_bulk_edit'), path('wireless-lans/delete/', views.WirelessLANBulkDeleteView.as_view(), name='wirelesslan_bulk_delete'), - path('wireless-lans//', views.WirelessLANView.as_view(), name='wirelesslan'), - path('wireless-lans//edit/', views.WirelessLANEditView.as_view(), name='wirelesslan_edit'), - path('wireless-lans//delete/', views.WirelessLANDeleteView.as_view(), name='wirelesslan_delete'), path('wireless-lans//', include(get_model_urls('wireless', 'wirelesslan'))), # Wireless links @@ -34,9 +28,6 @@ urlpatterns = ( path('wireless-links/import/', views.WirelessLinkBulkImportView.as_view(), name='wirelesslink_import'), path('wireless-links/edit/', views.WirelessLinkBulkEditView.as_view(), name='wirelesslink_bulk_edit'), path('wireless-links/delete/', views.WirelessLinkBulkDeleteView.as_view(), name='wirelesslink_bulk_delete'), - path('wireless-links//', views.WirelessLinkView.as_view(), name='wirelesslink'), - path('wireless-links//edit/', views.WirelessLinkEditView.as_view(), name='wirelesslink_edit'), - path('wireless-links//delete/', views.WirelessLinkDeleteView.as_view(), name='wirelesslink_delete'), path('wireless-links//', include(get_model_urls('wireless', 'wirelesslink'))), ) diff --git a/netbox/wireless/views.py b/netbox/wireless/views.py index 988aa1b6d..e4e7617ed 100644 --- a/netbox/wireless/views.py +++ b/netbox/wireless/views.py @@ -1,6 +1,7 @@ from dcim.models import Interface from netbox.views import generic from utilities.utils import count_related +from utilities.views import register_model_view from . import filtersets, forms, tables from .models import * @@ -22,6 +23,7 @@ class WirelessLANGroupListView(generic.ObjectListView): table = tables.WirelessLANGroupTable +@register_model_view(WirelessLANGroup) class WirelessLANGroupView(generic.ObjectView): queryset = WirelessLANGroup.objects.all() @@ -37,11 +39,13 @@ class WirelessLANGroupView(generic.ObjectView): } +@register_model_view(WirelessLANGroup, 'edit') class WirelessLANGroupEditView(generic.ObjectEditView): queryset = WirelessLANGroup.objects.all() form = forms.WirelessLANGroupForm +@register_model_view(WirelessLANGroup, 'delete') class WirelessLANGroupDeleteView(generic.ObjectDeleteView): queryset = WirelessLANGroup.objects.all() @@ -90,6 +94,7 @@ class WirelessLANListView(generic.ObjectListView): table = tables.WirelessLANTable +@register_model_view(WirelessLAN) class WirelessLANView(generic.ObjectView): queryset = WirelessLAN.objects.all() @@ -105,11 +110,13 @@ class WirelessLANView(generic.ObjectView): } +@register_model_view(WirelessLAN, 'edit') class WirelessLANEditView(generic.ObjectEditView): queryset = WirelessLAN.objects.all() form = forms.WirelessLANForm +@register_model_view(WirelessLAN, 'delete') class WirelessLANDeleteView(generic.ObjectDeleteView): queryset = WirelessLAN.objects.all() @@ -144,15 +151,18 @@ class WirelessLinkListView(generic.ObjectListView): table = tables.WirelessLinkTable +@register_model_view(WirelessLink) class WirelessLinkView(generic.ObjectView): queryset = WirelessLink.objects.all() +@register_model_view(WirelessLink, 'edit') class WirelessLinkEditView(generic.ObjectEditView): queryset = WirelessLink.objects.all() form = forms.WirelessLinkForm +@register_model_view(WirelessLink, 'delete') class WirelessLinkDeleteView(generic.ObjectDeleteView): queryset = WirelessLink.objects.all() From 679a9e839b48cc8014203cc19090361f001b9bb0 Mon Sep 17 00:00:00 2001 From: kkthxbye-code Date: Sun, 9 Oct 2022 21:05:31 +0200 Subject: [PATCH 063/162] Work on job scheduling: * Added JobResult form filtersets * Change housekeeping cleanup delete from `_raw_delete` to `delete` to make sure scheduled tasks are cancelled * Change default sort of JobResult table to -created * Added `delete` override to `JobResult` to remove scheduled tasks from RQ when a JobResult is deleted * Updated js/css dist files. Will need to be redone when develop is merged to feature. --- netbox/extras/choices.py | 4 +- netbox/extras/filtersets.py | 5 +- netbox/extras/forms/filtersets.py | 38 ++++++++++- netbox/extras/forms/reports.py | 2 +- .../management/commands/housekeeping.py | 2 +- .../migrations/0079_change_jobresult_order.py | 17 +++++ netbox/extras/models/models.py | 15 ++++- netbox/extras/tables/tables.py | 4 +- netbox/extras/urls.py | 1 - netbox/extras/views.py | 3 +- .../project-static/dist/netbox-external.css | Bin 286568 -> 286810 bytes netbox/project-static/dist/netbox.js | Bin 374623 -> 375762 bytes netbox/project-static/dist/netbox.js.map | Bin 344325 -> 346928 bytes netbox/templates/extras/jobresult.html | 60 ------------------ 14 files changed, 77 insertions(+), 74 deletions(-) create mode 100644 netbox/extras/migrations/0079_change_jobresult_order.py delete mode 100644 netbox/templates/extras/jobresult.html diff --git a/netbox/extras/choices.py b/netbox/extras/choices.py index 0e2edcd9f..ee806f094 100644 --- a/netbox/extras/choices.py +++ b/netbox/extras/choices.py @@ -141,7 +141,7 @@ class LogLevelChoices(ChoiceSet): class JobResultStatusChoices(ChoiceSet): STATUS_PENDING = 'pending' - STATUS_SCHEDULED = 'pending' + STATUS_SCHEDULED = 'scheduled' STATUS_RUNNING = 'running' STATUS_COMPLETED = 'completed' STATUS_ERRORED = 'errored' @@ -149,7 +149,7 @@ class JobResultStatusChoices(ChoiceSet): CHOICES = ( (STATUS_PENDING, 'Pending'), - (STATUS_SCHEDULED, 'Pending'), + (STATUS_SCHEDULED, 'Scheduled'), (STATUS_RUNNING, 'Running'), (STATUS_COMPLETED, 'Completed'), (STATUS_ERRORED, 'Errored'), diff --git a/netbox/extras/filtersets.py b/netbox/extras/filtersets.py index aed8d4bb3..f7927a454 100644 --- a/netbox/extras/filtersets.py +++ b/netbox/extras/filtersets.py @@ -87,6 +87,7 @@ class CustomFieldFilterSet(BaseFilterSet): Q(description__icontains=value) ) + class CustomLinkFilterSet(BaseFilterSet): q = django_filters.CharFilter( method='search', @@ -434,8 +435,8 @@ class JobResultFilterSet(BaseFilterSet): method='search', label='Search', ) - created = django_filters.DateTimeFilter() - completed = django_filters.DateTimeFilter() + created = django_filters.DateTimeFromToRangeFilter() + completed = django_filters.DateTimeFromToRangeFilter() status = django_filters.MultipleChoiceFilter( choices=JobResultStatusChoices, null_value=None diff --git a/netbox/extras/forms/filtersets.py b/netbox/extras/forms/filtersets.py index 2e715d9a7..c40d0ce94 100644 --- a/netbox/extras/forms/filtersets.py +++ b/netbox/extras/forms/filtersets.py @@ -69,7 +69,43 @@ class CustomFieldFilterForm(FilterForm): class JobResultFilterForm(FilterForm): fieldsets = ( (None, ('q',)), - #('Attributes', ('type', 'content_type_id', 'group_name', 'weight', 'required', 'ui_visibility')), + ('Attributes', ('obj_type', 'status')), + ('Creation', ('created_before', 'created_after', 'completed_before', 'completed_after', 'user')), + ) + + obj_type = ContentTypeChoiceField( + label=_('Object Type'), + queryset=ContentType.objects.all(), + limit_choices_to=FeatureQuery('job_results'), # TODO: This doesn't actually work + required=False, + ) + status = MultipleChoiceField( + choices=JobResultStatusChoices, + required=False + ) + created_after = forms.DateTimeField( + required=False, + widget=DateTimePicker() + ) + created_before = forms.DateTimeField( + required=False, + widget=DateTimePicker() + ) + completed_after = forms.DateTimeField( + required=False, + widget=DateTimePicker() + ) + completed_before = forms.DateTimeField( + required=False, + widget=DateTimePicker() + ) + user = DynamicModelMultipleChoiceField( + queryset=User.objects.all(), + required=False, + label=_('User'), + widget=APISelectMultiple( + api_url='/api/users/users/', + ) ) diff --git a/netbox/extras/forms/reports.py b/netbox/extras/forms/reports.py index 658796bb5..aa4f6223b 100644 --- a/netbox/extras/forms/reports.py +++ b/netbox/extras/forms/reports.py @@ -13,4 +13,4 @@ class ReportForm(BootstrapMixin, forms.Form): widget=DateTimePicker(), label="Schedule at", help_text="Schedule execution of report to a set time", - ) \ No newline at end of file + ) diff --git a/netbox/extras/management/commands/housekeeping.py b/netbox/extras/management/commands/housekeeping.py index 51d50d7e1..d2f2b1776 100644 --- a/netbox/extras/management/commands/housekeeping.py +++ b/netbox/extras/management/commands/housekeeping.py @@ -81,7 +81,7 @@ class Command(BaseCommand): ending="" ) self.stdout.flush() - JobResult.objects.filter(created__lt=cutoff)._raw_delete(using=DEFAULT_DB_ALIAS) + JobResult.objects.filter(created__lt=cutoff).delete(using=DEFAULT_DB_ALIAS) if options['verbosity']: self.stdout.write("Done.", self.style.SUCCESS) elif options['verbosity']: diff --git a/netbox/extras/migrations/0079_change_jobresult_order.py b/netbox/extras/migrations/0079_change_jobresult_order.py new file mode 100644 index 000000000..12e35bf67 --- /dev/null +++ b/netbox/extras/migrations/0079_change_jobresult_order.py @@ -0,0 +1,17 @@ +# Generated by Django 4.1.1 on 2022-10-09 18:37 + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('extras', '0078_unique_constraints'), + ] + + operations = [ + migrations.AlterModelOptions( + name='jobresult', + options={'ordering': ['-created']}, + ), + ] diff --git a/netbox/extras/models/models.py b/netbox/extras/models/models.py index 03796f17d..2d3df5ca2 100644 --- a/netbox/extras/models/models.py +++ b/netbox/extras/models/models.py @@ -528,13 +528,22 @@ class JobResult(models.Model): objects = RestrictedQuerySet.as_manager() class Meta: - ordering = ['obj_type', 'name', '-created'] + ordering = ['-created'] def __str__(self): return str(self.job_id) + def delete(self, *args, **kwargs): + queue = django_rq.get_queue("default") + job = queue.fetch_job(str(self.job_id)) + + if job: + job.cancel() + + return super().delete(*args, **kwargs) + def get_absolute_url(self): - return reverse('extras:jobresult', args=[self.pk]) + return reverse(f'extras:{self.obj_type.name}_result', args=[self.pk]) @property def duration(self): @@ -579,7 +588,7 @@ class JobResult(models.Model): if schedule_at := kwargs.pop("schedule_at", None): job_result.status = JobResultStatusChoices.STATUS_SCHEDULED job_result.save() - + queue.enqueue_at(schedule_at, func, job_id=str(job_result.job_id), job_result=job_result, **kwargs) else: queue.enqueue(func, job_id=str(job_result.job_id), job_result=job_result, **kwargs) diff --git a/netbox/extras/tables/tables.py b/netbox/extras/tables/tables.py index 39f186ed6..6ddc26c3d 100644 --- a/netbox/extras/tables/tables.py +++ b/netbox/extras/tables/tables.py @@ -56,9 +56,9 @@ class JobResultTable(NetBoxTable): class Meta(NetBoxTable.Meta): model = JobResult fields = ( - 'pk', 'id', 'name', 'obj_type', 'created', 'completed', 'user', 'status', 'job_id', + 'pk', 'id', 'name', 'obj_type', 'job_id', 'created', 'completed', 'user', 'status', ) - default_columns = ('pk', 'id', 'name', 'obj_type', 'created', 'completed', 'user', 'status', 'job_id') + default_columns = ('pk', 'id', 'name', 'obj_type', 'status', 'created', 'completed', 'user',) # diff --git a/netbox/extras/urls.py b/netbox/extras/urls.py index dfea1a4ef..0640904f2 100644 --- a/netbox/extras/urls.py +++ b/netbox/extras/urls.py @@ -76,7 +76,6 @@ urlpatterns = [ # Job results path('job-results/', views.JobResultListView.as_view(), name='jobresult_list'), - path('job-results//', views.JobResultView.as_view(), name='jobresult'), path('job-results/delete/', views.JobResultBulkDeleteView.as_view(), name='jobresult_bulk_delete'), path('job-results//delete/', views.JobResultDeleteView.as_view(), name='jobresult_delete'), diff --git a/netbox/extras/views.py b/netbox/extras/views.py index c242e36f4..29855a82b 100644 --- a/netbox/extras/views.py +++ b/netbox/extras/views.py @@ -815,6 +815,7 @@ class JobResultListView(generic.ObjectListView): table = tables.JobResultTable actions = ('delete', 'bulk_delete', ) + class JobResultDeleteView(generic.ObjectDeleteView): queryset = JobResult.objects.all() @@ -822,4 +823,4 @@ class JobResultDeleteView(generic.ObjectDeleteView): class JobResultBulkDeleteView(generic.BulkDeleteView): queryset = JobResult.objects.all() filterset = filtersets.JobResultFilterSet - table = tables.JobResultTable \ No newline at end of file + table = tables.JobResultTable diff --git a/netbox/project-static/dist/netbox-external.css b/netbox/project-static/dist/netbox-external.css index f8bd6e21cf9fd0c959a82ae7b80721f264109910..8504316d429221f0aeb70e13bffc93156dd85f1c 100644 GIT binary patch delta 147 zcmaE{Pw>_O!G;#b7N!>FEi5l&r-#Y0$Zr>wV{v2TN-QeMFAvI0&nTJxP=Q5edbB(X zKcmhxX%-PqxYYDyc@_g6Juu%nHLoPK2&7g~9>TUtOaqEk=cJ~USeY8AS{H!~1F@z% e0!^9TE62jVeU?0n3Cr|70W6{0&ndIavIYP^QZRe~ delta 63 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
1>%s~g01~K9X6ztH^ptn;|G_y{H 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 diff --git a/netbox/project-static/dist/netbox.js.map b/netbox/project-static/dist/netbox.js.map index ff7b5a41d3e351fd84556bbecd30fb1fba44be7a..bf25f3919966fdec75824d6c77724ca7361c6739 100644 GIT binary patch delta 8384 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 Cz8XOQ diff --git a/netbox/templates/extras/jobresult.html b/netbox/templates/extras/jobresult.html deleted file mode 100644 index 5f46dd6ac..000000000 --- a/netbox/templates/extras/jobresult.html +++ /dev/null @@ -1,60 +0,0 @@ -{% extends 'generic/object.html' %} -{% load helpers %} -{% load plugins %} - -{% block title %}{{ object.name }} ({{object.job_id}}){% endblock %} - -{# JobResult does not support add/edit controls #} -{% block controls %}{% endblock %} -{% block subtitle %}{% endblock %} - -{% block content %} -
-
-
-
- Tag -
-
- - - - - - - - - - - - - -
Name - {{ object.name }} -
Created - {{ object.created|annotated_date }} -
Completed - {{ object.completed|annotated_date }} -
-
-
-
-
-
-
- TODO -
-
- - TODO -
-
-
-
-
-
-
- {% plugin_full_width_page object %} -
-
-{% endblock %} From ef0b455b05ca50746c09017c5adea21156628169 Mon Sep 17 00:00:00 2001 From: kkthxbye-code Date: Sun, 9 Oct 2022 21:16:26 +0200 Subject: [PATCH 064/162] Called super delete method before deleting JobResult task. Done to avoid having deleted a task on accident if the deleting of the JobResult fails. --- netbox/extras/models/models.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/netbox/extras/models/models.py b/netbox/extras/models/models.py index 2d3df5ca2..e81c58136 100644 --- a/netbox/extras/models/models.py +++ b/netbox/extras/models/models.py @@ -534,14 +534,14 @@ class JobResult(models.Model): return str(self.job_id) def delete(self, *args, **kwargs): + super().delete(*args, **kwargs) + queue = django_rq.get_queue("default") job = queue.fetch_job(str(self.job_id)) if job: job.cancel() - return super().delete(*args, **kwargs) - def get_absolute_url(self): return reverse(f'extras:{self.obj_type.name}_result', args=[self.pk]) From 656f0b7d82c56d32323697cf250d92a732c7d1d6 Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Mon, 10 Oct 2022 08:11:29 -0400 Subject: [PATCH 065/162] #9072: Add hide_if_empty argument to ViewTab --- netbox/dcim/views.py | 83 ++++++++++++++++++++++++++------------- netbox/utilities/views.py | 11 ++++-- 2 files changed, 62 insertions(+), 32 deletions(-) diff --git a/netbox/dcim/views.py b/netbox/dcim/views.py index 195de2937..13e8354aa 100644 --- a/netbox/dcim/views.py +++ b/netbox/dcim/views.py @@ -951,7 +951,8 @@ class DeviceTypeConsolePortsView(DeviceTypeComponentsView): tab = ViewTab( label=_('Console Ports'), badge=lambda obj: obj.consoleporttemplates.count(), - permission='dcim.view_consoleporttemplate' + permission='dcim.view_consoleporttemplate', + hide_if_empty=True ) @@ -964,7 +965,8 @@ class DeviceTypeConsoleServerPortsView(DeviceTypeComponentsView): tab = ViewTab( label=_('Console Server Ports'), badge=lambda obj: obj.consoleserverporttemplates.count(), - permission='dcim.view_consoleserverporttemplate' + permission='dcim.view_consoleserverporttemplate', + hide_if_empty=True ) @@ -977,7 +979,8 @@ class DeviceTypePowerPortsView(DeviceTypeComponentsView): tab = ViewTab( label=_('Power Ports'), badge=lambda obj: obj.powerporttemplates.count(), - permission='dcim.view_powerporttemplate' + permission='dcim.view_powerporttemplate', + hide_if_empty=True ) @@ -990,7 +993,8 @@ class DeviceTypePowerOutletsView(DeviceTypeComponentsView): tab = ViewTab( label=_('Power Outlets'), badge=lambda obj: obj.poweroutlettemplates.count(), - permission='dcim.view_poweroutlettemplate' + permission='dcim.view_poweroutlettemplate', + hide_if_empty=True ) @@ -1003,7 +1007,8 @@ class DeviceTypeInterfacesView(DeviceTypeComponentsView): tab = ViewTab( label=_('Interfaces'), badge=lambda obj: obj.interfacetemplates.count(), - permission='dcim.view_interfacetemplate' + permission='dcim.view_interfacetemplate', + hide_if_empty=True ) @@ -1016,7 +1021,8 @@ class DeviceTypeFrontPortsView(DeviceTypeComponentsView): tab = ViewTab( label=_('Front Ports'), badge=lambda obj: obj.frontporttemplates.count(), - permission='dcim.view_frontporttemplate' + permission='dcim.view_frontporttemplate', + hide_if_empty=True ) @@ -1029,7 +1035,8 @@ class DeviceTypeRearPortsView(DeviceTypeComponentsView): tab = ViewTab( label=_('Rear Ports'), badge=lambda obj: obj.rearporttemplates.count(), - permission='dcim.view_rearporttemplate' + permission='dcim.view_rearporttemplate', + hide_if_empty=True ) @@ -1042,7 +1049,8 @@ class DeviceTypeModuleBaysView(DeviceTypeComponentsView): tab = ViewTab( label=_('Module Bays'), badge=lambda obj: obj.modulebaytemplates.count(), - permission='dcim.view_modulebaytemplate' + permission='dcim.view_modulebaytemplate', + hide_if_empty=True ) @@ -1055,7 +1063,8 @@ class DeviceTypeDeviceBaysView(DeviceTypeComponentsView): tab = ViewTab( label=_('Device Bays'), badge=lambda obj: obj.devicebaytemplates.count(), - permission='dcim.view_devicebaytemplate' + permission='dcim.view_devicebaytemplate', + hide_if_empty=True ) @@ -1068,7 +1077,8 @@ class DeviceTypeInventoryItemsView(DeviceTypeComponentsView): tab = ViewTab( label=_('Inventory Items'), badge=lambda obj: obj.inventoryitemtemplates.count(), - permission='dcim.view_invenotryitemtemplate' + permission='dcim.view_invenotryitemtemplate', + hide_if_empty=True ) @@ -1168,7 +1178,8 @@ class ModuleTypeConsolePortsView(ModuleTypeComponentsView): tab = ViewTab( label=_('Console Ports'), badge=lambda obj: obj.consoleporttemplates.count(), - permission='dcim.view_consoleporttemplate' + permission='dcim.view_consoleporttemplate', + hide_if_empty=True ) @@ -1181,7 +1192,8 @@ class ModuleTypeConsoleServerPortsView(ModuleTypeComponentsView): tab = ViewTab( label=_('Console Server Ports'), badge=lambda obj: obj.consoleserverporttemplates.count(), - permission='dcim.view_consoleserverporttemplate' + permission='dcim.view_consoleserverporttemplate', + hide_if_empty=True ) @@ -1194,7 +1206,8 @@ class ModuleTypePowerPortsView(ModuleTypeComponentsView): tab = ViewTab( label=_('Power Ports'), badge=lambda obj: obj.powerporttemplates.count(), - permission='dcim.view_powerporttemplate' + permission='dcim.view_powerporttemplate', + hide_if_empty=True ) @@ -1207,7 +1220,8 @@ class ModuleTypePowerOutletsView(ModuleTypeComponentsView): tab = ViewTab( label=_('Power Outlets'), badge=lambda obj: obj.poweroutlettemplates.count(), - permission='dcim.view_poweroutlettemplate' + permission='dcim.view_poweroutlettemplate', + hide_if_empty=True ) @@ -1220,7 +1234,8 @@ class ModuleTypeInterfacesView(ModuleTypeComponentsView): tab = ViewTab( label=_('Interfaces'), badge=lambda obj: obj.interfacetemplates.count(), - permission='dcim.view_interfacetemplate' + permission='dcim.view_interfacetemplate', + hide_if_empty=True ) @@ -1233,7 +1248,8 @@ class ModuleTypeFrontPortsView(ModuleTypeComponentsView): tab = ViewTab( label=_('Front Ports'), badge=lambda obj: obj.frontporttemplates.count(), - permission='dcim.view_frontporttemplate' + permission='dcim.view_frontporttemplate', + hide_if_empty=True ) @@ -1246,7 +1262,8 @@ class ModuleTypeRearPortsView(ModuleTypeComponentsView): tab = ViewTab( label=_('Rear Ports'), badge=lambda obj: obj.rearporttemplates.count(), - permission='dcim.view_rearporttemplate' + permission='dcim.view_rearporttemplate', + hide_if_empty=True ) @@ -1845,11 +1862,12 @@ class DeviceConsolePortsView(DeviceComponentsView): child_model = ConsolePort table = tables.DeviceConsolePortTable filterset = filtersets.ConsolePortFilterSet - template_name = 'dcim/device/consoleports.html' + template_name = 'dcim/device/consoleports.html', tab = ViewTab( label=_('Console Ports'), badge=lambda obj: obj.consoleports.count(), - permission='dcim.view_consoleport' + permission='dcim.view_consoleport', + hide_if_empty=True ) @@ -1862,7 +1880,8 @@ class DeviceConsoleServerPortsView(DeviceComponentsView): tab = ViewTab( label=_('Console Server Ports'), badge=lambda obj: obj.consoleserverports.count(), - permission='dcim.view_consoleserverport' + permission='dcim.view_consoleserverport', + hide_if_empty=True ) @@ -1875,7 +1894,8 @@ class DevicePowerPortsView(DeviceComponentsView): tab = ViewTab( label=_('Power Ports'), badge=lambda obj: obj.powerports.count(), - permission='dcim.view_powerport' + permission='dcim.view_powerport', + hide_if_empty=True ) @@ -1888,7 +1908,8 @@ class DevicePowerOutletsView(DeviceComponentsView): tab = ViewTab( label=_('Power Outlets'), badge=lambda obj: obj.poweroutlets.count(), - permission='dcim.view_poweroutlet' + permission='dcim.view_poweroutlet', + hide_if_empty=True ) @@ -1901,7 +1922,8 @@ class DeviceInterfacesView(DeviceComponentsView): tab = ViewTab( label=_('Interfaces'), badge=lambda obj: obj.interfaces.count(), - permission='dcim.view_interface' + permission='dcim.view_interface', + hide_if_empty=True ) def get_children(self, request, parent): @@ -1920,7 +1942,8 @@ class DeviceFrontPortsView(DeviceComponentsView): tab = ViewTab( label=_('Front Ports'), badge=lambda obj: obj.frontports.count(), - permission='dcim.view_frontport' + permission='dcim.view_frontport', + hide_if_empty=True ) @@ -1933,7 +1956,8 @@ class DeviceRearPortsView(DeviceComponentsView): tab = ViewTab( label=_('Rear Ports'), badge=lambda obj: obj.rearports.count(), - permission='dcim.view_rearport' + permission='dcim.view_rearport', + hide_if_empty=True ) @@ -1946,7 +1970,8 @@ class DeviceModuleBaysView(DeviceComponentsView): tab = ViewTab( label=_('Module Bays'), badge=lambda obj: obj.modulebays.count(), - permission='dcim.view_modulebay' + permission='dcim.view_modulebay', + hide_if_empty=True ) @@ -1959,7 +1984,8 @@ class DeviceDeviceBaysView(DeviceComponentsView): tab = ViewTab( label=_('Device Bays'), badge=lambda obj: obj.devicebays.count(), - permission='dcim.view_devicebay' + permission='dcim.view_devicebay', + hide_if_empty=True ) @@ -1972,7 +1998,8 @@ class DeviceInventoryView(DeviceComponentsView): tab = ViewTab( label=_('Inventory Items'), badge=lambda obj: obj.inventoryitems.count(), - permission='dcim.view_inventoryitem' + permission='dcim.view_inventoryitem', + hide_if_empty=True ) diff --git a/netbox/utilities/views.py b/netbox/utilities/views.py index bdd6e4880..edad7c1b2 100644 --- a/netbox/utilities/views.py +++ b/netbox/utilities/views.py @@ -140,19 +140,22 @@ class ViewTab: Args: label: Human-friendly text - badge: A static value or callable to display alongside the label (optional). If a callable is used, it must accept a single - argument representing the object being viewed. + badge: A static value or callable to display alongside the label (optional). If a callable is used, it must + accept a single argument representing the object being viewed. permission: The permission required to display the tab (optional). + hide_if_empty: If true, the tab will be displayed only if its badge has a meaningful value. (Tabs without a + badge are always displayed.) """ - def __init__(self, label, badge=None, permission=None): + def __init__(self, label, badge=None, permission=None, hide_if_empty=False): self.label = label self.badge = badge self.permission = permission + self.hide_if_empty = hide_if_empty def render(self, instance): """Return the attributes needed to render a tab in HTML.""" badge_value = self._get_badge_value(instance) - if self.badge and not badge_value: + if self.badge and self.hide_if_empty and not badge_value: return None return { 'label': self.label, From ffce5d968d8a77c97852999b6ef916e80c1de55f Mon Sep 17 00:00:00 2001 From: Arthur Hanson Date: Mon, 10 Oct 2022 11:00:59 -0700 Subject: [PATCH 066/162] 8927 plugin search (#10489) * #7016 base search classes * 7016 add search indexes * 7016 add search indexes * 7016 add search indexes * 7016 add search indexes * 7016 add search indexes * 7016 add search indexes * 8927 refactor search * 8927 refactor search * 8927 refactor search * 8927 refactor search * 8927 get search choices working * 8927 cleanup - optimize * 8927 use backend search function * 8927 fix for plugin search * 8927 add docs * Move search app to a module under netbox/ * Utilize global registry to register model search classes * Build search form options from registry * Determine search categories from model app by default * Enable dynamic search registration for plugins * Update docs & improve plugin support * Clean up search backend class * Docs for #8927 Co-authored-by: jeremystretch --- docs/plugins/development/index.md | 1 + docs/plugins/development/search.md | 29 +++ docs/release-notes/version-3.4.md | 1 + mkdocs.yml | 1 + netbox/circuits/apps.py | 2 +- netbox/circuits/search.py | 34 +++ netbox/dcim/apps.py | 2 +- netbox/dcim/search.py | 143 +++++++++++ netbox/extras/apps.py | 3 +- netbox/extras/plugins/__init__.py | 7 + netbox/extras/registry.py | 1 + netbox/extras/search.py | 14 ++ netbox/extras/tests/dummy_plugin/search.py | 13 + netbox/ipam/apps.py | 2 +- netbox/ipam/search.py | 69 ++++++ netbox/netbox/forms/__init__.py | 49 ++-- netbox/netbox/search.py | 274 --------------------- netbox/netbox/search/__init__.py | 33 +++ netbox/netbox/search/backends.py | 125 ++++++++++ netbox/netbox/settings.py | 2 +- netbox/netbox/views/__init__.py | 25 +- netbox/tenancy/apps.py | 3 + netbox/tenancy/search.py | 25 ++ netbox/utilities/templatetags/search.py | 10 +- netbox/virtualization/apps.py | 3 + netbox/virtualization/search.py | 33 +++ netbox/wireless/apps.py | 2 +- netbox/wireless/search.py | 26 ++ 28 files changed, 598 insertions(+), 334 deletions(-) create mode 100644 docs/plugins/development/search.md create mode 100644 netbox/circuits/search.py create mode 100644 netbox/dcim/search.py create mode 100644 netbox/extras/search.py create mode 100644 netbox/extras/tests/dummy_plugin/search.py create mode 100644 netbox/ipam/search.py delete mode 100644 netbox/netbox/search.py create mode 100644 netbox/netbox/search/__init__.py create mode 100644 netbox/netbox/search/backends.py create mode 100644 netbox/tenancy/search.py create mode 100644 netbox/virtualization/search.py create mode 100644 netbox/wireless/search.py diff --git a/docs/plugins/development/index.md b/docs/plugins/development/index.md index b7b03b5bf..cad77c7fe 100644 --- a/docs/plugins/development/index.md +++ b/docs/plugins/development/index.md @@ -108,6 +108,7 @@ NetBox looks for the `config` variable within a plugin's `__init__.py` to load i | `max_version` | Maximum version of NetBox with which the plugin is compatible | | `middleware` | A list of middleware classes to append after NetBox's build-in middleware | | `queues` | A list of custom background task queues to create | +| `search_extensions` | The dotted path to the list of search index classes (default: `search.indexes`) | | `template_extensions` | The dotted path to the list of template extension classes (default: `template_content.template_extensions`) | | `menu_items` | The dotted path to the list of menu items provided by the plugin (default: `navigation.menu_items`) | | `graphql_schema` | The dotted path to the plugin's GraphQL schema class, if any (default: `graphql.schema`) | diff --git a/docs/plugins/development/search.md b/docs/plugins/development/search.md new file mode 100644 index 000000000..13edd4527 --- /dev/null +++ b/docs/plugins/development/search.md @@ -0,0 +1,29 @@ +# Search + +Plugins can define and register their own models to extend NetBox's core search functionality. Typically, a plugin will include a file named `search.py`, which holds all search indexes for its models (see the example below). + +```python +# search.py +from netbox.search import SearchMixin +from .filters import MyModelFilterSet +from .tables import MyModelTable +from .models import MyModel + +class MyModelIndex(SearchMixin): + model = MyModel + queryset = MyModel.objects.all() + filterset = MyModelFilterSet + table = MyModelTable + url = 'plugins:myplugin:mymodel_list' +``` + +To register one or more indexes with NetBox, define a list named `indexes` at the end of this file: + +```python +indexes = [MyModelIndex] +``` + +!!! tip + The path to the list of search indexes can be modified by setting `search_indexes` in the PluginConfig instance. + +::: netbox.search.SearchIndex diff --git a/docs/release-notes/version-3.4.md b/docs/release-notes/version-3.4.md index bbb386577..6a47c7a2b 100644 --- a/docs/release-notes/version-3.4.md +++ b/docs/release-notes/version-3.4.md @@ -26,6 +26,7 @@ A new `PluginMenu` class has been introduced, which enables a plugin to inject a ### Plugins API +* [#8927](https://github.com/netbox-community/netbox/issues/8927) - Enable inclusion of plugin models in global search via `SearchIndex` * [#9071](https://github.com/netbox-community/netbox/issues/9071) - Introduce `PluginMenu` for top-level plugin navigation menus * [#9072](https://github.com/netbox-community/netbox/issues/9072) - Enable registration of tabbed plugin views for core NetBox models * [#9880](https://github.com/netbox-community/netbox/issues/9880) - Introduce `django_apps` plugin configuration parameter diff --git a/mkdocs.yml b/mkdocs.yml index 4e2cb73dd..a7977d7ea 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -132,6 +132,7 @@ nav: - GraphQL API: 'plugins/development/graphql-api.md' - Background Tasks: 'plugins/development/background-tasks.md' - Exceptions: 'plugins/development/exceptions.md' + - Search: 'plugins/development/search.md' - Administration: - Authentication: - Overview: 'administration/authentication/overview.md' diff --git a/netbox/circuits/apps.py b/netbox/circuits/apps.py index bc0b7d87d..3acf3b98c 100644 --- a/netbox/circuits/apps.py +++ b/netbox/circuits/apps.py @@ -6,4 +6,4 @@ class CircuitsConfig(AppConfig): verbose_name = "Circuits" def ready(self): - import circuits.signals + from . import signals, search diff --git a/netbox/circuits/search.py b/netbox/circuits/search.py new file mode 100644 index 000000000..5adfb97fb --- /dev/null +++ b/netbox/circuits/search.py @@ -0,0 +1,34 @@ +import circuits.filtersets +import circuits.tables +from circuits.models import Circuit, Provider, ProviderNetwork +from netbox.search import SearchIndex, register_search +from utilities.utils import count_related + + +@register_search() +class ProviderIndex(SearchIndex): + model = Provider + queryset = Provider.objects.annotate(count_circuits=count_related(Circuit, 'provider')) + filterset = circuits.filtersets.ProviderFilterSet + table = circuits.tables.ProviderTable + url = 'circuits:provider_list' + + +@register_search() +class CircuitIndex(SearchIndex): + model = Circuit + queryset = Circuit.objects.prefetch_related( + 'type', 'provider', 'tenant', 'tenant__group', 'terminations__site' + ) + filterset = circuits.filtersets.CircuitFilterSet + table = circuits.tables.CircuitTable + url = 'circuits:circuit_list' + + +@register_search() +class ProviderNetworkIndex(SearchIndex): + model = ProviderNetwork + queryset = ProviderNetwork.objects.prefetch_related('provider') + filterset = circuits.filtersets.ProviderNetworkFilterSet + table = circuits.tables.ProviderNetworkTable + url = 'circuits:providernetwork_list' diff --git a/netbox/dcim/apps.py b/netbox/dcim/apps.py index 4be2df659..bfb09e601 100644 --- a/netbox/dcim/apps.py +++ b/netbox/dcim/apps.py @@ -8,7 +8,7 @@ class DCIMConfig(AppConfig): verbose_name = "DCIM" def ready(self): - import dcim.signals + from . import signals, search from .models import CableTermination # Register denormalized fields diff --git a/netbox/dcim/search.py b/netbox/dcim/search.py new file mode 100644 index 000000000..b179402ce --- /dev/null +++ b/netbox/dcim/search.py @@ -0,0 +1,143 @@ +import dcim.filtersets +import dcim.tables +from dcim.models import ( + Cable, + Device, + DeviceType, + Location, + Module, + ModuleType, + PowerFeed, + Rack, + RackReservation, + Site, + VirtualChassis, +) +from netbox.search import SearchIndex, register_search +from utilities.utils import count_related + + +@register_search() +class SiteIndex(SearchIndex): + model = Site + queryset = Site.objects.prefetch_related('region', 'tenant', 'tenant__group') + filterset = dcim.filtersets.SiteFilterSet + table = dcim.tables.SiteTable + url = 'dcim:site_list' + + +@register_search() +class RackIndex(SearchIndex): + model = Rack + queryset = Rack.objects.prefetch_related('site', 'location', 'tenant', 'tenant__group', 'role').annotate( + device_count=count_related(Device, 'rack') + ) + filterset = dcim.filtersets.RackFilterSet + table = dcim.tables.RackTable + url = 'dcim:rack_list' + + +@register_search() +class RackReservationIndex(SearchIndex): + model = RackReservation + queryset = RackReservation.objects.prefetch_related('rack', 'user') + filterset = dcim.filtersets.RackReservationFilterSet + table = dcim.tables.RackReservationTable + url = 'dcim:rackreservation_list' + + +@register_search() +class LocationIndex(SearchIndex): + model = Location + queryset = Location.objects.add_related_count( + Location.objects.add_related_count(Location.objects.all(), Device, 'location', 'device_count', cumulative=True), + Rack, + 'location', + 'rack_count', + cumulative=True, + ).prefetch_related('site') + filterset = dcim.filtersets.LocationFilterSet + table = dcim.tables.LocationTable + url = 'dcim:location_list' + + +@register_search() +class DeviceTypeIndex(SearchIndex): + model = DeviceType + queryset = DeviceType.objects.prefetch_related('manufacturer').annotate( + instance_count=count_related(Device, 'device_type') + ) + filterset = dcim.filtersets.DeviceTypeFilterSet + table = dcim.tables.DeviceTypeTable + url = 'dcim:devicetype_list' + + +@register_search() +class DeviceIndex(SearchIndex): + model = Device + queryset = Device.objects.prefetch_related( + 'device_type__manufacturer', + 'device_role', + 'tenant', + 'tenant__group', + 'site', + 'rack', + 'primary_ip4', + 'primary_ip6', + ) + filterset = dcim.filtersets.DeviceFilterSet + table = dcim.tables.DeviceTable + url = 'dcim:device_list' + + +@register_search() +class ModuleTypeIndex(SearchIndex): + model = ModuleType + queryset = ModuleType.objects.prefetch_related('manufacturer').annotate( + instance_count=count_related(Module, 'module_type') + ) + filterset = dcim.filtersets.ModuleTypeFilterSet + table = dcim.tables.ModuleTypeTable + url = 'dcim:moduletype_list' + + +@register_search() +class ModuleIndex(SearchIndex): + model = Module + queryset = Module.objects.prefetch_related( + 'module_type__manufacturer', + 'device', + 'module_bay', + ) + filterset = dcim.filtersets.ModuleFilterSet + table = dcim.tables.ModuleTable + url = 'dcim:module_list' + + +@register_search() +class VirtualChassisIndex(SearchIndex): + model = VirtualChassis + queryset = VirtualChassis.objects.prefetch_related('master').annotate( + member_count=count_related(Device, 'virtual_chassis') + ) + filterset = dcim.filtersets.VirtualChassisFilterSet + table = dcim.tables.VirtualChassisTable + url = 'dcim:virtualchassis_list' + + +@register_search() +class CableIndex(SearchIndex): + model = Cable + queryset = Cable.objects.all() + filterset = dcim.filtersets.CableFilterSet + table = dcim.tables.CableTable + url = 'dcim:cable_list' + + +@register_search() +class PowerFeedIndex(SearchIndex): + model = PowerFeed + queryset = PowerFeed.objects.all() + filterset = dcim.filtersets.PowerFeedFilterSet + table = dcim.tables.PowerFeedTable + url = 'dcim:powerfeed_list' diff --git a/netbox/extras/apps.py b/netbox/extras/apps.py index 7500157c0..965eb033e 100644 --- a/netbox/extras/apps.py +++ b/netbox/extras/apps.py @@ -5,5 +5,4 @@ class ExtrasConfig(AppConfig): name = "extras" def ready(self): - import extras.lookups - import extras.signals + from . import lookups, search, signals diff --git a/netbox/extras/plugins/__init__.py b/netbox/extras/plugins/__init__.py index 3efa9aaa7..78a056216 100644 --- a/netbox/extras/plugins/__init__.py +++ b/netbox/extras/plugins/__init__.py @@ -9,6 +9,7 @@ from django.template.loader import get_template from extras.plugins.utils import import_object from extras.registry import registry from netbox.navigation import MenuGroup +from netbox.search import register_search from utilities.choices import ButtonColorChoices @@ -60,6 +61,7 @@ class PluginConfig(AppConfig): # Default integration paths. Plugin authors can override these to customize the paths to # integrated components. + search_indexes = 'search.indexes' graphql_schema = 'graphql.schema' menu = 'navigation.menu' menu_items = 'navigation.menu_items' @@ -69,6 +71,11 @@ class PluginConfig(AppConfig): def ready(self): plugin_name = self.name.rsplit('.', 1)[-1] + # Search extensions + search_indexes = import_object(f"{self.__module__}.{self.search_indexes}") or [] + for idx in search_indexes: + register_search()(idx) + # Register template content (if defined) template_extensions = import_object(f"{self.__module__}.{self.template_extensions}") if template_extensions is not None: diff --git a/netbox/extras/registry.py b/netbox/extras/registry.py index b748b6f90..f89499842 100644 --- a/netbox/extras/registry.py +++ b/netbox/extras/registry.py @@ -29,4 +29,5 @@ registry['model_features'] = { feature: collections.defaultdict(set) for feature in EXTRAS_FEATURES } registry['denormalized_fields'] = collections.defaultdict(list) +registry['search'] = collections.defaultdict(dict) registry['views'] = collections.defaultdict(dict) diff --git a/netbox/extras/search.py b/netbox/extras/search.py new file mode 100644 index 000000000..ae6c9e7b9 --- /dev/null +++ b/netbox/extras/search.py @@ -0,0 +1,14 @@ +import extras.filtersets +import extras.tables +from extras.models import JournalEntry +from netbox.search import SearchIndex, register_search + + +@register_search() +class JournalEntryIndex(SearchIndex): + model = JournalEntry + queryset = JournalEntry.objects.prefetch_related('assigned_object', 'created_by') + filterset = extras.filtersets.JournalEntryFilterSet + table = extras.tables.JournalEntryTable + url = 'extras:journalentry_list' + category = 'Journal' diff --git a/netbox/extras/tests/dummy_plugin/search.py b/netbox/extras/tests/dummy_plugin/search.py new file mode 100644 index 000000000..4a1b7e666 --- /dev/null +++ b/netbox/extras/tests/dummy_plugin/search.py @@ -0,0 +1,13 @@ +from netbox.search import SearchIndex +from .models import DummyModel + + +class DummyModelIndex(SearchIndex): + model = DummyModel + queryset = DummyModel.objects.all() + url = 'plugins:dummy_plugin:dummy_models' + + +indexes = ( + DummyModelIndex, +) diff --git a/netbox/ipam/apps.py b/netbox/ipam/apps.py index 413c8c1bc..4b0820fef 100644 --- a/netbox/ipam/apps.py +++ b/netbox/ipam/apps.py @@ -6,4 +6,4 @@ class IPAMConfig(AppConfig): verbose_name = "IPAM" def ready(self): - import ipam.signals + from . import signals, search diff --git a/netbox/ipam/search.py b/netbox/ipam/search.py new file mode 100644 index 000000000..2f4599321 --- /dev/null +++ b/netbox/ipam/search.py @@ -0,0 +1,69 @@ +import ipam.filtersets +import ipam.tables +from ipam.models import ASN, VLAN, VRF, Aggregate, IPAddress, Prefix, Service +from netbox.search import SearchIndex, register_search + + +@register_search() +class VRFIndex(SearchIndex): + model = VRF + queryset = VRF.objects.prefetch_related('tenant', 'tenant__group') + filterset = ipam.filtersets.VRFFilterSet + table = ipam.tables.VRFTable + url = 'ipam:vrf_list' + + +@register_search() +class AggregateIndex(SearchIndex): + model = Aggregate + queryset = Aggregate.objects.prefetch_related('rir') + filterset = ipam.filtersets.AggregateFilterSet + table = ipam.tables.AggregateTable + url = 'ipam:aggregate_list' + + +@register_search() +class PrefixIndex(SearchIndex): + model = Prefix + queryset = Prefix.objects.prefetch_related( + 'site', 'vrf__tenant', 'tenant', 'tenant__group', 'vlan', 'role' + ) + filterset = ipam.filtersets.PrefixFilterSet + table = ipam.tables.PrefixTable + url = 'ipam:prefix_list' + + +@register_search() +class IPAddressIndex(SearchIndex): + model = IPAddress + queryset = IPAddress.objects.prefetch_related('vrf__tenant', 'tenant', 'tenant__group') + filterset = ipam.filtersets.IPAddressFilterSet + table = ipam.tables.IPAddressTable + url = 'ipam:ipaddress_list' + + +@register_search() +class VLANIndex(SearchIndex): + model = VLAN + queryset = VLAN.objects.prefetch_related('site', 'group', 'tenant', 'tenant__group', 'role') + filterset = ipam.filtersets.VLANFilterSet + table = ipam.tables.VLANTable + url = 'ipam:vlan_list' + + +@register_search() +class ASNIndex(SearchIndex): + model = ASN + queryset = ASN.objects.prefetch_related('rir', 'tenant', 'tenant__group') + filterset = ipam.filtersets.ASNFilterSet + table = ipam.tables.ASNTable + url = 'ipam:asn_list' + + +@register_search() +class ServiceIndex(SearchIndex): + model = Service + queryset = Service.objects.prefetch_related('device', 'virtual_machine') + filterset = ipam.filtersets.ServiceFilterSet + table = ipam.tables.ServiceTable + url = 'ipam:service_list' diff --git a/netbox/netbox/forms/__init__.py b/netbox/netbox/forms/__init__.py index d1451e003..eb1311d98 100644 --- a/netbox/netbox/forms/__init__.py +++ b/netbox/netbox/forms/__init__.py @@ -1,31 +1,15 @@ from django import forms -from netbox.search import SEARCH_TYPE_HIERARCHY +from netbox.search.backends import default_search_engine from utilities.forms import BootstrapMixin + from .base import * -def build_search_choices(): - result = list() - result.append(('', 'All Objects')) - for category, items in SEARCH_TYPE_HIERARCHY.items(): - subcategories = list() - for slug, obj in items.items(): - name = obj['queryset'].model._meta.verbose_name_plural - name = name[0].upper() + name[1:] - subcategories.append((slug, name)) - result.append((category, tuple(subcategories))) +def build_options(choices): + options = [{"label": choices[0][1], "items": []}] - return tuple(result) - - -OBJ_TYPE_CHOICES = build_search_choices() - - -def build_options(): - options = [{"label": OBJ_TYPE_CHOICES[0][1], "items": []}] - - for label, choices in OBJ_TYPE_CHOICES[1:]: + for label, choices in choices[1:]: items = [] for value, choice_label in choices: @@ -36,10 +20,19 @@ def build_options(): class SearchForm(BootstrapMixin, forms.Form): - q = forms.CharField( - label='Search' - ) - obj_type = forms.ChoiceField( - choices=OBJ_TYPE_CHOICES, required=False, label='Type' - ) - options = build_options() + q = forms.CharField(label='Search') + options = None + + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + self.fields["obj_type"] = forms.ChoiceField( + choices=default_search_engine.get_search_choices(), + required=False, + label='Type' + ) + + def get_options(self): + if not self.options: + self.options = build_options(default_search_engine.get_search_choices()) + + return self.options diff --git a/netbox/netbox/search.py b/netbox/netbox/search.py deleted file mode 100644 index 6d1c5d4a3..000000000 --- a/netbox/netbox/search.py +++ /dev/null @@ -1,274 +0,0 @@ -import circuits.filtersets -import circuits.tables -import dcim.filtersets -import dcim.tables -import extras.filtersets -import extras.tables -import ipam.filtersets -import ipam.tables -import tenancy.filtersets -import tenancy.tables -import virtualization.filtersets -import wireless.tables -import wireless.filtersets -import virtualization.tables -from circuits.models import Circuit, ProviderNetwork, Provider -from dcim.models import ( - Cable, Device, DeviceType, Interface, Location, Module, ModuleType, PowerFeed, Rack, RackReservation, Site, - VirtualChassis, -) -from extras.models import JournalEntry -from ipam.models import Aggregate, ASN, IPAddress, Prefix, Service, VLAN, VRF -from tenancy.models import Contact, Tenant, ContactAssignment -from utilities.utils import count_related -from wireless.models import WirelessLAN, WirelessLink -from virtualization.models import Cluster, VirtualMachine - -CIRCUIT_TYPES = { - 'provider': { - 'queryset': Provider.objects.annotate( - count_circuits=count_related(Circuit, 'provider') - ), - 'filterset': circuits.filtersets.ProviderFilterSet, - 'table': circuits.tables.ProviderTable, - 'url': 'circuits:provider_list', - }, - 'circuit': { - 'queryset': Circuit.objects.prefetch_related( - 'type', 'provider', 'tenant', 'tenant__group', 'terminations__site' - ), - 'filterset': circuits.filtersets.CircuitFilterSet, - 'table': circuits.tables.CircuitTable, - 'url': 'circuits:circuit_list', - }, - 'providernetwork': { - 'queryset': ProviderNetwork.objects.prefetch_related('provider'), - 'filterset': circuits.filtersets.ProviderNetworkFilterSet, - 'table': circuits.tables.ProviderNetworkTable, - 'url': 'circuits:providernetwork_list', - }, -} - -DCIM_TYPES = { - 'site': { - 'queryset': Site.objects.prefetch_related('region', 'tenant', 'tenant__group'), - 'filterset': dcim.filtersets.SiteFilterSet, - 'table': dcim.tables.SiteTable, - 'url': 'dcim:site_list', - }, - 'rack': { - 'queryset': Rack.objects.prefetch_related('site', 'location', 'tenant', 'tenant__group', 'role').annotate( - device_count=count_related(Device, 'rack') - ), - 'filterset': dcim.filtersets.RackFilterSet, - 'table': dcim.tables.RackTable, - 'url': 'dcim:rack_list', - }, - 'rackreservation': { - 'queryset': RackReservation.objects.prefetch_related('rack', 'user'), - 'filterset': dcim.filtersets.RackReservationFilterSet, - 'table': dcim.tables.RackReservationTable, - 'url': 'dcim:rackreservation_list', - }, - 'location': { - 'queryset': Location.objects.add_related_count( - Location.objects.add_related_count( - Location.objects.all(), - Device, - 'location', - 'device_count', - cumulative=True - ), - Rack, - 'location', - 'rack_count', - cumulative=True - ).prefetch_related('site'), - 'filterset': dcim.filtersets.LocationFilterSet, - 'table': dcim.tables.LocationTable, - 'url': 'dcim:location_list', - }, - 'devicetype': { - 'queryset': DeviceType.objects.prefetch_related('manufacturer').annotate( - instance_count=count_related(Device, 'device_type') - ), - 'filterset': dcim.filtersets.DeviceTypeFilterSet, - 'table': dcim.tables.DeviceTypeTable, - 'url': 'dcim:devicetype_list', - }, - 'device': { - 'queryset': Device.objects.prefetch_related( - 'device_type__manufacturer', 'device_role', 'tenant', 'tenant__group', 'site', 'rack', 'primary_ip4', - 'primary_ip6', - ), - 'filterset': dcim.filtersets.DeviceFilterSet, - 'table': dcim.tables.DeviceTable, - 'url': 'dcim:device_list', - }, - 'moduletype': { - 'queryset': ModuleType.objects.prefetch_related('manufacturer').annotate( - instance_count=count_related(Module, 'module_type') - ), - 'filterset': dcim.filtersets.ModuleTypeFilterSet, - 'table': dcim.tables.ModuleTypeTable, - 'url': 'dcim:moduletype_list', - }, - 'module': { - 'queryset': Module.objects.prefetch_related( - 'module_type__manufacturer', 'device', 'module_bay', - ), - 'filterset': dcim.filtersets.ModuleFilterSet, - 'table': dcim.tables.ModuleTable, - 'url': 'dcim:module_list', - }, - 'virtualchassis': { - 'queryset': VirtualChassis.objects.prefetch_related('master').annotate( - member_count=count_related(Device, 'virtual_chassis') - ), - 'filterset': dcim.filtersets.VirtualChassisFilterSet, - 'table': dcim.tables.VirtualChassisTable, - 'url': 'dcim:virtualchassis_list', - }, - 'cable': { - 'queryset': Cable.objects.all(), - 'filterset': dcim.filtersets.CableFilterSet, - 'table': dcim.tables.CableTable, - 'url': 'dcim:cable_list', - }, - 'powerfeed': { - 'queryset': PowerFeed.objects.all(), - 'filterset': dcim.filtersets.PowerFeedFilterSet, - 'table': dcim.tables.PowerFeedTable, - 'url': 'dcim:powerfeed_list', - }, -} - -IPAM_TYPES = { - 'vrf': { - 'queryset': VRF.objects.prefetch_related('tenant', 'tenant__group'), - 'filterset': ipam.filtersets.VRFFilterSet, - 'table': ipam.tables.VRFTable, - 'url': 'ipam:vrf_list', - }, - 'aggregate': { - 'queryset': Aggregate.objects.prefetch_related('rir'), - 'filterset': ipam.filtersets.AggregateFilterSet, - 'table': ipam.tables.AggregateTable, - 'url': 'ipam:aggregate_list', - }, - 'prefix': { - 'queryset': Prefix.objects.prefetch_related('site', 'vrf__tenant', 'tenant', 'tenant__group', 'vlan', 'role'), - 'filterset': ipam.filtersets.PrefixFilterSet, - 'table': ipam.tables.PrefixTable, - 'url': 'ipam:prefix_list', - }, - 'ipaddress': { - 'queryset': IPAddress.objects.prefetch_related('vrf__tenant', 'tenant', 'tenant__group'), - 'filterset': ipam.filtersets.IPAddressFilterSet, - 'table': ipam.tables.IPAddressTable, - 'url': 'ipam:ipaddress_list', - }, - 'vlan': { - 'queryset': VLAN.objects.prefetch_related('site', 'group', 'tenant', 'tenant__group', 'role'), - 'filterset': ipam.filtersets.VLANFilterSet, - 'table': ipam.tables.VLANTable, - 'url': 'ipam:vlan_list', - }, - 'asn': { - 'queryset': ASN.objects.prefetch_related('rir', 'tenant', 'tenant__group'), - 'filterset': ipam.filtersets.ASNFilterSet, - 'table': ipam.tables.ASNTable, - 'url': 'ipam:asn_list', - }, - 'service': { - 'queryset': Service.objects.prefetch_related('device', 'virtual_machine'), - 'filterset': ipam.filtersets.ServiceFilterSet, - 'table': ipam.tables.ServiceTable, - 'url': 'ipam:service_list', - }, -} - -TENANCY_TYPES = { - 'tenant': { - 'queryset': Tenant.objects.prefetch_related('group'), - 'filterset': tenancy.filtersets.TenantFilterSet, - 'table': tenancy.tables.TenantTable, - 'url': 'tenancy:tenant_list', - }, - 'contact': { - 'queryset': Contact.objects.prefetch_related('group', 'assignments').annotate( - assignment_count=count_related(ContactAssignment, 'contact')), - 'filterset': tenancy.filtersets.ContactFilterSet, - 'table': tenancy.tables.ContactTable, - 'url': 'tenancy:contact_list', - }, -} - -VIRTUALIZATION_TYPES = { - 'cluster': { - 'queryset': Cluster.objects.prefetch_related('type', 'group').annotate( - device_count=count_related(Device, 'cluster'), - vm_count=count_related(VirtualMachine, 'cluster') - ), - 'filterset': virtualization.filtersets.ClusterFilterSet, - 'table': virtualization.tables.ClusterTable, - 'url': 'virtualization:cluster_list', - }, - 'virtualmachine': { - 'queryset': VirtualMachine.objects.prefetch_related( - 'cluster', 'tenant', 'tenant__group', 'platform', 'primary_ip4', 'primary_ip6', - ), - 'filterset': virtualization.filtersets.VirtualMachineFilterSet, - 'table': virtualization.tables.VirtualMachineTable, - 'url': 'virtualization:virtualmachine_list', - }, -} - -WIRELESS_TYPES = { - 'wirelesslan': { - 'queryset': WirelessLAN.objects.prefetch_related('group', 'vlan').annotate( - interface_count=count_related(Interface, 'wireless_lans') - ), - 'filterset': wireless.filtersets.WirelessLANFilterSet, - 'table': wireless.tables.WirelessLANTable, - 'url': 'wireless:wirelesslan_list', - }, - 'wirelesslink': { - 'queryset': WirelessLink.objects.prefetch_related('interface_a__device', 'interface_b__device'), - 'filterset': wireless.filtersets.WirelessLinkFilterSet, - 'table': wireless.tables.WirelessLinkTable, - 'url': 'wireless:wirelesslink_list', - }, -} - -JOURNAL_TYPES = { - 'journalentry': { - 'queryset': JournalEntry.objects.prefetch_related('assigned_object', 'created_by'), - 'filterset': extras.filtersets.JournalEntryFilterSet, - 'table': extras.tables.JournalEntryTable, - 'url': 'extras:journalentry_list', - }, -} - -SEARCH_TYPE_HIERARCHY = { - 'Circuits': CIRCUIT_TYPES, - 'DCIM': DCIM_TYPES, - 'IPAM': IPAM_TYPES, - 'Tenancy': TENANCY_TYPES, - 'Virtualization': VIRTUALIZATION_TYPES, - 'Wireless': WIRELESS_TYPES, - 'Journal': JOURNAL_TYPES, -} - - -def build_search_types(): - result = dict() - - for app_types in SEARCH_TYPE_HIERARCHY.values(): - for name, items in app_types.items(): - result[name] = items - - return result - - -SEARCH_TYPES = build_search_types() diff --git a/netbox/netbox/search/__init__.py b/netbox/netbox/search/__init__.py new file mode 100644 index 000000000..0664dc6ca --- /dev/null +++ b/netbox/netbox/search/__init__.py @@ -0,0 +1,33 @@ +from extras.registry import registry + + +class SearchIndex: + """ + Base class for building search indexes. + + Attrs: + model: The model class for which this index is used. + """ + model = None + + @classmethod + def get_category(cls): + """ + Return the title of the search category under which this model is registered. + """ + if hasattr(cls, 'category'): + return cls.category + return cls.model._meta.app_config.verbose_name + + +def register_search(): + def _wrapper(cls): + model = cls.model + app_label = model._meta.app_label + model_name = model._meta.model_name + + registry['search'][app_label][model_name] = cls + + return cls + + return _wrapper diff --git a/netbox/netbox/search/backends.py b/netbox/netbox/search/backends.py new file mode 100644 index 000000000..b6cead5bd --- /dev/null +++ b/netbox/netbox/search/backends.py @@ -0,0 +1,125 @@ +from collections import defaultdict +from importlib import import_module + +from django.conf import settings +from django.core.exceptions import ImproperlyConfigured +from django.urls import reverse + +from extras.registry import registry +from netbox.constants import SEARCH_MAX_RESULTS + +# The cache for the initialized backend. +_backends_cache = {} + + +class SearchEngineError(Exception): + """Something went wrong with a search engine.""" + pass + + +class SearchBackend: + """A search engine capable of performing multi-table searches.""" + _search_choice_options = tuple() + + def get_registry(self): + r = {} + for app_label, models in registry['search'].items(): + r.update(**models) + + return r + + def get_search_choices(self): + """Return the set of choices for individual object types, organized by category.""" + if not self._search_choice_options: + + # Organize choices by category + categories = defaultdict(dict) + for app_label, models in registry['search'].items(): + for name, cls in models.items(): + title = cls.model._meta.verbose_name.title() + categories[cls.get_category()][name] = title + + # Compile a nested tuple of choices for form rendering + results = ( + ('', 'All Objects'), + *[(category, choices.items()) for category, choices in categories.items()] + ) + + self._search_choice_options = results + + return self._search_choice_options + + def search(self, request, value, **kwargs): + """Execute a search query for the given value.""" + raise NotImplementedError + + def cache(self, instance): + """Create or update the cached copy of an instance.""" + raise NotImplementedError + + +class FilterSetSearchBackend(SearchBackend): + """ + Legacy search backend. Performs a discrete database query for each registered object type, using the FilterSet + class specified by the index for each. + """ + def search(self, request, value, **kwargs): + results = [] + + search_registry = self.get_registry() + for obj_type in search_registry.keys(): + + queryset = search_registry[obj_type].queryset + url = search_registry[obj_type].url + + # Restrict the queryset for the current user + if hasattr(queryset, 'restrict'): + queryset = queryset.restrict(request.user, 'view') + + filterset = getattr(search_registry[obj_type], 'filterset', None) + if not filterset: + # This backend requires a FilterSet class for the model + continue + + table = getattr(search_registry[obj_type], 'table', None) + if not table: + # This backend requires a Table class for the model + continue + + # Construct the results table for this object type + filtered_queryset = filterset({'q': value}, queryset=queryset).qs + table = table(filtered_queryset, orderable=False) + table.paginate(per_page=SEARCH_MAX_RESULTS) + + if table.page: + results.append({ + 'name': queryset.model._meta.verbose_name_plural, + 'table': table, + 'url': f"{reverse(url)}?q={value}" + }) + + return results + + def cache(self, instance): + # This backend does not utilize a cache + pass + + +def get_backend(): + """Initializes and returns the configured search backend.""" + backend_name = settings.SEARCH_BACKEND + + # Load the backend class + backend_module_name, backend_cls_name = backend_name.rsplit('.', 1) + backend_module = import_module(backend_module_name) + try: + backend_cls = getattr(backend_module, backend_cls_name) + except AttributeError: + raise ImproperlyConfigured(f"Could not find a class named {backend_module_name} in {backend_cls_name}") + + # Initialize and return the backend instance + return backend_cls() + + +default_search_engine = get_backend() +search = default_search_engine.search diff --git a/netbox/netbox/settings.py b/netbox/netbox/settings.py index a0d788c73..5d4dbb809 100644 --- a/netbox/netbox/settings.py +++ b/netbox/netbox/settings.py @@ -121,6 +121,7 @@ REMOTE_AUTH_GROUP_SEPARATOR = getattr(configuration, 'REMOTE_AUTH_GROUP_SEPARATO REPORTS_ROOT = getattr(configuration, 'REPORTS_ROOT', os.path.join(BASE_DIR, 'reports')).rstrip('/') RQ_DEFAULT_TIMEOUT = getattr(configuration, 'RQ_DEFAULT_TIMEOUT', 300) SCRIPTS_ROOT = getattr(configuration, 'SCRIPTS_ROOT', os.path.join(BASE_DIR, 'scripts')).rstrip('/') +SEARCH_BACKEND = getattr(configuration, 'SEARCH_BACKEND', 'netbox.search.backends.FilterSetSearchBackend') SENTRY_DSN = getattr(configuration, 'SENTRY_DSN', DEFAULT_SENTRY_DSN) SENTRY_ENABLED = getattr(configuration, 'SENTRY_ENABLED', False) SENTRY_SAMPLE_RATE = getattr(configuration, 'SENTRY_SAMPLE_RATE', 1.0) @@ -648,7 +649,6 @@ RQ_QUEUES = { # for plugin_name in PLUGINS: - # Import plugin module try: plugin = importlib.import_module(plugin_name) diff --git a/netbox/netbox/views/__init__.py b/netbox/netbox/views/__init__.py index bc1f0e2ca..d880ba64c 100644 --- a/netbox/netbox/views/__init__.py +++ b/netbox/netbox/views/__init__.py @@ -23,7 +23,7 @@ from extras.tables import ObjectChangeTable from ipam.models import Aggregate, IPAddress, IPRange, Prefix, VLAN, VRF from netbox.constants import SEARCH_MAX_RESULTS from netbox.forms import SearchForm -from netbox.search import SEARCH_TYPES +from netbox.search.backends import default_search_engine from tenancy.models import Tenant from virtualization.models import Cluster, VirtualMachine from wireless.models import WirelessLAN, WirelessLink @@ -153,31 +153,14 @@ class SearchView(View): results = [] if form.is_valid(): - + search_registry = default_search_engine.get_registry() # If an object type has been specified, redirect to the dedicated view for it if form.cleaned_data['obj_type']: object_type = form.cleaned_data['obj_type'] - url = reverse(SEARCH_TYPES[object_type]['url']) + url = reverse(search_registry[object_type].url) return redirect(f"{url}?q={form.cleaned_data['q']}") - for obj_type in SEARCH_TYPES.keys(): - - queryset = SEARCH_TYPES[obj_type]['queryset'].restrict(request.user, 'view') - filterset = SEARCH_TYPES[obj_type]['filterset'] - table = SEARCH_TYPES[obj_type]['table'] - url = SEARCH_TYPES[obj_type]['url'] - - # Construct the results table for this object type - filtered_queryset = filterset({'q': form.cleaned_data['q']}, queryset=queryset).qs - table = table(filtered_queryset, orderable=False) - table.paginate(per_page=SEARCH_MAX_RESULTS) - - if table.page: - results.append({ - 'name': queryset.model._meta.verbose_name_plural, - 'table': table, - 'url': f"{reverse(url)}?q={form.cleaned_data.get('q')}" - }) + results = default_search_engine.search(request, form.cleaned_data['q']) return render(request, 'search.html', { 'form': form, diff --git a/netbox/tenancy/apps.py b/netbox/tenancy/apps.py index 53cb9a056..eeb141152 100644 --- a/netbox/tenancy/apps.py +++ b/netbox/tenancy/apps.py @@ -3,3 +3,6 @@ from django.apps import AppConfig class TenancyConfig(AppConfig): name = 'tenancy' + + def ready(self): + from . import search diff --git a/netbox/tenancy/search.py b/netbox/tenancy/search.py new file mode 100644 index 000000000..e52b1859e --- /dev/null +++ b/netbox/tenancy/search.py @@ -0,0 +1,25 @@ +import tenancy.filtersets +import tenancy.tables +from netbox.search import SearchIndex, register_search +from tenancy.models import Contact, ContactAssignment, Tenant +from utilities.utils import count_related + + +@register_search() +class TenantIndex(SearchIndex): + model = Tenant + queryset = Tenant.objects.prefetch_related('group') + filterset = tenancy.filtersets.TenantFilterSet + table = tenancy.tables.TenantTable + url = 'tenancy:tenant_list' + + +@register_search() +class ContactIndex(SearchIndex): + model = Contact + queryset = Contact.objects.prefetch_related('group', 'assignments').annotate( + assignment_count=count_related(ContactAssignment, 'contact') + ) + filterset = tenancy.filtersets.ContactFilterSet + table = tenancy.tables.ContactTable + url = 'tenancy:contact_list' diff --git a/netbox/utilities/templatetags/search.py b/netbox/utilities/templatetags/search.py index 5726ae5d5..ca8f3ba2a 100644 --- a/netbox/utilities/templatetags/search.py +++ b/netbox/utilities/templatetags/search.py @@ -1,16 +1,18 @@ from typing import Dict -from netbox.forms import SearchForm + from django import template -register = template.Library() +from netbox.forms import SearchForm +register = template.Library() search_form = SearchForm() @register.inclusion_tag("search/searchbar.html") def search_options(request) -> Dict: - """Provide search options to template.""" + + # Provide search options to template. return { - 'options': search_form.options, + 'options': search_form.get_options(), 'request': request, } diff --git a/netbox/virtualization/apps.py b/netbox/virtualization/apps.py index 35d6e8266..1b6b110df 100644 --- a/netbox/virtualization/apps.py +++ b/netbox/virtualization/apps.py @@ -3,3 +3,6 @@ from django.apps import AppConfig class VirtualizationConfig(AppConfig): name = 'virtualization' + + def ready(self): + from . import search diff --git a/netbox/virtualization/search.py b/netbox/virtualization/search.py new file mode 100644 index 000000000..5b24f7fa0 --- /dev/null +++ b/netbox/virtualization/search.py @@ -0,0 +1,33 @@ +import virtualization.filtersets +import virtualization.tables +from dcim.models import Device +from netbox.search import SearchIndex, register_search +from utilities.utils import count_related +from virtualization.models import Cluster, VirtualMachine + + +@register_search() +class ClusterIndex(SearchIndex): + model = Cluster + queryset = Cluster.objects.prefetch_related('type', 'group').annotate( + device_count=count_related(Device, 'cluster'), vm_count=count_related(VirtualMachine, 'cluster') + ) + filterset = virtualization.filtersets.ClusterFilterSet + table = virtualization.tables.ClusterTable + url = 'virtualization:cluster_list' + + +@register_search() +class VirtualMachineIndex(SearchIndex): + model = VirtualMachine + queryset = VirtualMachine.objects.prefetch_related( + 'cluster', + 'tenant', + 'tenant__group', + 'platform', + 'primary_ip4', + 'primary_ip6', + ) + filterset = virtualization.filtersets.VirtualMachineFilterSet + table = virtualization.tables.VirtualMachineTable + url = 'virtualization:virtualmachine_list' diff --git a/netbox/wireless/apps.py b/netbox/wireless/apps.py index 59e47aba5..51dee4188 100644 --- a/netbox/wireless/apps.py +++ b/netbox/wireless/apps.py @@ -5,4 +5,4 @@ class WirelessConfig(AppConfig): name = 'wireless' def ready(self): - import wireless.signals + from . import signals, search diff --git a/netbox/wireless/search.py b/netbox/wireless/search.py new file mode 100644 index 000000000..89ac23af8 --- /dev/null +++ b/netbox/wireless/search.py @@ -0,0 +1,26 @@ +import wireless.filtersets +import wireless.tables +from dcim.models import Interface +from netbox.search import SearchIndex, register_search +from utilities.utils import count_related +from wireless.models import WirelessLAN, WirelessLink + + +@register_search() +class WirelessLANIndex(SearchIndex): + model = WirelessLAN + queryset = WirelessLAN.objects.prefetch_related('group', 'vlan').annotate( + interface_count=count_related(Interface, 'wireless_lans') + ) + filterset = wireless.filtersets.WirelessLANFilterSet + table = wireless.tables.WirelessLANTable + url = 'wireless:wirelesslan_list' + + +@register_search() +class WirelessLinkIndex(SearchIndex): + model = WirelessLink + queryset = WirelessLink.objects.prefetch_related('interface_a__device', 'interface_b__device') + filterset = wireless.filtersets.WirelessLinkFilterSet + table = wireless.tables.WirelessLinkTable + url = 'wireless:wirelesslink_list' From 9ca4c7315b0c77072d0cc5bd0d72f6adae176f25 Mon Sep 17 00:00:00 2001 From: Arthur Hanson Date: Tue, 11 Oct 2022 09:26:18 -0700 Subject: [PATCH 067/162] 10595 extend graphql relationships (#10603) * 9817 add graphql l2vpntermination assigned_object * 9817 add graphql ipaddressassignment assigned_object * 9817 ipan graphql gfk * 9817 dcim graphql gfk * 9817 dcim graphql gfk * 9817 fix tests * 10595 cable a_terminations to graphql * 10595 add contacts to graphql * 10595 move contacts to Provider --- netbox/circuits/graphql/types.py | 9 +-- netbox/dcim/graphql/gfk_mixins.py | 110 ++++++++++++++++++++++++++++++ netbox/dcim/graphql/types.py | 35 ++++++---- netbox/extras/graphql/mixins.py | 7 ++ netbox/ipam/graphql/gfk_mixins.py | 95 ++++++++++++++++++++++++++ netbox/ipam/graphql/types.py | 17 +++-- netbox/utilities/testing/api.py | 3 + 7 files changed, 255 insertions(+), 21 deletions(-) create mode 100644 netbox/ipam/graphql/gfk_mixins.py diff --git a/netbox/circuits/graphql/types.py b/netbox/circuits/graphql/types.py index e96fe98a5..5582de798 100644 --- a/netbox/circuits/graphql/types.py +++ b/netbox/circuits/graphql/types.py @@ -1,6 +1,8 @@ +import graphene + from circuits import filtersets, models from dcim.graphql.mixins import CabledObjectMixin -from extras.graphql.mixins import CustomFieldsMixin, TagsMixin +from extras.graphql.mixins import CustomFieldsMixin, TagsMixin, ContactsMixin from netbox.graphql.types import ObjectType, OrganizationalObjectType, NetBoxObjectType __all__ = ( @@ -20,8 +22,7 @@ class CircuitTerminationType(CustomFieldsMixin, TagsMixin, CabledObjectMixin, Ob filterset_class = filtersets.CircuitTerminationFilterSet -class CircuitType(NetBoxObjectType): - +class CircuitType(NetBoxObjectType, ContactsMixin): class Meta: model = models.Circuit fields = '__all__' @@ -36,7 +37,7 @@ class CircuitTypeType(OrganizationalObjectType): filterset_class = filtersets.CircuitTypeFilterSet -class ProviderType(NetBoxObjectType): +class ProviderType(NetBoxObjectType, ContactsMixin): class Meta: model = models.Provider diff --git a/netbox/dcim/graphql/gfk_mixins.py b/netbox/dcim/graphql/gfk_mixins.py index d6be138bc..f3b8b696b 100644 --- a/netbox/dcim/graphql/gfk_mixins.py +++ b/netbox/dcim/graphql/gfk_mixins.py @@ -2,24 +2,38 @@ import graphene from circuits.graphql.types import CircuitTerminationType from circuits.models import CircuitTermination from dcim.graphql.types import ( + ConsolePortTemplateType, ConsolePortType, + ConsoleServerPortTemplateType, ConsoleServerPortType, + FrontPortTemplateType, FrontPortType, + InterfaceTemplateType, InterfaceType, PowerFeedType, + PowerOutletTemplateType, PowerOutletType, + PowerPortTemplateType, PowerPortType, + RearPortTemplateType, RearPortType, ) from dcim.models import ( ConsolePort, + ConsolePortTemplate, ConsoleServerPort, + ConsoleServerPortTemplate, FrontPort, + FrontPortTemplate, Interface, + InterfaceTemplate, PowerFeed, PowerOutlet, + PowerOutletTemplate, PowerPort, + PowerPortTemplate, RearPort, + RearPortTemplate, ) @@ -57,3 +71,99 @@ class LinkPeerType(graphene.Union): return PowerPortType if type(instance) == RearPort: return RearPortType + + +class CableTerminationTerminationType(graphene.Union): + class Meta: + types = ( + CircuitTerminationType, + ConsolePortType, + ConsoleServerPortType, + FrontPortType, + InterfaceType, + PowerFeedType, + PowerOutletType, + PowerPortType, + RearPortType, + ) + + @classmethod + def resolve_type(cls, instance, info): + if type(instance) == CircuitTermination: + return CircuitTerminationType + if type(instance) == ConsolePortType: + return ConsolePortType + if type(instance) == ConsoleServerPort: + return ConsoleServerPortType + if type(instance) == FrontPort: + return FrontPortType + if type(instance) == Interface: + return InterfaceType + if type(instance) == PowerFeed: + return PowerFeedType + if type(instance) == PowerOutlet: + return PowerOutletType + if type(instance) == PowerPort: + return PowerPortType + if type(instance) == RearPort: + return RearPortType + + +class InventoryItemTemplateComponentType(graphene.Union): + class Meta: + types = ( + ConsolePortTemplateType, + ConsoleServerPortTemplateType, + FrontPortTemplateType, + InterfaceTemplateType, + PowerOutletTemplateType, + PowerPortTemplateType, + RearPortTemplateType, + ) + + @classmethod + def resolve_type(cls, instance, info): + if type(instance) == ConsolePortTemplate: + return ConsolePortTemplateType + if type(instance) == ConsoleServerPortTemplate: + return ConsoleServerPortTemplateType + if type(instance) == FrontPortTemplate: + return FrontPortTemplateType + if type(instance) == InterfaceTemplate: + return InterfaceTemplateType + if type(instance) == PowerOutletTemplate: + return PowerOutletTemplateType + if type(instance) == PowerPortTemplate: + return PowerPortTemplateType + if type(instance) == RearPortTemplate: + return RearPortTemplateType + + +class InventoryItemComponentType(graphene.Union): + class Meta: + types = ( + ConsolePortType, + ConsoleServerPortType, + FrontPortType, + InterfaceType, + PowerOutletType, + PowerPortType, + RearPortType, + ) + + @classmethod + def resolve_type(cls, instance, info): + if type(instance) == ConsolePort: + return ConsolePortType + if type(instance) == ConsoleServerPort: + return ConsoleServerPortType + if type(instance) == FrontPort: + return FrontPortType + if type(instance) == Interface: + return InterfaceType + if type(instance) == PowerOutlet: + return PowerOutletType + if type(instance) == PowerPort: + return PowerPortType + if type(instance) == RearPort: + return RearPortType diff --git a/netbox/dcim/graphql/types.py b/netbox/dcim/graphql/types.py index 78cabbcd1..bb414ed00 100644 --- a/netbox/dcim/graphql/types.py +++ b/netbox/dcim/graphql/types.py @@ -2,7 +2,7 @@ import graphene from dcim import filtersets, models from extras.graphql.mixins import ( - ChangelogMixin, ConfigContextMixin, CustomFieldsMixin, ImageAttachmentsMixin, TagsMixin, + ChangelogMixin, ConfigContextMixin, ContactsMixin, CustomFieldsMixin, ImageAttachmentsMixin, TagsMixin, ) from ipam.graphql.mixins import IPAddressesMixin, VLANGroupsMixin from netbox.graphql.scalars import BigInt @@ -87,6 +87,8 @@ class ComponentTemplateObjectType( # class CableType(NetBoxObjectType): + a_terminations = graphene.List('dcim.graphql.gfk_mixins.CableTerminationTerminationType') + b_terminations = graphene.List('dcim.graphql.gfk_mixins.CableTerminationTerminationType') class Meta: model = models.Cable @@ -99,12 +101,19 @@ class CableType(NetBoxObjectType): def resolve_length_unit(self, info): return self.length_unit or None + def resolve_a_terminations(self, info): + return self.a_terminations + + def resolve_b_terminations(self, info): + return self.b_terminations + class CableTerminationType(NetBoxObjectType): + termination = graphene.Field('dcim.graphql.gfk_mixins.CableTerminationTerminationType') class Meta: model = models.CableTermination - fields = '__all__' + exclude = ('termination_type', 'termination_id') filterset_class = filtersets.CableTerminationFilterSet @@ -152,7 +161,7 @@ class ConsoleServerPortTemplateType(ComponentTemplateObjectType): return self.type or None -class DeviceType(ConfigContextMixin, ImageAttachmentsMixin, NetBoxObjectType): +class DeviceType(ConfigContextMixin, ImageAttachmentsMixin, ContactsMixin, NetBoxObjectType): class Meta: model = models.Device @@ -183,10 +192,11 @@ class DeviceBayTemplateType(ComponentTemplateObjectType): class InventoryItemTemplateType(ComponentTemplateObjectType): + component = graphene.Field('dcim.graphql.gfk_mixins.InventoryItemTemplateComponentType') class Meta: model = models.InventoryItemTemplate - fields = '__all__' + exclude = ('component_type', 'component_id') filterset_class = filtersets.InventoryItemTemplateFilterSet @@ -269,10 +279,11 @@ class InterfaceTemplateType(ComponentTemplateObjectType): class InventoryItemType(ComponentObjectType): + component = graphene.Field('dcim.graphql.gfk_mixins.InventoryItemComponentType') class Meta: model = models.InventoryItem - fields = '__all__' + exclude = ('component_type', 'component_id') filterset_class = filtersets.InventoryItemFilterSet @@ -284,7 +295,7 @@ class InventoryItemRoleType(OrganizationalObjectType): filterset_class = filtersets.InventoryItemRoleFilterSet -class LocationType(VLANGroupsMixin, ImageAttachmentsMixin, OrganizationalObjectType): +class LocationType(VLANGroupsMixin, ImageAttachmentsMixin, ContactsMixin, OrganizationalObjectType): class Meta: model = models.Location @@ -292,7 +303,7 @@ class LocationType(VLANGroupsMixin, ImageAttachmentsMixin, OrganizationalObjectT filterset_class = filtersets.LocationFilterSet -class ManufacturerType(OrganizationalObjectType): +class ManufacturerType(OrganizationalObjectType, ContactsMixin): class Meta: model = models.Manufacturer @@ -379,7 +390,7 @@ class PowerOutletTemplateType(ComponentTemplateObjectType): return self.type or None -class PowerPanelType(NetBoxObjectType): +class PowerPanelType(NetBoxObjectType, ContactsMixin): class Meta: model = models.PowerPanel @@ -409,7 +420,7 @@ class PowerPortTemplateType(ComponentTemplateObjectType): return self.type or None -class RackType(VLANGroupsMixin, ImageAttachmentsMixin, NetBoxObjectType): +class RackType(VLANGroupsMixin, ImageAttachmentsMixin, ContactsMixin, NetBoxObjectType): class Meta: model = models.Rack @@ -458,7 +469,7 @@ class RearPortTemplateType(ComponentTemplateObjectType): filterset_class = filtersets.RearPortTemplateFilterSet -class RegionType(VLANGroupsMixin, OrganizationalObjectType): +class RegionType(VLANGroupsMixin, ContactsMixin, OrganizationalObjectType): class Meta: model = models.Region @@ -466,7 +477,7 @@ class RegionType(VLANGroupsMixin, OrganizationalObjectType): filterset_class = filtersets.RegionFilterSet -class SiteType(VLANGroupsMixin, ImageAttachmentsMixin, NetBoxObjectType): +class SiteType(VLANGroupsMixin, ImageAttachmentsMixin, ContactsMixin, NetBoxObjectType): asn = graphene.Field(BigInt) class Meta: @@ -475,7 +486,7 @@ class SiteType(VLANGroupsMixin, ImageAttachmentsMixin, NetBoxObjectType): filterset_class = filtersets.SiteFilterSet -class SiteGroupType(VLANGroupsMixin, OrganizationalObjectType): +class SiteGroupType(VLANGroupsMixin, ContactsMixin, OrganizationalObjectType): class Meta: model = models.SiteGroup diff --git a/netbox/extras/graphql/mixins.py b/netbox/extras/graphql/mixins.py index 462ba721f..7045575fb 100644 --- a/netbox/extras/graphql/mixins.py +++ b/netbox/extras/graphql/mixins.py @@ -59,3 +59,10 @@ class TagsMixin: def resolve_tags(self, info): return self.tags.all() + + +class ContactsMixin: + contacts = graphene.List('tenancy.graphql.types.ContactAssignmentType') + + def resolve_contacts(self, info): + return list(self.contacts.all()) diff --git a/netbox/ipam/graphql/gfk_mixins.py b/netbox/ipam/graphql/gfk_mixins.py new file mode 100644 index 000000000..31742c4a4 --- /dev/null +++ b/netbox/ipam/graphql/gfk_mixins.py @@ -0,0 +1,95 @@ +import graphene +from dcim.graphql.types import ( + InterfaceType, + LocationType, + RackType, + RegionType, + SiteGroupType, + SiteType, +) +from dcim.models import Interface, Location, Rack, Region, Site, SiteGroup +from ipam.graphql.types import FHRPGroupType, VLANType +from ipam.models import VLAN, FHRPGroup +from virtualization.graphql.types import ClusterGroupType, ClusterType, VMInterfaceType +from virtualization.models import Cluster, ClusterGroup, VMInterface + + +class IPAddressAssignmentType(graphene.Union): + class Meta: + types = ( + InterfaceType, + FHRPGroupType, + VMInterfaceType, + ) + + @classmethod + def resolve_type(cls, instance, info): + if type(instance) == Interface: + return InterfaceType + if type(instance) == FHRPGroup: + return FHRPGroupType + if type(instance) == VMInterface: + return VMInterfaceType + + +class L2VPNAssignmentType(graphene.Union): + class Meta: + types = ( + InterfaceType, + VLANType, + VMInterfaceType, + ) + + @classmethod + def resolve_type(cls, instance, info): + if type(instance) == Interface: + return InterfaceType + if type(instance) == VLAN: + return VLANType + if type(instance) == VMInterface: + return VMInterfaceType + + +class FHRPGroupInterfaceType(graphene.Union): + class Meta: + types = ( + InterfaceType, + VMInterfaceType, + ) + + @classmethod + def resolve_type(cls, instance, info): + if type(instance) == Interface: + return InterfaceType + if type(instance) == VMInterface: + return VMInterfaceType + + +class VLANGroupScopeType(graphene.Union): + class Meta: + types = ( + ClusterType, + ClusterGroupType, + LocationType, + RackType, + RegionType, + SiteType, + SiteGroupType, + ) + + @classmethod + def resolve_type(cls, instance, info): + if type(instance) == Cluster: + return ClusterType + if type(instance) == ClusterGroup: + return ClusterGroupType + if type(instance) == Location: + return LocationType + if type(instance) == Rack: + return RackType + if type(instance) == Region: + return RegionType + if type(instance) == Site: + return SiteType + if type(instance) == SiteGroup: + return SiteGroupType diff --git a/netbox/ipam/graphql/types.py b/netbox/ipam/graphql/types.py index 5af2ca72a..b8f6221bc 100644 --- a/netbox/ipam/graphql/types.py +++ b/netbox/ipam/graphql/types.py @@ -1,5 +1,7 @@ import graphene +from graphene_django import DjangoObjectType +from extras.graphql.mixins import ContactsMixin from ipam import filtersets, models from netbox.graphql.scalars import BigInt from netbox.graphql.types import BaseObjectType, OrganizationalObjectType, NetBoxObjectType @@ -54,18 +56,20 @@ class FHRPGroupType(NetBoxObjectType): class FHRPGroupAssignmentType(BaseObjectType): + interface = graphene.Field('ipam.graphql.gfk_mixins.FHRPGroupInterfaceType') class Meta: model = models.FHRPGroupAssignment - fields = '__all__' + exclude = ('interface_type', 'interface_id') filterset_class = filtersets.FHRPGroupAssignmentFilterSet class IPAddressType(NetBoxObjectType): + assigned_object = graphene.Field('ipam.graphql.gfk_mixins.IPAddressAssignmentType') class Meta: model = models.IPAddress - fields = '__all__' + exclude = ('assigned_object_type', 'assigned_object_id') filterset_class = filtersets.IPAddressFilterSet def resolve_role(self, info): @@ -140,10 +144,11 @@ class VLANType(NetBoxObjectType): class VLANGroupType(OrganizationalObjectType): + scope = graphene.Field('ipam.graphql.gfk_mixins.VLANGroupScopeType') class Meta: model = models.VLANGroup - fields = '__all__' + exclude = ('scope_type', 'scope_id') filterset_class = filtersets.VLANGroupFilterSet @@ -155,7 +160,7 @@ class VRFType(NetBoxObjectType): filterset_class = filtersets.VRFFilterSet -class L2VPNType(NetBoxObjectType): +class L2VPNType(ContactsMixin, NetBoxObjectType): class Meta: model = models.L2VPN fields = '__all__' @@ -163,7 +168,9 @@ class L2VPNType(NetBoxObjectType): class L2VPNTerminationType(NetBoxObjectType): + assigned_object = graphene.Field('ipam.graphql.gfk_mixins.L2VPNAssignmentType') + class Meta: model = models.L2VPNTermination - fields = '__all__' + exclude = ('assigned_object_type', 'assigned_object_id') filtersets_class = filtersets.L2VPNTerminationFilterSet diff --git a/netbox/utilities/testing/api.py b/netbox/utilities/testing/api.py index 8815ede1f..c0836b71d 100644 --- a/netbox/utilities/testing/api.py +++ b/netbox/utilities/testing/api.py @@ -450,6 +450,9 @@ class APIViewTestCases: if type(field) is GQLDynamic: # Dynamic fields must specify a subselection fields_string += f'{field_name} {{ id }}\n' + elif inspect.isclass(field.type) and issubclass(field.type, GQLUnion): + # Union types dont' have an id or consistent values + continue elif type(field.type) is GQLList and inspect.isclass(field.type.of_type) and issubclass(field.type.of_type, GQLUnion): # Union types dont' have an id or consistent values continue From e8c5a4724a2bfee4db8b21fc92950940d9e2633b Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Tue, 11 Oct 2022 12:35:50 -0400 Subject: [PATCH 068/162] Changelog for #9817, #10595 --- docs/release-notes/version-3.4.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/docs/release-notes/version-3.4.md b/docs/release-notes/version-3.4.md index 6a47c7a2b..2713c3bef 100644 --- a/docs/release-notes/version-3.4.md +++ b/docs/release-notes/version-3.4.md @@ -20,9 +20,11 @@ A new `PluginMenu` class has been introduced, which enables a plugin to inject a * [#9249](https://github.com/netbox-community/netbox/issues/9249) - Device and virtual machine names are no longer case-sensitive * [#9478](https://github.com/netbox-community/netbox/issues/9478) - Add `link_peers` field to GraphQL types for cabled objects * [#9654](https://github.com/netbox-community/netbox/issues/9654) - Add `weight` field to racks, device types, and module types +* [#9817](https://github.com/netbox-community/netbox/issues/9817) - Add `assigned_object` field to GraphQL type for IP addresses and L2VPN terminations * [#9892](https://github.com/netbox-community/netbox/issues/9892) - Add optional `name` field for FHRP groups * [#10348](https://github.com/netbox-community/netbox/issues/10348) - Add decimal custom field type * [#10556](https://github.com/netbox-community/netbox/issues/10556) - Include a `display` field in all GraphQL object types +* [#10595](https://github.com/netbox-community/netbox/issues/10595) - Add GraphQL relationships for additional generic foreign key fields ### Plugins API @@ -55,3 +57,20 @@ A new `PluginMenu` class has been introduced, which enables a plugin to inject a * All object types now include a `display` field * All cabled object types now include a `link_peers` field +* Add a `contacts` relationship for all relevant models +* dcim.Cable + * Add A/B terminations fields +* dcim.CableTermination + * Add `termination` field +* dcim.InventoryItem + * Add `component` field +* dcim.InventoryItemTemplate + * Add `component` field +* ipam.FHRPGroupAssignment + * Add `interface` field +* ipam.IPAddress + * Add `assigned_object` field +* ipam.L2VPNTermination + * Add `assigned_object` field +* ipam.VLANGroupType + * Add `scope` field From cc811e5a5697bfb0ddf0241edddb6349b9746ffa Mon Sep 17 00:00:00 2001 From: Arthur Hanson Date: Wed, 12 Oct 2022 05:31:02 -0700 Subject: [PATCH 069/162] 10596 add overflow-auto to card-body (#10621) * 10596 add overflow-auto to card-body * 10596 add overflow-auto to card-body --- netbox/project-static/dist/netbox-dark.css | Bin 374883 -> 374934 bytes netbox/project-static/dist/netbox-light.css | Bin 232430 -> 232447 bytes netbox/project-static/dist/netbox-print.css | Bin 726343 -> 726365 bytes netbox/project-static/styles/netbox.scss | 4 ++++ 4 files changed, 4 insertions(+) diff --git a/netbox/project-static/dist/netbox-dark.css b/netbox/project-static/dist/netbox-dark.css index 8b6b37a4cc545892c5ab1d46c60ebe75f8bc5a40..772bceddb5549660c989f8cad7d3150b40611625 100644 GIT binary patch delta 49 zcmaF-L2TMbv4$4L7N#xCcT}f;l4Mkwu3*Q+GJQcGD?3Y4eoAHg9aUx^X4!s6m9>2m E0PfHd`~Uy| delta 29 jcmbRCQS9*tv4$4L7N#xCcU0T?)tG^pWjntbYx^Vsw1Wy$ diff --git a/netbox/project-static/dist/netbox-light.css b/netbox/project-static/dist/netbox-light.css index 27e804c3084267eba5a70d9352ea5fb676a6d35f..8863f410cb744f1aac25c8e0a5c5d879b200a8df 100644 GIT binary patch delta 39 scmaDio$vp2zJ@J~8-EMx=p`o>r6_<&-K6}K%Jz-F8Mklz&15?P09q*#M*si- delta 21 dcmexAo$uXrzJ@J~8-KSS`pvlg&~GN&2>^on3!wl2 diff --git a/netbox/project-static/dist/netbox-print.css b/netbox/project-static/dist/netbox-print.css index f0220c0500b66f04fbdffb8e04f83bc86900c527..042998b68cd2abfad150d5720c848ab899714a82 100644 GIT binary patch delta 65 zcmX@UO6Tq>orV_17N!>F7M2#)Eo^o^JPLZriA5<8a{9$xEJ~9deA(M$eb|5)L~{T! L=k{11u2&}j`yLkk delta 53 zcmcb+O6T}0orV_17N!>F7M2#)Eo^o^({E4bke{C5$Hv)S_E%`#GKn}e7GK- F0011y6UYDn diff --git a/netbox/project-static/styles/netbox.scss b/netbox/project-static/styles/netbox.scss index 8ff224172..eef093c66 100644 --- a/netbox/project-static/styles/netbox.scss +++ b/netbox/project-static/styles/netbox.scss @@ -1039,3 +1039,7 @@ html { } } } + +.card .card-body { + @extend .overflow-auto; +} From bb150379a21e30daf884b8f616d5cf2c96c0ef81 Mon Sep 17 00:00:00 2001 From: Arthur Hanson Date: Wed, 12 Oct 2022 05:36:02 -0700 Subject: [PATCH 070/162] 10571 replace deprecated mkdoc settings (#10622) * 10571 replace deprecated mkdoc settings * Omit landing page from docs nav menu Co-authored-by: jeremystretch --- docs/plugins/development/forms.md | 32 ++++++++++++------------- docs/plugins/development/graphql-api.md | 8 +++---- docs/plugins/development/tables.md | 18 +++++++------- docs/plugins/development/views.md | 20 ++++++++-------- mkdocs.yml | 2 +- 5 files changed, 40 insertions(+), 40 deletions(-) diff --git a/docs/plugins/development/forms.md b/docs/plugins/development/forms.md index e1eefa7a5..dee0d3796 100644 --- a/docs/plugins/development/forms.md +++ b/docs/plugins/development/forms.md @@ -144,73 +144,73 @@ class MyModelFilterForm(NetBoxModelFilterSetForm): In addition to the [form fields provided by Django](https://docs.djangoproject.com/en/stable/ref/forms/fields/), NetBox provides several field classes for use within forms to handle specific types of data. These can be imported from `utilities.forms.fields` and are documented below. ::: utilities.forms.ColorField - selection: + options: members: false ::: utilities.forms.CommentField - selection: + options: members: false ::: utilities.forms.JSONField - selection: + options: members: false ::: utilities.forms.MACAddressField - selection: + options: members: false ::: utilities.forms.SlugField - selection: + options: members: false ## Choice Fields ::: utilities.forms.ChoiceField - selection: + options: members: false ::: utilities.forms.MultipleChoiceField - selection: + options: members: false ## Dynamic Object Fields ::: utilities.forms.DynamicModelChoiceField - selection: + options: members: false ::: utilities.forms.DynamicModelMultipleChoiceField - selection: + options: members: false ## Content Type Fields ::: utilities.forms.ContentTypeChoiceField - selection: + options: members: false ::: utilities.forms.ContentTypeMultipleChoiceField - selection: + options: members: false ## CSV Import Fields ::: utilities.forms.CSVChoiceField - selection: + options: members: false ::: utilities.forms.CSVMultipleChoiceField - selection: + options: members: false ::: utilities.forms.CSVModelChoiceField - selection: + options: members: false ::: utilities.forms.CSVContentTypeField - selection: + options: members: false ::: utilities.forms.CSVMultipleContentTypeField - selection: + options: members: false diff --git a/docs/plugins/development/graphql-api.md b/docs/plugins/development/graphql-api.md index 0dadf021f..f802e8025 100644 --- a/docs/plugins/development/graphql-api.md +++ b/docs/plugins/development/graphql-api.md @@ -32,11 +32,11 @@ schema = MyQuery NetBox provides two object type classes for use by plugins. ::: netbox.graphql.types.BaseObjectType - selection: + options: members: false ::: netbox.graphql.types.NetBoxObjectType - selection: + options: members: false ## GraphQL Fields @@ -44,9 +44,9 @@ NetBox provides two object type classes for use by plugins. NetBox provides two field classes for use by plugins. ::: netbox.graphql.fields.ObjectField - selection: + options: members: false ::: netbox.graphql.fields.ObjectListField - selection: + options: members: false diff --git a/docs/plugins/development/tables.md b/docs/plugins/development/tables.md index 6dccb4ee2..f846139f0 100644 --- a/docs/plugins/development/tables.md +++ b/docs/plugins/development/tables.md @@ -52,38 +52,38 @@ This will automatically apply any user-specific preferences for the table. (If u The table column classes listed below are supported for use in plugins. These classes can be imported from `netbox.tables.columns`. ::: netbox.tables.BooleanColumn - selection: + options: members: false ::: netbox.tables.ChoiceFieldColumn - selection: + options: members: false ::: netbox.tables.ColorColumn - selection: + options: members: false ::: netbox.tables.ColoredLabelColumn - selection: + options: members: false ::: netbox.tables.ContentTypeColumn - selection: + options: members: false ::: netbox.tables.ContentTypesColumn - selection: + options: members: false ::: netbox.tables.MarkdownColumn - selection: + options: members: false ::: netbox.tables.TagColumn - selection: + options: members: false ::: netbox.tables.TemplateColumn - selection: + options: members: - __init__ diff --git a/docs/plugins/development/views.md b/docs/plugins/development/views.md index cabcd7045..2afe332c5 100644 --- a/docs/plugins/development/views.md +++ b/docs/plugins/development/views.md @@ -84,24 +84,24 @@ Below are the class definitions for NetBox's object views. These views handle CR ::: netbox.views.generic.base.BaseObjectView ::: netbox.views.generic.ObjectView - selection: + options: members: - get_object - get_template_name ::: netbox.views.generic.ObjectEditView - selection: + options: members: - get_object - alter_object ::: netbox.views.generic.ObjectDeleteView - selection: + options: members: - get_object ::: netbox.views.generic.ObjectChildrenView - selection: + options: members: - get_children - prep_table_data @@ -113,22 +113,22 @@ Below are the class definitions for NetBox's multi-object views. These views han ::: netbox.views.generic.base.BaseMultiObjectView ::: netbox.views.generic.ObjectListView - selection: + options: members: - get_table - export_table - export_template ::: netbox.views.generic.BulkImportView - selection: + options: members: false ::: netbox.views.generic.BulkEditView - selection: + options: members: false ::: netbox.views.generic.BulkDeleteView - selection: + options: members: - get_form @@ -137,12 +137,12 @@ Below are the class definitions for NetBox's multi-object views. These views han These views are provided to enable or enhance certain NetBox model features, such as change logging or journaling. These typically do not need to be subclassed: They can be used directly e.g. in a URL path. ::: netbox.views.generic.ObjectChangeLogView - selection: + options: members: - get_form ::: netbox.views.generic.ObjectJournalView - selection: + options: members: - get_form diff --git a/mkdocs.yml b/mkdocs.yml index a10fd6e67..58617cbad 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -30,7 +30,7 @@ plugins: - os.chdir('netbox/') - os.environ.setdefault("DJANGO_SETTINGS_MODULE", "netbox.settings") - django.setup() - rendering: + options: heading_level: 3 members_order: source show_root_heading: true From 8481cf66e3fc757e6c6c53b5a1d2c1f3bd90d903 Mon Sep 17 00:00:00 2001 From: Arthur Date: Tue, 11 Oct 2022 17:26:10 -0700 Subject: [PATCH 071/162] 10575 add requirements for openid connect packages --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index ead32eeae..70bbd5c76 100644 --- a/requirements.txt +++ b/requirements.txt @@ -27,7 +27,7 @@ psycopg2-binary==2.9.3 PyYAML==6.0 sentry-sdk==1.9.10 social-auth-app-django==5.0.0 -social-auth-core==4.3.0 +social-auth-core[openidconnect]==4.3.0 svgwrite==1.4.3 tablib==3.2.1 tzdata==2022.4 From aaf829898b6c4ade5d26fa48d4db1de9c46a87fd Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Wed, 12 Oct 2022 08:41:41 -0400 Subject: [PATCH 072/162] Changelog for #10575, #10596 --- docs/release-notes/version-3.3.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/release-notes/version-3.3.md b/docs/release-notes/version-3.3.md index 3a89abda3..2c84ad2d6 100644 --- a/docs/release-notes/version-3.3.md +++ b/docs/release-notes/version-3.3.md @@ -9,7 +9,8 @@ ### Bug Fixes * [#9669](https://github.com/netbox-community/netbox/issues/9669) - Strip colons from usernames when using remote authentication - +* [#10575](https://github.com/netbox-community/netbox/issues/10575) - Include OIDC dependencies for python-social-auth +* [#10596](https://github.com/netbox-community/netbox/issues/10596) - Panels should scroll horizontally to accomodate overflow data --- From 99cf1b16718ca8bc037f546c41a9258bcc89b495 Mon Sep 17 00:00:00 2001 From: Arthur Hanson Date: Wed, 12 Oct 2022 10:21:34 -0700 Subject: [PATCH 073/162] 8245 add graphql filtering at all levels (#10618) * 8245 monkey-patch graphene-django to support filtering at all levels * 8245 fix tests * 8245 fix tests --- netbox/extras/graphql/types.py | 4 +-- netbox/netbox/graphql/__init__.py | 52 +++++++++++++++++++++++++++++-- netbox/netbox/settings.py | 5 --- 3 files changed, 51 insertions(+), 10 deletions(-) diff --git a/netbox/extras/graphql/types.py b/netbox/extras/graphql/types.py index dbaa0bee2..41a6103d3 100644 --- a/netbox/extras/graphql/types.py +++ b/netbox/extras/graphql/types.py @@ -27,7 +27,7 @@ class CustomFieldType(ObjectType): class Meta: model = models.CustomField - fields = '__all__' + exclude = ('content_types', ) filterset_class = filtersets.CustomFieldFilterSet @@ -83,5 +83,5 @@ class WebhookType(ObjectType): class Meta: model = models.Webhook - fields = '__all__' + exclude = ('content_types', ) filterset_class = filtersets.WebhookFilterSet diff --git a/netbox/netbox/graphql/__init__.py b/netbox/netbox/graphql/__init__.py index 0ad25a541..bd8e3cb88 100644 --- a/netbox/netbox/graphql/__init__.py +++ b/netbox/netbox/graphql/__init__.py @@ -1,9 +1,13 @@ import graphene -from graphene_django.converter import convert_django_field +from dcim.fields import MACAddressField, WWNField +from django.db import models +from graphene import Dynamic +from graphene_django.converter import convert_django_field, get_django_field_description +from graphene_django.fields import DjangoConnectionField +from ipam.fields import IPAddressField, IPNetworkField from taggit.managers import TaggableManager -from dcim.fields import MACAddressField, WWNField -from ipam.fields import IPAddressField, IPNetworkField +from .fields import ObjectListField @convert_django_field.register(TaggableManager) @@ -21,3 +25,45 @@ def convert_field_to_tags_list(field, registry=None): def convert_field_to_string(field, registry=None): # TODO: Update to use get_django_field_description under django_graphene v3.0 return graphene.String(description=field.help_text, required=not field.null) + + +@convert_django_field.register(models.ManyToManyField) +@convert_django_field.register(models.ManyToManyRel) +@convert_django_field.register(models.ManyToOneRel) +def convert_field_to_list_or_connection(field, registry=None): + """ + From graphene_django.converter.py we need to monkey-patch this to return + our ObjectListField with filtering support instead of DjangoListField + """ + model = field.related_model + + def dynamic_type(): + _type = registry.get_type_for_model(model) + if not _type: + return + + if isinstance(field, models.ManyToManyField): + description = get_django_field_description(field) + else: + description = get_django_field_description(field.field) + + # If there is a connection, we should transform the field + # into a DjangoConnectionField + if _type._meta.connection: + # Use a DjangoFilterConnectionField if there are + # defined filter_fields or a filterset_class in the + # DjangoObjectType Meta + if _type._meta.filter_fields or _type._meta.filterset_class: + from .filter.fields import DjangoFilterConnectionField + + return DjangoFilterConnectionField(_type, required=True, description=description) + + return DjangoConnectionField(_type, required=True, description=description) + + return ObjectListField( + _type, + required=True, # A Set is always returned, never None. + description=description, + ) + + return Dynamic(dynamic_type) diff --git a/netbox/netbox/settings.py b/netbox/netbox/settings.py index 5d4dbb809..a693f4754 100644 --- a/netbox/netbox/settings.py +++ b/netbox/netbox/settings.py @@ -18,11 +18,6 @@ from sentry_sdk.integrations.django import DjangoIntegration from netbox.config import PARAMS -# Monkey patch to fix Django 4.0 support for graphene-django (see -# https://github.com/graphql-python/graphene-django/issues/1284) -# TODO: Remove this when graphene-django 2.16 becomes available -django.utils.encoding.force_text = force_str # type: ignore - # # Environment setup From f2407afc9f995721ffd722d1c26d56334f09a2a2 Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Wed, 12 Oct 2022 13:43:31 -0400 Subject: [PATCH 074/162] Changelog for #8245 --- docs/release-notes/version-3.4.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/release-notes/version-3.4.md b/docs/release-notes/version-3.4.md index 2713c3bef..ff246d2ca 100644 --- a/docs/release-notes/version-3.4.md +++ b/docs/release-notes/version-3.4.md @@ -17,6 +17,7 @@ A new `PluginMenu` class has been introduced, which enables a plugin to inject a ### Enhancements +* [#8245](https://github.com/netbox-community/netbox/issues/8245) - Enable GraphQL filtering of related objects * [#9249](https://github.com/netbox-community/netbox/issues/9249) - Device and virtual machine names are no longer case-sensitive * [#9478](https://github.com/netbox-community/netbox/issues/9478) - Add `link_peers` field to GraphQL types for cabled objects * [#9654](https://github.com/netbox-community/netbox/issues/9654) - Add `weight` field to racks, device types, and module types From a44eed500101e8597d31ecce1c9757e2ba43db39 Mon Sep 17 00:00:00 2001 From: Arthur Date: Wed, 12 Oct 2022 10:48:25 -0700 Subject: [PATCH 075/162] 10631 add extra GraphQL documentation --- docs/integrations/graphql-api.md | 43 +++++++++++++++++++++++++++++++- 1 file changed, 42 insertions(+), 1 deletion(-) diff --git a/docs/integrations/graphql-api.md b/docs/integrations/graphql-api.md index 4fc6d2dd8..a078bb82a 100644 --- a/docs/integrations/graphql-api.md +++ b/docs/integrations/graphql-api.md @@ -47,7 +47,7 @@ NetBox provides both a singular and plural query field for each object type: For example, query `device(id:123)` to fetch a specific device (identified by its unique ID), and query `device_list` (with an optional set of filters) to fetch all devices. -For more detail on constructing GraphQL queries, see the [Graphene documentation](https://docs.graphene-python.org/en/latest/). +For more detail on constructing GraphQL queries, see the [Graphene documentation](https://docs.graphene-python.org/en/latest/) as well as the [GraphQL queries documentation](https://graphql.org/learn/queries/). ## Filtering @@ -56,6 +56,47 @@ The GraphQL API employs the same filtering logic as the UI and REST API. Filters ``` {"query": "query {site_list(region:\"north-carolina\", status:\"active\") {name}}"} ``` +In addition, filtering can be done on list of related objects as shown in the following query: + +``` +{ + device_list { + id + name + interfaces(enabled: true) { + name + } + } +} +``` + +## Multiple Return Types + +Certain queries can return multiple types of objects, for example cable terminations can return circuit terminations, console ports and many others. These can be queried using [inline fragments](https://graphql.org/learn/schema/#union-types) as shown below: + +``` +{ + cable_list { + id + a_terminations { + ... on CircuitTerminationType { + id + class_type + } + ... on ConsolePortType { + id + class_type + } + ... on ConsoleServerPortType { + id + class_type + } + } + } +} + +``` +The field "class_type" is an easy way to distinguish what type of object it is when viewing the returned data, or when filtering. It contains the class name, for example "CircuitTermination" or "ConsoleServerPort". ## Authentication From 1d9808a92a1128894e0ffeea206ec3a721d1694c Mon Sep 17 00:00:00 2001 From: kkthxbye-code Date: Sun, 16 Oct 2022 13:42:28 +0200 Subject: [PATCH 076/162] Added scheduled_time field to JobResult model --- netbox/extras/filtersets.py | 3 ++- netbox/extras/forms/filtersets.py | 10 +++++++++- .../0080_add_jobresult_scheduled_time.py | 18 ++++++++++++++++++ netbox/extras/models/models.py | 5 +++++ netbox/extras/reports.py | 1 - netbox/extras/tables/tables.py | 2 +- .../templates/extras/htmx/report_result.html | 3 +++ .../templates/extras/htmx/script_result.html | 3 +++ netbox/templates/extras/inc/job_label.html | 2 ++ 9 files changed, 43 insertions(+), 4 deletions(-) create mode 100644 netbox/extras/migrations/0080_add_jobresult_scheduled_time.py diff --git a/netbox/extras/filtersets.py b/netbox/extras/filtersets.py index f7927a454..257cbdca9 100644 --- a/netbox/extras/filtersets.py +++ b/netbox/extras/filtersets.py @@ -437,6 +437,7 @@ class JobResultFilterSet(BaseFilterSet): ) created = django_filters.DateTimeFromToRangeFilter() completed = django_filters.DateTimeFromToRangeFilter() + scheduled_time = django_filters.DateTimeFromToRangeFilter() status = django_filters.MultipleChoiceFilter( choices=JobResultStatusChoices, null_value=None @@ -445,7 +446,7 @@ class JobResultFilterSet(BaseFilterSet): class Meta: model = JobResult fields = [ - 'id', 'created', 'completed', 'status', 'user', 'obj_type', 'name' + 'id', 'created', 'completed', 'scheduled_time', 'status', 'user', 'obj_type', 'name' ] def search(self, queryset, name, value): diff --git a/netbox/extras/forms/filtersets.py b/netbox/extras/forms/filtersets.py index c40d0ce94..80ed0f208 100644 --- a/netbox/extras/forms/filtersets.py +++ b/netbox/extras/forms/filtersets.py @@ -70,7 +70,7 @@ class JobResultFilterForm(FilterForm): fieldsets = ( (None, ('q',)), ('Attributes', ('obj_type', 'status')), - ('Creation', ('created_before', 'created_after', 'completed_before', 'completed_after', 'user')), + ('Creation', ('created_before', 'created_after', 'completed_before', 'completed_after', 'scheduled_time_before', 'scheduled_time_after', 'user')), ) obj_type = ContentTypeChoiceField( @@ -99,6 +99,14 @@ class JobResultFilterForm(FilterForm): required=False, widget=DateTimePicker() ) + scheduled_time_after = forms.DateTimeField( + required=False, + widget=DateTimePicker() + ) + scheduled_time_before = forms.DateTimeField( + required=False, + widget=DateTimePicker() + ) user = DynamicModelMultipleChoiceField( queryset=User.objects.all(), required=False, diff --git a/netbox/extras/migrations/0080_add_jobresult_scheduled_time.py b/netbox/extras/migrations/0080_add_jobresult_scheduled_time.py new file mode 100644 index 000000000..fddde4bc5 --- /dev/null +++ b/netbox/extras/migrations/0080_add_jobresult_scheduled_time.py @@ -0,0 +1,18 @@ +# Generated by Django 4.1.1 on 2022-10-16 09:52 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('extras', '0079_change_jobresult_order'), + ] + + operations = [ + migrations.AddField( + model_name='jobresult', + name='scheduled_time', + field=models.DateTimeField(blank=True, null=True), + ), + ] diff --git a/netbox/extras/models/models.py b/netbox/extras/models/models.py index e81c58136..83036d8a1 100644 --- a/netbox/extras/models/models.py +++ b/netbox/extras/models/models.py @@ -505,6 +505,10 @@ class JobResult(models.Model): null=True, blank=True ) + scheduled_time = models.DateTimeField( + null=True, + blank=True + ) user = models.ForeignKey( to=User, on_delete=models.SET_NULL, @@ -587,6 +591,7 @@ class JobResult(models.Model): if schedule_at := kwargs.pop("schedule_at", None): job_result.status = JobResultStatusChoices.STATUS_SCHEDULED + job_result.scheduled_time = schedule_at job_result.save() queue.enqueue_at(schedule_at, func, job_id=str(job_result.job_id), job_result=job_result, **kwargs) diff --git a/netbox/extras/reports.py b/netbox/extras/reports.py index 32e4efc2d..525608c86 100644 --- a/netbox/extras/reports.py +++ b/netbox/extras/reports.py @@ -85,7 +85,6 @@ def run_report(job_result, *args, **kwargs): try: report.run(job_result) except Exception as e: - print(e) job_result.set_status(JobResultStatusChoices.STATUS_ERRORED) job_result.save() logging.error(f"Error during execution of report {job_result.name}") diff --git a/netbox/extras/tables/tables.py b/netbox/extras/tables/tables.py index 6ddc26c3d..8f365a58b 100644 --- a/netbox/extras/tables/tables.py +++ b/netbox/extras/tables/tables.py @@ -56,7 +56,7 @@ class JobResultTable(NetBoxTable): class Meta(NetBoxTable.Meta): model = JobResult fields = ( - 'pk', 'id', 'name', 'obj_type', 'job_id', 'created', 'completed', 'user', 'status', + 'pk', 'id', 'name', 'obj_type', 'job_id', 'created', 'completed', 'scheduled_time', 'user', 'status', ) default_columns = ('pk', 'id', 'name', 'obj_type', 'status', 'created', 'completed', 'user',) diff --git a/netbox/templates/extras/htmx/report_result.html b/netbox/templates/extras/htmx/report_result.html index c20bf5fe2..a51b2663d 100644 --- a/netbox/templates/extras/htmx/report_result.html +++ b/netbox/templates/extras/htmx/report_result.html @@ -2,6 +2,9 @@

Initiated: {{ result.created|annotated_date }} + {% if result.scheduled_time %} + Scheduled for: {{ result.scheduled_time|annotated_date }} + {% endif %} {% if result.completed %} Duration: {{ result.duration }} {% endif %} diff --git a/netbox/templates/extras/htmx/script_result.html b/netbox/templates/extras/htmx/script_result.html index 425f35898..d2af99c9b 100644 --- a/netbox/templates/extras/htmx/script_result.html +++ b/netbox/templates/extras/htmx/script_result.html @@ -3,6 +3,9 @@

Initiated: {{ result.created|annotated_date }} + {% if result.scheduled_time %} + Scheduled for: {{ result.scheduled_time|annotated_date }} + {% endif %} {% if result.completed %} Duration: {{ result.duration }} {% endif %} diff --git a/netbox/templates/extras/inc/job_label.html b/netbox/templates/extras/inc/job_label.html index d74931111..7ff788ede 100644 --- a/netbox/templates/extras/inc/job_label.html +++ b/netbox/templates/extras/inc/job_label.html @@ -4,6 +4,8 @@ Errored {% elif result.status == 'pending' %} Pending +{% elif result.status == 'scheduled' %} + Scheduled {% elif result.status == 'running' %} Running {% elif result.status == 'completed' %} From d647983003e7c0753d29fdec7e308ea8f587b385 Mon Sep 17 00:00:00 2001 From: kkthxbye-code Date: Sun, 16 Oct 2022 13:47:15 +0200 Subject: [PATCH 077/162] Always activate scheduler functionality when running the rqworker management command --- netbox/extras/management/commands/rqworker.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/netbox/extras/management/commands/rqworker.py b/netbox/extras/management/commands/rqworker.py index e2ad5b15c..e1fb6fd11 100644 --- a/netbox/extras/management/commands/rqworker.py +++ b/netbox/extras/management/commands/rqworker.py @@ -14,6 +14,8 @@ class Command(_Command): of only the 'default' queue). """ def handle(self, *args, **options): + # Run the worker with scheduler functionality + options['with_scheduler'] = True # If no queues have been specified on the command line, listen on all configured queues. if len(args) < 1: From 074082d1f165ff6051fb31f905e47d863776355a Mon Sep 17 00:00:00 2001 From: kkthxbye-code Date: Sun, 16 Oct 2022 15:18:54 +0200 Subject: [PATCH 078/162] Allow export of JobResult table --- netbox/extras/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/netbox/extras/views.py b/netbox/extras/views.py index 29855a82b..a5da5a17c 100644 --- a/netbox/extras/views.py +++ b/netbox/extras/views.py @@ -813,7 +813,7 @@ class JobResultListView(generic.ObjectListView): filterset = filtersets.JobResultFilterSet filterset_form = forms.JobResultFilterForm table = tables.JobResultTable - actions = ('delete', 'bulk_delete', ) + actions = ('export', 'delete', 'bulk_delete', ) class JobResultDeleteView(generic.ObjectDeleteView): From e143038df82e2781602d4f7fb83cd60d1ef028e8 Mon Sep 17 00:00:00 2001 From: kkthxbye-code Date: Sun, 16 Oct 2022 15:20:38 +0200 Subject: [PATCH 079/162] Remove JobResult view from admin panel --- netbox/extras/admin.py | 21 --------------------- 1 file changed, 21 deletions(-) diff --git a/netbox/extras/admin.py b/netbox/extras/admin.py index 01011b276..837a8f2d3 100644 --- a/netbox/extras/admin.py +++ b/netbox/extras/admin.py @@ -131,24 +131,3 @@ class ConfigRevisionAdmin(admin.ModelAdmin): }) return TemplateResponse(request, 'admin/extras/configrevision/restore.html', context) - - -# -# Reports & scripts -# - -@admin.register(JobResult) -class JobResultAdmin(admin.ModelAdmin): - list_display = [ - 'obj_type', 'name', 'created', 'completed', 'user', 'status', - ] - fields = [ - 'obj_type', 'name', 'created', 'completed', 'user', 'status', 'data', 'job_id' - ] - list_filter = [ - 'status', - ] - readonly_fields = fields - - def has_add_permission(self, request): - return False From f797b5ed97b4c9dd3eda1160863ec9e8e93a664b Mon Sep 17 00:00:00 2001 From: kkthxbye-code Date: Sun, 16 Oct 2022 15:27:33 +0200 Subject: [PATCH 080/162] Add scheduled_time to JobResultSerializer --- netbox/extras/api/serializers.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/netbox/extras/api/serializers.py b/netbox/extras/api/serializers.py index fd774f8ff..b772cf95a 100644 --- a/netbox/extras/api/serializers.py +++ b/netbox/extras/api/serializers.py @@ -362,7 +362,7 @@ class JobResultSerializer(BaseModelSerializer): class Meta: model = JobResult fields = [ - 'id', 'url', 'display', 'created', 'completed', 'name', 'obj_type', 'status', 'user', 'data', 'job_id', + 'id', 'url', 'display', 'created', 'completed', 'scheduled_time', 'name', 'obj_type', 'status', 'user', 'data', 'job_id', ] From 52faeb6f60996550acd78cdbc102c67f96b46824 Mon Sep 17 00:00:00 2001 From: kkthxbye-code Date: Sun, 16 Oct 2022 18:15:45 +0200 Subject: [PATCH 081/162] Added documentation describing job scheduling --- docs/customization/custom-scripts.md | 2 +- docs/customization/reports.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/customization/custom-scripts.md b/docs/customization/custom-scripts.md index e5d5a1ef5..daa01cf80 100644 --- a/docs/customization/custom-scripts.md +++ b/docs/customization/custom-scripts.md @@ -267,7 +267,7 @@ An IPv4 or IPv6 network with a mask. Returns a `netaddr.IPNetwork` object. Two a ### Via the Web UI -Custom scripts can be run via the web UI by navigating to the script, completing any required form data, and clicking the "run script" button. +Custom scripts can be run via the web UI by navigating to the script, completing any required form data, and clicking the "run script" button. It is possible to schedule a script to be executed at specified time in the future. A scheduled script can be canceled by deleting the associated job result object. ### Via the API diff --git a/docs/customization/reports.md b/docs/customization/reports.md index 150c32f40..d504592da 100644 --- a/docs/customization/reports.md +++ b/docs/customization/reports.md @@ -136,7 +136,7 @@ Once you have created a report, it will appear in the reports list. Initially, r ### Via the Web UI -Reports can be run via the web UI by navigating to the report and clicking the "run report" button at top right. Once a report has been run, its associated results will be included in the report view. +Reports can be run via the web UI by navigating to the report and clicking the "run report" button at top right. Once a report has been run, its associated results will be included in the report view. It is possible to schedule a report to be executed at specified time in the future. A scheduled report can be canceled by deleting the associated job result object. ### Via the API From 83ff99a130615f91f2c77b650c87ffeb91314efd Mon Sep 17 00:00:00 2001 From: kkthxbye-code <> Date: Mon, 17 Oct 2022 09:54:23 +0200 Subject: [PATCH 082/162] Added delete button to script/report result --- netbox/templates/extras/report_result.html | 12 ++++++++++++ netbox/templates/extras/script_result.html | 16 ++++++++++++++++ 2 files changed, 28 insertions(+) diff --git a/netbox/templates/extras/report_result.html b/netbox/templates/extras/report_result.html index b4a0c0f12..0c61c63f9 100644 --- a/netbox/templates/extras/report_result.html +++ b/netbox/templates/extras/report_result.html @@ -1,4 +1,6 @@ {% extends 'extras/report.html' %} +{% load buttons %} +{% load perms %} {% block content-wrapper %}

@@ -7,3 +9,13 @@
{% endblock %} + +{% block controls %} +
+
+ {% if request.user|can_delete:result %} + {% delete_button result %} + {% endif %} +
+
+{% endblock controls %} \ No newline at end of file diff --git a/netbox/templates/extras/script_result.html b/netbox/templates/extras/script_result.html index 1c311ff26..2fc01e9fa 100644 --- a/netbox/templates/extras/script_result.html +++ b/netbox/templates/extras/script_result.html @@ -1,5 +1,7 @@ {% extends 'base/layout.html' %} {% load helpers %} +{% load buttons %} +{% load perms %} {% block title %}{{ script }}{% endblock %} @@ -23,6 +25,16 @@ {{ block.super }} {% endblock header %} +{% block controls %} +
+
+ {% if request.user|can_delete:result %} + {% delete_button result %} + {% endif %} +
+
+{% endblock controls %} + {% block content-wrapper %}
{% endblock content-wrapper %} + +{% block modals %} + {% include 'inc/htmx_modal.html' %} +{% endblock modals %} \ No newline at end of file From 64d67e3b000463348ea0a2989bd073edd2428a89 Mon Sep 17 00:00:00 2001 From: Arthur Date: Tue, 18 Oct 2022 08:46:40 -0700 Subject: [PATCH 083/162] 10584 add clone fields to ipam-service --- netbox/ipam/models/services.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/netbox/ipam/models/services.py b/netbox/ipam/models/services.py index 70ad38197..b566db375 100644 --- a/netbox/ipam/models/services.py +++ b/netbox/ipam/models/services.py @@ -92,6 +92,8 @@ class Service(ServiceBase, NetBoxModel): verbose_name='IP addresses' ) + clone_fields = ['protocol', 'ports', 'description', 'device', 'virtual_machine', 'ipaddresses', ] + class Meta: ordering = ('protocol', 'ports', 'pk') # (protocol, port) may be non-unique From 2fe8df3cbb6fbe28435ca57eef392c89b74fdbb5 Mon Sep 17 00:00:00 2001 From: Arthur Hanson Date: Tue, 18 Oct 2022 13:47:14 -0700 Subject: [PATCH 084/162] 10655 fix contacts display in list views (#10681) * 10655 fix contacts display in list views * 10655 review changes --- netbox/circuits/tables/circuits.py | 10 +++---- netbox/circuits/tables/providers.py | 10 +++---- netbox/dcim/tables/devices.py | 29 +++++++++++++------ netbox/dcim/tables/devicetypes.py | 23 ++++++++++----- netbox/dcim/tables/power.py | 9 +++--- netbox/dcim/tables/racks.py | 11 +++---- netbox/dcim/tables/sites.py | 25 +++++----------- netbox/tenancy/tables/columns.py | 10 +++++++ netbox/tenancy/tables/tenants.py | 8 ++--- netbox/virtualization/tables/clusters.py | 14 +++------ .../virtualization/tables/virtualmachines.py | 11 +++---- 11 files changed, 80 insertions(+), 80 deletions(-) diff --git a/netbox/circuits/tables/circuits.py b/netbox/circuits/tables/circuits.py index f9ab7e190..477f9c1ab 100644 --- a/netbox/circuits/tables/circuits.py +++ b/netbox/circuits/tables/circuits.py @@ -1,8 +1,9 @@ import django_tables2 as tables - from circuits.models import * +from tenancy.tables import ContactsColumnMixin, TenancyColumnsMixin + from netbox.tables import NetBoxTable, columns -from tenancy.tables import TenancyColumnsMixin + from .columns import CommitRateColumn __all__ = ( @@ -39,7 +40,7 @@ class CircuitTypeTable(NetBoxTable): default_columns = ('pk', 'name', 'circuit_count', 'description', 'slug') -class CircuitTable(TenancyColumnsMixin, NetBoxTable): +class CircuitTable(TenancyColumnsMixin, ContactsColumnMixin, NetBoxTable): cid = tables.Column( linkify=True, verbose_name='Circuit ID' @@ -58,9 +59,6 @@ class CircuitTable(TenancyColumnsMixin, NetBoxTable): ) commit_rate = CommitRateColumn() comments = columns.MarkdownColumn() - contacts = columns.ManyToManyColumn( - linkify_item=True - ) tags = columns.TagColumn( url_name='circuits:circuit_list' ) diff --git a/netbox/circuits/tables/providers.py b/netbox/circuits/tables/providers.py index 0ec6d439d..e2a1d93f6 100644 --- a/netbox/circuits/tables/providers.py +++ b/netbox/circuits/tables/providers.py @@ -1,7 +1,8 @@ import django_tables2 as tables -from django_tables2.utils import Accessor - from circuits.models import * +from django_tables2.utils import Accessor +from tenancy.tables import ContactsColumnMixin + from netbox.tables import NetBoxTable, columns __all__ = ( @@ -10,7 +11,7 @@ __all__ = ( ) -class ProviderTable(NetBoxTable): +class ProviderTable(ContactsColumnMixin, NetBoxTable): name = tables.Column( linkify=True ) @@ -31,9 +32,6 @@ class ProviderTable(NetBoxTable): verbose_name='Circuits' ) comments = columns.MarkdownColumn() - contacts = columns.ManyToManyColumn( - linkify_item=True - ) tags = columns.TagColumn( url_name='circuits:provider_list' ) diff --git a/netbox/dcim/tables/devices.py b/netbox/dcim/tables/devices.py index 142c7ef67..3b129c963 100644 --- a/netbox/dcim/tables/devices.py +++ b/netbox/dcim/tables/devices.py @@ -1,12 +1,26 @@ import django_tables2 as tables -from django_tables2.utils import Accessor - from dcim.models import ( - ConsolePort, ConsoleServerPort, Device, DeviceBay, DeviceRole, FrontPort, Interface, InventoryItem, - InventoryItemRole, ModuleBay, Platform, PowerOutlet, PowerPort, RearPort, VirtualChassis, + ConsolePort, + ConsoleServerPort, + Device, + DeviceBay, + DeviceRole, + FrontPort, + Interface, + InventoryItem, + InventoryItemRole, + ModuleBay, + Platform, + PowerOutlet, + PowerPort, + RearPort, + VirtualChassis, ) +from django_tables2.utils import Accessor +from tenancy.tables import ContactsColumnMixin, TenancyColumnsMixin + from netbox.tables import NetBoxTable, columns -from tenancy.tables import TenancyColumnsMixin + from .template_code import * __all__ = ( @@ -137,7 +151,7 @@ class PlatformTable(NetBoxTable): # Devices # -class DeviceTable(TenancyColumnsMixin, NetBoxTable): +class DeviceTable(TenancyColumnsMixin, ContactsColumnMixin, NetBoxTable): name = tables.TemplateColumn( order_by=('_name',), template_code=DEVICE_LINK @@ -201,9 +215,6 @@ class DeviceTable(TenancyColumnsMixin, NetBoxTable): verbose_name='VC Priority' ) comments = columns.MarkdownColumn() - contacts = columns.ManyToManyColumn( - linkify_item=True - ) tags = columns.TagColumn( url_name='dcim:device_list' ) diff --git a/netbox/dcim/tables/devicetypes.py b/netbox/dcim/tables/devicetypes.py index ec71245f7..566c56a90 100644 --- a/netbox/dcim/tables/devicetypes.py +++ b/netbox/dcim/tables/devicetypes.py @@ -1,10 +1,22 @@ import django_tables2 as tables - from dcim.models import ( - ConsolePortTemplate, ConsoleServerPortTemplate, DeviceBayTemplate, DeviceType, FrontPortTemplate, InterfaceTemplate, - InventoryItemTemplate, Manufacturer, ModuleBayTemplate, PowerOutletTemplate, PowerPortTemplate, RearPortTemplate, + ConsolePortTemplate, + ConsoleServerPortTemplate, + DeviceBayTemplate, + DeviceType, + FrontPortTemplate, + InterfaceTemplate, + InventoryItemTemplate, + Manufacturer, + ModuleBayTemplate, + PowerOutletTemplate, + PowerPortTemplate, + RearPortTemplate, ) +from tenancy.tables import ContactsColumnMixin + from netbox.tables import NetBoxTable, columns + from .template_code import MODULAR_COMPONENT_TEMPLATE_BUTTONS __all__ = ( @@ -27,7 +39,7 @@ __all__ = ( # Manufacturers # -class ManufacturerTable(NetBoxTable): +class ManufacturerTable(ContactsColumnMixin, NetBoxTable): name = tables.Column( linkify=True ) @@ -43,9 +55,6 @@ class ManufacturerTable(NetBoxTable): verbose_name='Platforms' ) slug = tables.Column() - contacts = columns.ManyToManyColumn( - linkify_item=True - ) tags = columns.TagColumn( url_name='dcim:manufacturer_list' ) diff --git a/netbox/dcim/tables/power.py b/netbox/dcim/tables/power.py index 6696d516a..04012ea4a 100644 --- a/netbox/dcim/tables/power.py +++ b/netbox/dcim/tables/power.py @@ -1,7 +1,9 @@ import django_tables2 as tables - from dcim.models import PowerFeed, PowerPanel +from tenancy.tables import ContactsColumnMixin + from netbox.tables import NetBoxTable, columns + from .devices import CableTerminationTable __all__ = ( @@ -14,7 +16,7 @@ __all__ = ( # Power panels # -class PowerPanelTable(NetBoxTable): +class PowerPanelTable(ContactsColumnMixin, NetBoxTable): name = tables.Column( linkify=True ) @@ -29,9 +31,6 @@ class PowerPanelTable(NetBoxTable): url_params={'power_panel_id': 'pk'}, verbose_name='Feeds' ) - contacts = columns.ManyToManyColumn( - linkify_item=True - ) tags = columns.TagColumn( url_name='dcim:powerpanel_list' ) diff --git a/netbox/dcim/tables/racks.py b/netbox/dcim/tables/racks.py index 39553bac0..ab6ee6eb3 100644 --- a/netbox/dcim/tables/racks.py +++ b/netbox/dcim/tables/racks.py @@ -1,9 +1,9 @@ import django_tables2 as tables -from django_tables2.utils import Accessor - from dcim.models import Rack, RackReservation, RackRole +from django_tables2.utils import Accessor +from tenancy.tables import ContactsColumnMixin, TenancyColumnsMixin + from netbox.tables import NetBoxTable, columns -from tenancy.tables import TenancyColumnsMixin __all__ = ( 'RackTable', @@ -37,7 +37,7 @@ class RackRoleTable(NetBoxTable): # Racks # -class RackTable(TenancyColumnsMixin, NetBoxTable): +class RackTable(TenancyColumnsMixin, ContactsColumnMixin, NetBoxTable): name = tables.Column( order_by=('_name',), linkify=True @@ -68,9 +68,6 @@ class RackTable(TenancyColumnsMixin, NetBoxTable): orderable=False, verbose_name='Power' ) - contacts = columns.ManyToManyColumn( - linkify_item=True - ) tags = columns.TagColumn( url_name='dcim:rack_list' ) diff --git a/netbox/dcim/tables/sites.py b/netbox/dcim/tables/sites.py index 5dc2aa611..f013025f7 100644 --- a/netbox/dcim/tables/sites.py +++ b/netbox/dcim/tables/sites.py @@ -1,8 +1,9 @@ import django_tables2 as tables - from dcim.models import Location, Region, Site, SiteGroup +from tenancy.tables import ContactsColumnMixin, TenancyColumnsMixin + from netbox.tables import NetBoxTable, columns -from tenancy.tables import TenancyColumnsMixin + from .template_code import LOCATION_BUTTONS __all__ = ( @@ -17,7 +18,7 @@ __all__ = ( # Regions # -class RegionTable(NetBoxTable): +class RegionTable(ContactsColumnMixin, NetBoxTable): name = columns.MPTTColumn( linkify=True ) @@ -26,9 +27,6 @@ class RegionTable(NetBoxTable): url_params={'region_id': 'pk'}, verbose_name='Sites' ) - contacts = columns.ManyToManyColumn( - linkify_item=True - ) tags = columns.TagColumn( url_name='dcim:region_list' ) @@ -46,7 +44,7 @@ class RegionTable(NetBoxTable): # Site groups # -class SiteGroupTable(NetBoxTable): +class SiteGroupTable(ContactsColumnMixin, NetBoxTable): name = columns.MPTTColumn( linkify=True ) @@ -55,9 +53,6 @@ class SiteGroupTable(NetBoxTable): url_params={'group_id': 'pk'}, verbose_name='Sites' ) - contacts = columns.ManyToManyColumn( - linkify_item=True - ) tags = columns.TagColumn( url_name='dcim:sitegroup_list' ) @@ -75,7 +70,7 @@ class SiteGroupTable(NetBoxTable): # Sites # -class SiteTable(TenancyColumnsMixin, NetBoxTable): +class SiteTable(TenancyColumnsMixin, ContactsColumnMixin, NetBoxTable): name = tables.Column( linkify=True ) @@ -97,9 +92,6 @@ class SiteTable(TenancyColumnsMixin, NetBoxTable): verbose_name='ASN Count' ) comments = columns.MarkdownColumn() - contacts = columns.ManyToManyColumn( - linkify_item=True - ) tags = columns.TagColumn( url_name='dcim:site_list' ) @@ -118,7 +110,7 @@ class SiteTable(TenancyColumnsMixin, NetBoxTable): # Locations # -class LocationTable(TenancyColumnsMixin, NetBoxTable): +class LocationTable(TenancyColumnsMixin, ContactsColumnMixin, NetBoxTable): name = columns.MPTTColumn( linkify=True ) @@ -136,9 +128,6 @@ class LocationTable(TenancyColumnsMixin, NetBoxTable): url_params={'location_id': 'pk'}, verbose_name='Devices' ) - contacts = columns.ManyToManyColumn( - linkify_item=True - ) tags = columns.TagColumn( url_name='dcim:location_list' ) diff --git a/netbox/tenancy/tables/columns.py b/netbox/tenancy/tables/columns.py index 21622f18b..491d0488f 100644 --- a/netbox/tenancy/tables/columns.py +++ b/netbox/tenancy/tables/columns.py @@ -1,6 +1,9 @@ import django_tables2 as tables +from netbox.tables import columns + __all__ = ( + 'ContactsColumnMixin', 'TenantColumn', 'TenantGroupColumn', 'TenancyColumnsMixin', @@ -55,3 +58,10 @@ class TenantGroupColumn(tables.TemplateColumn): class TenancyColumnsMixin(tables.Table): tenant_group = TenantGroupColumn() tenant = TenantColumn() + + +class ContactsColumnMixin(tables.Table): + contacts = columns.ManyToManyColumn( + linkify_item=True, + transform=lambda obj: obj.contact.name + ) diff --git a/netbox/tenancy/tables/tenants.py b/netbox/tenancy/tables/tenants.py index f18f1db09..9c404fb4b 100644 --- a/netbox/tenancy/tables/tenants.py +++ b/netbox/tenancy/tables/tenants.py @@ -1,7 +1,8 @@ import django_tables2 as tables +from tenancy.models import * +from tenancy.tables import ContactsColumnMixin from netbox.tables import NetBoxTable, columns -from tenancy.models import * __all__ = ( 'TenantGroupTable', @@ -30,7 +31,7 @@ class TenantGroupTable(NetBoxTable): default_columns = ('pk', 'name', 'tenant_count', 'description') -class TenantTable(NetBoxTable): +class TenantTable(ContactsColumnMixin, NetBoxTable): name = tables.Column( linkify=True ) @@ -38,9 +39,6 @@ class TenantTable(NetBoxTable): linkify=True ) comments = columns.MarkdownColumn() - contacts = columns.ManyToManyColumn( - linkify_item=True - ) tags = columns.TagColumn( url_name='tenancy:contact_list' ) diff --git a/netbox/virtualization/tables/clusters.py b/netbox/virtualization/tables/clusters.py index ba0f2d301..fec539b8c 100644 --- a/netbox/virtualization/tables/clusters.py +++ b/netbox/virtualization/tables/clusters.py @@ -1,8 +1,8 @@ import django_tables2 as tables +from tenancy.tables import ContactsColumnMixin, TenancyColumnsMixin +from virtualization.models import Cluster, ClusterGroup, ClusterType from netbox.tables import NetBoxTable, columns -from tenancy.tables import TenancyColumnsMixin -from virtualization.models import Cluster, ClusterGroup, ClusterType __all__ = ( 'ClusterTable', @@ -32,7 +32,7 @@ class ClusterTypeTable(NetBoxTable): default_columns = ('pk', 'name', 'cluster_count', 'description') -class ClusterGroupTable(NetBoxTable): +class ClusterGroupTable(ContactsColumnMixin, NetBoxTable): name = tables.Column( linkify=True ) @@ -41,9 +41,6 @@ class ClusterGroupTable(NetBoxTable): url_params={'group_id': 'pk'}, verbose_name='Clusters' ) - contacts = columns.ManyToManyColumn( - linkify_item=True - ) tags = columns.TagColumn( url_name='virtualization:clustergroup_list' ) @@ -57,7 +54,7 @@ class ClusterGroupTable(NetBoxTable): default_columns = ('pk', 'name', 'cluster_count', 'description') -class ClusterTable(TenancyColumnsMixin, NetBoxTable): +class ClusterTable(TenancyColumnsMixin, ContactsColumnMixin, NetBoxTable): name = tables.Column( linkify=True ) @@ -81,9 +78,6 @@ class ClusterTable(TenancyColumnsMixin, NetBoxTable): verbose_name='VMs' ) comments = columns.MarkdownColumn() - contacts = columns.ManyToManyColumn( - linkify_item=True - ) tags = columns.TagColumn( url_name='virtualization:cluster_list' ) diff --git a/netbox/virtualization/tables/virtualmachines.py b/netbox/virtualization/tables/virtualmachines.py index dfd01696e..29baff4cb 100644 --- a/netbox/virtualization/tables/virtualmachines.py +++ b/netbox/virtualization/tables/virtualmachines.py @@ -1,10 +1,10 @@ import django_tables2 as tables - from dcim.tables.devices import BaseInterfaceTable -from netbox.tables import NetBoxTable, columns -from tenancy.tables import TenancyColumnsMixin +from tenancy.tables import ContactsColumnMixin, TenancyColumnsMixin from virtualization.models import VirtualMachine, VMInterface +from netbox.tables import NetBoxTable, columns + __all__ = ( 'VirtualMachineTable', 'VirtualMachineVMInterfaceTable', @@ -37,7 +37,7 @@ VMINTERFACE_BUTTONS = """ # Virtual machines # -class VirtualMachineTable(TenancyColumnsMixin, NetBoxTable): +class VirtualMachineTable(TenancyColumnsMixin, ContactsColumnMixin, NetBoxTable): name = tables.Column( order_by=('_name',), linkify=True @@ -67,9 +67,6 @@ class VirtualMachineTable(TenancyColumnsMixin, NetBoxTable): order_by=('primary_ip4', 'primary_ip6'), verbose_name='IP Address' ) - contacts = columns.ManyToManyColumn( - linkify_item=True - ) tags = columns.TagColumn( url_name='virtualization:virtualmachine_list' ) From 4cb023087867097cfa6e91ad6fff344cb35844b2 Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Tue, 18 Oct 2022 16:51:37 -0400 Subject: [PATCH 085/162] Closes #10685: Position A/Z termination cards above the fold under circuit view --- docs/release-notes/version-3.3.md | 5 ++++- netbox/templates/circuits/circuit.html | 12 +++--------- 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/docs/release-notes/version-3.3.md b/docs/release-notes/version-3.3.md index 2c84ad2d6..b341a0207 100644 --- a/docs/release-notes/version-3.3.md +++ b/docs/release-notes/version-3.3.md @@ -5,12 +5,15 @@ ### Enhancements * [#9722](https://github.com/netbox-community/netbox/issues/9722) - Add LDAP configuration parameters to specify certificates +* [#10685](https://github.com/netbox-community/netbox/issues/10685) - Position A/Z termination cards above the fold under circuit view ### Bug Fixes * [#9669](https://github.com/netbox-community/netbox/issues/9669) - Strip colons from usernames when using remote authentication * [#10575](https://github.com/netbox-community/netbox/issues/10575) - Include OIDC dependencies for python-social-auth -* [#10596](https://github.com/netbox-community/netbox/issues/10596) - Panels should scroll horizontally to accomodate overflow data +* [#10584](https://github.com/netbox-community/netbox/issues/10584) - Fix service clone link +* [#10655](https://github.com/netbox-community/netbox/issues/10655) - Correct display of assigned contacts in object tables +* [#10596](https://github.com/netbox-community/netbox/issues/10596) - Panels should scroll horizontally to accommodate overflow data --- diff --git a/netbox/templates/circuits/circuit.html b/netbox/templates/circuits/circuit.html index a11139032..81ff6e912 100644 --- a/netbox/templates/circuits/circuit.html +++ b/netbox/templates/circuits/circuit.html @@ -60,23 +60,17 @@
{% include 'inc/panels/custom_fields.html' %} {% include 'inc/panels/tags.html' %} + {% include 'inc/panels/comments.html' %} {% plugin_left_page object %}
- {% include 'inc/panels/comments.html' %} + {% include 'circuits/inc/circuit_termination.html' with termination=object.termination_a side='A' %} + {% include 'circuits/inc/circuit_termination.html' with termination=object.termination_z side='Z' %} {% include 'inc/panels/contacts.html' %} {% include 'inc/panels/image_attachments.html' %} {% plugin_right_page object %}
-
-
- {% include 'circuits/inc/circuit_termination.html' with termination=object.termination_a side='A' %} -
-
- {% include 'circuits/inc/circuit_termination.html' with termination=object.termination_z side='Z' %} -
-
{% plugin_full_width_page object %} From 028b4b7ea7d61d89d8737430064cefcb49da3539 Mon Sep 17 00:00:00 2001 From: Arthur Hanson Date: Wed, 19 Oct 2022 05:35:23 -0700 Subject: [PATCH 086/162] 10643 add fieldset to device role for improved add/edit form display (#10680) * 10643 add fieldset to device role for improved add/edit form display * 10643 update other forms * 10643 update other forms * Specify fieldsets for additional models Co-authored-by: jeremystretch --- netbox/circuits/forms/models.py | 6 ++++ netbox/dcim/forms/models.py | 43 +++++++++++++++++++++++++++ netbox/ipam/forms/models.py | 18 +++++++++++ netbox/tenancy/forms/models.py | 18 +++++++++++ netbox/virtualization/forms/models.py | 12 ++++++++ netbox/wireless/forms/models.py | 6 ++++ 6 files changed, 103 insertions(+) diff --git a/netbox/circuits/forms/models.py b/netbox/circuits/forms/models.py index 7bd7abbbf..aebdce10e 100644 --- a/netbox/circuits/forms/models.py +++ b/netbox/circuits/forms/models.py @@ -76,6 +76,12 @@ class ProviderNetworkForm(NetBoxModelForm): class CircuitTypeForm(NetBoxModelForm): slug = SlugField() + fieldsets = ( + ('Circuit Type', ( + 'name', 'slug', 'description', 'tags', + )), + ) + class Meta: model = CircuitType fields = [ diff --git a/netbox/dcim/forms/models.py b/netbox/dcim/forms/models.py index 1f1c869a5..8f1626361 100644 --- a/netbox/dcim/forms/models.py +++ b/netbox/dcim/forms/models.py @@ -78,6 +78,12 @@ class RegionForm(NetBoxModelForm): ) slug = SlugField() + fieldsets = ( + ('Region', ( + 'parent', 'name', 'slug', 'description', 'tags', + )), + ) + class Meta: model = Region fields = ( @@ -92,6 +98,12 @@ class SiteGroupForm(NetBoxModelForm): ) slug = SlugField() + fieldsets = ( + ('Site Group', ( + 'parent', 'name', 'slug', 'description', 'tags', + )), + ) + class Meta: model = SiteGroup fields = ( @@ -213,6 +225,12 @@ class LocationForm(TenancyForm, NetBoxModelForm): class RackRoleForm(NetBoxModelForm): slug = SlugField() + fieldsets = ( + ('Rack Role', ( + 'name', 'slug', 'color', 'description', 'tags', + )), + ) + class Meta: model = RackRole fields = [ @@ -340,6 +358,12 @@ class RackReservationForm(TenancyForm, NetBoxModelForm): class ManufacturerForm(NetBoxModelForm): slug = SlugField() + fieldsets = ( + ('Manufacturer', ( + 'name', 'slug', 'description', 'tags', + )), + ) + class Meta: model = Manufacturer fields = [ @@ -406,6 +430,12 @@ class ModuleTypeForm(NetBoxModelForm): class DeviceRoleForm(NetBoxModelForm): slug = SlugField() + fieldsets = ( + ('Device Role', ( + 'name', 'slug', 'color', 'vm_role', 'description', 'tags', + )), + ) + class Meta: model = DeviceRole fields = [ @@ -422,6 +452,13 @@ class PlatformForm(NetBoxModelForm): max_length=64 ) + fieldsets = ( + ('Platform', ( + 'name', 'slug', 'manufacturer', 'napalm_driver', 'napalm_args', 'description', 'tags', + + )), + ) + class Meta: model = Platform fields = [ @@ -1577,6 +1614,12 @@ class InventoryItemForm(DeviceComponentForm): class InventoryItemRoleForm(NetBoxModelForm): slug = SlugField() + fieldsets = ( + ('Inventory Item Role', ( + 'name', 'slug', 'color', 'description', 'tags', + )), + ) + class Meta: model = InventoryItemRole fields = [ diff --git a/netbox/ipam/forms/models.py b/netbox/ipam/forms/models.py index 724812585..f66b7efba 100644 --- a/netbox/ipam/forms/models.py +++ b/netbox/ipam/forms/models.py @@ -88,6 +88,12 @@ class RouteTargetForm(TenancyForm, NetBoxModelForm): class RIRForm(NetBoxModelForm): slug = SlugField() + fieldsets = ( + ('RIR', ( + 'name', 'slug', 'is_private', 'description', 'tags', + )), + ) + class Meta: model = RIR fields = [ @@ -164,6 +170,12 @@ class ASNForm(TenancyForm, NetBoxModelForm): class RoleForm(NetBoxModelForm): slug = SlugField() + fieldsets = ( + ('Role', ( + 'name', 'slug', 'weight', 'description', 'tags', + )), + ) + class Meta: model = Role fields = [ @@ -784,6 +796,12 @@ class ServiceTemplateForm(NetBoxModelForm): help_text="Comma-separated list of one or more port numbers. A range may be specified using a hyphen." ) + fieldsets = ( + ('Service Template', ( + 'name', 'protocol', 'ports', 'description', 'tags', + )), + ) + class Meta: model = ServiceTemplate fields = ('name', 'protocol', 'ports', 'description', 'tags') diff --git a/netbox/tenancy/forms/models.py b/netbox/tenancy/forms/models.py index eabcb1d0f..80af04928 100644 --- a/netbox/tenancy/forms/models.py +++ b/netbox/tenancy/forms/models.py @@ -27,6 +27,12 @@ class TenantGroupForm(NetBoxModelForm): ) slug = SlugField() + fieldsets = ( + ('Tenant Group', ( + 'parent', 'name', 'slug', 'description', 'tags', + )), + ) + class Meta: model = TenantGroup fields = [ @@ -64,6 +70,12 @@ class ContactGroupForm(NetBoxModelForm): ) slug = SlugField() + fieldsets = ( + ('Contact Group', ( + 'parent', 'name', 'slug', 'description', 'tags', + )), + ) + class Meta: model = ContactGroup fields = ('parent', 'name', 'slug', 'description', 'tags') @@ -72,6 +84,12 @@ class ContactGroupForm(NetBoxModelForm): class ContactRoleForm(NetBoxModelForm): slug = SlugField() + fieldsets = ( + ('Contact Role', ( + 'name', 'slug', 'description', 'tags', + )), + ) + class Meta: model = ContactRole fields = ('name', 'slug', 'description', 'tags') diff --git a/netbox/virtualization/forms/models.py b/netbox/virtualization/forms/models.py index 268afb9bb..1b5c5adc6 100644 --- a/netbox/virtualization/forms/models.py +++ b/netbox/virtualization/forms/models.py @@ -28,6 +28,12 @@ __all__ = ( class ClusterTypeForm(NetBoxModelForm): slug = SlugField() + fieldsets = ( + ('Cluster Type', ( + 'name', 'slug', 'description', 'tags', + )), + ) + class Meta: model = ClusterType fields = ( @@ -38,6 +44,12 @@ class ClusterTypeForm(NetBoxModelForm): class ClusterGroupForm(NetBoxModelForm): slug = SlugField() + fieldsets = ( + ('Cluster Group', ( + 'name', 'slug', 'description', 'tags', + )), + ) + class Meta: model = ClusterGroup fields = ( diff --git a/netbox/wireless/forms/models.py b/netbox/wireless/forms/models.py index bcffcf896..386484193 100644 --- a/netbox/wireless/forms/models.py +++ b/netbox/wireless/forms/models.py @@ -19,6 +19,12 @@ class WirelessLANGroupForm(NetBoxModelForm): ) slug = SlugField() + fieldsets = ( + ('Wireless LAN Group', ( + 'parent', 'name', 'slug', 'description', 'tags', + )), + ) + class Meta: model = WirelessLANGroup fields = [ From d53da57f635c01ec62ac1e32b199618eab24ec28 Mon Sep 17 00:00:00 2001 From: Arthur Date: Tue, 18 Oct 2022 13:14:08 -0700 Subject: [PATCH 087/162] 10646 fix cable power feed filter --- netbox/dcim/forms/connections.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/netbox/dcim/forms/connections.py b/netbox/dcim/forms/connections.py index cc5cf362f..5e3948baa 100644 --- a/netbox/dcim/forms/connections.py +++ b/netbox/dcim/forms/connections.py @@ -108,7 +108,7 @@ def get_cable_form(a_type, b_type): label='Power Feed', disabled_indicator='_occupied', query_params={ - 'powerpanel_id': f'$termination_{cable_end}_powerpanel', + 'power_panel_id': f'$termination_{cable_end}_powerpanel', } ) From 43d1182b4b9734b40bde4f4fd6148526bbb91761 Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Wed, 19 Oct 2022 08:47:14 -0400 Subject: [PATCH 088/162] Fix styling for power input, rear port connection links --- netbox/templates/dcim/powerport.html | 4 ++-- netbox/templates/dcim/rearport.html | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/netbox/templates/dcim/powerport.html b/netbox/templates/dcim/powerport.html index c552c2398..18814a428 100644 --- a/netbox/templates/dcim/powerport.html +++ b/netbox/templates/dcim/powerport.html @@ -77,10 +77,10 @@ diff --git a/netbox/templates/dcim/rearport.html b/netbox/templates/dcim/rearport.html index dc53746db..f3b02f5a2 100644 --- a/netbox/templates/dcim/rearport.html +++ b/netbox/templates/dcim/rearport.html @@ -105,16 +105,16 @@ From 060ee2dd96a47daf90eb5cd91044d95a62f75687 Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Wed, 19 Oct 2022 08:55:30 -0400 Subject: [PATCH 089/162] Revert PR #10621 --- docs/release-notes/version-3.3.md | 1 - netbox/project-static/dist/netbox-dark.css | Bin 374934 -> 374883 bytes netbox/project-static/dist/netbox-light.css | Bin 232447 -> 232430 bytes netbox/project-static/dist/netbox-print.css | Bin 726365 -> 726343 bytes netbox/project-static/styles/netbox.scss | 4 ---- 5 files changed, 5 deletions(-) diff --git a/docs/release-notes/version-3.3.md b/docs/release-notes/version-3.3.md index b341a0207..ed1f2cbe4 100644 --- a/docs/release-notes/version-3.3.md +++ b/docs/release-notes/version-3.3.md @@ -13,7 +13,6 @@ * [#10575](https://github.com/netbox-community/netbox/issues/10575) - Include OIDC dependencies for python-social-auth * [#10584](https://github.com/netbox-community/netbox/issues/10584) - Fix service clone link * [#10655](https://github.com/netbox-community/netbox/issues/10655) - Correct display of assigned contacts in object tables -* [#10596](https://github.com/netbox-community/netbox/issues/10596) - Panels should scroll horizontally to accommodate overflow data --- diff --git a/netbox/project-static/dist/netbox-dark.css b/netbox/project-static/dist/netbox-dark.css index 772bceddb5549660c989f8cad7d3150b40611625..8b6b37a4cc545892c5ab1d46c60ebe75f8bc5a40 100644 GIT binary patch delta 29 jcmbRCQS9*tv4$4L7N#xCcU0T?)tG^pWjntbYx^Vsw1Wy$ delta 49 zcmaF-L2TMbv4$4L7N#xCcT}f;l4Mkwu3*Q+GJQcGD?3Y4eoAHg9aUx^X4!s6m9>2m E0PfHd`~Uy| diff --git a/netbox/project-static/dist/netbox-light.css b/netbox/project-static/dist/netbox-light.css index 8863f410cb744f1aac25c8e0a5c5d879b200a8df..27e804c3084267eba5a70d9352ea5fb676a6d35f 100644 GIT binary patch delta 21 dcmexAo$uXrzJ@J~8-KSS`pvlg&~GN&2>^on3!wl2 delta 39 scmaDio$vp2zJ@J~8-EMx=p`o>r6_<&-K6}K%Jz-F8Mklz&15?P09q*#M*si- diff --git a/netbox/project-static/dist/netbox-print.css b/netbox/project-static/dist/netbox-print.css index 042998b68cd2abfad150d5720c848ab899714a82..f0220c0500b66f04fbdffb8e04f83bc86900c527 100644 GIT binary patch delta 53 zcmcb+O6T}0orV_17N!>F7M2#)Eo^o^({E4bke{C5$Hv)S_E%`#GKn}e7GK- F0011y6UYDn delta 65 zcmX@UO6Tq>orV_17N!>F7M2#)Eo^o^JPLZriA5<8a{9$xEJ~9deA(M$eb|5)L~{T! L=k{11u2&}j`yLkk diff --git a/netbox/project-static/styles/netbox.scss b/netbox/project-static/styles/netbox.scss index eef093c66..8ff224172 100644 --- a/netbox/project-static/styles/netbox.scss +++ b/netbox/project-static/styles/netbox.scss @@ -1039,7 +1039,3 @@ html { } } } - -.card .card-body { - @extend .overflow-auto; -} From 10e874039f34b6100f5a065285e7ca791ce1ad65 Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Wed, 19 Oct 2022 09:02:09 -0400 Subject: [PATCH 090/162] Changelog for #10643, #10646 --- docs/release-notes/version-3.3.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/release-notes/version-3.3.md b/docs/release-notes/version-3.3.md index ed1f2cbe4..d2d6849fa 100644 --- a/docs/release-notes/version-3.3.md +++ b/docs/release-notes/version-3.3.md @@ -12,6 +12,8 @@ * [#9669](https://github.com/netbox-community/netbox/issues/9669) - Strip colons from usernames when using remote authentication * [#10575](https://github.com/netbox-community/netbox/issues/10575) - Include OIDC dependencies for python-social-auth * [#10584](https://github.com/netbox-community/netbox/issues/10584) - Fix service clone link +* [#10643](https://github.com/netbox-community/netbox/issues/10643) - Ensure consistent display of custom fields for all model forms +* [#10646](https://github.com/netbox-community/netbox/issues/10646) - Fix filtering of power feed by power panel when connecting a cable * [#10655](https://github.com/netbox-community/netbox/issues/10655) - Correct display of assigned contacts in object tables --- From 33c6142365ddf8d9f8b54b7c79cef53f7d328455 Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Wed, 19 Oct 2022 09:52:10 -0400 Subject: [PATCH 091/162] Update documentation section options for new issues --- .github/ISSUE_TEMPLATE/documentation_change.yaml | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/documentation_change.yaml b/.github/ISSUE_TEMPLATE/documentation_change.yaml index 0f87115fc..cb097d579 100644 --- a/.github/ISSUE_TEMPLATE/documentation_change.yaml +++ b/.github/ISSUE_TEMPLATE/documentation_change.yaml @@ -19,11 +19,15 @@ body: label: Area description: To what section of the documentation does this change primarily pertain? options: - - Installation instructions - - Configuration parameters - - Functionality/features - - REST API - - Administration/development + - Features + - Installation/upgrade + - Getting started + - Configuration + - Customization + - Integrations/API + - Plugins + - Administration + - Development - Other validations: required: true From 85a4b1f8817460d4ddc5b8b5af8c90726081f911 Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Wed, 19 Oct 2022 10:40:39 -0400 Subject: [PATCH 092/162] Closes #10699: Remove custom import_object() function --- docs/release-notes/version-3.4.md | 1 + netbox/extras/plugins/__init__.py | 43 +++++++++++++++++++++---------- netbox/extras/plugins/urls.py | 15 ++++++----- netbox/extras/plugins/utils.py | 33 ------------------------ 4 files changed, 39 insertions(+), 53 deletions(-) delete mode 100644 netbox/extras/plugins/utils.py diff --git a/docs/release-notes/version-3.4.md b/docs/release-notes/version-3.4.md index ff246d2ca..8a9c61e22 100644 --- a/docs/release-notes/version-3.4.md +++ b/docs/release-notes/version-3.4.md @@ -40,6 +40,7 @@ A new `PluginMenu` class has been introduced, which enables a plugin to inject a * [#9045](https://github.com/netbox-community/netbox/issues/9045) - Remove legacy ASN field from provider model * [#9046](https://github.com/netbox-community/netbox/issues/9046) - Remove legacy contact fields from provider model * [#10358](https://github.com/netbox-community/netbox/issues/10358) - Raise minimum required PostgreSQL version from 10 to 11 +* [#10699](https://github.com/netbox-community/netbox/issues/10699) - Remove custom `import_object()` function ### REST API Changes diff --git a/netbox/extras/plugins/__init__.py b/netbox/extras/plugins/__init__.py index 78a056216..ea88c0f51 100644 --- a/netbox/extras/plugins/__init__.py +++ b/netbox/extras/plugins/__init__.py @@ -5,8 +5,8 @@ from packaging import version from django.apps import AppConfig from django.core.exceptions import ImproperlyConfigured from django.template.loader import get_template +from django.utils.module_loading import import_string -from extras.plugins.utils import import_object from extras.registry import registry from netbox.navigation import MenuGroup from netbox.search import register_search @@ -71,31 +71,46 @@ class PluginConfig(AppConfig): def ready(self): plugin_name = self.name.rsplit('.', 1)[-1] - # Search extensions - search_indexes = import_object(f"{self.__module__}.{self.search_indexes}") or [] - for idx in search_indexes: - register_search()(idx) + # Register search extensions (if defined) + try: + search_indexes = import_string(f"{self.__module__}.{self.search_indexes}") + for idx in search_indexes: + register_search()(idx) + except ImportError: + pass # Register template content (if defined) - template_extensions = import_object(f"{self.__module__}.{self.template_extensions}") - if template_extensions is not None: + try: + template_extensions = import_string(f"{self.__module__}.{self.template_extensions}") register_template_extensions(template_extensions) + except ImportError: + pass - # Register navigation menu or menu items (if defined) - if menu := import_object(f"{self.__module__}.{self.menu}"): + # Register navigation menu and/or menu items (if defined) + try: + menu = import_string(f"{self.__module__}.{self.menu}") register_menu(menu) - if menu_items := import_object(f"{self.__module__}.{self.menu_items}"): + except ImportError: + pass + try: + menu_items = import_string(f"{self.__module__}.{self.menu_items}") register_menu_items(self.verbose_name, menu_items) + except ImportError: + pass # Register GraphQL schema (if defined) - graphql_schema = import_object(f"{self.__module__}.{self.graphql_schema}") - if graphql_schema is not None: + try: + graphql_schema = import_string(f"{self.__module__}.{self.graphql_schema}") register_graphql_schema(graphql_schema) + except ImportError: + pass # Register user preferences (if defined) - user_preferences = import_object(f"{self.__module__}.{self.user_preferences}") - if user_preferences is not None: + try: + user_preferences = import_string(f"{self.__module__}.{self.user_preferences}") register_user_preferences(plugin_name, user_preferences) + except ImportError: + pass @classmethod def validate(cls, user_config, netbox_version): diff --git a/netbox/extras/plugins/urls.py b/netbox/extras/plugins/urls.py index 7ab293916..b4360dc9e 100644 --- a/netbox/extras/plugins/urls.py +++ b/netbox/extras/plugins/urls.py @@ -3,8 +3,7 @@ from django.conf import settings from django.conf.urls import include from django.contrib.admin.views.decorators import staff_member_required from django.urls import path - -from extras.plugins.utils import import_object +from django.utils.module_loading import import_string from . import views @@ -25,15 +24,19 @@ for plugin_path in settings.PLUGINS: base_url = getattr(app, 'base_url') or app.label # Check if the plugin specifies any base URLs - urlpatterns = import_object(f"{plugin_path}.urls.urlpatterns") - if urlpatterns is not None: + try: + urlpatterns = import_string(f"{plugin_path}.urls.urlpatterns") plugin_patterns.append( path(f"{base_url}/", include((urlpatterns, app.label))) ) + except ImportError: + pass # Check if the plugin specifies any API URLs - urlpatterns = import_object(f"{plugin_path}.api.urls.urlpatterns") - if urlpatterns is not None: + try: + urlpatterns = import_string(f"{plugin_path}.api.urls.urlpatterns") plugin_api_patterns.append( path(f"{base_url}/", include((urlpatterns, f"{app.label}-api"))) ) + except ImportError: + pass diff --git a/netbox/extras/plugins/utils.py b/netbox/extras/plugins/utils.py deleted file mode 100644 index 87240aba8..000000000 --- a/netbox/extras/plugins/utils.py +++ /dev/null @@ -1,33 +0,0 @@ -import importlib.util -import sys - - -def import_object(module_and_object): - """ - Import a specific object from a specific module by name, such as "extras.plugins.utils.import_object". - - Returns the imported object, or None if it doesn't exist. - """ - target_module_name, object_name = module_and_object.rsplit('.', 1) - module_hierarchy = target_module_name.split('.') - - # Iterate through the module hierarchy, checking for the existence of each successive submodule. - # We have to do this rather than jumping directly to calling find_spec(target_module_name) - # because find_spec will raise a ModuleNotFoundError if any parent module of target_module_name does not exist. - module_name = "" - for module_component in module_hierarchy: - module_name = f"{module_name}.{module_component}" if module_name else module_component - spec = importlib.util.find_spec(module_name) - if spec is None: - # No such module - return None - - # Okay, target_module_name exists. Load it if not already loaded - if target_module_name in sys.modules: - module = sys.modules[target_module_name] - else: - module = importlib.util.module_from_spec(spec) - sys.modules[target_module_name] = module - spec.loader.exec_module(module) - - return getattr(module, object_name, None) From 4f95c5a72ccb2d0dea8d258fb903a656c56df089 Mon Sep 17 00:00:00 2001 From: kkthxbye-code Date: Thu, 20 Oct 2022 21:36:43 +0200 Subject: [PATCH 093/162] Allow scheduling jobs via. the API --- docs/customization/custom-scripts.md | 2 ++ docs/customization/reports.md | 2 ++ netbox/extras/api/serializers.py | 6 ++++++ netbox/extras/api/views.py | 31 ++++++++++++++++++---------- 4 files changed, 30 insertions(+), 11 deletions(-) diff --git a/docs/customization/custom-scripts.md b/docs/customization/custom-scripts.md index daa01cf80..456bcf472 100644 --- a/docs/customization/custom-scripts.md +++ b/docs/customization/custom-scripts.md @@ -282,6 +282,8 @@ http://netbox/api/extras/scripts/example.MyReport/ \ --data '{"data": {"foo": "somevalue", "bar": 123}, "commit": true}' ``` +Optionally `schedule_at` can be passed in the form data with a datetime string to schedule a script at the specified date and time. + ### Via the CLI Scripts can be run on the CLI by invoking the management command: diff --git a/docs/customization/reports.md b/docs/customization/reports.md index d504592da..470868ea0 100644 --- a/docs/customization/reports.md +++ b/docs/customization/reports.md @@ -152,6 +152,8 @@ Our example report above would be called as: POST /api/extras/reports/devices.DeviceConnectionsReport/run/ ``` +Optionally `schedule_at` can be passed in the form data with a datetime string to schedule a script at the specified date and time. + ### Via the CLI Reports can be run on the CLI by invoking the management command: diff --git a/netbox/extras/api/serializers.py b/netbox/extras/api/serializers.py index b772cf95a..b34f5fba3 100644 --- a/netbox/extras/api/serializers.py +++ b/netbox/extras/api/serializers.py @@ -38,6 +38,7 @@ __all__ = ( 'ObjectChangeSerializer', 'ReportDetailSerializer', 'ReportSerializer', + 'ReportInputSerializer', 'ScriptDetailSerializer', 'ScriptInputSerializer', 'ScriptLogMessageSerializer', @@ -388,6 +389,10 @@ class ReportDetailSerializer(ReportSerializer): result = JobResultSerializer() +class ReportInputSerializer(serializers.Serializer): + schedule_at = serializers.DateTimeField(required=False, allow_null=True) + + # # Scripts # @@ -419,6 +424,7 @@ class ScriptDetailSerializer(ScriptSerializer): class ScriptInputSerializer(serializers.Serializer): data = serializers.JSONField() commit = serializers.BooleanField() + schedule_at = serializers.DateTimeField(required=False, allow_null=True) class ScriptLogMessageSerializer(serializers.Serializer): diff --git a/netbox/extras/api/views.py b/netbox/extras/api/views.py index 63003bdf2..62a011530 100644 --- a/netbox/extras/api/views.py +++ b/netbox/extras/api/views.py @@ -231,19 +231,26 @@ class ReportViewSet(ViewSet): # Retrieve and run the Report. This will create a new JobResult. report = self._retrieve_report(pk) - report_content_type = ContentType.objects.get(app_label='extras', model='report') - job_result = JobResult.enqueue_job( - run_report, - report.full_name, - report_content_type, - request.user, - job_timeout=report.job_timeout - ) - report.result = job_result + input_serializer = serializers.ReportInputSerializer(data=request.data) - serializer = serializers.ReportDetailSerializer(report, context={'request': request}) + if input_serializer.is_valid(): + schedule_at = input_serializer.validated_data.get('schedule_at') - return Response(serializer.data) + report_content_type = ContentType.objects.get(app_label='extras', model='report') + job_result = JobResult.enqueue_job( + run_report, + report.full_name, + report_content_type, + request.user, + job_timeout=report.job_timeout, + schedule_at=schedule_at, + ) + report.result = job_result + + serializer = serializers.ReportDetailSerializer(report, context={'request': request}) + + return Response(serializer.data) + return Response(input_serializer.errors, status=status.HTTP_400_BAD_REQUEST) # @@ -312,6 +319,7 @@ class ScriptViewSet(ViewSet): if input_serializer.is_valid(): data = input_serializer.data['data'] commit = input_serializer.data['commit'] + schedule_at = input_serializer.validated_data.get('schedule_at') script_content_type = ContentType.objects.get(app_label='extras', model='script') job_result = JobResult.enqueue_job( @@ -323,6 +331,7 @@ class ScriptViewSet(ViewSet): request=copy_safe_request(request), commit=commit, job_timeout=script.job_timeout, + schedule_at=schedule_at, ) script.result = job_result serializer = serializers.ScriptDetailSerializer(script, context={'request': request}) From 7505baf3a14dbb7d10436ef173b8056c94376305 Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Thu, 20 Oct 2022 15:49:13 -0400 Subject: [PATCH 094/162] Fixes #10712: Fix ModuleNotFoundError exception when generating API schema under Python 3.9+ --- docs/release-notes/version-3.3.md | 1 + requirements.txt | 3 +++ 2 files changed, 4 insertions(+) diff --git a/docs/release-notes/version-3.3.md b/docs/release-notes/version-3.3.md index d2d6849fa..de0f1a40a 100644 --- a/docs/release-notes/version-3.3.md +++ b/docs/release-notes/version-3.3.md @@ -15,6 +15,7 @@ * [#10643](https://github.com/netbox-community/netbox/issues/10643) - Ensure consistent display of custom fields for all model forms * [#10646](https://github.com/netbox-community/netbox/issues/10646) - Fix filtering of power feed by power panel when connecting a cable * [#10655](https://github.com/netbox-community/netbox/issues/10655) - Correct display of assigned contacts in object tables +* [#10712](https://github.com/netbox-community/netbox/issues/10712) - Fix ModuleNotFoundError exception when generating API schema under Python 3.9+ --- diff --git a/requirements.txt b/requirements.txt index 70bbd5c76..9afcaea03 100644 --- a/requirements.txt +++ b/requirements.txt @@ -34,3 +34,6 @@ tzdata==2022.4 # Workaround for #7401 jsonschema==3.2.0 + +# Temporary fix for #10712 +swagger-spec-validator==2.7.6 From f60312febf06b39a5ee56f55491ee1ee145e4657 Mon Sep 17 00:00:00 2001 From: Patrick Rauscher Date: Thu, 20 Oct 2022 08:51:04 +0200 Subject: [PATCH 095/162] Set *_COOKIE_PATH according to BASE_PATH As discussed in #10639, all three `COOKIE_PATH`s should be set accordingly with the netbox-`BASE_PATH` to improve coexistance with other Django-projects probably hosted on the same Host --- netbox/netbox/settings.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/netbox/netbox/settings.py b/netbox/netbox/settings.py index 0c3b1660b..14b66b2dd 100644 --- a/netbox/netbox/settings.py +++ b/netbox/netbox/settings.py @@ -85,6 +85,7 @@ CORS_ORIGIN_ALLOW_ALL = getattr(configuration, 'CORS_ORIGIN_ALLOW_ALL', False) CORS_ORIGIN_REGEX_WHITELIST = getattr(configuration, 'CORS_ORIGIN_REGEX_WHITELIST', []) CORS_ORIGIN_WHITELIST = getattr(configuration, 'CORS_ORIGIN_WHITELIST', []) CSRF_COOKIE_NAME = getattr(configuration, 'CSRF_COOKIE_NAME', 'csrftoken') +CSRF_COOKIE_PATH = BASE_PATH or '/' CSRF_TRUSTED_ORIGINS = getattr(configuration, 'CSRF_TRUSTED_ORIGINS', []) DATE_FORMAT = getattr(configuration, 'DATE_FORMAT', 'N j, Y') DATETIME_FORMAT = getattr(configuration, 'DATETIME_FORMAT', 'N j, Y g:i a') @@ -129,6 +130,8 @@ SENTRY_TRACES_SAMPLE_RATE = getattr(configuration, 'SENTRY_TRACES_SAMPLE_RATE', SENTRY_TAGS = getattr(configuration, 'SENTRY_TAGS', {}) SESSION_FILE_PATH = getattr(configuration, 'SESSION_FILE_PATH', None) SESSION_COOKIE_NAME = getattr(configuration, 'SESSION_COOKIE_NAME', 'sessionid') +SESSION_COOKIE_PATH = BASE_PATH or '/' +LANGUAGE_COOKIE_PATH = BASE_PATH or '/' SHORT_DATE_FORMAT = getattr(configuration, 'SHORT_DATE_FORMAT', 'Y-m-d') SHORT_DATETIME_FORMAT = getattr(configuration, 'SHORT_DATETIME_FORMAT', 'Y-m-d H:i') SHORT_TIME_FORMAT = getattr(configuration, 'SHORT_TIME_FORMAT', 'H:i:s') From 53c9c3cf8dbe96f6e8b6f40a14c71a52cb2247f6 Mon Sep 17 00:00:00 2001 From: Craig Pund Date: Thu, 20 Oct 2022 16:26:26 -0400 Subject: [PATCH 096/162] Fixes #10580 (#10687) * change IP address accessor to parent object * set IP assigned check to link to interface * Fix Assigned not being orderable Co-authored-by: Jeremy Stretch Co-authored-by: Craig Pund Co-authored-by: Jeremy Stretch --- netbox/ipam/tables/ip.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/netbox/ipam/tables/ip.py b/netbox/ipam/tables/ip.py index a820385ed..44f40b8a1 100644 --- a/netbox/ipam/tables/ip.py +++ b/netbox/ipam/tables/ip.py @@ -375,7 +375,7 @@ class IPAddressTable(TenancyColumnsMixin, NetBoxTable): ) assigned = columns.BooleanColumn( accessor='assigned_object_id', - linkify=True, + linkify=lambda record: record.assigned_object.get_absolute_url(), verbose_name='Assigned' ) tags = columns.TagColumn( From e7659a5f99801966124df765c799c8f26957f9d6 Mon Sep 17 00:00:00 2001 From: Arthur Hanson Date: Thu, 20 Oct 2022 13:27:51 -0700 Subject: [PATCH 097/162] 9584 add device type (slug) to filter list (#10630) * 9584 add device type (slug) to filter list * 9584 add test --- netbox/dcim/filtersets.py | 6 ++++++ netbox/dcim/tests/test_filtersets.py | 2 ++ 2 files changed, 8 insertions(+) diff --git a/netbox/dcim/filtersets.py b/netbox/dcim/filtersets.py index 0a4439173..a999383c7 100644 --- a/netbox/dcim/filtersets.py +++ b/netbox/dcim/filtersets.py @@ -800,6 +800,12 @@ class DeviceFilterSet(NetBoxModelFilterSet, TenancyFilterSet, ContactModelFilter to_field_name='slug', label='Manufacturer (slug)', ) + device_type = django_filters.ModelMultipleChoiceFilter( + field_name='device_type__slug', + queryset=DeviceType.objects.all(), + to_field_name='slug', + label='Device type (slug)', + ) device_type_id = django_filters.ModelMultipleChoiceFilter( queryset=DeviceType.objects.all(), label='Device type (ID)', diff --git a/netbox/dcim/tests/test_filtersets.py b/netbox/dcim/tests/test_filtersets.py index feef4e90c..05bb64796 100644 --- a/netbox/dcim/tests/test_filtersets.py +++ b/netbox/dcim/tests/test_filtersets.py @@ -1643,6 +1643,8 @@ class DeviceTestCase(TestCase, ChangeLoggedFilterSetTests): device_types = DeviceType.objects.all()[:2] params = {'device_type_id': [device_types[0].pk, device_types[1].pk]} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) + params = {'device_type': [device_types[0].slug, device_types[1].slug]} + self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) def test_devicerole(self): device_roles = DeviceRole.objects.all()[:2] From 96c469641796b2b12ce643363d41d823670b68db Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Thu, 20 Oct 2022 16:31:52 -0400 Subject: [PATCH 098/162] Changelog for #9584, #10580, #10639 --- docs/release-notes/version-3.3.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/release-notes/version-3.3.md b/docs/release-notes/version-3.3.md index de0f1a40a..5f3d50098 100644 --- a/docs/release-notes/version-3.3.md +++ b/docs/release-notes/version-3.3.md @@ -4,7 +4,10 @@ ### Enhancements +* [#9584](https://github.com/netbox-community/netbox/issues/9584) - Enable filtering devices by device type slug * [#9722](https://github.com/netbox-community/netbox/issues/9722) - Add LDAP configuration parameters to specify certificates +* [#10580](https://github.com/netbox-community/netbox/issues/10580) - Link "assigned" checkbox in IP address table to assigned interface +* [#10639](https://github.com/netbox-community/netbox/issues/10639) - Set cookie paths according to configured `BASE_PATH` * [#10685](https://github.com/netbox-community/netbox/issues/10685) - Position A/Z termination cards above the fold under circuit view ### Bug Fixes From ed2f7f12369fe0b8f2dc2a5910840c928126a1b8 Mon Sep 17 00:00:00 2001 From: kkthxbye-code Date: Fri, 21 Oct 2022 10:30:59 +0200 Subject: [PATCH 099/162] Job scheduling review changes --- .../management/commands/housekeeping.py | 2 +- netbox/extras/models/models.py | 5 ++- netbox/extras/views.py | 44 +++++++++---------- 3 files changed, 26 insertions(+), 25 deletions(-) diff --git a/netbox/extras/management/commands/housekeeping.py b/netbox/extras/management/commands/housekeeping.py index d2f2b1776..42690568d 100644 --- a/netbox/extras/management/commands/housekeeping.py +++ b/netbox/extras/management/commands/housekeeping.py @@ -81,7 +81,7 @@ class Command(BaseCommand): ending="" ) self.stdout.flush() - JobResult.objects.filter(created__lt=cutoff).delete(using=DEFAULT_DB_ALIAS) + JobResult.objects.filter(created__lt=cutoff).delete() if options['verbosity']: self.stdout.write("Done.", self.style.SUCCESS) elif options['verbosity']: diff --git a/netbox/extras/models/models.py b/netbox/extras/models/models.py index 83036d8a1..6d7d2ae04 100644 --- a/netbox/extras/models/models.py +++ b/netbox/extras/models/models.py @@ -569,7 +569,7 @@ class JobResult(models.Model): self.completed = timezone.now() @classmethod - def enqueue_job(cls, func, name, obj_type, user, *args, **kwargs): + def enqueue_job(cls, func, name, obj_type, user, schedule_at=None, *args, **kwargs): """ Create a JobResult instance and enqueue a job using the given callable @@ -577,6 +577,7 @@ class JobResult(models.Model): name: Name for the JobResult instance obj_type: ContentType to link to the JobResult instance obj_type user: User object to link to the JobResult instance + schedule_at: Schedule the job to be executed at the passed date and time args: additional args passed to the callable kwargs: additional kargs passed to the callable """ @@ -589,7 +590,7 @@ class JobResult(models.Model): queue = django_rq.get_queue("default") - if schedule_at := kwargs.pop("schedule_at", None): + if schedule_at: job_result.status = JobResultStatusChoices.STATUS_SCHEDULED job_result.scheduled_time = schedule_at job_result.save() diff --git a/netbox/extras/views.py b/netbox/extras/views.py index a5da5a17c..c31cd2695 100644 --- a/netbox/extras/views.py +++ b/netbox/extras/views.py @@ -612,26 +612,30 @@ class ReportView(ContentTypePermissionRequiredMixin, View): if form.is_valid(): schedule_at = form.cleaned_data.get("schedule_at") - # Allow execution only if RQ worker process is running - if not Worker.count(get_connection('default')): - messages.error(request, "Unable to run report: RQ worker process not running.") - return render(request, 'extras/report.html', { - 'report': report, - }) + # Allow execution only if RQ worker process is running + if not Worker.count(get_connection('default')): + messages.error(request, "Unable to run report: RQ worker process not running.") + return render(request, 'extras/report.html', { + 'report': report, + }) - # Run the Report. A new JobResult is created. - report_content_type = ContentType.objects.get(app_label='extras', model='report') - job_result = JobResult.enqueue_job( - run_report, - report.full_name, - report_content_type, - request.user, - job_timeout=report.job_timeout, - schedule_at=schedule_at, - ) - - return redirect('extras:report_result', job_result_pk=job_result.pk) + # Run the Report. A new JobResult is created. + report_content_type = ContentType.objects.get(app_label='extras', model='report') + job_result = JobResult.enqueue_job( + run_report, + report.full_name, + report_content_type, + request.user, + job_timeout=report.job_timeout, + schedule_at=schedule_at, + ) + return redirect('extras:report_result', job_result_pk=job_result.pk) + + return render(request, 'extras/report.html', { + 'report': report, + 'form': form, + }) class ReportResultView(ContentTypePermissionRequiredMixin, View): """ @@ -804,10 +808,6 @@ class ScriptResultView(ContentTypePermissionRequiredMixin, GetScriptMixin, View) # Job results # -class JobResultView(generic.ObjectView): - queryset = JobResult.objects.all() - - class JobResultListView(generic.ObjectListView): queryset = JobResult.objects.all() filterset = filtersets.JobResultFilterSet From 72ba57052a08158473d0ff2feeadeca78dc94ec2 Mon Sep 17 00:00:00 2001 From: kkthxbye-code Date: Fri, 21 Oct 2022 10:42:49 +0200 Subject: [PATCH 100/162] PEP8 fix --- netbox/extras/views.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/netbox/extras/views.py b/netbox/extras/views.py index c31cd2695..c042c248a 100644 --- a/netbox/extras/views.py +++ b/netbox/extras/views.py @@ -631,12 +631,13 @@ class ReportView(ContentTypePermissionRequiredMixin, View): ) return redirect('extras:report_result', job_result_pk=job_result.pk) - + return render(request, 'extras/report.html', { 'report': report, 'form': form, }) + class ReportResultView(ContentTypePermissionRequiredMixin, View): """ Display a JobResult pertaining to the execution of a Report. From 5e5228ff1245adff047aface6ba7ce7ec87b5cd7 Mon Sep 17 00:00:00 2001 From: kkthxbye-code Date: Fri, 21 Oct 2022 15:53:39 +0200 Subject: [PATCH 101/162] Fix JobResultFilterset to use DateTimeField to perserve bc compat --- netbox/extras/filtersets.py | 30 +++++++++++++++++++++++++++--- netbox/extras/forms/filtersets.py | 15 ++++++++------- 2 files changed, 35 insertions(+), 10 deletions(-) diff --git a/netbox/extras/filtersets.py b/netbox/extras/filtersets.py index 257cbdca9..8c9c58a13 100644 --- a/netbox/extras/filtersets.py +++ b/netbox/extras/filtersets.py @@ -435,9 +435,33 @@ class JobResultFilterSet(BaseFilterSet): method='search', label='Search', ) - created = django_filters.DateTimeFromToRangeFilter() - completed = django_filters.DateTimeFromToRangeFilter() - scheduled_time = django_filters.DateTimeFromToRangeFilter() + created = django_filters.DateTimeFilter() + created__before = django_filters.DateTimeFilter( + field_name='created', + lookup_expr='lte' + ) + created__after = django_filters.DateTimeFilter( + field_name='created', + lookup_expr='gte' + ) + completed = django_filters.DateTimeFilter() + completed__before = django_filters.DateTimeFilter( + field_name='completed', + lookup_expr='lte' + ) + completed__after = django_filters.DateTimeFilter( + field_name='completed', + lookup_expr='gte' + ) + scheduled_time = django_filters.DateTimeFilter() + scheduled_time__before = django_filters.DateTimeFilter( + field_name='scheduled_time', + lookup_expr='lte' + ) + scheduled_time__after = django_filters.DateTimeFilter( + field_name='scheduled_time', + lookup_expr='gte' + ) status = django_filters.MultipleChoiceFilter( choices=JobResultStatusChoices, null_value=None diff --git a/netbox/extras/forms/filtersets.py b/netbox/extras/forms/filtersets.py index 80ed0f208..059f0d9f2 100644 --- a/netbox/extras/forms/filtersets.py +++ b/netbox/extras/forms/filtersets.py @@ -70,7 +70,8 @@ class JobResultFilterForm(FilterForm): fieldsets = ( (None, ('q',)), ('Attributes', ('obj_type', 'status')), - ('Creation', ('created_before', 'created_after', 'completed_before', 'completed_after', 'scheduled_time_before', 'scheduled_time_after', 'user')), + ('Creation', ('created__before', 'created__after', 'completed__before', 'completed__after', + 'scheduled_time__before', 'scheduled_time__after', 'user')), ) obj_type = ContentTypeChoiceField( @@ -83,27 +84,27 @@ class JobResultFilterForm(FilterForm): choices=JobResultStatusChoices, required=False ) - created_after = forms.DateTimeField( + created__after = forms.DateTimeField( required=False, widget=DateTimePicker() ) - created_before = forms.DateTimeField( + created__before = forms.DateTimeField( required=False, widget=DateTimePicker() ) - completed_after = forms.DateTimeField( + completed__after = forms.DateTimeField( required=False, widget=DateTimePicker() ) - completed_before = forms.DateTimeField( + completed__before = forms.DateTimeField( required=False, widget=DateTimePicker() ) - scheduled_time_after = forms.DateTimeField( + scheduled_time__after = forms.DateTimeField( required=False, widget=DateTimePicker() ) - scheduled_time_before = forms.DateTimeField( + scheduled_time__before = forms.DateTimeField( required=False, widget=DateTimePicker() ) From 3d687a6c2d71807cc25ad5d78f29b99d42243107 Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Fri, 21 Oct 2022 12:39:03 -0400 Subject: [PATCH 102/162] Closes #10718: Optimize object-based permissions enforcement --- netbox/netbox/api/viewsets/mixins.py | 5 ++--- netbox/netbox/views/generic/object_views.py | 4 ++-- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/netbox/netbox/api/viewsets/mixins.py b/netbox/netbox/api/viewsets/mixins.py index 7dc1111f3..b47c88a4e 100644 --- a/netbox/netbox/api/viewsets/mixins.py +++ b/netbox/netbox/api/viewsets/mixins.py @@ -108,6 +108,5 @@ class ObjectValidationMixin: conforming_count = self.queryset.filter(pk__in=[obj.pk for obj in instance]).count() if conforming_count != len(instance): raise ObjectDoesNotExist - else: - # Check that the instance is matched by the view's queryset - self.queryset.get(pk=instance.pk) + elif not self.queryset.filter(pk=instance.pk).exists(): + raise ObjectDoesNotExist diff --git a/netbox/netbox/views/generic/object_views.py b/netbox/netbox/views/generic/object_views.py index a56a832b6..3b0c77251 100644 --- a/netbox/netbox/views/generic/object_views.py +++ b/netbox/netbox/views/generic/object_views.py @@ -173,7 +173,7 @@ class ObjectImportView(GetReturnURLMixin, BaseObjectView): obj = model_form.save() # Enforce object-level permissions - if not self.queryset.filter(pk=obj.pk).first(): + if not self.queryset.filter(pk=obj.pk).exists(): raise PermissionsViolation() # Iterate through the related object forms (if any), validating and saving each instance. @@ -390,7 +390,7 @@ class ObjectEditView(GetReturnURLMixin, BaseObjectView): obj = form.save() # Check that the new object conforms with any assigned object-level permissions - if not self.queryset.filter(pk=obj.pk).first(): + if not self.queryset.filter(pk=obj.pk).exists(): raise PermissionsViolation() msg = '{} {}'.format( From 4c504870e029058d8e1cfeaaea84ac31b93a55e9 Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Fri, 21 Oct 2022 12:47:19 -0400 Subject: [PATCH 103/162] Tweak PR template language --- .github/PULL_REQUEST_TEMPLATE.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 33134cb45..0bbbe90c7 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -1,13 +1,14 @@ ### Fixes: #1234 From 9628dead07ccef9608b32906aa8194bc948e5a09 Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Fri, 21 Oct 2022 13:16:16 -0400 Subject: [PATCH 104/162] Closes #10560: New global search (#10676) * Initial work on new search backend * Clean up search backends * Return only the most relevant result per object * Clear any pre-existing cached entries on cache() * #6003: Implement global search functionality for custom field values * Tweak field weights & document guidance * Extend search() to accept a lookup type * Move get_registry() out of SearchBackend * Enforce object permissions when returning search results * Add indexers for remaining models * Avoid calling remove() on non-cacheable objects * Use new search backend by default * Extend search backend to filter by object type * Clean up search view form * Enable specifying lookup logic * Add indexes for value field * Remove object type selector from search bar * Introduce SearchTable and enable HTMX for results * Enable pagination * Remove legacy search backend * Cleanup * Use a UUID for CachedValue primary key * Refactoring search methods * Define max search results limit * Extend reindex command to support specifying particular models * Add clear() and size to SearchBackend * Optimize bulk caching performance * Highlight matched portion of field value * Performance improvements for reindexing * Started on search tests * Cleanup & docs * Documentation updates * Clean up SearchIndex * Flatten search registry to register by app_label.model_name * Clean up search backend classes * Clean up RestrictedGenericForeignKey and RestrictedPrefetch * Resolve migrations conflict --- docs/configuration/system.md | 8 + docs/development/search.md | 37 ++ docs/plugins/development/search.md | 15 +- docs/release-notes/version-3.4.md | 4 + mkdocs.yml | 1 + netbox/circuits/search.py | 73 +-- netbox/dcim/search.py | 422 ++++++++++++------ netbox/extras/api/serializers.py | 4 +- netbox/extras/filtersets.py | 4 +- netbox/extras/forms/bulk_import.py | 4 +- netbox/extras/forms/models.py | 4 +- netbox/extras/management/commands/reindex.py | 77 ++++ .../migrations/0079_change_jobresult_order.py | 17 - ...me.py => 0079_jobresult_scheduled_time.py} | 8 +- netbox/extras/migrations/0080_search.py | 35 ++ netbox/extras/models/__init__.py | 2 + netbox/extras/models/customfields.py | 25 +- netbox/extras/models/search.py | 50 +++ netbox/extras/plugins/__init__.py | 2 +- netbox/extras/registry.py | 2 +- netbox/extras/search.py | 15 +- netbox/extras/tables/tables.py | 4 +- netbox/extras/tests/dummy_plugin/search.py | 5 +- netbox/extras/tests/test_customfields.py | 2 + netbox/extras/tests/test_views.py | 11 +- netbox/ipam/search.py | 186 +++++--- netbox/netbox/constants.py | 3 - netbox/netbox/forms/__init__.py | 59 +-- netbox/netbox/search/__init__.py | 106 ++++- netbox/netbox/search/backends.py | 269 +++++++---- netbox/netbox/settings.py | 2 +- netbox/netbox/tables/tables.py | 41 ++ netbox/netbox/tests/test_search.py | 153 +++++++ netbox/netbox/views/__init__.py | 54 ++- netbox/project-static/dist/netbox.js | Bin 381426 -> 380899 bytes netbox/project-static/dist/netbox.js.map | Bin 354103 -> 353676 bytes netbox/project-static/src/netbox.ts | 4 +- netbox/project-static/src/search.ts | 51 +-- netbox/templates/base/layout.html | 5 +- netbox/templates/extras/customfield.html | 14 +- netbox/templates/inc/searchbar.html | 6 + netbox/templates/search.html | 88 +--- netbox/tenancy/search.py | 72 ++- netbox/utilities/fields.py | 70 +++ netbox/utilities/querysets.py | 28 +- .../utilities/templates/search/searchbar.html | 50 --- netbox/utilities/templatetags/search.py | 18 - netbox/utilities/utils.py | 22 + netbox/virtualization/search.py | 64 ++- netbox/wireless/search.py | 42 +- 50 files changed, 1571 insertions(+), 667 deletions(-) create mode 100644 docs/development/search.md create mode 100644 netbox/extras/management/commands/reindex.py delete mode 100644 netbox/extras/migrations/0079_change_jobresult_order.py rename netbox/extras/migrations/{0080_add_jobresult_scheduled_time.py => 0079_jobresult_scheduled_time.py} (64%) create mode 100644 netbox/extras/migrations/0080_search.py create mode 100644 netbox/extras/models/search.py create mode 100644 netbox/netbox/tests/test_search.py create mode 100644 netbox/templates/inc/searchbar.html delete mode 100644 netbox/utilities/templates/search/searchbar.html delete mode 100644 netbox/utilities/templatetags/search.py diff --git a/docs/configuration/system.md b/docs/configuration/system.md index 93f8fa902..3756b6a83 100644 --- a/docs/configuration/system.md +++ b/docs/configuration/system.md @@ -157,6 +157,14 @@ The file path to the location where [custom scripts](../customization/custom-scr --- +## SEARCH_BACKEND + +Default: `'netbox.search.backends.CachedValueSearchBackend'` + +The dotted path to the desired search backend class. `CachedValueSearchBackend` is currently the only search backend provided in NetBox, however this setting can be used to enable a custom backend. + +--- + ## STORAGE_BACKEND Default: None (local storage) diff --git a/docs/development/search.md b/docs/development/search.md new file mode 100644 index 000000000..02bcaa898 --- /dev/null +++ b/docs/development/search.md @@ -0,0 +1,37 @@ +# Search + +NetBox v3.4 introduced a new global search mechanism, which employs the `extras.CachedValue` model to store discrete field values from many models in a single table. + +## SearchIndex + +To enable search support for a model, declare and register a subclass of `netbox.search.SearchIndex` for it. Typically, this will be done within an app's `search.py` module. + +```python +from netbox.search import SearchIndex, register_search + +@register_search +class MyModelIndex(SearchIndex): + model = MyModel + fields = ( + ('name', 100), + ('description', 500), + ('comments', 5000), + ) +``` + +A SearchIndex subclass defines both its model and a list of two-tuples specifying which model fields to be indexed and the weight (precedence) associated with each. Guidance on weight assignment for fields is provided below. + +### Field Weight Guidance + +| Weight | Field Role | Examples | +|--------|--------------------------------------------------|----------------------------------------------------| +| 50 | Unique serialized attribute | Device.asset_tag | +| 60 | Unique serialized attribute (per related object) | Device.serial | +| 100 | Primary human identifier | Device.name, Circuit.cid, Cable.label | +| 110 | Slug | Site.slug | +| 200 | Secondary identifier | Provider.account, DeviceType.part_number | +| 300 | Highly unique descriptive attribute | CircuitTermination.xconnect_id, IPAddress.dns_name | +| 500 | Description | Site.description | +| 1000 | Custom field default | - | +| 2000 | Other discrete attribute | CircuitTermination.port_speed | +| 5000 | Comment field | Site.comments | diff --git a/docs/plugins/development/search.md b/docs/plugins/development/search.md index 13edd4527..e3b861f00 100644 --- a/docs/plugins/development/search.md +++ b/docs/plugins/development/search.md @@ -4,17 +4,16 @@ Plugins can define and register their own models to extend NetBox's core search ```python # search.py -from netbox.search import SearchMixin -from .filters import MyModelFilterSet -from .tables import MyModelTable +from netbox.search import SearchIndex from .models import MyModel -class MyModelIndex(SearchMixin): +class MyModelIndex(SearchIndex): model = MyModel - queryset = MyModel.objects.all() - filterset = MyModelFilterSet - table = MyModelTable - url = 'plugins:myplugin:mymodel_list' + fields = ( + ('name', 100), + ('description', 500), + ('comments', 5000), + ) ``` To register one or more indexes with NetBox, define a list named `indexes` at the end of this file: diff --git a/docs/release-notes/version-3.4.md b/docs/release-notes/version-3.4.md index 8a9c61e22..80b94d6c2 100644 --- a/docs/release-notes/version-3.4.md +++ b/docs/release-notes/version-3.4.md @@ -11,6 +11,10 @@ ### New Features +#### New Global Search ([#10560](https://github.com/netbox-community/netbox/issues/10560)) + +NetBox's global search functionality has been completely overhauled and replaced by a new cache-based lookup. + #### Top-Level Plugin Navigation Menus ([#9071](https://github.com/netbox-community/netbox/issues/9071)) A new `PluginMenu` class has been introduced, which enables a plugin to inject a top-level menu in NetBox's navigation menu. This menu can have one or more groups of menu items, just like core items. Backward compatibility with the existing `menu_items` has been maintained. diff --git a/mkdocs.yml b/mkdocs.yml index fc3a40632..011d4414f 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -245,6 +245,7 @@ nav: - Adding Models: 'development/adding-models.md' - Extending Models: 'development/extending-models.md' - Signals: 'development/signals.md' + - Search: 'development/search.md' - Application Registry: 'development/application-registry.md' - User Preferences: 'development/user-preferences.md' - Web UI: 'development/web-ui.md' diff --git a/netbox/circuits/search.py b/netbox/circuits/search.py index 5adfb97fb..673f6308f 100644 --- a/netbox/circuits/search.py +++ b/netbox/circuits/search.py @@ -1,34 +1,55 @@ -import circuits.filtersets -import circuits.tables -from circuits.models import Circuit, Provider, ProviderNetwork from netbox.search import SearchIndex, register_search -from utilities.utils import count_related +from . import models -@register_search() -class ProviderIndex(SearchIndex): - model = Provider - queryset = Provider.objects.annotate(count_circuits=count_related(Circuit, 'provider')) - filterset = circuits.filtersets.ProviderFilterSet - table = circuits.tables.ProviderTable - url = 'circuits:provider_list' - - -@register_search() +@register_search class CircuitIndex(SearchIndex): - model = Circuit - queryset = Circuit.objects.prefetch_related( - 'type', 'provider', 'tenant', 'tenant__group', 'terminations__site' + model = models.Circuit + fields = ( + ('cid', 100), + ('description', 500), + ('comments', 5000), ) - filterset = circuits.filtersets.CircuitFilterSet - table = circuits.tables.CircuitTable - url = 'circuits:circuit_list' -@register_search() +@register_search +class CircuitTerminationIndex(SearchIndex): + model = models.CircuitTermination + fields = ( + ('xconnect_id', 300), + ('pp_info', 300), + ('description', 500), + ('port_speed', 2000), + ('upstream_speed', 2000), + ) + + +@register_search +class CircuitTypeIndex(SearchIndex): + model = models.CircuitType + fields = ( + ('name', 100), + ('slug', 110), + ('description', 500), + ) + + +@register_search +class ProviderIndex(SearchIndex): + model = models.Provider + fields = ( + ('name', 100), + ('account', 200), + ('comments', 5000), + ) + + +@register_search class ProviderNetworkIndex(SearchIndex): - model = ProviderNetwork - queryset = ProviderNetwork.objects.prefetch_related('provider') - filterset = circuits.filtersets.ProviderNetworkFilterSet - table = circuits.tables.ProviderNetworkTable - url = 'circuits:providernetwork_list' + model = models.ProviderNetwork + fields = ( + ('name', 100), + ('service_id', 200), + ('description', 500), + ('comments', 5000), + ) diff --git a/netbox/dcim/search.py b/netbox/dcim/search.py index b179402ce..d34a78888 100644 --- a/netbox/dcim/search.py +++ b/netbox/dcim/search.py @@ -1,143 +1,293 @@ -import dcim.filtersets -import dcim.tables -from dcim.models import ( - Cable, - Device, - DeviceType, - Location, - Module, - ModuleType, - PowerFeed, - Rack, - RackReservation, - Site, - VirtualChassis, -) from netbox.search import SearchIndex, register_search -from utilities.utils import count_related +from . import models -@register_search() -class SiteIndex(SearchIndex): - model = Site - queryset = Site.objects.prefetch_related('region', 'tenant', 'tenant__group') - filterset = dcim.filtersets.SiteFilterSet - table = dcim.tables.SiteTable - url = 'dcim:site_list' - - -@register_search() -class RackIndex(SearchIndex): - model = Rack - queryset = Rack.objects.prefetch_related('site', 'location', 'tenant', 'tenant__group', 'role').annotate( - device_count=count_related(Device, 'rack') - ) - filterset = dcim.filtersets.RackFilterSet - table = dcim.tables.RackTable - url = 'dcim:rack_list' - - -@register_search() -class RackReservationIndex(SearchIndex): - model = RackReservation - queryset = RackReservation.objects.prefetch_related('rack', 'user') - filterset = dcim.filtersets.RackReservationFilterSet - table = dcim.tables.RackReservationTable - url = 'dcim:rackreservation_list' - - -@register_search() -class LocationIndex(SearchIndex): - model = Location - queryset = Location.objects.add_related_count( - Location.objects.add_related_count(Location.objects.all(), Device, 'location', 'device_count', cumulative=True), - Rack, - 'location', - 'rack_count', - cumulative=True, - ).prefetch_related('site') - filterset = dcim.filtersets.LocationFilterSet - table = dcim.tables.LocationTable - url = 'dcim:location_list' - - -@register_search() -class DeviceTypeIndex(SearchIndex): - model = DeviceType - queryset = DeviceType.objects.prefetch_related('manufacturer').annotate( - instance_count=count_related(Device, 'device_type') - ) - filterset = dcim.filtersets.DeviceTypeFilterSet - table = dcim.tables.DeviceTypeTable - url = 'dcim:devicetype_list' - - -@register_search() -class DeviceIndex(SearchIndex): - model = Device - queryset = Device.objects.prefetch_related( - 'device_type__manufacturer', - 'device_role', - 'tenant', - 'tenant__group', - 'site', - 'rack', - 'primary_ip4', - 'primary_ip6', - ) - filterset = dcim.filtersets.DeviceFilterSet - table = dcim.tables.DeviceTable - url = 'dcim:device_list' - - -@register_search() -class ModuleTypeIndex(SearchIndex): - model = ModuleType - queryset = ModuleType.objects.prefetch_related('manufacturer').annotate( - instance_count=count_related(Module, 'module_type') - ) - filterset = dcim.filtersets.ModuleTypeFilterSet - table = dcim.tables.ModuleTypeTable - url = 'dcim:moduletype_list' - - -@register_search() -class ModuleIndex(SearchIndex): - model = Module - queryset = Module.objects.prefetch_related( - 'module_type__manufacturer', - 'device', - 'module_bay', - ) - filterset = dcim.filtersets.ModuleFilterSet - table = dcim.tables.ModuleTable - url = 'dcim:module_list' - - -@register_search() -class VirtualChassisIndex(SearchIndex): - model = VirtualChassis - queryset = VirtualChassis.objects.prefetch_related('master').annotate( - member_count=count_related(Device, 'virtual_chassis') - ) - filterset = dcim.filtersets.VirtualChassisFilterSet - table = dcim.tables.VirtualChassisTable - url = 'dcim:virtualchassis_list' - - -@register_search() +@register_search class CableIndex(SearchIndex): - model = Cable - queryset = Cable.objects.all() - filterset = dcim.filtersets.CableFilterSet - table = dcim.tables.CableTable - url = 'dcim:cable_list' + model = models.Cable + fields = ( + ('label', 100), + ) -@register_search() +@register_search +class ConsolePortIndex(SearchIndex): + model = models.ConsolePort + fields = ( + ('name', 100), + ('label', 200), + ('description', 500), + ('speed', 2000), + ) + + +@register_search +class ConsoleServerPortIndex(SearchIndex): + model = models.ConsoleServerPort + fields = ( + ('name', 100), + ('label', 200), + ('description', 500), + ('speed', 2000), + ) + + +@register_search +class DeviceIndex(SearchIndex): + model = models.Device + fields = ( + ('asset_tag', 50), + ('serial', 60), + ('name', 100), + ('comments', 5000), + ) + + +@register_search +class DeviceBayIndex(SearchIndex): + model = models.DeviceBay + fields = ( + ('name', 100), + ('label', 200), + ('description', 500), + ) + + +@register_search +class DeviceRoleIndex(SearchIndex): + model = models.DeviceRole + fields = ( + ('name', 100), + ('slug', 110), + ('description', 500), + ) + + +@register_search +class DeviceTypeIndex(SearchIndex): + model = models.DeviceType + fields = ( + ('model', 100), + ('part_number', 200), + ('comments', 5000), + ) + + +@register_search +class FrontPortIndex(SearchIndex): + model = models.FrontPort + fields = ( + ('name', 100), + ('label', 200), + ('description', 500), + ) + + +@register_search +class InterfaceIndex(SearchIndex): + model = models.Interface + fields = ( + ('name', 100), + ('label', 200), + ('mac_address', 300), + ('wwn', 300), + ('description', 500), + ('mtu', 2000), + ('speed', 2000), + ) + + +@register_search +class InventoryItemIndex(SearchIndex): + model = models.InventoryItem + fields = ( + ('asset_tag', 50), + ('serial', 60), + ('name', 100), + ('label', 200), + ('description', 500), + ('part_id', 2000), + ) + + +@register_search +class LocationIndex(SearchIndex): + model = models.Location + fields = ( + ('name', 100), + ('slug', 110), + ('description', 500), + ) + + +@register_search +class ManufacturerIndex(SearchIndex): + model = models.Manufacturer + fields = ( + ('name', 100), + ('slug', 110), + ('description', 500), + ) + + +@register_search +class ModuleIndex(SearchIndex): + model = models.Module + fields = ( + ('asset_tag', 50), + ('serial', 60), + ('comments', 5000), + ) + + +@register_search +class ModuleBayIndex(SearchIndex): + model = models.ModuleBay + fields = ( + ('name', 100), + ('label', 200), + ('description', 500), + ) + + +@register_search +class ModuleTypeIndex(SearchIndex): + model = models.ModuleType + fields = ( + ('model', 100), + ('part_number', 200), + ('comments', 5000), + ) + + +@register_search +class PlatformIndex(SearchIndex): + model = models.Platform + fields = ( + ('name', 100), + ('slug', 110), + ('napalm_driver', 300), + ('description', 500), + ) + + +@register_search class PowerFeedIndex(SearchIndex): - model = PowerFeed - queryset = PowerFeed.objects.all() - filterset = dcim.filtersets.PowerFeedFilterSet - table = dcim.tables.PowerFeedTable - url = 'dcim:powerfeed_list' + model = models.PowerFeed + fields = ( + ('name', 100), + ('comments', 5000), + ) + + +@register_search +class PowerOutletIndex(SearchIndex): + model = models.PowerOutlet + fields = ( + ('name', 100), + ('label', 200), + ('description', 500), + ) + + +@register_search +class PowerPanelIndex(SearchIndex): + model = models.PowerPanel + fields = ( + ('name', 100), + ) + + +@register_search +class PowerPortIndex(SearchIndex): + model = models.PowerPort + fields = ( + ('name', 100), + ('label', 200), + ('description', 500), + ('maximum_draw', 2000), + ('allocated_draw', 2000), + ) + + +@register_search +class RackIndex(SearchIndex): + model = models.Rack + fields = ( + ('asset_tag', 50), + ('serial', 60), + ('name', 100), + ('facility_id', 200), + ('comments', 5000), + ) + + +@register_search +class RackReservationIndex(SearchIndex): + model = models.RackReservation + fields = ( + ('description', 500), + ) + + +@register_search +class RackRoleIndex(SearchIndex): + model = models.RackRole + fields = ( + ('name', 100), + ('slug', 110), + ('description', 500), + ) + + +@register_search +class RearPortIndex(SearchIndex): + model = models.RearPort + fields = ( + ('name', 100), + ('label', 200), + ('description', 500), + ) + + +@register_search +class RegionIndex(SearchIndex): + model = models.Region + fields = ( + ('name', 100), + ('slug', 110), + ('description', 500) + ) + + +@register_search +class SiteIndex(SearchIndex): + model = models.Site + fields = ( + ('name', 100), + ('facility', 100), + ('slug', 110), + ('description', 500), + ('physical_address', 2000), + ('shipping_address', 2000), + ('comments', 5000), + ) + + +@register_search +class SiteGroupIndex(SearchIndex): + model = models.SiteGroup + fields = ( + ('name', 100), + ('slug', 110), + ('description', 500) + ) + + +@register_search +class VirtualChassisIndex(SearchIndex): + model = models.VirtualChassis + fields = ( + ('name', 100), + ('domain', 300) + ) diff --git a/netbox/extras/api/serializers.py b/netbox/extras/api/serializers.py index b34f5fba3..99f4dd02b 100644 --- a/netbox/extras/api/serializers.py +++ b/netbox/extras/api/serializers.py @@ -92,8 +92,8 @@ class CustomFieldSerializer(ValidatedModelSerializer): model = CustomField fields = [ 'id', 'url', 'display', 'content_types', 'type', 'object_type', 'data_type', 'name', 'label', 'group_name', - 'description', 'required', 'filter_logic', 'ui_visibility', 'default', 'weight', 'validation_minimum', - 'validation_maximum', 'validation_regex', 'choices', 'created', 'last_updated', + 'description', 'required', 'search_weight', 'filter_logic', 'ui_visibility', 'default', 'weight', + 'validation_minimum', 'validation_maximum', 'validation_regex', 'choices', 'created', 'last_updated', ] def get_data_type(self, obj): diff --git a/netbox/extras/filtersets.py b/netbox/extras/filtersets.py index 8c9c58a13..1b1b049c7 100644 --- a/netbox/extras/filtersets.py +++ b/netbox/extras/filtersets.py @@ -73,8 +73,8 @@ class CustomFieldFilterSet(BaseFilterSet): class Meta: model = CustomField fields = [ - 'id', 'content_types', 'name', 'group_name', 'required', 'filter_logic', 'ui_visibility', 'weight', - 'description', + 'id', 'content_types', 'name', 'group_name', 'required', 'search_weight', 'filter_logic', 'ui_visibility', + 'weight', 'description', ] def search(self, queryset, name, value): diff --git a/netbox/extras/forms/bulk_import.py b/netbox/extras/forms/bulk_import.py index e83cac3b9..0303dae30 100644 --- a/netbox/extras/forms/bulk_import.py +++ b/netbox/extras/forms/bulk_import.py @@ -46,8 +46,8 @@ class CustomFieldCSVForm(CSVModelForm): class Meta: model = CustomField fields = ( - 'name', 'label', 'group_name', 'type', 'content_types', 'object_type', 'required', 'description', 'weight', - 'filter_logic', 'default', 'choices', 'weight', 'validation_minimum', 'validation_maximum', + 'name', 'label', 'group_name', 'type', 'content_types', 'object_type', 'required', 'description', + 'search_weight', 'filter_logic', 'default', 'choices', 'weight', 'validation_minimum', 'validation_maximum', 'validation_regex', 'ui_visibility', ) diff --git a/netbox/extras/forms/models.py b/netbox/extras/forms/models.py index bea1fbcc1..eca93849b 100644 --- a/netbox/extras/forms/models.py +++ b/netbox/extras/forms/models.py @@ -41,9 +41,9 @@ class CustomFieldForm(BootstrapMixin, forms.ModelForm): fieldsets = ( ('Custom Field', ( - 'content_types', 'name', 'label', 'group_name', 'type', 'object_type', 'weight', 'required', 'description', + 'content_types', 'name', 'label', 'group_name', 'type', 'object_type', 'required', 'description', )), - ('Behavior', ('filter_logic', 'ui_visibility')), + ('Behavior', ('search_weight', 'filter_logic', 'ui_visibility', 'weight')), ('Values', ('default', 'choices')), ('Validation', ('validation_minimum', 'validation_maximum', 'validation_regex')), ) diff --git a/netbox/extras/management/commands/reindex.py b/netbox/extras/management/commands/reindex.py new file mode 100644 index 000000000..6dc9bbb2d --- /dev/null +++ b/netbox/extras/management/commands/reindex.py @@ -0,0 +1,77 @@ +from django.contrib.contenttypes.models import ContentType +from django.core.management.base import BaseCommand, CommandError + +from extras.registry import registry +from netbox.search.backends import search_backend + + +class Command(BaseCommand): + help = 'Reindex objects for search' + + def add_arguments(self, parser): + parser.add_argument( + 'args', + metavar='app_label[.ModelName]', + nargs='*', + help='One or more apps or models to reindex', + ) + + def _get_indexers(self, *model_names): + indexers = {} + + # No models specified; pull in all registered indexers + if not model_names: + for idx in registry['search'].values(): + indexers[idx.model] = idx + + # Return only indexers for the specified models + else: + for label in model_names: + try: + app_label, model_name = label.lower().split('.') + except ValueError: + raise CommandError( + f"Invalid model: {label}. Model names must be in the format .." + ) + try: + idx = registry['search'][f'{app_label}.{model_name}'] + indexers[idx.model] = idx + except KeyError: + raise CommandError(f"No indexer registered for {label}") + + return indexers + + def handle(self, *model_labels, **kwargs): + + # Determine which models to reindex + indexers = self._get_indexers(*model_labels) + if not indexers: + raise CommandError("No indexers found!") + self.stdout.write(f'Reindexing {len(indexers)} models.') + + # Clear all cached values for the specified models + self.stdout.write('Clearing cached values... ', ending='') + self.stdout.flush() + content_types = [ + ContentType.objects.get_for_model(model) for model in indexers.keys() + ] + deleted_count = search_backend.clear(content_types) + self.stdout.write(f'{deleted_count} entries deleted.') + + # Index models + self.stdout.write('Indexing models') + for model, idx in indexers.items(): + app_label = model._meta.app_label + model_name = model._meta.model_name + self.stdout.write(f' {app_label}.{model_name}... ', ending='') + self.stdout.flush() + i = search_backend.cache(model.objects.iterator(), remove_existing=False) + if i: + self.stdout.write(f'{i} entries cached.') + else: + self.stdout.write(f'None found.') + + msg = f'Completed.' + if total_count := search_backend.size: + msg += f' Total entries: {total_count}' + self.stdout.write(msg, self.style.SUCCESS) diff --git a/netbox/extras/migrations/0079_change_jobresult_order.py b/netbox/extras/migrations/0079_change_jobresult_order.py deleted file mode 100644 index 12e35bf67..000000000 --- a/netbox/extras/migrations/0079_change_jobresult_order.py +++ /dev/null @@ -1,17 +0,0 @@ -# Generated by Django 4.1.1 on 2022-10-09 18:37 - -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('extras', '0078_unique_constraints'), - ] - - operations = [ - migrations.AlterModelOptions( - name='jobresult', - options={'ordering': ['-created']}, - ), - ] diff --git a/netbox/extras/migrations/0080_add_jobresult_scheduled_time.py b/netbox/extras/migrations/0079_jobresult_scheduled_time.py similarity index 64% rename from netbox/extras/migrations/0080_add_jobresult_scheduled_time.py rename to netbox/extras/migrations/0079_jobresult_scheduled_time.py index fddde4bc5..c9646f13c 100644 --- a/netbox/extras/migrations/0080_add_jobresult_scheduled_time.py +++ b/netbox/extras/migrations/0079_jobresult_scheduled_time.py @@ -1,12 +1,10 @@ -# Generated by Django 4.1.1 on 2022-10-16 09:52 - from django.db import migrations, models class Migration(migrations.Migration): dependencies = [ - ('extras', '0079_change_jobresult_order'), + ('extras', '0078_unique_constraints'), ] operations = [ @@ -15,4 +13,8 @@ class Migration(migrations.Migration): name='scheduled_time', field=models.DateTimeField(blank=True, null=True), ), + migrations.AlterModelOptions( + name='jobresult', + options={'ordering': ['-created']}, + ), ] diff --git a/netbox/extras/migrations/0080_search.py b/netbox/extras/migrations/0080_search.py new file mode 100644 index 000000000..7a133e84b --- /dev/null +++ b/netbox/extras/migrations/0080_search.py @@ -0,0 +1,35 @@ +from django.db import migrations, models +import django.db.models.deletion +import uuid + + +class Migration(migrations.Migration): + + dependencies = [ + ('contenttypes', '0002_remove_content_type_name'), + ('extras', '0079_jobresult_scheduled_time'), + ] + + operations = [ + migrations.AddField( + model_name='customfield', + name='search_weight', + field=models.PositiveSmallIntegerField(default=1000), + ), + migrations.CreateModel( + name='CachedValue', + fields=[ + ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)), + ('timestamp', models.DateTimeField(auto_now_add=True)), + ('object_id', models.PositiveBigIntegerField()), + ('field', models.CharField(max_length=200)), + ('type', models.CharField(max_length=30)), + ('value', models.TextField(db_index=True)), + ('weight', models.PositiveSmallIntegerField(default=1000)), + ('object_type', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='+', to='contenttypes.contenttype')), + ], + options={ + 'ordering': ('weight', 'object_type', 'object_id'), + }, + ), + ] diff --git a/netbox/extras/models/__init__.py b/netbox/extras/models/__init__.py index 3cb6372be..e3a4be3fe 100644 --- a/netbox/extras/models/__init__.py +++ b/netbox/extras/models/__init__.py @@ -2,9 +2,11 @@ from .change_logging import ObjectChange from .configcontexts import ConfigContext, ConfigContextModel from .customfields import CustomField from .models import * +from .search import * from .tags import Tag, TaggedItem __all__ = ( + 'CachedValue', 'ConfigContext', 'ConfigContextModel', 'ConfigRevision', diff --git a/netbox/extras/models/customfields.py b/netbox/extras/models/customfields.py index c3c298a44..2de806ca6 100644 --- a/netbox/extras/models/customfields.py +++ b/netbox/extras/models/customfields.py @@ -16,6 +16,7 @@ from extras.choices import * from extras.utils import FeatureQuery from netbox.models import ChangeLoggedModel from netbox.models.features import CloningMixin, ExportTemplatesMixin, WebhooksMixin +from netbox.search import FieldTypes from utilities import filters from utilities.forms import ( CSVChoiceField, CSVMultipleChoiceField, DatePicker, DynamicModelChoiceField, DynamicModelMultipleChoiceField, @@ -30,6 +31,15 @@ __all__ = ( 'CustomFieldManager', ) +SEARCH_TYPES = { + CustomFieldTypeChoices.TYPE_TEXT: FieldTypes.STRING, + CustomFieldTypeChoices.TYPE_LONGTEXT: FieldTypes.STRING, + CustomFieldTypeChoices.TYPE_INTEGER: FieldTypes.INTEGER, + CustomFieldTypeChoices.TYPE_DECIMAL: FieldTypes.FLOAT, + CustomFieldTypeChoices.TYPE_DATE: FieldTypes.STRING, + CustomFieldTypeChoices.TYPE_URL: FieldTypes.STRING, +} + class CustomFieldManager(models.Manager.from_queryset(RestrictedQuerySet)): use_in_migrations = True @@ -94,6 +104,11 @@ class CustomField(CloningMixin, ExportTemplatesMixin, WebhooksMixin, ChangeLogge help_text='If true, this field is required when creating new objects ' 'or editing an existing object.' ) + search_weight = models.PositiveSmallIntegerField( + default=1000, + help_text='Weighting for search. Lower values are considered more important. ' + 'Fields with a search weight of zero will be ignored.' + ) filter_logic = models.CharField( max_length=50, choices=CustomFieldFilterLogicChoices, @@ -109,6 +124,7 @@ class CustomField(CloningMixin, ExportTemplatesMixin, WebhooksMixin, ChangeLogge ) weight = models.PositiveSmallIntegerField( default=100, + verbose_name='Display weight', help_text='Fields with higher weights appear lower in a form.' ) validation_minimum = models.IntegerField( @@ -148,8 +164,9 @@ class CustomField(CloningMixin, ExportTemplatesMixin, WebhooksMixin, ChangeLogge objects = CustomFieldManager() clone_fields = ( - 'content_types', 'type', 'object_type', 'group_name', 'description', 'required', 'filter_logic', 'default', - 'weight', 'validation_minimum', 'validation_maximum', 'validation_regex', 'choices', 'ui_visibility', + 'content_types', 'type', 'object_type', 'group_name', 'description', 'required', 'search_weight', + 'filter_logic', 'default', 'weight', 'validation_minimum', 'validation_maximum', 'validation_regex', 'choices', + 'ui_visibility', ) class Meta: @@ -167,6 +184,10 @@ class CustomField(CloningMixin, ExportTemplatesMixin, WebhooksMixin, ChangeLogge # Cache instance's original name so we can check later whether it has changed self._name = self.name + @property + def search_type(self): + return SEARCH_TYPES.get(self.type) + def populate_initial_data(self, content_types): """ Populate initial custom field data upon either a) the creation of a new CustomField, or diff --git a/netbox/extras/models/search.py b/netbox/extras/models/search.py new file mode 100644 index 000000000..b7bb104e7 --- /dev/null +++ b/netbox/extras/models/search.py @@ -0,0 +1,50 @@ +import uuid + +from django.contrib.contenttypes.models import ContentType +from django.db import models + +from utilities.fields import RestrictedGenericForeignKey + +__all__ = ( + 'CachedValue', +) + + +class CachedValue(models.Model): + id = models.UUIDField( + primary_key=True, + default=uuid.uuid4, + editable=False + ) + timestamp = models.DateTimeField( + auto_now_add=True, + editable=False + ) + object_type = models.ForeignKey( + to=ContentType, + on_delete=models.CASCADE, + related_name='+' + ) + object_id = models.PositiveBigIntegerField() + object = RestrictedGenericForeignKey( + ct_field='object_type', + fk_field='object_id' + ) + field = models.CharField( + max_length=200 + ) + type = models.CharField( + max_length=30 + ) + value = models.TextField( + db_index=True + ) + weight = models.PositiveSmallIntegerField( + default=1000 + ) + + class Meta: + ordering = ('weight', 'object_type', 'object_id') + + def __str__(self): + return f'{self.object_type} {self.object_id}: {self.field}={self.value}' diff --git a/netbox/extras/plugins/__init__.py b/netbox/extras/plugins/__init__.py index ea88c0f51..f855027e2 100644 --- a/netbox/extras/plugins/__init__.py +++ b/netbox/extras/plugins/__init__.py @@ -75,7 +75,7 @@ class PluginConfig(AppConfig): try: search_indexes = import_string(f"{self.__module__}.{self.search_indexes}") for idx in search_indexes: - register_search()(idx) + register_search(idx) except ImportError: pass diff --git a/netbox/extras/registry.py b/netbox/extras/registry.py index f89499842..76886e791 100644 --- a/netbox/extras/registry.py +++ b/netbox/extras/registry.py @@ -29,5 +29,5 @@ registry['model_features'] = { feature: collections.defaultdict(set) for feature in EXTRAS_FEATURES } registry['denormalized_fields'] = collections.defaultdict(list) -registry['search'] = collections.defaultdict(dict) +registry['search'] = dict() registry['views'] = collections.defaultdict(dict) diff --git a/netbox/extras/search.py b/netbox/extras/search.py index ae6c9e7b9..da4aa1c84 100644 --- a/netbox/extras/search.py +++ b/netbox/extras/search.py @@ -1,14 +1,11 @@ -import extras.filtersets -import extras.tables -from extras.models import JournalEntry from netbox.search import SearchIndex, register_search +from . import models -@register_search() +@register_search class JournalEntryIndex(SearchIndex): - model = JournalEntry - queryset = JournalEntry.objects.prefetch_related('assigned_object', 'created_by') - filterset = extras.filtersets.JournalEntryFilterSet - table = extras.tables.JournalEntryTable - url = 'extras:journalentry_list' + model = models.JournalEntry + fields = ( + ('comments', 5000), + ) category = 'Journal' diff --git a/netbox/extras/tables/tables.py b/netbox/extras/tables/tables.py index 8f365a58b..73d3e98b2 100644 --- a/netbox/extras/tables/tables.py +++ b/netbox/extras/tables/tables.py @@ -34,8 +34,8 @@ class CustomFieldTable(NetBoxTable): class Meta(NetBoxTable.Meta): model = CustomField fields = ( - 'pk', 'id', 'name', 'content_types', 'label', 'type', 'group_name', 'required', 'weight', 'default', - 'description', 'filter_logic', 'ui_visibility', 'choices', 'created', 'last_updated', + 'pk', 'id', 'name', 'content_types', 'label', 'type', 'group_name', 'required', 'default', 'description', + 'search_weight', 'filter_logic', 'ui_visibility', 'weight', 'choices', 'created', 'last_updated', ) default_columns = ('pk', 'name', 'content_types', 'label', 'group_name', 'type', 'required', 'description') diff --git a/netbox/extras/tests/dummy_plugin/search.py b/netbox/extras/tests/dummy_plugin/search.py index 4a1b7e666..4b1c6f10e 100644 --- a/netbox/extras/tests/dummy_plugin/search.py +++ b/netbox/extras/tests/dummy_plugin/search.py @@ -4,8 +4,9 @@ from .models import DummyModel class DummyModelIndex(SearchIndex): model = DummyModel - queryset = DummyModel.objects.all() - url = 'plugins:dummy_plugin:dummy_models' + fields = ( + ('name', 100), + ) indexes = ( diff --git a/netbox/extras/tests/test_customfields.py b/netbox/extras/tests/test_customfields.py index 6080ce2e5..c6ba96a82 100644 --- a/netbox/extras/tests/test_customfields.py +++ b/netbox/extras/tests/test_customfields.py @@ -292,6 +292,7 @@ class CustomFieldTest(TestCase): cf = CustomField.objects.create( name='object_field', type=CustomFieldTypeChoices.TYPE_OBJECT, + object_type=ContentType.objects.get_for_model(VLAN), required=False ) cf.content_types.set([self.object_type]) @@ -323,6 +324,7 @@ class CustomFieldTest(TestCase): cf = CustomField.objects.create( name='object_field', type=CustomFieldTypeChoices.TYPE_MULTIOBJECT, + object_type=ContentType.objects.get_for_model(VLAN), required=False ) cf.content_types.set([self.object_type]) diff --git a/netbox/extras/tests/test_views.py b/netbox/extras/tests/test_views.py index 936213cbf..9634038c1 100644 --- a/netbox/extras/tests/test_views.py +++ b/netbox/extras/tests/test_views.py @@ -32,6 +32,7 @@ class CustomFieldTestCase(ViewTestCases.PrimaryObjectViewTestCase): 'label': 'Field X', 'type': 'text', 'content_types': [site_ct.pk], + 'search_weight': 2000, 'filter_logic': CustomFieldFilterLogicChoices.FILTER_EXACT, 'default': None, 'weight': 200, @@ -40,11 +41,11 @@ class CustomFieldTestCase(ViewTestCases.PrimaryObjectViewTestCase): } cls.csv_data = ( - 'name,label,type,content_types,object_type,weight,filter_logic,choices,validation_minimum,validation_maximum,validation_regex,ui_visibility', - 'field4,Field 4,text,dcim.site,,100,exact,,,,[a-z]{3},read-write', - 'field5,Field 5,integer,dcim.site,,100,exact,,1,100,,read-write', - 'field6,Field 6,select,dcim.site,,100,exact,"A,B,C",,,,read-write', - 'field7,Field 7,object,dcim.site,dcim.region,100,exact,,,,,read-write', + 'name,label,type,content_types,object_type,weight,search_weight,filter_logic,choices,validation_minimum,validation_maximum,validation_regex,ui_visibility', + 'field4,Field 4,text,dcim.site,,100,1000,exact,,,,[a-z]{3},read-write', + 'field5,Field 5,integer,dcim.site,,100,2000,exact,,1,100,,read-write', + 'field6,Field 6,select,dcim.site,,100,3000,exact,"A,B,C",,,,read-write', + 'field7,Field 7,object,dcim.site,dcim.region,100,4000,exact,,,,,read-write', ) cls.bulk_edit_data = { diff --git a/netbox/ipam/search.py b/netbox/ipam/search.py index 2f4599321..d1d25da76 100644 --- a/netbox/ipam/search.py +++ b/netbox/ipam/search.py @@ -1,69 +1,139 @@ -import ipam.filtersets -import ipam.tables -from ipam.models import ASN, VLAN, VRF, Aggregate, IPAddress, Prefix, Service +from . import models from netbox.search import SearchIndex, register_search -@register_search() -class VRFIndex(SearchIndex): - model = VRF - queryset = VRF.objects.prefetch_related('tenant', 'tenant__group') - filterset = ipam.filtersets.VRFFilterSet - table = ipam.tables.VRFTable - url = 'ipam:vrf_list' - - -@register_search() +@register_search class AggregateIndex(SearchIndex): - model = Aggregate - queryset = Aggregate.objects.prefetch_related('rir') - filterset = ipam.filtersets.AggregateFilterSet - table = ipam.tables.AggregateTable - url = 'ipam:aggregate_list' - - -@register_search() -class PrefixIndex(SearchIndex): - model = Prefix - queryset = Prefix.objects.prefetch_related( - 'site', 'vrf__tenant', 'tenant', 'tenant__group', 'vlan', 'role' + model = models.Aggregate + fields = ( + ('prefix', 100), + ('description', 500), + ('date_added', 2000), ) - filterset = ipam.filtersets.PrefixFilterSet - table = ipam.tables.PrefixTable - url = 'ipam:prefix_list' -@register_search() -class IPAddressIndex(SearchIndex): - model = IPAddress - queryset = IPAddress.objects.prefetch_related('vrf__tenant', 'tenant', 'tenant__group') - filterset = ipam.filtersets.IPAddressFilterSet - table = ipam.tables.IPAddressTable - url = 'ipam:ipaddress_list' - - -@register_search() -class VLANIndex(SearchIndex): - model = VLAN - queryset = VLAN.objects.prefetch_related('site', 'group', 'tenant', 'tenant__group', 'role') - filterset = ipam.filtersets.VLANFilterSet - table = ipam.tables.VLANTable - url = 'ipam:vlan_list' - - -@register_search() +@register_search class ASNIndex(SearchIndex): - model = ASN - queryset = ASN.objects.prefetch_related('rir', 'tenant', 'tenant__group') - filterset = ipam.filtersets.ASNFilterSet - table = ipam.tables.ASNTable - url = 'ipam:asn_list' + model = models.ASN + fields = ( + ('asn', 100), + ('description', 500), + ) -@register_search() +@register_search +class FHRPGroupIndex(SearchIndex): + model = models.FHRPGroup + fields = ( + ('name', 100), + ('group_id', 2000), + ('description', 500), + ) + + +@register_search +class IPAddressIndex(SearchIndex): + model = models.IPAddress + fields = ( + ('address', 100), + ('dns_name', 300), + ('description', 500), + ) + + +@register_search +class IPRangeIndex(SearchIndex): + model = models.IPRange + fields = ( + ('start_address', 100), + ('end_address', 300), + ('description', 500), + ) + + +@register_search +class L2VPNIndex(SearchIndex): + model = models.L2VPN + fields = ( + ('name', 100), + ('slug', 110), + ('description', 500), + ) + + +@register_search +class PrefixIndex(SearchIndex): + model = models.Prefix + fields = ( + ('prefix', 100), + ('description', 500), + ) + + +@register_search +class RIRIndex(SearchIndex): + model = models.RIR + fields = ( + ('name', 100), + ('slug', 110), + ('description', 500), + ) + + +@register_search +class RoleIndex(SearchIndex): + model = models.Role + fields = ( + ('name', 100), + ('slug', 110), + ('description', 500), + ) + + +@register_search +class RouteTargetIndex(SearchIndex): + model = models.RouteTarget + fields = ( + ('name', 100), + ('description', 500), + ) + + +@register_search class ServiceIndex(SearchIndex): - model = Service - queryset = Service.objects.prefetch_related('device', 'virtual_machine') - filterset = ipam.filtersets.ServiceFilterSet - table = ipam.tables.ServiceTable - url = 'ipam:service_list' + model = models.Service + fields = ( + ('name', 100), + ('description', 500), + ) + + +@register_search +class VLANIndex(SearchIndex): + model = models.VLAN + fields = ( + ('name', 100), + ('vid', 100), + ('description', 500), + ) + + +@register_search +class VLANGroupIndex(SearchIndex): + model = models.VLANGroup + fields = ( + ('name', 100), + ('slug', 110), + ('description', 500), + ('max_vid', 2000), + ) + + +@register_search +class VRFIndex(SearchIndex): + model = models.VRF + fields = ( + ('name', 100), + ('rd', 200), + ('description', 500), + ) diff --git a/netbox/netbox/constants.py b/netbox/netbox/constants.py index 776938a97..c8054b3b0 100644 --- a/netbox/netbox/constants.py +++ b/netbox/netbox/constants.py @@ -1,5 +1,2 @@ # Prefix for nested serializers NESTED_SERIALIZER_PREFIX = 'Nested' - -# Max results per object type -SEARCH_MAX_RESULTS = 15 diff --git a/netbox/netbox/forms/__init__.py b/netbox/netbox/forms/__init__.py index eb1311d98..dd1fb7726 100644 --- a/netbox/netbox/forms/__init__.py +++ b/netbox/netbox/forms/__init__.py @@ -1,38 +1,45 @@ from django import forms +from django.utils.translation import gettext as _ -from netbox.search.backends import default_search_engine -from utilities.forms import BootstrapMixin +from netbox.search import LookupTypes +from netbox.search.backends import search_backend +from utilities.forms import BootstrapMixin, StaticSelect, StaticSelectMultiple from .base import * - -def build_options(choices): - options = [{"label": choices[0][1], "items": []}] - - for label, choices in choices[1:]: - items = [] - - for value, choice_label in choices: - items.append({"label": choice_label, "value": value}) - - options.append({"label": label, "items": items}) - return options +LOOKUP_CHOICES = ( + ('', _('Partial match')), + (LookupTypes.EXACT, _('Exact match')), + (LookupTypes.STARTSWITH, _('Starts with')), + (LookupTypes.ENDSWITH, _('Ends with')), +) class SearchForm(BootstrapMixin, forms.Form): - q = forms.CharField(label='Search') - options = None + q = forms.CharField( + label='Search', + widget=forms.TextInput( + attrs={ + 'hx-get': '', + 'hx-target': '#object_list', + 'hx-trigger': 'keyup[target.value.length >= 3] changed delay:500ms', + } + ) + ) + obj_types = forms.MultipleChoiceField( + choices=[], + required=False, + label='Object type(s)', + widget=StaticSelectMultiple() + ) + lookup = forms.ChoiceField( + choices=LOOKUP_CHOICES, + initial=LookupTypes.PARTIAL, + required=False, + widget=StaticSelect() + ) def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) - self.fields["obj_type"] = forms.ChoiceField( - choices=default_search_engine.get_search_choices(), - required=False, - label='Type' - ) - def get_options(self): - if not self.options: - self.options = build_options(default_search_engine.get_search_choices()) - - return self.options + self.fields['obj_types'].choices = search_backend.get_object_types() diff --git a/netbox/netbox/search/__init__.py b/netbox/netbox/search/__init__.py index 0664dc6ca..568bf8652 100644 --- a/netbox/netbox/search/__init__.py +++ b/netbox/netbox/search/__init__.py @@ -1,5 +1,24 @@ +from collections import namedtuple + +from django.db import models + from extras.registry import registry +ObjectFieldValue = namedtuple('ObjectFieldValue', ('name', 'type', 'weight', 'value')) + + +class FieldTypes: + FLOAT = 'float' + INTEGER = 'int' + STRING = 'str' + + +class LookupTypes: + PARTIAL = 'icontains' + EXACT = 'iexact' + STARTSWITH = 'istartswith' + ENDSWITH = 'iendswith' + class SearchIndex: """ @@ -7,27 +26,90 @@ class SearchIndex: Attrs: model: The model class for which this index is used. + category: The label of the group under which this indexer is categorized (for form field display). If none, + the name of the model's app will be used. + fields: An iterable of two-tuples defining the model fields to be indexed and the weight associated with each. """ model = None + category = None + fields = () + + @staticmethod + def get_field_type(instance, field_name): + """ + Return the data type of the specified model field. + """ + field_cls = instance._meta.get_field(field_name).__class__ + if issubclass(field_cls, (models.FloatField, models.DecimalField)): + return FieldTypes.FLOAT + if issubclass(field_cls, models.IntegerField): + return FieldTypes.INTEGER + return FieldTypes.STRING + + @staticmethod + def get_field_value(instance, field_name): + """ + Return the value of the specified model field as a string. + """ + return str(getattr(instance, field_name)) @classmethod def get_category(cls): + return cls.category or cls.model._meta.app_config.verbose_name + + @classmethod + def to_cache(cls, instance, custom_fields=None): """ - Return the title of the search category under which this model is registered. + Return a list of ObjectFieldValue representing the instance fields to be cached. + + Args: + instance: The instance being cached. + custom_fields: An iterable of CustomFields to include when caching the instance. If None, all custom fields + defined for the model will be included. (This can also be provided during bulk caching to avoid looking + up the available custom fields for each instance.) """ - if hasattr(cls, 'category'): - return cls.category - return cls.model._meta.app_config.verbose_name + values = [] + + # Capture built-in fields + for name, weight in cls.fields: + type_ = cls.get_field_type(instance, name) + value = cls.get_field_value(instance, name) + if type_ and value: + values.append( + ObjectFieldValue(name, type_, weight, value) + ) + + # Capture custom fields + if getattr(instance, 'custom_field_data', None): + if custom_fields is None: + custom_fields = instance.get_custom_fields().keys() + for cf in custom_fields: + type_ = cf.search_type + value = instance.custom_field_data.get(cf.name) + weight = cf.search_weight + if type_ and value and weight: + values.append( + ObjectFieldValue(f'cf_{cf.name}', type_, weight, value) + ) + + return values -def register_search(): - def _wrapper(cls): - model = cls.model - app_label = model._meta.app_label - model_name = model._meta.model_name +def get_indexer(model): + """ + Get the SearchIndex class for the given model. + """ + label = f'{model._meta.app_label}.{model._meta.model_name}' - registry['search'][app_label][model_name] = cls + return registry['search'][label] - return cls - return _wrapper +def register_search(cls): + """ + Decorator for registering a SearchIndex class. + """ + model = cls.model + label = f'{model._meta.app_label}.{model._meta.model_name}' + registry['search'][label] = cls + + return cls diff --git a/netbox/netbox/search/backends.py b/netbox/netbox/search/backends.py index b6cead5bd..f1e00b86b 100644 --- a/netbox/netbox/search/backends.py +++ b/netbox/netbox/search/backends.py @@ -1,125 +1,236 @@ from collections import defaultdict -from importlib import import_module from django.conf import settings +from django.contrib.contenttypes.models import ContentType from django.core.exceptions import ImproperlyConfigured -from django.urls import reverse +from django.db.models import F, Window +from django.db.models.functions import window +from django.db.models.signals import post_delete, post_save +from django.utils.module_loading import import_string +from extras.models import CachedValue, CustomField from extras.registry import registry -from netbox.constants import SEARCH_MAX_RESULTS +from utilities.querysets import RestrictedPrefetch +from utilities.templatetags.builtins.filters import bettertitle +from . import FieldTypes, LookupTypes, get_indexer -# The cache for the initialized backend. -_backends_cache = {} - - -class SearchEngineError(Exception): - """Something went wrong with a search engine.""" - pass +DEFAULT_LOOKUP_TYPE = LookupTypes.PARTIAL +MAX_RESULTS = 1000 class SearchBackend: - """A search engine capable of performing multi-table searches.""" - _search_choice_options = tuple() + """ + Base class for search backends. Subclasses must extend the `cache()`, `remove()`, and `clear()` methods below. + """ + _object_types = None - def get_registry(self): - r = {} - for app_label, models in registry['search'].items(): - r.update(**models) - - return r - - def get_search_choices(self): - """Return the set of choices for individual object types, organized by category.""" - if not self._search_choice_options: + def get_object_types(self): + """ + Return a list of all registered object types, organized by category, suitable for populating a form's + ChoiceField. + """ + if not self._object_types: # Organize choices by category categories = defaultdict(dict) - for app_label, models in registry['search'].items(): - for name, cls in models.items(): - title = cls.model._meta.verbose_name.title() - categories[cls.get_category()][name] = title + for label, idx in registry['search'].items(): + title = bettertitle(idx.model._meta.verbose_name) + categories[idx.get_category()][label] = title # Compile a nested tuple of choices for form rendering results = ( ('', 'All Objects'), - *[(category, choices.items()) for category, choices in categories.items()] + *[(category, list(choices.items())) for category, choices in categories.items()] ) - self._search_choice_options = results + self._object_types = results - return self._search_choice_options + return self._object_types - def search(self, request, value, **kwargs): - """Execute a search query for the given value.""" + def search(self, value, user=None, object_types=None, lookup=DEFAULT_LOOKUP_TYPE): + """ + Search cached object representations for the given value. + """ raise NotImplementedError - def cache(self, instance): - """Create or update the cached copy of an instance.""" + def caching_handler(self, sender, instance, **kwargs): + """ + Receiver for the post_save signal, responsible for caching object creation/changes. + """ + self.cache(instance) + + def removal_handler(self, sender, instance, **kwargs): + """ + Receiver for the post_delete signal, responsible for caching object deletion. + """ + self.remove(instance) + + def cache(self, instances, indexer=None, remove_existing=True): + """ + Create or update the cached representation of an instance. + """ raise NotImplementedError + def remove(self, instance): + """ + Delete any cached representation of an instance. + """ + raise NotImplementedError -class FilterSetSearchBackend(SearchBackend): - """ - Legacy search backend. Performs a discrete database query for each registered object type, using the FilterSet - class specified by the index for each. - """ - def search(self, request, value, **kwargs): - results = [] + def clear(self, object_types=None): + """ + Delete *all* cached data. + """ + raise NotImplementedError - search_registry = self.get_registry() - for obj_type in search_registry.keys(): + @property + def size(self): + """ + Return a total number of cached entries. The meaning of this value will be + backend-dependent. + """ + return None - queryset = search_registry[obj_type].queryset - url = search_registry[obj_type].url - # Restrict the queryset for the current user - if hasattr(queryset, 'restrict'): - queryset = queryset.restrict(request.user, 'view') +class CachedValueSearchBackend(SearchBackend): - filterset = getattr(search_registry[obj_type], 'filterset', None) - if not filterset: - # This backend requires a FilterSet class for the model - continue + def search(self, value, user=None, object_types=None, lookup=DEFAULT_LOOKUP_TYPE): - table = getattr(search_registry[obj_type], 'table', None) - if not table: - # This backend requires a Table class for the model - continue + # Define the search parameters + params = { + f'value__{lookup}': value + } + if lookup != LookupTypes.EXACT: + # Partial matches are valid only on string values + params['type'] = FieldTypes.STRING + if object_types: + params['object_type__in'] = object_types - # Construct the results table for this object type - filtered_queryset = filterset({'q': value}, queryset=queryset).qs - table = table(filtered_queryset, orderable=False) - table.paginate(per_page=SEARCH_MAX_RESULTS) + # Construct the base queryset to retrieve matching results + queryset = CachedValue.objects.filter(**params).annotate( + # Annotate the rank of each result for its object according to its weight + row_number=Window( + expression=window.RowNumber(), + partition_by=[F('object_type'), F('object_id')], + order_by=[F('weight').asc()], + ) + )[:MAX_RESULTS] - if table.page: - results.append({ - 'name': queryset.model._meta.verbose_name_plural, - 'table': table, - 'url': f"{reverse(url)}?q={value}" - }) + # Construct a Prefetch to pre-fetch only those related objects for which the + # user has permission to view. + if user: + prefetch = (RestrictedPrefetch('object', user, 'view'), 'object_type') + else: + prefetch = ('object', 'object_type') - return results + # Wrap the base query to return only the lowest-weight result for each object + # Hat-tip to https://blog.oyam.dev/django-filter-by-window-function/ for the solution + sql, params = queryset.query.sql_with_params() + results = CachedValue.objects.prefetch_related(*prefetch).raw( + f"SELECT * FROM ({sql}) t WHERE row_number = 1", + params + ) - def cache(self, instance): - # This backend does not utilize a cache - pass + # Omit any results pertaining to an object the user does not have permission to view + return [ + r for r in results if r.object is not None + ] + + def cache(self, instances, indexer=None, remove_existing=True): + content_type = None + custom_fields = None + + # Convert a single instance to an iterable + if not hasattr(instances, '__iter__'): + instances = [instances] + + buffer = [] + counter = 0 + for instance in instances: + + # First item + if not counter: + + # Determine the indexer + if indexer is None: + try: + indexer = get_indexer(instance) + except KeyError: + break + + # Prefetch any associated custom fields + content_type = ContentType.objects.get_for_model(indexer.model) + custom_fields = CustomField.objects.filter(content_types=content_type).exclude(search_weight=0) + + # Wipe out any previously cached values for the object + if remove_existing: + self.remove(instance) + + # Generate cache data + for field in indexer.to_cache(instance, custom_fields=custom_fields): + buffer.append( + CachedValue( + object_type=content_type, + object_id=instance.pk, + field=field.name, + type=field.type, + weight=field.weight, + value=field.value + ) + ) + + # Check whether the buffer needs to be flushed + if len(buffer) >= 2000: + counter += len(CachedValue.objects.bulk_create(buffer)) + buffer = [] + + # Final buffer flush + if buffer: + counter += len(CachedValue.objects.bulk_create(buffer)) + + return counter + + def remove(self, instance): + # Avoid attempting to query for non-cacheable objects + try: + get_indexer(instance) + except KeyError: + return + + ct = ContentType.objects.get_for_model(instance) + qs = CachedValue.objects.filter(object_type=ct, object_id=instance.pk) + + # Call _raw_delete() on the queryset to avoid first loading instances into memory + return qs._raw_delete(using=qs.db) + + def clear(self, object_types=None): + qs = CachedValue.objects.all() + if object_types: + qs = qs.filter(object_type__in=object_types) + + # Call _raw_delete() on the queryset to avoid first loading instances into memory + return qs._raw_delete(using=qs.db) + + @property + def size(self): + return CachedValue.objects.count() def get_backend(): - """Initializes and returns the configured search backend.""" - backend_name = settings.SEARCH_BACKEND - - # Load the backend class - backend_module_name, backend_cls_name = backend_name.rsplit('.', 1) - backend_module = import_module(backend_module_name) + """ + Initializes and returns the configured search backend. + """ try: - backend_cls = getattr(backend_module, backend_cls_name) + backend_cls = import_string(settings.SEARCH_BACKEND) except AttributeError: - raise ImproperlyConfigured(f"Could not find a class named {backend_module_name} in {backend_cls_name}") + raise ImproperlyConfigured(f"Failed to import configured SEARCH_BACKEND: {settings.SEARCH_BACKEND}") # Initialize and return the backend instance return backend_cls() -default_search_engine = get_backend() -search = default_search_engine.search +search_backend = get_backend() + +# Connect handlers to the appropriate model signals +post_save.connect(search_backend.caching_handler) +post_delete.connect(search_backend.removal_handler) diff --git a/netbox/netbox/settings.py b/netbox/netbox/settings.py index 980d3dc7e..b1b285283 100644 --- a/netbox/netbox/settings.py +++ b/netbox/netbox/settings.py @@ -116,7 +116,7 @@ REMOTE_AUTH_GROUP_SEPARATOR = getattr(configuration, 'REMOTE_AUTH_GROUP_SEPARATO REPORTS_ROOT = getattr(configuration, 'REPORTS_ROOT', os.path.join(BASE_DIR, 'reports')).rstrip('/') RQ_DEFAULT_TIMEOUT = getattr(configuration, 'RQ_DEFAULT_TIMEOUT', 300) SCRIPTS_ROOT = getattr(configuration, 'SCRIPTS_ROOT', os.path.join(BASE_DIR, 'scripts')).rstrip('/') -SEARCH_BACKEND = getattr(configuration, 'SEARCH_BACKEND', 'netbox.search.backends.FilterSetSearchBackend') +SEARCH_BACKEND = getattr(configuration, 'SEARCH_BACKEND', 'netbox.search.backends.CachedValueSearchBackend') SENTRY_DSN = getattr(configuration, 'SENTRY_DSN', DEFAULT_SENTRY_DSN) SENTRY_ENABLED = getattr(configuration, 'SENTRY_ENABLED', False) SENTRY_SAMPLE_RATE = getattr(configuration, 'SENTRY_SAMPLE_RATE', 1.0) diff --git a/netbox/netbox/tables/tables.py b/netbox/netbox/tables/tables.py index 38399b5fe..9b86b2ed3 100644 --- a/netbox/netbox/tables/tables.py +++ b/netbox/netbox/tables/tables.py @@ -4,16 +4,21 @@ from django.contrib.contenttypes.fields import GenericForeignKey from django.contrib.contenttypes.models import ContentType from django.core.exceptions import FieldDoesNotExist from django.db.models.fields.related import RelatedField +from django.utils.safestring import mark_safe +from django.utils.translation import gettext as _ from django_tables2.data import TableQuerysetData from extras.models import CustomField, CustomLink from extras.choices import CustomFieldVisibilityChoices from netbox.tables import columns from utilities.paginator import EnhancedPaginator, get_paginate_count +from utilities.templatetags.builtins.filters import bettertitle +from utilities.utils import highlight_string __all__ = ( 'BaseTable', 'NetBoxTable', + 'SearchTable', ) @@ -192,3 +197,39 @@ class NetBoxTable(BaseTable): ]) super().__init__(*args, extra_columns=extra_columns, **kwargs) + + +class SearchTable(tables.Table): + object_type = columns.ContentTypeColumn( + verbose_name=_('Type') + ) + object = tables.Column( + linkify=True + ) + field = tables.Column() + value = tables.Column() + + trim_length = 30 + + class Meta: + attrs = { + 'class': 'table table-hover object-list', + } + empty_text = _('No results found') + + def __init__(self, data, highlight=None, **kwargs): + self.highlight = highlight + super().__init__(data, **kwargs) + + def render_field(self, value, record): + if hasattr(record.object, value): + return bettertitle(record.object._meta.get_field(value).verbose_name) + return value + + def render_value(self, value): + if not self.highlight: + return value + + value = highlight_string(value, self.highlight, trim_pre=self.trim_length, trim_post=self.trim_length) + + return mark_safe(value) diff --git a/netbox/netbox/tests/test_search.py b/netbox/netbox/tests/test_search.py new file mode 100644 index 000000000..1b6fe9eac --- /dev/null +++ b/netbox/netbox/tests/test_search.py @@ -0,0 +1,153 @@ +from django.contrib.contenttypes.models import ContentType +from django.test import TestCase + +from dcim.models import Site +from dcim.search import SiteIndex +from extras.models import CachedValue +from netbox.search.backends import search_backend + + +class SearchBackendTestCase(TestCase): + + @classmethod + def setUpTestData(cls): + # Create sites with a value for each cacheable field defined on SiteIndex + sites = ( + Site( + name='Site 1', + slug='site-1', + facility='Alpha', + description='First test site', + physical_address='123 Fake St Lincoln NE 68588', + shipping_address='123 Fake St Lincoln NE 68588', + comments='Lorem ipsum etcetera' + ), + Site( + name='Site 2', + slug='site-2', + facility='Bravo', + description='Second test site', + physical_address='725 Cyrus Valleys Suite 761 Douglasfort NE 57761', + shipping_address='725 Cyrus Valleys Suite 761 Douglasfort NE 57761', + comments='Lorem ipsum etcetera' + ), + Site( + name='Site 3', + slug='site-3', + facility='Charlie', + description='Third test site', + physical_address='2321 Dovie Dale East Cristobal AK 71959', + shipping_address='2321 Dovie Dale East Cristobal AK 71959', + comments='Lorem ipsum etcetera' + ), + ) + Site.objects.bulk_create(sites) + + def test_cache_single_object(self): + """ + Test that a single object is cached appropriately + """ + site = Site.objects.first() + search_backend.cache(site) + + content_type = ContentType.objects.get_for_model(Site) + self.assertEqual( + CachedValue.objects.filter(object_type=content_type, object_id=site.pk).count(), + len(SiteIndex.fields) + ) + for field_name, weight in SiteIndex.fields: + self.assertTrue( + CachedValue.objects.filter( + object_type=content_type, + object_id=site.pk, + field=field_name, + value=getattr(site, field_name), + weight=weight + ), + ) + + def test_cache_multiple_objects(self): + """ + Test that multiples objects are cached appropriately + """ + sites = Site.objects.all() + search_backend.cache(sites) + + content_type = ContentType.objects.get_for_model(Site) + self.assertEqual( + CachedValue.objects.filter(object_type=content_type).count(), + len(SiteIndex.fields) * sites.count() + ) + for site in sites: + for field_name, weight in SiteIndex.fields: + self.assertTrue( + CachedValue.objects.filter( + object_type=content_type, + object_id=site.pk, + field=field_name, + value=getattr(site, field_name), + weight=weight + ), + ) + + def test_cache_on_save(self): + """ + Test that an object is automatically cached on calling save(). + """ + site = Site( + name='Site 4', + slug='site-4', + facility='Delta', + description='Fourth test site', + physical_address='7915 Lilla Plains West Ladariusport TX 19429', + shipping_address='7915 Lilla Plains West Ladariusport TX 19429', + comments='Lorem ipsum etcetera' + ) + site.save() + + content_type = ContentType.objects.get_for_model(Site) + self.assertEqual( + CachedValue.objects.filter(object_type=content_type, object_id=site.pk).count(), + len(SiteIndex.fields) + ) + + def test_remove_on_delete(self): + """ + Test that any cached value for an object are automatically removed on delete(). + """ + site = Site.objects.first() + site.delete() + + content_type = ContentType.objects.get_for_model(Site) + self.assertFalse( + CachedValue.objects.filter(object_type=content_type, object_id=site.pk).exists() + ) + + def test_clear_all(self): + """ + Test that calling clear() on the backend removes all cached entries. + """ + sites = Site.objects.all() + search_backend.cache(sites) + self.assertTrue( + CachedValue.objects.exists() + ) + + search_backend.clear() + self.assertFalse( + CachedValue.objects.exists() + ) + + def test_search(self): + """ + Test various searches. + """ + sites = Site.objects.all() + search_backend.cache(sites) + + results = search_backend.search('site') + self.assertEqual(len(results), 3) + results = search_backend.search('first') + self.assertEqual(len(results), 1) + results = search_backend.search('xxxxx') + self.assertEqual(len(results), 0) diff --git a/netbox/netbox/views/__init__.py b/netbox/netbox/views/__init__.py index d880ba64c..0f35dab49 100644 --- a/netbox/netbox/views/__init__.py +++ b/netbox/netbox/views/__init__.py @@ -2,15 +2,16 @@ import platform import sys from django.conf import settings +from django.contrib.contenttypes.models import ContentType from django.core.cache import cache from django.http import HttpResponseServerError from django.shortcuts import redirect, render from django.template import loader from django.template.exceptions import TemplateDoesNotExist -from django.urls import reverse from django.views.decorators.csrf import requires_csrf_token from django.views.defaults import ERROR_500_TEMPLATE_NAME, page_not_found from django.views.generic import View +from django_tables2 import RequestConfig from packaging import version from sentry_sdk import capture_message @@ -21,10 +22,13 @@ from dcim.models import ( from extras.models import ObjectChange from extras.tables import ObjectChangeTable from ipam.models import Aggregate, IPAddress, IPRange, Prefix, VLAN, VRF -from netbox.constants import SEARCH_MAX_RESULTS from netbox.forms import SearchForm -from netbox.search.backends import default_search_engine +from netbox.search import LookupTypes +from netbox.search.backends import search_backend +from netbox.tables import SearchTable from tenancy.models import Tenant +from utilities.htmx import is_htmx +from utilities.paginator import EnhancedPaginator, get_paginate_count from virtualization.models import Cluster, VirtualMachine from wireless.models import WirelessLAN, WirelessLink @@ -149,22 +153,48 @@ class HomeView(View): class SearchView(View): def get(self, request): - form = SearchForm(request.GET) results = [] + highlight = None + + # Initialize search form + form = SearchForm(request.GET) if 'q' in request.GET else SearchForm() if form.is_valid(): - search_registry = default_search_engine.get_registry() - # If an object type has been specified, redirect to the dedicated view for it - if form.cleaned_data['obj_type']: - object_type = form.cleaned_data['obj_type'] - url = reverse(search_registry[object_type].url) - return redirect(f"{url}?q={form.cleaned_data['q']}") - results = default_search_engine.search(request, form.cleaned_data['q']) + # Restrict results by object type + object_types = [] + for obj_type in form.cleaned_data['obj_types']: + app_label, model_name = obj_type.split('.') + object_types.append(ContentType.objects.get_by_natural_key(app_label, model_name)) + + lookup = form.cleaned_data['lookup'] or LookupTypes.PARTIAL + results = search_backend.search( + form.cleaned_data['q'], + user=request.user, + object_types=object_types, + lookup=lookup + ) + + if form.cleaned_data['lookup'] != LookupTypes.EXACT: + highlight = form.cleaned_data['q'] + + table = SearchTable(results, highlight=highlight) + + # Paginate the table results + RequestConfig(request, { + 'paginator_class': EnhancedPaginator, + 'per_page': get_paginate_count(request) + }).configure(table) + + # If this is an HTMX request, return only the rendered table HTML + if is_htmx(request): + return render(request, 'htmx/table.html', { + 'table': table, + }) return render(request, 'search.html', { 'form': form, - 'results': results, + 'table': table, }) diff --git a/netbox/project-static/dist/netbox.js b/netbox/project-static/dist/netbox.js index 1213d719fba8177f84c950cec2ee3e75190db002..19cdae0bd318381cbc0701ff151e7f87ad3ae9ee 100644 GIT binary patch delta 8423 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 a-7Fr7f9htx$M==5x=}TR(MQ;u%cC%>=ZWA{i89 delta 479 zcmYk2y-EX75QT}G2M{Ekpx8Q~;!kYPo$Q7+EbFqaG3BzTNn90wKur^ih>d;lJpyU1 z6R=L>yEt=Kqs=h)yEA9b%-ggw{;WI?N`r-wvoh(og9B;-mrQja)6ijJ9OWK`NL&R0 z`9QPCGH};udTwLUme7s?S8K{oHC$V@gr4TuD#w%pDcuOYw-rt5*WsQK0G}Gbg`oh5 zH0@~0RrMl&q8TfdsS;Cp^CSP-;uHPPC;?hx8X;xCAw|HQk;rXpEG?vcxVPr7bM;@V z?6zgM`YCN7**3$qiSyFWS*@=dal=)kLz*hrQlWiA53
- {% search_options request %} + {% include 'inc/searchbar.html' %}
@@ -53,7 +52,7 @@ Blocks: {# Search bar #}
- {% search_options request %} + {% include 'inc/searchbar.html' %}
{# Proflie/login button #} diff --git a/netbox/templates/extras/customfield.html b/netbox/templates/extras/customfield.html index ff4e6e08c..4350bb738 100644 --- a/netbox/templates/extras/customfield.html +++ b/netbox/templates/extras/customfield.html @@ -39,13 +39,23 @@ {% checkmark object.required %} - Weight - {{ object.weight }} + Search Weight + + {% if object.search_weight %} + {{ object.search_weight }} + {% else %} + Disabled + {% endif %} + Filter Logic {{ object.get_filter_logic_display }} + + Display Weight + {{ object.weight }} + UI Visibility {{ object.get_ui_visibility_display }} diff --git a/netbox/templates/inc/searchbar.html b/netbox/templates/inc/searchbar.html new file mode 100644 index 000000000..c8ef0d548 --- /dev/null +++ b/netbox/templates/inc/searchbar.html @@ -0,0 +1,6 @@ + + + + diff --git a/netbox/templates/search.html b/netbox/templates/search.html index a47b48b09..e801422c9 100644 --- a/netbox/templates/search.html +++ b/netbox/templates/search.html @@ -15,74 +15,24 @@ {% endblock tabs %} -{% block content-wrapper %} -
- {% if request.GET.q %} - {% if results %} -
-
- {% for obj_type in results %} -
-
{{ obj_type.name|bettertitle }}
-
- {% render_table obj_type.table 'inc/table.html' %} -
- -
- {% endfor %} -
-
-
-
- Search Results -
- -
-
-
- {% else %} -

No results found

- {% endif %} - {% else %} -
-
-
-
-
- Search -
-
- {% render_form form %} -
- -
-
-
+{% block content %} +
+
+
+ {% render_form form %} +
+
- {% endif %} +
+
-{% endblock content-wrapper %} +
+
+
+ {% include 'htmx/table.html' %} +
+
+
+{% endblock content %} diff --git a/netbox/tenancy/search.py b/netbox/tenancy/search.py index e52b1859e..8cb3c4ccb 100644 --- a/netbox/tenancy/search.py +++ b/netbox/tenancy/search.py @@ -1,25 +1,57 @@ -import tenancy.filtersets -import tenancy.tables from netbox.search import SearchIndex, register_search -from tenancy.models import Contact, ContactAssignment, Tenant -from utilities.utils import count_related +from . import models -@register_search() -class TenantIndex(SearchIndex): - model = Tenant - queryset = Tenant.objects.prefetch_related('group') - filterset = tenancy.filtersets.TenantFilterSet - table = tenancy.tables.TenantTable - url = 'tenancy:tenant_list' - - -@register_search() +@register_search class ContactIndex(SearchIndex): - model = Contact - queryset = Contact.objects.prefetch_related('group', 'assignments').annotate( - assignment_count=count_related(ContactAssignment, 'contact') + model = models.Contact + fields = ( + ('name', 100), + ('title', 300), + ('phone', 300), + ('email', 300), + ('address', 300), + ('link', 300), + ('comments', 5000), + ) + + +@register_search +class ContactGroupIndex(SearchIndex): + model = models.ContactGroup + fields = ( + ('name', 100), + ('slug', 110), + ('description', 500), + ) + + +@register_search +class ContactRoleIndex(SearchIndex): + model = models.ContactRole + fields = ( + ('name', 100), + ('slug', 110), + ('description', 500), + ) + + +@register_search +class TenantIndex(SearchIndex): + model = models.Tenant + fields = ( + ('name', 100), + ('slug', 110), + ('description', 500), + ('comments', 5000), + ) + + +@register_search +class TenantGroupIndex(SearchIndex): + model = models.TenantGroup + fields = ( + ('name', 100), + ('slug', 110), + ('description', 500), ) - filterset = tenancy.filtersets.ContactFilterSet - table = tenancy.tables.ContactTable - url = 'tenancy:contact_list' diff --git a/netbox/utilities/fields.py b/netbox/utilities/fields.py index a9b851def..b2bc4d2cd 100644 --- a/netbox/utilities/fields.py +++ b/netbox/utilities/fields.py @@ -1,3 +1,6 @@ +from collections import defaultdict + +from django.contrib.contenttypes.fields import GenericForeignKey from django.core.validators import RegexValidator from django.db import models @@ -71,3 +74,70 @@ class NaturalOrderingField(models.CharField): [self.target_field], kwargs, ) + + +class RestrictedGenericForeignKey(GenericForeignKey): + + # Replicated largely from GenericForeignKey. Changes include: + # 1. Capture restrict_params from RestrictedPrefetch (hack) + # 2. If restrict_params is set, call restrict() on the queryset for + # the related model + def get_prefetch_queryset(self, instances, queryset=None): + restrict_params = {} + + # Compensate for the hack in RestrictedPrefetch + if type(queryset) is dict: + restrict_params = queryset + elif queryset is not None: + raise ValueError("Custom queryset can't be used for this lookup.") + + # For efficiency, group the instances by content type and then do one + # query per model + fk_dict = defaultdict(set) + # We need one instance for each group in order to get the right db: + instance_dict = {} + ct_attname = self.model._meta.get_field(self.ct_field).get_attname() + for instance in instances: + # We avoid looking for values if either ct_id or fkey value is None + ct_id = getattr(instance, ct_attname) + if ct_id is not None: + fk_val = getattr(instance, self.fk_field) + if fk_val is not None: + fk_dict[ct_id].add(fk_val) + instance_dict[ct_id] = instance + + ret_val = [] + for ct_id, fkeys in fk_dict.items(): + instance = instance_dict[ct_id] + ct = self.get_content_type(id=ct_id, using=instance._state.db) + if restrict_params: + # Override the default behavior to call restrict() on each model's queryset + qs = ct.model_class().objects.filter(pk__in=fkeys).restrict(**restrict_params) + ret_val.extend(qs) + else: + # Default behavior + ret_val.extend(ct.get_all_objects_for_this_type(pk__in=fkeys)) + + # For doing the join in Python, we have to match both the FK val and the + # content type, so we use a callable that returns a (fk, class) pair. + def gfk_key(obj): + ct_id = getattr(obj, ct_attname) + if ct_id is None: + return None + else: + model = self.get_content_type( + id=ct_id, using=obj._state.db + ).model_class() + return ( + model._meta.pk.get_prep_value(getattr(obj, self.fk_field)), + model, + ) + + return ( + ret_val, + lambda obj: (obj.pk, obj.__class__), + gfk_key, + True, + self.name, + False, + ) diff --git a/netbox/utilities/querysets.py b/netbox/utilities/querysets.py index 955a10d64..0e5f1cd5c 100644 --- a/netbox/utilities/querysets.py +++ b/netbox/utilities/querysets.py @@ -1,9 +1,35 @@ -from django.db.models import QuerySet +from django.db.models import Prefetch, QuerySet from users.constants import CONSTRAINT_TOKEN_USER from utilities.permissions import permission_is_exempt, qs_filter_from_constraints +class RestrictedPrefetch(Prefetch): + """ + Extend Django's Prefetch to accept a user and action to be passed to the + `restrict()` method of the related object's queryset. + """ + def __init__(self, lookup, user, action='view', queryset=None, to_attr=None): + self.restrict_user = user + self.restrict_action = action + + super().__init__(lookup, queryset=queryset, to_attr=to_attr) + + def get_current_queryset(self, level): + params = { + 'user': self.restrict_user, + 'action': self.restrict_action, + } + + if qs := super().get_current_queryset(level): + return qs.restrict(**params) + + # Bit of a hack. If no queryset is defined, pass through the dict of restrict() + # kwargs to be handled by the field. This is necessary e.g. for GenericForeignKey + # fields, which do not permit setting a queryset on a Prefetch object. + return params + + class RestrictedQuerySet(QuerySet): def restrict(self, user, action='view'): diff --git a/netbox/utilities/templates/search/searchbar.html b/netbox/utilities/templates/search/searchbar.html deleted file mode 100644 index 74d12e9b9..000000000 --- a/netbox/utilities/templates/search/searchbar.html +++ /dev/null @@ -1,50 +0,0 @@ -
- - - - - All Objects - - - - - - - -
diff --git a/netbox/utilities/templatetags/search.py b/netbox/utilities/templatetags/search.py deleted file mode 100644 index ca8f3ba2a..000000000 --- a/netbox/utilities/templatetags/search.py +++ /dev/null @@ -1,18 +0,0 @@ -from typing import Dict - -from django import template - -from netbox.forms import SearchForm - -register = template.Library() -search_form = SearchForm() - - -@register.inclusion_tag("search/searchbar.html") -def search_options(request) -> Dict: - - # Provide search options to template. - return { - 'options': search_form.get_options(), - 'request': request, - } diff --git a/netbox/utilities/utils.py b/netbox/utilities/utils.py index 9f587e88d..e1fbbfe84 100644 --- a/netbox/utilities/utils.py +++ b/netbox/utilities/utils.py @@ -1,6 +1,7 @@ import datetime import decimal import json +import re from decimal import Decimal from itertools import count, groupby @@ -9,6 +10,7 @@ from django.core.serializers import serialize from django.db.models import Count, OuterRef, Subquery from django.db.models.functions import Coalesce from django.http import QueryDict +from django.utils.html import escape from jinja2.sandbox import SandboxedEnvironment from mptt.models import MPTTModel @@ -472,3 +474,23 @@ def clean_html(html, schemes): attributes=ALLOWED_ATTRIBUTES, protocols=schemes ) + + +def highlight_string(value, highlight, trim_pre=None, trim_post=None, trim_placeholder='...'): + """ + Highlight a string within a string and optionally trim the pre/post portions of the original string. + """ + # Split value on highlight string + try: + pre, match, post = re.split(fr'({highlight})', value, maxsplit=1, flags=re.IGNORECASE) + except ValueError: + # Match not found + return escape(value) + + # Trim pre/post sections to length + if trim_pre and len(pre) > trim_pre: + pre = trim_placeholder + pre[-trim_pre:] + if trim_post and len(post) > trim_post: + post = post[:trim_post] + trim_placeholder + + return f'{escape(pre)}{escape(match)}{escape(post)}' diff --git a/netbox/virtualization/search.py b/netbox/virtualization/search.py index 5b24f7fa0..184bf7049 100644 --- a/netbox/virtualization/search.py +++ b/netbox/virtualization/search.py @@ -1,33 +1,49 @@ -import virtualization.filtersets -import virtualization.tables -from dcim.models import Device from netbox.search import SearchIndex, register_search -from utilities.utils import count_related -from virtualization.models import Cluster, VirtualMachine +from . import models -@register_search() +@register_search class ClusterIndex(SearchIndex): - model = Cluster - queryset = Cluster.objects.prefetch_related('type', 'group').annotate( - device_count=count_related(Device, 'cluster'), vm_count=count_related(VirtualMachine, 'cluster') + model = models.Cluster + fields = ( + ('name', 100), + ('comments', 5000), ) - filterset = virtualization.filtersets.ClusterFilterSet - table = virtualization.tables.ClusterTable - url = 'virtualization:cluster_list' -@register_search() +@register_search +class ClusterGroupIndex(SearchIndex): + model = models.ClusterGroup + fields = ( + ('name', 100), + ('slug', 110), + ('description', 500), + ) + + +@register_search +class ClusterTypeIndex(SearchIndex): + model = models.ClusterType + fields = ( + ('name', 100), + ('slug', 110), + ('description', 500), + ) + + +@register_search class VirtualMachineIndex(SearchIndex): - model = VirtualMachine - queryset = VirtualMachine.objects.prefetch_related( - 'cluster', - 'tenant', - 'tenant__group', - 'platform', - 'primary_ip4', - 'primary_ip6', + model = models.VirtualMachine + fields = ( + ('name', 100), + ('comments', 5000), + ) + + +@register_search +class VMInterfaceIndex(SearchIndex): + model = models.VMInterface + fields = ( + ('name', 100), + ('description', 500), ) - filterset = virtualization.filtersets.VirtualMachineFilterSet - table = virtualization.tables.VirtualMachineTable - url = 'virtualization:virtualmachine_list' diff --git a/netbox/wireless/search.py b/netbox/wireless/search.py index 89ac23af8..55ca2977c 100644 --- a/netbox/wireless/search.py +++ b/netbox/wireless/search.py @@ -1,26 +1,32 @@ -import wireless.filtersets -import wireless.tables -from dcim.models import Interface from netbox.search import SearchIndex, register_search -from utilities.utils import count_related -from wireless.models import WirelessLAN, WirelessLink +from . import models -@register_search() +@register_search class WirelessLANIndex(SearchIndex): - model = WirelessLAN - queryset = WirelessLAN.objects.prefetch_related('group', 'vlan').annotate( - interface_count=count_related(Interface, 'wireless_lans') + model = models.WirelessLAN + fields = ( + ('ssid', 100), + ('description', 500), + ('auth_psk', 2000), ) - filterset = wireless.filtersets.WirelessLANFilterSet - table = wireless.tables.WirelessLANTable - url = 'wireless:wirelesslan_list' -@register_search() +@register_search +class WirelessLANGroupIndex(SearchIndex): + model = models.WirelessLANGroup + fields = ( + ('name', 100), + ('slug', 110), + ('description', 500), + ) + + +@register_search class WirelessLinkIndex(SearchIndex): - model = WirelessLink - queryset = WirelessLink.objects.prefetch_related('interface_a__device', 'interface_b__device') - filterset = wireless.filtersets.WirelessLinkFilterSet - table = wireless.tables.WirelessLinkTable - url = 'wireless:wirelesslink_list' + model = models.WirelessLink + fields = ( + ('ssid', 100), + ('description', 500), + ('auth_psk', 2000), + ) From b2e2e3be35f3922ecee945b97279c50725c0b7fa Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Tue, 25 Oct 2022 11:19:15 -0400 Subject: [PATCH 105/162] Closes #10739: Introduce get_queryset() method on generic views --- docs/plugins/development/views.md | 14 ++++++++---- docs/release-notes/version-3.4.md | 1 + netbox/netbox/views/generic/base.py | 33 +++++++++++++++++++++++------ 3 files changed, 38 insertions(+), 10 deletions(-) diff --git a/docs/plugins/development/views.md b/docs/plugins/development/views.md index e12f32bad..45d7064cf 100644 --- a/docs/plugins/development/views.md +++ b/docs/plugins/development/views.md @@ -82,23 +82,25 @@ class ThingEditView(ObjectEditView): Below are the class definitions for NetBox's object views. These views handle CRUD actions for individual objects. The view, add/edit, and delete views each inherit from `BaseObjectView`, which is not intended to be used directly. ::: netbox.views.generic.base.BaseObjectView + options: + members: + - get_queryset + - get_object + - get_extra_context ::: netbox.views.generic.ObjectView options: members: - - get_object - get_template_name ::: netbox.views.generic.ObjectEditView options: members: - - get_object - alter_object ::: netbox.views.generic.ObjectDeleteView options: - members: - - get_object + members: false ::: netbox.views.generic.ObjectChildrenView options: @@ -111,6 +113,10 @@ Below are the class definitions for NetBox's object views. These views handle CR Below are the class definitions for NetBox's multi-object views. These views handle simultaneous actions for sets objects. The list, import, edit, and delete views each inherit from `BaseMultiObjectView`, which is not intended to be used directly. ::: netbox.views.generic.base.BaseMultiObjectView + options: + members: + - get_queryset + - get_extra_context ::: netbox.views.generic.ObjectListView options: diff --git a/docs/release-notes/version-3.4.md b/docs/release-notes/version-3.4.md index 80b94d6c2..ba5947364 100644 --- a/docs/release-notes/version-3.4.md +++ b/docs/release-notes/version-3.4.md @@ -38,6 +38,7 @@ A new `PluginMenu` class has been introduced, which enables a plugin to inject a * [#9072](https://github.com/netbox-community/netbox/issues/9072) - Enable registration of tabbed plugin views for core NetBox models * [#9880](https://github.com/netbox-community/netbox/issues/9880) - Introduce `django_apps` plugin configuration parameter * [#10314](https://github.com/netbox-community/netbox/issues/10314) - Move `clone()` method from NetBoxModel to CloningMixin +* [#10739](https://github.com/netbox-community/netbox/issues/10739) - Introduce `get_queryset()` method on generic views ### Other Changes diff --git a/netbox/netbox/views/generic/base.py b/netbox/netbox/views/generic/base.py index 3ad3bcf67..8e49ea62f 100644 --- a/netbox/netbox/views/generic/base.py +++ b/netbox/netbox/views/generic/base.py @@ -1,18 +1,40 @@ +from django.core.exceptions import ImproperlyConfigured from django.shortcuts import get_object_or_404 from django.views.generic import View from utilities.views import ObjectPermissionRequiredMixin -class BaseObjectView(ObjectPermissionRequiredMixin, View): +class BaseView(ObjectPermissionRequiredMixin, View): + queryset = None + + def dispatch(self, request, *args, **kwargs): + self.queryset = self.get_queryset(request) + return super().dispatch(request, *args, **kwargs) + + def get_queryset(self, request): + """ + Return the base queryset for the view. By default, this returns self.queryset.all(). + + Args: + request: The current request + """ + if self.queryset is None: + raise ImproperlyConfigured( + f"{self.__class__.__name__} does not define a queryset. Set queryset on the class or " + f"override its get_queryset() method." + ) + return self.queryset.all() + + +class BaseObjectView(BaseView): """ - Base view class for reusable generic views. + Base class for generic views which display or manipulate a single object. Attributes: queryset: Django QuerySet from which the object(s) will be fetched template_name: The name of the HTML template file to render """ - queryset = None template_name = None def get_object(self, **kwargs): @@ -35,16 +57,15 @@ class BaseObjectView(ObjectPermissionRequiredMixin, View): return {} -class BaseMultiObjectView(ObjectPermissionRequiredMixin, View): +class BaseMultiObjectView(BaseView): """ - Base view class for reusable generic views. + Base class for generic views which display or manipulate multiple objects. Attributes: queryset: Django QuerySet from which the object(s) will be fetched table: The django-tables2 Table class used to render the objects list template_name: The name of the HTML template file to render """ - queryset = None table = None template_name = None From 91c6bbcd787700b9c3fcafefe35af1ba1ae1ac0b Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Tue, 25 Oct 2022 16:26:05 -0400 Subject: [PATCH 106/162] Closes #10695: Rename forms/models.py to forms/model_forms.py --- netbox/circuits/forms/__init__.py | 2 +- netbox/circuits/forms/{models.py => model_forms.py} | 0 netbox/dcim/forms/__init__.py | 2 +- netbox/dcim/forms/connections.py | 2 +- netbox/dcim/forms/{models.py => model_forms.py} | 0 netbox/dcim/forms/object_create.py | 2 +- netbox/extras/forms/__init__.py | 2 +- netbox/extras/forms/{models.py => model_forms.py} | 0 netbox/ipam/forms/__init__.py | 2 +- netbox/ipam/forms/{models.py => model_forms.py} | 2 -- netbox/tenancy/forms/__init__.py | 2 +- netbox/tenancy/forms/{models.py => model_forms.py} | 0 netbox/virtualization/forms/__init__.py | 2 +- netbox/virtualization/forms/{models.py => model_forms.py} | 2 +- netbox/virtualization/forms/object_create.py | 2 +- netbox/wireless/forms/__init__.py | 2 +- netbox/wireless/forms/{models.py => model_forms.py} | 0 17 files changed, 11 insertions(+), 13 deletions(-) rename netbox/circuits/forms/{models.py => model_forms.py} (100%) rename netbox/dcim/forms/{models.py => model_forms.py} (100%) rename netbox/extras/forms/{models.py => model_forms.py} (100%) rename netbox/ipam/forms/{models.py => model_forms.py} (99%) rename netbox/tenancy/forms/{models.py => model_forms.py} (100%) rename netbox/virtualization/forms/{models.py => model_forms.py} (99%) rename netbox/wireless/forms/{models.py => model_forms.py} (100%) diff --git a/netbox/circuits/forms/__init__.py b/netbox/circuits/forms/__init__.py index 5c23f833a..1499f98b2 100644 --- a/netbox/circuits/forms/__init__.py +++ b/netbox/circuits/forms/__init__.py @@ -1,4 +1,4 @@ from .bulk_edit import * from .bulk_import import * from .filtersets import * -from .models import * +from .model_forms import * diff --git a/netbox/circuits/forms/models.py b/netbox/circuits/forms/model_forms.py similarity index 100% rename from netbox/circuits/forms/models.py rename to netbox/circuits/forms/model_forms.py diff --git a/netbox/dcim/forms/__init__.py b/netbox/dcim/forms/__init__.py index 22f0b1204..7510a979f 100644 --- a/netbox/dcim/forms/__init__.py +++ b/netbox/dcim/forms/__init__.py @@ -1,4 +1,4 @@ -from .models import * +from .model_forms import * from .filtersets import * from .object_create import * from .object_import import * diff --git a/netbox/dcim/forms/connections.py b/netbox/dcim/forms/connections.py index 5e3948baa..537a89bad 100644 --- a/netbox/dcim/forms/connections.py +++ b/netbox/dcim/forms/connections.py @@ -3,7 +3,7 @@ from django import forms from circuits.models import Circuit, CircuitTermination, Provider from dcim.models import * from utilities.forms import DynamicModelChoiceField, DynamicModelMultipleChoiceField -from .models import CableForm +from .model_forms import CableForm def get_cable_form(a_type, b_type): diff --git a/netbox/dcim/forms/models.py b/netbox/dcim/forms/model_forms.py similarity index 100% rename from netbox/dcim/forms/models.py rename to netbox/dcim/forms/model_forms.py diff --git a/netbox/dcim/forms/object_create.py b/netbox/dcim/forms/object_create.py index a03597db1..afdaa4fcc 100644 --- a/netbox/dcim/forms/object_create.py +++ b/netbox/dcim/forms/object_create.py @@ -3,7 +3,7 @@ from django import forms from dcim.models import * from netbox.forms import NetBoxModelForm from utilities.forms import DynamicModelChoiceField, DynamicModelMultipleChoiceField, ExpandableNameField -from . import models as model_forms +from . import model_forms __all__ = ( 'ComponentCreateForm', diff --git a/netbox/extras/forms/__init__.py b/netbox/extras/forms/__init__.py index b470650da..d2f2fb015 100644 --- a/netbox/extras/forms/__init__.py +++ b/netbox/extras/forms/__init__.py @@ -1,4 +1,4 @@ -from .models import * +from .model_forms import * from .filtersets import * from .bulk_edit import * from .bulk_import import * diff --git a/netbox/extras/forms/models.py b/netbox/extras/forms/model_forms.py similarity index 100% rename from netbox/extras/forms/models.py rename to netbox/extras/forms/model_forms.py diff --git a/netbox/ipam/forms/__init__.py b/netbox/ipam/forms/__init__.py index fc3352358..ba97d6dfa 100644 --- a/netbox/ipam/forms/__init__.py +++ b/netbox/ipam/forms/__init__.py @@ -1,4 +1,4 @@ -from .models import * +from .model_forms import * from .filtersets import * from .bulk_create import * from .bulk_edit import * diff --git a/netbox/ipam/forms/models.py b/netbox/ipam/forms/model_forms.py similarity index 99% rename from netbox/ipam/forms/models.py rename to netbox/ipam/forms/model_forms.py index 86a083361..6a3acf4c2 100644 --- a/netbox/ipam/forms/models.py +++ b/netbox/ipam/forms/model_forms.py @@ -3,14 +3,12 @@ from django.contrib.contenttypes.models import ContentType from django.core.exceptions import ValidationError from dcim.models import Device, Interface, Location, Rack, Region, Site, SiteGroup -from extras.models import Tag from ipam.choices import * from ipam.constants import * from ipam.formfields import IPNetworkFormField from ipam.models import * from netbox.forms import NetBoxModelForm from tenancy.forms import TenancyForm -from tenancy.models import Tenant from utilities.exceptions import PermissionsViolation from utilities.forms import ( add_blank_choice, BootstrapMixin, ContentTypeChoiceField, DatePicker, DynamicModelChoiceField, diff --git a/netbox/tenancy/forms/__init__.py b/netbox/tenancy/forms/__init__.py index 61f0bc961..96c1e50f7 100644 --- a/netbox/tenancy/forms/__init__.py +++ b/netbox/tenancy/forms/__init__.py @@ -1,5 +1,5 @@ from .forms import * -from .models import * +from .model_forms import * from .filtersets import * from .bulk_edit import * from .bulk_import import * diff --git a/netbox/tenancy/forms/models.py b/netbox/tenancy/forms/model_forms.py similarity index 100% rename from netbox/tenancy/forms/models.py rename to netbox/tenancy/forms/model_forms.py diff --git a/netbox/virtualization/forms/__init__.py b/netbox/virtualization/forms/__init__.py index 00f28b852..3c9dd3651 100644 --- a/netbox/virtualization/forms/__init__.py +++ b/netbox/virtualization/forms/__init__.py @@ -1,4 +1,4 @@ -from .models import * +from .model_forms import * from .filtersets import * from .object_create import * from .bulk_create import * diff --git a/netbox/virtualization/forms/models.py b/netbox/virtualization/forms/model_forms.py similarity index 99% rename from netbox/virtualization/forms/models.py rename to netbox/virtualization/forms/model_forms.py index 1b5c5adc6..5438002b4 100644 --- a/netbox/virtualization/forms/models.py +++ b/netbox/virtualization/forms/model_forms.py @@ -3,7 +3,7 @@ from django.contrib.contenttypes.models import ContentType from django.core.exceptions import ValidationError from dcim.forms.common import InterfaceCommonForm -from dcim.forms.models import INTERFACE_MODE_HELP_TEXT +from dcim.forms.model_forms import INTERFACE_MODE_HELP_TEXT from dcim.models import Device, DeviceRole, Platform, Rack, Region, Site, SiteGroup from ipam.models import IPAddress, VLAN, VLANGroup, VRF from netbox.forms import NetBoxModelForm diff --git a/netbox/virtualization/forms/object_create.py b/netbox/virtualization/forms/object_create.py index 79457a56e..2e0cc5db1 100644 --- a/netbox/virtualization/forms/object_create.py +++ b/netbox/virtualization/forms/object_create.py @@ -1,5 +1,5 @@ from utilities.forms import ExpandableNameField -from .models import VMInterfaceForm +from .model_forms import VMInterfaceForm __all__ = ( 'VMInterfaceCreateForm', diff --git a/netbox/wireless/forms/__init__.py b/netbox/wireless/forms/__init__.py index 62c2ec2d9..3098b356a 100644 --- a/netbox/wireless/forms/__init__.py +++ b/netbox/wireless/forms/__init__.py @@ -1,4 +1,4 @@ -from .models import * +from .model_forms import * from .filtersets import * from .bulk_edit import * from .bulk_import import * diff --git a/netbox/wireless/forms/models.py b/netbox/wireless/forms/model_forms.py similarity index 100% rename from netbox/wireless/forms/models.py rename to netbox/wireless/forms/model_forms.py From 01654765e853e68290f1c2f22871657b0658ae87 Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Tue, 25 Oct 2022 16:38:32 -0400 Subject: [PATCH 107/162] Fixes #10746: Add missing status attribute to cluster view --- docs/release-notes/version-3.3.md | 1 + netbox/templates/virtualization/cluster.html | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/docs/release-notes/version-3.3.md b/docs/release-notes/version-3.3.md index 5f3d50098..b05fa9074 100644 --- a/docs/release-notes/version-3.3.md +++ b/docs/release-notes/version-3.3.md @@ -19,6 +19,7 @@ * [#10646](https://github.com/netbox-community/netbox/issues/10646) - Fix filtering of power feed by power panel when connecting a cable * [#10655](https://github.com/netbox-community/netbox/issues/10655) - Correct display of assigned contacts in object tables * [#10712](https://github.com/netbox-community/netbox/issues/10712) - Fix ModuleNotFoundError exception when generating API schema under Python 3.9+ +* [#10746](https://github.com/netbox-community/netbox/issues/10746) - Add missing status attribute to cluster view --- diff --git a/netbox/templates/virtualization/cluster.html b/netbox/templates/virtualization/cluster.html index bf7c8a69a..bc02424cc 100644 --- a/netbox/templates/virtualization/cluster.html +++ b/netbox/templates/virtualization/cluster.html @@ -19,6 +19,10 @@ Type {{ object.type|linkify }} + + Status + {% badge object.get_status_display bg_color=object.get_status_color %} + Group {{ object.group|linkify|placeholder }} From eb91934d701cfc295969158fd8217d5c534a474f Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Tue, 25 Oct 2022 16:41:07 -0400 Subject: [PATCH 108/162] Fixes #10745: Correct display of status field in clusters list --- docs/release-notes/version-3.3.md | 1 + netbox/virtualization/tables/clusters.py | 1 + 2 files changed, 2 insertions(+) diff --git a/docs/release-notes/version-3.3.md b/docs/release-notes/version-3.3.md index b05fa9074..e66ee1a28 100644 --- a/docs/release-notes/version-3.3.md +++ b/docs/release-notes/version-3.3.md @@ -19,6 +19,7 @@ * [#10646](https://github.com/netbox-community/netbox/issues/10646) - Fix filtering of power feed by power panel when connecting a cable * [#10655](https://github.com/netbox-community/netbox/issues/10655) - Correct display of assigned contacts in object tables * [#10712](https://github.com/netbox-community/netbox/issues/10712) - Fix ModuleNotFoundError exception when generating API schema under Python 3.9+ +* [#10745](https://github.com/netbox-community/netbox/issues/10745) - Correct display of status field in clusters list * [#10746](https://github.com/netbox-community/netbox/issues/10746) - Add missing status attribute to cluster view --- diff --git a/netbox/virtualization/tables/clusters.py b/netbox/virtualization/tables/clusters.py index fec539b8c..ae4c610d7 100644 --- a/netbox/virtualization/tables/clusters.py +++ b/netbox/virtualization/tables/clusters.py @@ -64,6 +64,7 @@ class ClusterTable(TenancyColumnsMixin, ContactsColumnMixin, NetBoxTable): group = tables.Column( linkify=True ) + status = columns.ChoiceFieldColumn() site = tables.Column( linkify=True ) From 8d486c5838e0c882640e9a747cc1965e60e4f9e5 Mon Sep 17 00:00:00 2001 From: Arthur Hanson Date: Wed, 26 Oct 2022 05:05:15 -0700 Subject: [PATCH 109/162] 10716 add left-right plugins to tags page (#10744) * 10716 add left-right plugins to tags page * 10716 add back plugin_full_width --- netbox/templates/extras/tag.html | 2 ++ 1 file changed, 2 insertions(+) diff --git a/netbox/templates/extras/tag.html b/netbox/templates/extras/tag.html index b0b88b5af..6e4c5aee9 100644 --- a/netbox/templates/extras/tag.html +++ b/netbox/templates/extras/tag.html @@ -39,6 +39,7 @@
+ {% plugin_left_page object %}
@@ -64,6 +65,7 @@
+ {% plugin_right_page object %}
From d8c07abd6817771b4f5491df19550d9f58261165 Mon Sep 17 00:00:00 2001 From: Arthur Date: Tue, 25 Oct 2022 09:07:39 -0700 Subject: [PATCH 110/162] 10610 interface_id query on lag return vc interfaces --- netbox/dcim/filtersets.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/netbox/dcim/filtersets.py b/netbox/dcim/filtersets.py index a999383c7..917f57923 100644 --- a/netbox/dcim/filtersets.py +++ b/netbox/dcim/filtersets.py @@ -1363,7 +1363,7 @@ class InterfaceFilterSet( try: devices = Device.objects.filter(pk__in=id_list) for device in devices: - vc_interface_ids += device.vc_interfaces().values_list('id', flat=True) + vc_interface_ids += device.vc_interfaces(if_master=False).values_list('id', flat=True) return queryset.filter(pk__in=vc_interface_ids) except Device.DoesNotExist: return queryset.none() From 2a62b628cf8c3648468e14bf67ec5a9b24278704 Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Wed, 26 Oct 2022 08:23:50 -0400 Subject: [PATCH 111/162] Fixes #10723: Distinguish between inside/outside NAT assignments for device/VM primary IPs --- docs/release-notes/version-3.3.md | 3 +++ netbox/templates/dcim/device.html | 4 ++-- netbox/templates/virtualization/virtualmachine.html | 4 ++-- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/docs/release-notes/version-3.3.md b/docs/release-notes/version-3.3.md index e66ee1a28..fe37cce3e 100644 --- a/docs/release-notes/version-3.3.md +++ b/docs/release-notes/version-3.3.md @@ -15,10 +15,13 @@ * [#9669](https://github.com/netbox-community/netbox/issues/9669) - Strip colons from usernames when using remote authentication * [#10575](https://github.com/netbox-community/netbox/issues/10575) - Include OIDC dependencies for python-social-auth * [#10584](https://github.com/netbox-community/netbox/issues/10584) - Fix service clone link +* [#10610](https://github.com/netbox-community/netbox/issues/10610) - Allow assignment of VC member to LAG on non-master peer * [#10643](https://github.com/netbox-community/netbox/issues/10643) - Ensure consistent display of custom fields for all model forms * [#10646](https://github.com/netbox-community/netbox/issues/10646) - Fix filtering of power feed by power panel when connecting a cable * [#10655](https://github.com/netbox-community/netbox/issues/10655) - Correct display of assigned contacts in object tables * [#10712](https://github.com/netbox-community/netbox/issues/10712) - Fix ModuleNotFoundError exception when generating API schema under Python 3.9+ +* [#10716](https://github.com/netbox-community/netbox/issues/10716) - Add left/right page plugin content embeds for tag view +* [#10723](https://github.com/netbox-community/netbox/issues/10723) - Distinguish between inside/outside NAT assignments for device/VM primary IPs * [#10745](https://github.com/netbox-community/netbox/issues/10745) - Correct display of status field in clusters list * [#10746](https://github.com/netbox-community/netbox/issues/10746) - Add missing status attribute to cluster view diff --git a/netbox/templates/dcim/device.html b/netbox/templates/dcim/device.html index d800658a5..b0cd76de4 100644 --- a/netbox/templates/dcim/device.html +++ b/netbox/templates/dcim/device.html @@ -178,7 +178,7 @@ {% if object.primary_ip4.nat_inside %} (NAT for {{ object.primary_ip4.nat_inside.address.ip }}) {% elif object.primary_ip4.nat_outside.exists %} - (NAT for {% for nat in object.primary_ip4.nat_outside.all %}{{ nat.address.ip }}{% if not forloop.last %}, {% endif %}{% endfor %}) + (NAT: {% for nat in object.primary_ip4.nat_outside.all %}{{ nat.address.ip }}{% if not forloop.last %}, {% endif %}{% endfor %}) {% endif %} {% else %} {{ ''|placeholder }} @@ -193,7 +193,7 @@ {% if object.primary_ip6.nat_inside %} (NAT for {{ object.primary_ip6.nat_inside.address.ip }}) {% elif object.primary_ip6.nat_outside.exists %} - (NAT for {% for nat in object.primary_ip6.nat_outside.all %}{{ nat.address.ip }}{% if not forloop.last %}, {% endif %}{% endfor %}) + (NAT: {% for nat in object.primary_ip6.nat_outside.all %}{{ nat.address.ip }}{% if not forloop.last %}, {% endif %}{% endfor %}) {% endif %} {% else %} {{ ''|placeholder }} diff --git a/netbox/templates/virtualization/virtualmachine.html b/netbox/templates/virtualization/virtualmachine.html index 5756d939a..c0e2ebd07 100644 --- a/netbox/templates/virtualization/virtualmachine.html +++ b/netbox/templates/virtualization/virtualmachine.html @@ -46,7 +46,7 @@ {% if object.primary_ip4.nat_inside %} (NAT for {{ object.primary_ip4.nat_inside.address.ip }}) {% elif object.primary_ip4.nat_outside.exists %} - (NAT for {% for nat in object.primary_ip4.nat_outside.all %}{{ nat.address.ip }}{% if not forloop.last %}, {% endif %}{% endfor %}) + (NAT: {% for nat in object.primary_ip4.nat_outside.all %}{{ nat.address.ip }}{% if not forloop.last %}, {% endif %}{% endfor %}) {% endif %} {% else %} {{ ''|placeholder }} @@ -61,7 +61,7 @@ {% if object.primary_ip6.nat_inside %} (NAT for {{ object.primary_ip6.nat_inside.address.ip }}) {% elif object.primary_ip6.nat_outside.exists %} - (NAT for {% for nat in object.primary_ip6.nat_outside.all %}{{ nat.address.ip }}{% if not forloop.last %}, {% endif %}{% endfor %}) + (NAT: {% for nat in object.primary_ip6.nat_outside.all %}{{ nat.address.ip }}{% if not forloop.last %}, {% endif %}{% endfor %}) {% endif %} {% else %} {{ ''|placeholder }} From 7b3ef2ade5266ec0738c4e210cf1c6f9b85fbee7 Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Wed, 26 Oct 2022 08:44:20 -0400 Subject: [PATCH 112/162] Fixes #10719: Prevent user without sufficient permission from creating an IP address via FHRP group creation --- docs/release-notes/version-3.3.md | 1 + netbox/ipam/forms/models.py | 3 ++- netbox/ipam/views.py | 6 ++++++ 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/docs/release-notes/version-3.3.md b/docs/release-notes/version-3.3.md index fe37cce3e..0015dc2df 100644 --- a/docs/release-notes/version-3.3.md +++ b/docs/release-notes/version-3.3.md @@ -21,6 +21,7 @@ * [#10655](https://github.com/netbox-community/netbox/issues/10655) - Correct display of assigned contacts in object tables * [#10712](https://github.com/netbox-community/netbox/issues/10712) - Fix ModuleNotFoundError exception when generating API schema under Python 3.9+ * [#10716](https://github.com/netbox-community/netbox/issues/10716) - Add left/right page plugin content embeds for tag view +* [#10719](https://github.com/netbox-community/netbox/issues/10719) - Prevent user without sufficient permission from creating an IP address via FHRP group creation * [#10723](https://github.com/netbox-community/netbox/issues/10723) - Distinguish between inside/outside NAT assignments for device/VM primary IPs * [#10745](https://github.com/netbox-community/netbox/issues/10745) - Correct display of status field in clusters list * [#10746](https://github.com/netbox-community/netbox/issues/10746) - Add missing status attribute to cluster view diff --git a/netbox/ipam/forms/models.py b/netbox/ipam/forms/models.py index f66b7efba..1986b1590 100644 --- a/netbox/ipam/forms/models.py +++ b/netbox/ipam/forms/models.py @@ -552,6 +552,7 @@ class FHRPGroupForm(NetBoxModelForm): def save(self, *args, **kwargs): instance = super().save(*args, **kwargs) + user = getattr(instance, '_user', None) # Set under FHRPGroupEditView.alter_object() # Check if we need to create a new IPAddress for the group if self.cleaned_data.get('ip_address'): @@ -565,7 +566,7 @@ class FHRPGroupForm(NetBoxModelForm): ipaddress.save() # Check that the new IPAddress conforms with any assigned object-level permissions - if not IPAddress.objects.filter(pk=ipaddress.pk).first(): + if not IPAddress.objects.restrict(user, 'add').filter(pk=ipaddress.pk).first(): raise PermissionsViolation() return instance diff --git a/netbox/ipam/views.py b/netbox/ipam/views.py index 04d07e356..72483d40f 100644 --- a/netbox/ipam/views.py +++ b/netbox/ipam/views.py @@ -930,6 +930,12 @@ class FHRPGroupEditView(generic.ObjectEditView): return return_url + def alter_object(self, obj, request, url_args, url_kwargs): + # Workaround to solve #10719. Capture the current user on the FHRPGroup instance so that + # we can evaluate permissions during the creation of a new IPAddress within the form. + obj._user = request.user + return obj + class FHRPGroupDeleteView(generic.ObjectDeleteView): queryset = FHRPGroup.objects.all() From 658c9347f39c7376866f02c917df8dcb0224e079 Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Wed, 26 Oct 2022 09:32:29 -0400 Subject: [PATCH 113/162] Fixes #10682: Correct home view links to connection lists --- docs/release-notes/version-3.3.md | 1 + netbox/netbox/views/__init__.py | 114 ++++++++++++++---------------- netbox/templates/home.html | 4 +- 3 files changed, 56 insertions(+), 63 deletions(-) diff --git a/docs/release-notes/version-3.3.md b/docs/release-notes/version-3.3.md index 0015dc2df..1e2c4a90e 100644 --- a/docs/release-notes/version-3.3.md +++ b/docs/release-notes/version-3.3.md @@ -19,6 +19,7 @@ * [#10643](https://github.com/netbox-community/netbox/issues/10643) - Ensure consistent display of custom fields for all model forms * [#10646](https://github.com/netbox-community/netbox/issues/10646) - Fix filtering of power feed by power panel when connecting a cable * [#10655](https://github.com/netbox-community/netbox/issues/10655) - Correct display of assigned contacts in object tables +* [#10682](https://github.com/netbox-community/netbox/issues/10682) - Correct home view links to connection lists * [#10712](https://github.com/netbox-community/netbox/issues/10712) - Fix ModuleNotFoundError exception when generating API schema under Python 3.9+ * [#10716](https://github.com/netbox-community/netbox/issues/10716) - Add left/right page plugin content embeds for tag view * [#10719](https://github.com/netbox-community/netbox/issues/10719) - Prevent user without sufficient permission from creating an IP address via FHRP group creation diff --git a/netbox/netbox/views/__init__.py b/netbox/netbox/views/__init__.py index bc1f0e2ca..18b64344f 100644 --- a/netbox/netbox/views/__init__.py +++ b/netbox/netbox/views/__init__.py @@ -1,5 +1,6 @@ import platform import sys +from collections import namedtuple from django.conf import settings from django.core.cache import cache @@ -8,6 +9,7 @@ from django.shortcuts import redirect, render from django.template import loader from django.template.exceptions import TemplateDoesNotExist from django.urls import reverse +from django.utils.translation import gettext as _ from django.views.decorators.csrf import requires_csrf_token from django.views.defaults import ERROR_500_TEMPLATE_NAME, page_not_found from django.views.generic import View @@ -24,100 +26,90 @@ from ipam.models import Aggregate, IPAddress, IPRange, Prefix, VLAN, VRF from netbox.constants import SEARCH_MAX_RESULTS from netbox.forms import SearchForm from netbox.search import SEARCH_TYPES -from tenancy.models import Tenant +from tenancy.models import Contact, Tenant from virtualization.models import Cluster, VirtualMachine from wireless.models import WirelessLAN, WirelessLink +Link = namedtuple('Link', ('label', 'viewname', 'permission', 'count')) + + class HomeView(View): template_name = 'home.html' def get(self, request): if settings.LOGIN_REQUIRED and not request.user.is_authenticated: - return redirect("login") + return redirect('login') - connected_consoleports = ConsolePort.objects.restrict(request.user, 'view').prefetch_related('_path').filter( + console_connections = ConsolePort.objects.restrict(request.user, 'view').prefetch_related('_path').filter( _path__is_complete=True - ) - connected_powerports = PowerPort.objects.restrict(request.user, 'view').prefetch_related('_path').filter( + ).count + power_connections = PowerPort.objects.restrict(request.user, 'view').prefetch_related('_path').filter( _path__is_complete=True - ) - connected_interfaces = Interface.objects.restrict(request.user, 'view').prefetch_related('_path').filter( + ).count + interface_connections = Interface.objects.restrict(request.user, 'view').prefetch_related('_path').filter( _path__is_complete=True - ) + ).count + + def get_count_queryset(model): + return model.objects.restrict(request.user, 'view').count def build_stats(): org = ( - ("dcim.view_site", "Sites", Site.objects.restrict(request.user, 'view').count), - ("tenancy.view_tenant", "Tenants", Tenant.objects.restrict(request.user, 'view').count), + Link(_('Sites'), 'dcim:site_list', 'dcim.view_site', get_count_queryset(Site)), + Link(_('Tenants'), 'tenancy:tenant_list', 'tenancy.view_tenant', get_count_queryset(Tenant)), + Link(_('Contacts'), 'tenancy:contact_list', 'tenancy.view_contact', get_count_queryset(Contact)), ) dcim = ( - ("dcim.view_rack", "Racks", Rack.objects.restrict(request.user, 'view').count), - ("dcim.view_devicetype", "Device Types", DeviceType.objects.restrict(request.user, 'view').count), - ("dcim.view_device", "Devices", Device.objects.restrict(request.user, 'view').count), + Link(_('Racks'), 'dcim:rack_list', 'dcim.view_rack', get_count_queryset(Rack)), + Link(_('Device Types'), 'dcim:devicetype_list', 'dcim.view_devicetype', get_count_queryset(DeviceType)), + Link(_('Devices'), 'dcim:device_list', 'dcim.view_device', get_count_queryset(Device)), ) ipam = ( - ("ipam.view_vrf", "VRFs", VRF.objects.restrict(request.user, 'view').count), - ("ipam.view_aggregate", "Aggregates", Aggregate.objects.restrict(request.user, 'view').count), - ("ipam.view_prefix", "Prefixes", Prefix.objects.restrict(request.user, 'view').count), - ("ipam.view_iprange", "IP Ranges", IPRange.objects.restrict(request.user, 'view').count), - ("ipam.view_ipaddress", "IP Addresses", IPAddress.objects.restrict(request.user, 'view').count), - ("ipam.view_vlan", "VLANs", VLAN.objects.restrict(request.user, 'view').count) - + Link(_('VRFs'), 'ipam:vrf_list', 'ipam.view_vrf', get_count_queryset(VRF)), + Link(_('Aggregates'), 'ipam:aggregate_list', 'ipam.view_aggregate', get_count_queryset(Aggregate)), + Link(_('Prefixes'), 'ipam:prefix_list', 'ipam.view_prefix', get_count_queryset(Prefix)), + Link(_('IP Ranges'), 'ipam:iprange_list', 'ipam.view_iprange', get_count_queryset(IPRange)), + Link(_('IP Addresses'), 'ipam:ipaddress_list', 'ipam.view_ipaddress', get_count_queryset(IPAddress)), + Link(_('VLANs'), 'ipam:vlan_list', 'ipam.view_vlan', get_count_queryset(VLAN)), ) circuits = ( - ("circuits.view_provider", "Providers", Provider.objects.restrict(request.user, 'view').count), - ("circuits.view_circuit", "Circuits", Circuit.objects.restrict(request.user, 'view').count), + Link(_('Providers'), 'circuits:provider_list', 'circuits.view_provider', get_count_queryset(Provider)), + Link(_('Circuits'), 'circuits:circuit_list', 'circuits.view_circuit', get_count_queryset(Circuit)) ) virtualization = ( - ("virtualization.view_cluster", "Clusters", Cluster.objects.restrict(request.user, 'view').count), - ("virtualization.view_virtualmachine", "Virtual Machines", VirtualMachine.objects.restrict(request.user, 'view').count), - + Link(_('Clusters'), 'virtualization:cluster_list', 'virtualization.view_cluster', + get_count_queryset(Cluster)), + Link(_('Virtual Machines'), 'virtualization:virtualmachine_list', 'virtualization.view_virtualmachine', + get_count_queryset(VirtualMachine)), ) connections = ( - ("dcim.view_cable", "Cables", Cable.objects.restrict(request.user, 'view').count), - ("dcim.view_consoleport", "Console", connected_consoleports.count), - ("dcim.view_interface", "Interfaces", connected_interfaces.count), - ("dcim.view_powerport", "Power Connections", connected_powerports.count), + Link(_('Cables'), 'dcim:cable_list', 'dcim.view_cable', get_count_queryset(Cable)), + Link(_('Interfaces'), 'dcim:interface_connections_list', 'dcim.view_interface', interface_connections), + Link(_('Console'), 'dcim:console_connections_list', 'dcim.view_consoleport', console_connections), + Link(_('Power'), 'dcim:power_connections_list', 'dcim.view_powerport', power_connections), ) power = ( - ("dcim.view_powerpanel", "Power Panels", PowerPanel.objects.restrict(request.user, 'view').count), - ("dcim.view_powerfeed", "Power Feeds", PowerFeed.objects.restrict(request.user, 'view').count), + Link(_('Power Panels'), 'dcim:powerpanel_list', 'dcim.view_powerpanel', get_count_queryset(PowerPanel)), + Link(_('Power Feeds'), 'dcim:powerfeed_list', 'dcim.view_powerfeed', get_count_queryset(PowerFeed)), ) wireless = ( - ("wireless.view_wirelesslan", "Wireless LANs", WirelessLAN.objects.restrict(request.user, 'view').count), - ("wireless.view_wirelesslink", "Wireless Links", WirelessLink.objects.restrict(request.user, 'view').count), + Link(_('Wireless LANs'), 'wireless:wirelesslan_list', 'wireless.view_wirelesslan', + get_count_queryset(WirelessLAN)), + Link(_('Wireless Links'), 'wireless:wirelesslink_list', 'wireless.view_wirelesslink', + get_count_queryset(WirelessLink)), ) - sections = ( - ("Organization", org, "domain"), - ("IPAM", ipam, "counter"), - ("Virtualization", virtualization, "monitor"), - ("Inventory", dcim, "server"), - ("Circuits", circuits, "transit-connection-variant"), - ("Connections", connections, "cable-data"), - ("Power", power, "flash"), - ("Wireless", wireless, "wifi"), + stats = ( + (_('Organization'), org, 'domain'), + (_('IPAM'), ipam, 'counter'), + (_('Virtualization'), virtualization, 'monitor'), + (_('Inventory'), dcim, 'server'), + (_('Circuits'), circuits, 'transit-connection-variant'), + (_('Connections'), connections, 'cable-data'), + (_('Power'), power, 'flash'), + (_('Wireless'), wireless, 'wifi'), ) - stats = [] - for section_label, section_items, icon_class in sections: - items = [] - for perm, item_label, get_count in section_items: - app, scope = perm.split(".") - url = ":".join((app, scope.replace("view_", "") + "_list")) - item = { - "label": item_label, - "count": None, - "url": url, - "disabled": True, - "icon": icon_class, - } - if request.user.has_perm(perm): - item["count"] = get_count() - item["disabled"] = False - items.append(item) - stats.append((section_label, items, icon_class)) - return stats # Compile changelog table diff --git a/netbox/templates/home.html b/netbox/templates/home.html index a12ec9277..f98d0ccf3 100644 --- a/netbox/templates/home.html +++ b/netbox/templates/home.html @@ -36,8 +36,8 @@
{% for item in items %} - {% if not item.disabled %} - + {% if item.permission in perms %} +
{{ item.label }}

{{ item.count }}

From 174ba6cf0f9d2c04f5d7ed533654f9c30bd3f75c Mon Sep 17 00:00:00 2001 From: Kevin Petremann Date: Fri, 14 Oct 2022 17:00:20 +0200 Subject: [PATCH 114/162] Fix LDAP auth: user never updated if inactive --- netbox/netbox/api/authentication.py | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/netbox/netbox/api/authentication.py b/netbox/netbox/api/authentication.py index b8607a0bb..814ca1ed6 100644 --- a/netbox/netbox/api/authentication.py +++ b/netbox/netbox/api/authentication.py @@ -58,22 +58,24 @@ class TokenAuthentication(authentication.TokenAuthentication): if token.is_expired: raise exceptions.AuthenticationFailed("Token expired") - if not token.user.is_active: - raise exceptions.AuthenticationFailed("User inactive") - + user = token.user # When LDAP authentication is active try to load user data from LDAP directory if settings.REMOTE_AUTH_BACKEND == 'netbox.authentication.LDAPBackend': from netbox.authentication import LDAPBackend ldap_backend = LDAPBackend() # Load from LDAP if FIND_GROUP_PERMS is active - if ldap_backend.settings.FIND_GROUP_PERMS: - user = ldap_backend.populate_user(token.user.username) + # Always query LDAP when user is not active, otherwise it is never activated again + if ldap_backend.settings.FIND_GROUP_PERMS or not token.user.is_active: + ldap_user = ldap_backend.populate_user(token.user.username) # If the user is found in the LDAP directory use it, if not fallback to the local user - if user: - return user, token + if ldap_user: + user = ldap_user - return token.user, token + if not user.is_active: + raise exceptions.AuthenticationFailed("User inactive") + + return user, token class TokenPermissions(DjangoObjectPermissions): From eac2ace80b2ee333700c59dc1493cde42eb2e1b6 Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Wed, 26 Oct 2022 09:58:31 -0400 Subject: [PATCH 115/162] Release v3.3.6 --- .github/ISSUE_TEMPLATE/bug_report.yaml | 2 +- .github/ISSUE_TEMPLATE/feature_request.yaml | 2 +- docs/release-notes/version-3.3.md | 2 +- netbox/netbox/settings.py | 2 +- requirements.txt | 8 ++++---- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.yaml b/.github/ISSUE_TEMPLATE/bug_report.yaml index 907ad6cf7..56c14e966 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.5 + placeholder: v3.3.6 validations: required: true - type: dropdown diff --git a/.github/ISSUE_TEMPLATE/feature_request.yaml b/.github/ISSUE_TEMPLATE/feature_request.yaml index 3cd9bc4ee..bef1ce587 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.5 + placeholder: v3.3.6 validations: required: true - type: dropdown diff --git a/docs/release-notes/version-3.3.md b/docs/release-notes/version-3.3.md index 1e2c4a90e..ffb831e9d 100644 --- a/docs/release-notes/version-3.3.md +++ b/docs/release-notes/version-3.3.md @@ -1,6 +1,6 @@ # NetBox v3.3 -## v3.3.6 (FUTURE) +## v3.3.6 (2022-10-26) ### Enhancements diff --git a/netbox/netbox/settings.py b/netbox/netbox/settings.py index 14b66b2dd..cb26652b9 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.6-dev' +VERSION = '3.3.6' # Hostname HOSTNAME = platform.node() diff --git a/requirements.txt b/requirements.txt index 9afcaea03..bce015110 100644 --- a/requirements.txt +++ b/requirements.txt @@ -19,18 +19,18 @@ graphene-django==2.15.0 gunicorn==20.1.0 Jinja2==3.1.2 Markdown==3.3.7 -mkdocs-material==8.5.6 +mkdocs-material==8.5.7 mkdocstrings[python-legacy]==0.19.0 netaddr==0.8.0 Pillow==9.2.0 -psycopg2-binary==2.9.3 +psycopg2-binary==2.9.5 PyYAML==6.0 -sentry-sdk==1.9.10 +sentry-sdk==1.10.1 social-auth-app-django==5.0.0 social-auth-core[openidconnect]==4.3.0 svgwrite==1.4.3 tablib==3.2.1 -tzdata==2022.4 +tzdata==2022.5 # Workaround for #7401 jsonschema==3.2.0 From 18332bdbf10d8d79d2110a6a18cc80efbb8dc67d Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Wed, 26 Oct 2022 10:23:50 -0400 Subject: [PATCH 116/162] PRVB --- docs/release-notes/version-3.3.md | 4 ++++ netbox/netbox/settings.py | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/docs/release-notes/version-3.3.md b/docs/release-notes/version-3.3.md index ffb831e9d..8b8bd0060 100644 --- a/docs/release-notes/version-3.3.md +++ b/docs/release-notes/version-3.3.md @@ -1,5 +1,9 @@ # NetBox v3.3 +## v3.3.7 (FUTURE) + +--- + ## v3.3.6 (2022-10-26) ### Enhancements diff --git a/netbox/netbox/settings.py b/netbox/netbox/settings.py index cb26652b9..02e80b6cd 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.6' +VERSION = '3.3.7-dev' # Hostname HOSTNAME = platform.node() From 9e8234bb4528a1f1960fa5c7f8a7e9d53575954d Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Wed, 26 Oct 2022 11:33:11 -0400 Subject: [PATCH 117/162] Closes #8274: Enable associating a custom link with multiple object types --- docs/release-notes/version-3.4.md | 4 +++ netbox/extras/api/serializers.py | 7 ++-- netbox/extras/filtersets.py | 6 +++- netbox/extras/forms/bulk_edit.py | 5 --- netbox/extras/forms/bulk_import.py | 6 ++-- netbox/extras/forms/filtersets.py | 4 +-- netbox/extras/forms/model_forms.py | 4 +-- netbox/extras/graphql/types.py | 2 +- .../0081_customlink_content_types.py | 32 +++++++++++++++++++ netbox/extras/models/models.py | 8 ++--- netbox/extras/templatetags/custom_links.py | 3 +- netbox/extras/tests/test_api.py | 11 +++---- netbox/extras/tests/test_filtersets.py | 11 ++++--- netbox/extras/tests/test_views.py | 20 ++++++------ netbox/netbox/tables/tables.py | 2 +- netbox/templates/extras/customlink.html | 20 ++++++++---- 16 files changed, 94 insertions(+), 51 deletions(-) create mode 100644 netbox/extras/migrations/0081_customlink_content_types.py diff --git a/docs/release-notes/version-3.4.md b/docs/release-notes/version-3.4.md index ba5947364..873967456 100644 --- a/docs/release-notes/version-3.4.md +++ b/docs/release-notes/version-3.4.md @@ -8,6 +8,7 @@ * Device and virtual machine names are no longer case-sensitive. Attempting to create e.g. "device1" and "DEVICE1" will raise a validation error. * The `asn` field has been removed from the provider model. Please replicate any provider ASN assignments to the ASN model introduced in NetBox v3.1 prior to upgrading. * The `noc_contact`, `admin_contact`, and `portal_url` fields have been removed from the provider model. Please replicate any data remaining in these fields to the contact model introduced in NetBox v3.1 prior to upgrading. +* The `content_type` field on the CustomLink model has been renamed to `content_types` and now supports the assignment of multiple content types. ### New Features @@ -22,6 +23,7 @@ A new `PluginMenu` class has been introduced, which enables a plugin to inject a ### Enhancements * [#8245](https://github.com/netbox-community/netbox/issues/8245) - Enable GraphQL filtering of related objects +* [#8274](https://github.com/netbox-community/netbox/issues/8274) - Enable associating a custom link with multiple object types * [#9249](https://github.com/netbox-community/netbox/issues/9249) - Device and virtual machine names are no longer case-sensitive * [#9478](https://github.com/netbox-community/netbox/issues/9478) - Add `link_peers` field to GraphQL types for cabled objects * [#9654](https://github.com/netbox-community/netbox/issues/9654) - Add `weight` field to racks, device types, and module types @@ -57,6 +59,8 @@ A new `PluginMenu` class has been introduced, which enables a plugin to inject a * Added optional `weight` and `weight_unit` fields * dcim.Rack * Added optional `weight` and `weight_unit` fields +* extras.CustomLink + * Renamed `content_type` field to `content_types` * ipam.FHRPGroup * Added optional `name` field diff --git a/netbox/extras/api/serializers.py b/netbox/extras/api/serializers.py index 99f4dd02b..f8a5862a3 100644 --- a/netbox/extras/api/serializers.py +++ b/netbox/extras/api/serializers.py @@ -117,14 +117,15 @@ class CustomFieldSerializer(ValidatedModelSerializer): class CustomLinkSerializer(ValidatedModelSerializer): url = serializers.HyperlinkedIdentityField(view_name='extras-api:customlink-detail') - content_type = ContentTypeField( - queryset=ContentType.objects.filter(FeatureQuery('custom_links').get_query()) + content_types = ContentTypeField( + queryset=ContentType.objects.filter(FeatureQuery('custom_links').get_query()), + many=True ) class Meta: model = CustomLink fields = [ - 'id', 'url', 'display', 'content_type', 'name', 'enabled', 'link_text', 'link_url', 'weight', 'group_name', + 'id', 'url', 'display', 'content_types', 'name', 'enabled', 'link_text', 'link_url', 'weight', 'group_name', 'button_class', 'new_window', 'created', 'last_updated', ] diff --git a/netbox/extras/filtersets.py b/netbox/extras/filtersets.py index 1b1b049c7..c0114bb58 100644 --- a/netbox/extras/filtersets.py +++ b/netbox/extras/filtersets.py @@ -93,11 +93,15 @@ class CustomLinkFilterSet(BaseFilterSet): method='search', label='Search', ) + content_type_id = MultiValueNumberFilter( + field_name='content_types__id' + ) + content_types = ContentTypeFilter() class Meta: model = CustomLink fields = [ - 'id', 'content_type', 'name', 'enabled', 'link_text', 'link_url', 'weight', 'group_name', 'new_window', + 'id', 'content_types', 'name', 'enabled', 'link_text', 'link_url', 'weight', 'group_name', 'new_window', ] def search(self, queryset, name, value): diff --git a/netbox/extras/forms/bulk_edit.py b/netbox/extras/forms/bulk_edit.py index b1d8a6c21..26c6a195d 100644 --- a/netbox/extras/forms/bulk_edit.py +++ b/netbox/extras/forms/bulk_edit.py @@ -53,11 +53,6 @@ class CustomLinkBulkEditForm(BulkEditForm): queryset=CustomLink.objects.all(), widget=forms.MultipleHiddenInput ) - content_type = ContentTypeChoiceField( - queryset=ContentType.objects.all(), - limit_choices_to=FeatureQuery('custom_links'), - required=False - ) enabled = forms.NullBooleanField( required=False, widget=BulkEditNullBooleanSelect() diff --git a/netbox/extras/forms/bulk_import.py b/netbox/extras/forms/bulk_import.py index 0303dae30..bcc392805 100644 --- a/netbox/extras/forms/bulk_import.py +++ b/netbox/extras/forms/bulk_import.py @@ -53,16 +53,16 @@ class CustomFieldCSVForm(CSVModelForm): class CustomLinkCSVForm(CSVModelForm): - content_type = CSVContentTypeField( + content_types = CSVMultipleContentTypeField( queryset=ContentType.objects.all(), limit_choices_to=FeatureQuery('custom_links'), - help_text="Assigned object type" + help_text="One or more assigned object types" ) class Meta: model = CustomLink fields = ( - 'name', 'content_type', 'enabled', 'weight', 'group_name', 'button_class', 'new_window', 'link_text', + 'name', 'content_types', 'enabled', 'weight', 'group_name', 'button_class', 'new_window', 'link_text', 'link_url', ) diff --git a/netbox/extras/forms/filtersets.py b/netbox/extras/forms/filtersets.py index 059f0d9f2..2e8d4862d 100644 --- a/netbox/extras/forms/filtersets.py +++ b/netbox/extras/forms/filtersets.py @@ -121,9 +121,9 @@ class JobResultFilterForm(FilterForm): class CustomLinkFilterForm(FilterForm): fieldsets = ( (None, ('q',)), - ('Attributes', ('content_type', 'enabled', 'new_window', 'weight')), + ('Attributes', ('content_types', 'enabled', 'new_window', 'weight')), ) - content_type = ContentTypeChoiceField( + content_types = ContentTypeMultipleChoiceField( queryset=ContentType.objects.all(), limit_choices_to=FeatureQuery('custom_links'), required=False diff --git a/netbox/extras/forms/model_forms.py b/netbox/extras/forms/model_forms.py index eca93849b..8b00c2779 100644 --- a/netbox/extras/forms/model_forms.py +++ b/netbox/extras/forms/model_forms.py @@ -63,13 +63,13 @@ class CustomFieldForm(BootstrapMixin, forms.ModelForm): class CustomLinkForm(BootstrapMixin, forms.ModelForm): - content_type = ContentTypeChoiceField( + content_types = ContentTypeMultipleChoiceField( queryset=ContentType.objects.all(), limit_choices_to=FeatureQuery('custom_links') ) fieldsets = ( - ('Custom Link', ('name', 'content_type', 'weight', 'group_name', 'button_class', 'enabled', 'new_window')), + ('Custom Link', ('name', 'content_types', 'weight', 'group_name', 'button_class', 'enabled', 'new_window')), ('Templates', ('link_text', 'link_url')), ) diff --git a/netbox/extras/graphql/types.py b/netbox/extras/graphql/types.py index 41a6103d3..c9f897715 100644 --- a/netbox/extras/graphql/types.py +++ b/netbox/extras/graphql/types.py @@ -35,7 +35,7 @@ class CustomLinkType(ObjectType): class Meta: model = models.CustomLink - fields = '__all__' + exclude = ('content_types', ) filterset_class = filtersets.CustomLinkFilterSet diff --git a/netbox/extras/migrations/0081_customlink_content_types.py b/netbox/extras/migrations/0081_customlink_content_types.py new file mode 100644 index 000000000..2f0f23509 --- /dev/null +++ b/netbox/extras/migrations/0081_customlink_content_types.py @@ -0,0 +1,32 @@ +from django.db import migrations, models + + +def copy_content_types(apps, schema_editor): + CustomLink = apps.get_model('extras', 'CustomLink') + + for customlink in CustomLink.objects.all(): + customlink.content_types.set([customlink.content_type]) + + +class Migration(migrations.Migration): + + dependencies = [ + ('contenttypes', '0002_remove_content_type_name'), + ('extras', '0080_search'), + ] + + operations = [ + migrations.AddField( + model_name='customlink', + name='content_types', + field=models.ManyToManyField(related_name='custom_links', to='contenttypes.contenttype'), + ), + migrations.RunPython( + code=copy_content_types, + reverse_code=migrations.RunPython.noop + ), + migrations.RemoveField( + model_name='customlink', + name='content_type', + ), + ] diff --git a/netbox/extras/models/models.py b/netbox/extras/models/models.py index 6d7d2ae04..5c07c360c 100644 --- a/netbox/extras/models/models.py +++ b/netbox/extras/models/models.py @@ -197,10 +197,10 @@ class CustomLink(CloningMixin, ExportTemplatesMixin, WebhooksMixin, ChangeLogged A custom link to an external representation of a NetBox object. The link text and URL fields accept Jinja2 template code to be rendered with an object as context. """ - content_type = models.ForeignKey( + content_types = models.ManyToManyField( to=ContentType, - on_delete=models.CASCADE, - limit_choices_to=FeatureQuery('custom_links') + related_name='custom_links', + help_text='The object type(s) to which this link applies.' ) name = models.CharField( max_length=100, @@ -236,7 +236,7 @@ class CustomLink(CloningMixin, ExportTemplatesMixin, WebhooksMixin, ChangeLogged ) clone_fields = ( - 'content_type', 'enabled', 'weight', 'group_name', 'button_class', 'new_window', + 'enabled', 'weight', 'group_name', 'button_class', 'new_window', ) class Meta: diff --git a/netbox/extras/templatetags/custom_links.py b/netbox/extras/templatetags/custom_links.py index a73eb3fb4..b7d8d1448 100644 --- a/netbox/extras/templatetags/custom_links.py +++ b/netbox/extras/templatetags/custom_links.py @@ -3,7 +3,6 @@ from django.contrib.contenttypes.models import ContentType from django.utils.safestring import mark_safe from extras.models import CustomLink -from utilities.utils import render_jinja2 register = template.Library() @@ -34,7 +33,7 @@ def custom_links(context, obj): Render all applicable links for the given object. """ content_type = ContentType.objects.get_for_model(obj) - custom_links = CustomLink.objects.filter(content_type=content_type, enabled=True) + custom_links = CustomLink.objects.filter(content_types=content_type, enabled=True) if not custom_links: return '' diff --git a/netbox/extras/tests/test_api.py b/netbox/extras/tests/test_api.py index 7a9ee487d..c26b95c08 100644 --- a/netbox/extras/tests/test_api.py +++ b/netbox/extras/tests/test_api.py @@ -137,21 +137,21 @@ class CustomLinkTest(APIViewTestCases.APIViewTestCase): brief_fields = ['display', 'id', 'name', 'url'] create_data = [ { - 'content_type': 'dcim.site', + 'content_types': ['dcim.site'], 'name': 'Custom Link 4', 'enabled': True, 'link_text': 'Link 4', 'link_url': 'http://example.com/?4', }, { - 'content_type': 'dcim.site', + 'content_types': ['dcim.site'], 'name': 'Custom Link 5', 'enabled': True, 'link_text': 'Link 5', 'link_url': 'http://example.com/?5', }, { - 'content_type': 'dcim.site', + 'content_types': ['dcim.site'], 'name': 'Custom Link 6', 'enabled': False, 'link_text': 'Link 6', @@ -169,21 +169,18 @@ class CustomLinkTest(APIViewTestCases.APIViewTestCase): custom_links = ( CustomLink( - content_type=site_ct, name='Custom Link 1', enabled=True, link_text='Link 1', link_url='http://example.com/?1', ), CustomLink( - content_type=site_ct, name='Custom Link 2', enabled=True, link_text='Link 2', link_url='http://example.com/?2', ), CustomLink( - content_type=site_ct, name='Custom Link 3', enabled=False, link_text='Link 3', @@ -191,6 +188,8 @@ class CustomLinkTest(APIViewTestCases.APIViewTestCase): ), ) CustomLink.objects.bulk_create(custom_links) + for i, custom_link in enumerate(custom_links): + custom_link.content_types.set([site_ct]) class ExportTemplateTest(APIViewTestCases.APIViewTestCase): diff --git a/netbox/extras/tests/test_filtersets.py b/netbox/extras/tests/test_filtersets.py index 9f9483bbb..3d4dd4cf1 100644 --- a/netbox/extras/tests/test_filtersets.py +++ b/netbox/extras/tests/test_filtersets.py @@ -168,7 +168,6 @@ class CustomLinkTestCase(TestCase, BaseFilterSetTests): custom_links = ( CustomLink( name='Custom Link 1', - content_type=content_types[0], enabled=True, weight=100, new_window=False, @@ -177,7 +176,6 @@ class CustomLinkTestCase(TestCase, BaseFilterSetTests): ), CustomLink( name='Custom Link 2', - content_type=content_types[1], enabled=True, weight=200, new_window=False, @@ -186,7 +184,6 @@ class CustomLinkTestCase(TestCase, BaseFilterSetTests): ), CustomLink( name='Custom Link 3', - content_type=content_types[2], enabled=False, weight=300, new_window=True, @@ -195,13 +192,17 @@ class CustomLinkTestCase(TestCase, BaseFilterSetTests): ), ) CustomLink.objects.bulk_create(custom_links) + for i, custom_link in enumerate(custom_links): + custom_link.content_types.set([content_types[i]]) def test_name(self): params = {'name': ['Custom Link 1', 'Custom Link 2']} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) - def test_content_type(self): - params = {'content_type': ContentType.objects.get(model='site').pk} + def test_content_types(self): + params = {'content_types': 'dcim.site'} + self.assertEqual(self.filterset(params, self.queryset).qs.count(), 1) + params = {'content_type_id': [ContentType.objects.get_for_model(Site).pk]} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 1) def test_weight(self): diff --git a/netbox/extras/tests/test_views.py b/netbox/extras/tests/test_views.py index 9634038c1..cfde58782 100644 --- a/netbox/extras/tests/test_views.py +++ b/netbox/extras/tests/test_views.py @@ -59,17 +59,19 @@ class CustomLinkTestCase(ViewTestCases.PrimaryObjectViewTestCase): @classmethod def setUpTestData(cls): - site_ct = ContentType.objects.get_for_model(Site) - CustomLink.objects.bulk_create(( - CustomLink(name='Custom Link 1', content_type=site_ct, enabled=True, link_text='Link 1', link_url='http://example.com/?1'), - CustomLink(name='Custom Link 2', content_type=site_ct, enabled=True, link_text='Link 2', link_url='http://example.com/?2'), - CustomLink(name='Custom Link 3', content_type=site_ct, enabled=False, link_text='Link 3', link_url='http://example.com/?3'), - )) + custom_links = ( + CustomLink(name='Custom Link 1', enabled=True, link_text='Link 1', link_url='http://example.com/?1'), + CustomLink(name='Custom Link 2', enabled=True, link_text='Link 2', link_url='http://example.com/?2'), + CustomLink(name='Custom Link 3', enabled=False, link_text='Link 3', link_url='http://example.com/?3'), + ) + CustomLink.objects.bulk_create(custom_links) + for i, custom_link in enumerate(custom_links): + custom_link.content_types.set([site_ct]) cls.form_data = { 'name': 'Custom Link X', - 'content_type': site_ct.pk, + 'content_types': [site_ct.pk], 'enabled': False, 'weight': 100, 'button_class': CustomLinkButtonClassChoices.DEFAULT, @@ -78,7 +80,7 @@ class CustomLinkTestCase(ViewTestCases.PrimaryObjectViewTestCase): } cls.csv_data = ( - "name,content_type,enabled,weight,button_class,link_text,link_url", + "name,content_types,enabled,weight,button_class,link_text,link_url", "Custom Link 4,dcim.site,True,100,blue,Link 4,http://exmaple.com/?4", "Custom Link 5,dcim.site,True,100,blue,Link 5,http://exmaple.com/?5", "Custom Link 6,dcim.site,False,100,blue,Link 6,http://exmaple.com/?6", @@ -327,13 +329,13 @@ class CustomLinkTest(TestCase): def test_view_object_with_custom_link(self): customlink = CustomLink( - content_type=ContentType.objects.get_for_model(Site), name='Test', link_text='FOO {{ obj.name }} BAR', link_url='http://example.com/?site={{ obj.slug }}', new_window=False ) customlink.save() + customlink.content_types.set([ContentType.objects.get_for_model(Site)]) site = Site(name='Test Site', slug='test-site') site.save() diff --git a/netbox/netbox/tables/tables.py b/netbox/netbox/tables/tables.py index 9b86b2ed3..50c109be8 100644 --- a/netbox/netbox/tables/tables.py +++ b/netbox/netbox/tables/tables.py @@ -191,7 +191,7 @@ class NetBoxTable(BaseTable): extra_columns.extend([ (f'cf_{cf.name}', columns.CustomFieldColumn(cf)) for cf in custom_fields ]) - custom_links = CustomLink.objects.filter(content_type=content_type, enabled=True) + custom_links = CustomLink.objects.filter(content_types=content_type, enabled=True) extra_columns.extend([ (f'cl_{cl.name}', columns.CustomLinkColumn(cl)) for cl in custom_links ]) diff --git a/netbox/templates/extras/customlink.html b/netbox/templates/extras/customlink.html index 1f3866182..ff0f7423e 100644 --- a/netbox/templates/extras/customlink.html +++ b/netbox/templates/extras/customlink.html @@ -6,19 +6,13 @@
-
- Custom Link -
+
Custom Link
- - - - @@ -42,6 +36,18 @@
Name {{ object.name }}
Content Type{{ object.content_type }}
Enabled {% checkmark object.enabled %}
+
+
Assigned Models
+
+ + {% for ct in object.content_types.all %} + + + + {% endfor %} +
{{ ct }}
+
+
{% plugin_left_page object %}
From 16919cc1d9484635e5fb9d6c1da9dd9344db2747 Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Wed, 26 Oct 2022 13:30:45 -0400 Subject: [PATCH 118/162] Closes #10761: Enable associating an export template with multiple object types --- docs/release-notes/version-3.4.md | 5 ++- netbox/extras/api/serializers.py | 5 ++- netbox/extras/filtersets.py | 6 ++- netbox/extras/forms/bulk_edit.py | 5 --- netbox/extras/forms/bulk_import.py | 6 +-- netbox/extras/forms/filtersets.py | 4 +- netbox/extras/forms/model_forms.py | 4 +- netbox/extras/graphql/types.py | 2 +- .../0082_exporttemplate_content_types.py | 40 +++++++++++++++++++ netbox/extras/models/models.py | 16 +++----- netbox/extras/tests/test_api.py | 13 +++--- netbox/extras/tests/test_filtersets.py | 15 ++++--- netbox/extras/tests/test_views.py | 19 +++++---- netbox/netbox/views/generic/bulk_views.py | 2 +- netbox/templates/extras/exporttemplate.html | 16 ++++++-- netbox/utilities/templatetags/buttons.py | 2 +- 16 files changed, 104 insertions(+), 56 deletions(-) create mode 100644 netbox/extras/migrations/0082_exporttemplate_content_types.py diff --git a/docs/release-notes/version-3.4.md b/docs/release-notes/version-3.4.md index 873967456..93e2c8841 100644 --- a/docs/release-notes/version-3.4.md +++ b/docs/release-notes/version-3.4.md @@ -8,7 +8,7 @@ * Device and virtual machine names are no longer case-sensitive. Attempting to create e.g. "device1" and "DEVICE1" will raise a validation error. * The `asn` field has been removed from the provider model. Please replicate any provider ASN assignments to the ASN model introduced in NetBox v3.1 prior to upgrading. * The `noc_contact`, `admin_contact`, and `portal_url` fields have been removed from the provider model. Please replicate any data remaining in these fields to the contact model introduced in NetBox v3.1 prior to upgrading. -* The `content_type` field on the CustomLink model has been renamed to `content_types` and now supports the assignment of multiple content types. +* The `content_type` field on the CustomLink and ExportTemplate models have been renamed to `content_types` and now supports the assignment of multiple content types. ### New Features @@ -32,6 +32,7 @@ A new `PluginMenu` class has been introduced, which enables a plugin to inject a * [#10348](https://github.com/netbox-community/netbox/issues/10348) - Add decimal custom field type * [#10556](https://github.com/netbox-community/netbox/issues/10556) - Include a `display` field in all GraphQL object types * [#10595](https://github.com/netbox-community/netbox/issues/10595) - Add GraphQL relationships for additional generic foreign key fields +* [#10761](https://github.com/netbox-community/netbox/issues/10761) - Enable associating an export template with multiple object types ### Plugins API @@ -61,6 +62,8 @@ A new `PluginMenu` class has been introduced, which enables a plugin to inject a * Added optional `weight` and `weight_unit` fields * extras.CustomLink * Renamed `content_type` field to `content_types` +* extras.ExportTemplate + * Renamed `content_type` field to `content_types` * ipam.FHRPGroup * Added optional `name` field diff --git a/netbox/extras/api/serializers.py b/netbox/extras/api/serializers.py index f8a5862a3..ac025ff16 100644 --- a/netbox/extras/api/serializers.py +++ b/netbox/extras/api/serializers.py @@ -136,14 +136,15 @@ class CustomLinkSerializer(ValidatedModelSerializer): class ExportTemplateSerializer(ValidatedModelSerializer): url = serializers.HyperlinkedIdentityField(view_name='extras-api:exporttemplate-detail') - content_type = ContentTypeField( + content_types = ContentTypeField( queryset=ContentType.objects.filter(FeatureQuery('export_templates').get_query()), + many=True ) class Meta: model = ExportTemplate fields = [ - 'id', 'url', 'display', 'content_type', 'name', 'description', 'template_code', 'mime_type', + 'id', 'url', 'display', 'content_types', 'name', 'description', 'template_code', 'mime_type', 'file_extension', 'as_attachment', 'created', 'last_updated', ] diff --git a/netbox/extras/filtersets.py b/netbox/extras/filtersets.py index c0114bb58..22fe6537e 100644 --- a/netbox/extras/filtersets.py +++ b/netbox/extras/filtersets.py @@ -120,10 +120,14 @@ class ExportTemplateFilterSet(BaseFilterSet): method='search', label='Search', ) + content_type_id = MultiValueNumberFilter( + field_name='content_types__id' + ) + content_types = ContentTypeFilter() class Meta: model = ExportTemplate - fields = ['id', 'content_type', 'name', 'description'] + fields = ['id', 'content_types', 'name', 'description'] def search(self, queryset, name, value): if not value.strip(): diff --git a/netbox/extras/forms/bulk_edit.py b/netbox/extras/forms/bulk_edit.py index 26c6a195d..df17324ec 100644 --- a/netbox/extras/forms/bulk_edit.py +++ b/netbox/extras/forms/bulk_edit.py @@ -76,11 +76,6 @@ class ExportTemplateBulkEditForm(BulkEditForm): queryset=ExportTemplate.objects.all(), widget=forms.MultipleHiddenInput ) - content_type = ContentTypeChoiceField( - queryset=ContentType.objects.all(), - limit_choices_to=FeatureQuery('export_templates'), - required=False - ) description = forms.CharField( max_length=200, required=False diff --git a/netbox/extras/forms/bulk_import.py b/netbox/extras/forms/bulk_import.py index bcc392805..ee638015b 100644 --- a/netbox/extras/forms/bulk_import.py +++ b/netbox/extras/forms/bulk_import.py @@ -68,16 +68,16 @@ class CustomLinkCSVForm(CSVModelForm): class ExportTemplateCSVForm(CSVModelForm): - content_type = CSVContentTypeField( + content_types = CSVMultipleContentTypeField( queryset=ContentType.objects.all(), limit_choices_to=FeatureQuery('export_templates'), - help_text="Assigned object type" + help_text="One or more assigned object types" ) class Meta: model = ExportTemplate fields = ( - 'name', 'content_type', 'description', 'mime_type', 'file_extension', 'as_attachment', 'template_code', + 'name', 'content_types', 'description', 'mime_type', 'file_extension', 'as_attachment', 'template_code', ) diff --git a/netbox/extras/forms/filtersets.py b/netbox/extras/forms/filtersets.py index 2e8d4862d..a164a3d95 100644 --- a/netbox/extras/forms/filtersets.py +++ b/netbox/extras/forms/filtersets.py @@ -148,9 +148,9 @@ class CustomLinkFilterForm(FilterForm): class ExportTemplateFilterForm(FilterForm): fieldsets = ( (None, ('q',)), - ('Attributes', ('content_type', 'mime_type', 'file_extension', 'as_attachment')), + ('Attributes', ('content_types', 'mime_type', 'file_extension', 'as_attachment')), ) - content_type = ContentTypeChoiceField( + content_types = ContentTypeMultipleChoiceField( queryset=ContentType.objects.all(), limit_choices_to=FeatureQuery('export_templates'), required=False diff --git a/netbox/extras/forms/model_forms.py b/netbox/extras/forms/model_forms.py index 8b00c2779..7ff4f3e27 100644 --- a/netbox/extras/forms/model_forms.py +++ b/netbox/extras/forms/model_forms.py @@ -89,13 +89,13 @@ class CustomLinkForm(BootstrapMixin, forms.ModelForm): class ExportTemplateForm(BootstrapMixin, forms.ModelForm): - content_type = ContentTypeChoiceField( + content_types = ContentTypeMultipleChoiceField( queryset=ContentType.objects.all(), limit_choices_to=FeatureQuery('export_templates') ) fieldsets = ( - ('Export Template', ('name', 'content_type', 'description')), + ('Export Template', ('name', 'content_types', 'description')), ('Template', ('template_code',)), ('Rendering', ('mime_type', 'file_extension', 'as_attachment')), ) diff --git a/netbox/extras/graphql/types.py b/netbox/extras/graphql/types.py index c9f897715..3be7b371e 100644 --- a/netbox/extras/graphql/types.py +++ b/netbox/extras/graphql/types.py @@ -43,7 +43,7 @@ class ExportTemplateType(ObjectType): class Meta: model = models.ExportTemplate - fields = '__all__' + exclude = ('content_types', ) filterset_class = filtersets.ExportTemplateFilterSet diff --git a/netbox/extras/migrations/0082_exporttemplate_content_types.py b/netbox/extras/migrations/0082_exporttemplate_content_types.py new file mode 100644 index 000000000..34a9c77e6 --- /dev/null +++ b/netbox/extras/migrations/0082_exporttemplate_content_types.py @@ -0,0 +1,40 @@ +from django.db import migrations, models + + +def copy_content_types(apps, schema_editor): + ExportTemplate = apps.get_model('extras', 'ExportTemplate') + + for et in ExportTemplate.objects.all(): + et.content_types.set([et.content_type]) + + +class Migration(migrations.Migration): + + dependencies = [ + ('contenttypes', '0002_remove_content_type_name'), + ('extras', '0081_customlink_content_types'), + ] + + operations = [ + migrations.AddField( + model_name='exporttemplate', + name='content_types', + field=models.ManyToManyField(related_name='export_templates', to='contenttypes.contenttype'), + ), + migrations.RunPython( + code=copy_content_types, + reverse_code=migrations.RunPython.noop + ), + migrations.RemoveConstraint( + model_name='exporttemplate', + name='extras_exporttemplate_unique_content_type_name', + ), + migrations.RemoveField( + model_name='exporttemplate', + name='content_type', + ), + migrations.AlterModelOptions( + name='exporttemplate', + options={'ordering': ('name',)}, + ), + ] diff --git a/netbox/extras/models/models.py b/netbox/extras/models/models.py index 5c07c360c..a8b2f2647 100644 --- a/netbox/extras/models/models.py +++ b/netbox/extras/models/models.py @@ -268,10 +268,10 @@ class CustomLink(CloningMixin, ExportTemplatesMixin, WebhooksMixin, ChangeLogged class ExportTemplate(ExportTemplatesMixin, WebhooksMixin, ChangeLoggedModel): - content_type = models.ForeignKey( + content_types = models.ManyToManyField( to=ContentType, - on_delete=models.CASCADE, - limit_choices_to=FeatureQuery('export_templates') + related_name='export_templates', + help_text='The object type(s) to which this template applies.' ) name = models.CharField( max_length=100 @@ -301,16 +301,10 @@ class ExportTemplate(ExportTemplatesMixin, WebhooksMixin, ChangeLoggedModel): ) class Meta: - ordering = ['content_type', 'name'] - constraints = ( - models.UniqueConstraint( - fields=('content_type', 'name'), - name='%(app_label)s_%(class)s_unique_content_type_name' - ), - ) + ordering = ('name',) def __str__(self): - return f"{self.content_type}: {self.name}" + return self.name def get_absolute_url(self): return reverse('extras:exporttemplate', args=[self.pk]) diff --git a/netbox/extras/tests/test_api.py b/netbox/extras/tests/test_api.py index c26b95c08..42246b651 100644 --- a/netbox/extras/tests/test_api.py +++ b/netbox/extras/tests/test_api.py @@ -197,17 +197,17 @@ class ExportTemplateTest(APIViewTestCases.APIViewTestCase): brief_fields = ['display', 'id', 'name', 'url'] create_data = [ { - 'content_type': 'dcim.device', + 'content_types': ['dcim.device'], 'name': 'Test Export Template 4', 'template_code': '{% for obj in queryset %}{{ obj.name }}\n{% endfor %}', }, { - 'content_type': 'dcim.device', + 'content_types': ['dcim.device'], 'name': 'Test Export Template 5', 'template_code': '{% for obj in queryset %}{{ obj.name }}\n{% endfor %}', }, { - 'content_type': 'dcim.device', + 'content_types': ['dcim.device'], 'name': 'Test Export Template 6', 'template_code': '{% for obj in queryset %}{{ obj.name }}\n{% endfor %}', }, @@ -218,26 +218,23 @@ class ExportTemplateTest(APIViewTestCases.APIViewTestCase): @classmethod def setUpTestData(cls): - ct = ContentType.objects.get_for_model(Device) - export_templates = ( ExportTemplate( - content_type=ct, name='Export Template 1', template_code='{% for obj in queryset %}{{ obj.name }}\n{% endfor %}' ), ExportTemplate( - content_type=ct, name='Export Template 2', template_code='{% for obj in queryset %}{{ obj.name }}\n{% endfor %}' ), ExportTemplate( - content_type=ct, name='Export Template 3', template_code='{% for obj in queryset %}{{ obj.name }}\n{% endfor %}' ), ) ExportTemplate.objects.bulk_create(export_templates) + for et in export_templates: + et.content_types.set([ContentType.objects.get_for_model(Device)]) class TagTest(APIViewTestCases.APIViewTestCase): diff --git a/netbox/extras/tests/test_filtersets.py b/netbox/extras/tests/test_filtersets.py index 3d4dd4cf1..dd1fdb6b3 100644 --- a/netbox/extras/tests/test_filtersets.py +++ b/netbox/extras/tests/test_filtersets.py @@ -228,22 +228,25 @@ class ExportTemplateTestCase(TestCase, BaseFilterSetTests): @classmethod def setUpTestData(cls): - content_types = ContentType.objects.filter(model__in=['site', 'rack', 'device']) export_templates = ( - ExportTemplate(name='Export Template 1', content_type=content_types[0], template_code='TESTING', description='foobar1'), - ExportTemplate(name='Export Template 2', content_type=content_types[1], template_code='TESTING', description='foobar2'), - ExportTemplate(name='Export Template 3', content_type=content_types[2], template_code='TESTING'), + ExportTemplate(name='Export Template 1', template_code='TESTING', description='foobar1'), + ExportTemplate(name='Export Template 2', template_code='TESTING', description='foobar2'), + ExportTemplate(name='Export Template 3', template_code='TESTING'), ) ExportTemplate.objects.bulk_create(export_templates) + for i, et in enumerate(export_templates): + et.content_types.set([content_types[i]]) def test_name(self): params = {'name': ['Export Template 1', 'Export Template 2']} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) - def test_content_type(self): - params = {'content_type': ContentType.objects.get(model='site').pk} + def test_content_types(self): + params = {'content_types': 'dcim.site'} + self.assertEqual(self.filterset(params, self.queryset).qs.count(), 1) + params = {'content_type_id': [ContentType.objects.get_for_model(Site).pk]} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 1) def test_description(self): diff --git a/netbox/extras/tests/test_views.py b/netbox/extras/tests/test_views.py index cfde58782..da11d42ad 100644 --- a/netbox/extras/tests/test_views.py +++ b/netbox/extras/tests/test_views.py @@ -98,23 +98,26 @@ class ExportTemplateTestCase(ViewTestCases.PrimaryObjectViewTestCase): @classmethod def setUpTestData(cls): - site_ct = ContentType.objects.get_for_model(Site) TEMPLATE_CODE = """{% for object in queryset %}{{ object }}{% endfor %}""" - ExportTemplate.objects.bulk_create(( - ExportTemplate(name='Export Template 1', content_type=site_ct, template_code=TEMPLATE_CODE), - ExportTemplate(name='Export Template 2', content_type=site_ct, template_code=TEMPLATE_CODE), - ExportTemplate(name='Export Template 3', content_type=site_ct, template_code=TEMPLATE_CODE), - )) + + export_templates = ( + ExportTemplate(name='Export Template 1', template_code=TEMPLATE_CODE), + ExportTemplate(name='Export Template 2', template_code=TEMPLATE_CODE), + ExportTemplate(name='Export Template 3', template_code=TEMPLATE_CODE), + ) + ExportTemplate.objects.bulk_create(export_templates) + for et in export_templates: + et.content_types.set([site_ct]) cls.form_data = { 'name': 'Export Template X', - 'content_type': site_ct.pk, + 'content_types': [site_ct.pk], 'template_code': TEMPLATE_CODE, } cls.csv_data = ( - "name,content_type,template_code", + "name,content_types,template_code", f"Export Template 4,dcim.site,{TEMPLATE_CODE}", f"Export Template 5,dcim.site,{TEMPLATE_CODE}", f"Export Template 6,dcim.site,{TEMPLATE_CODE}", diff --git a/netbox/netbox/views/generic/bulk_views.py b/netbox/netbox/views/generic/bulk_views.py index f0741af2c..69f9842ca 100644 --- a/netbox/netbox/views/generic/bulk_views.py +++ b/netbox/netbox/views/generic/bulk_views.py @@ -142,7 +142,7 @@ class ObjectListView(BaseMultiObjectView, ActionsMixin, TableMixin): # Render an ExportTemplate elif request.GET['export']: - template = get_object_or_404(ExportTemplate, content_type=content_type, name=request.GET['export']) + template = get_object_or_404(ExportTemplate, content_types=content_type, name=request.GET['export']) return self.export_template(template, request) # Check for YAML export support on the model diff --git a/netbox/templates/extras/exporttemplate.html b/netbox/templates/extras/exporttemplate.html index 912702b86..d14294355 100644 --- a/netbox/templates/extras/exporttemplate.html +++ b/netbox/templates/extras/exporttemplate.html @@ -18,10 +18,6 @@
- - - - @@ -45,6 +41,18 @@
Content Type{{ object.content_type }}
Name {{ object.name }}
+
+
Assigned Models
+
+ + {% for ct in object.content_types.all %} + + + + {% endfor %} +
{{ ct }}
+
+
{% plugin_left_page object %}
diff --git a/netbox/utilities/templatetags/buttons.py b/netbox/utilities/templatetags/buttons.py index 4b8178405..bcdb099d8 100644 --- a/netbox/utilities/templatetags/buttons.py +++ b/netbox/utilities/templatetags/buttons.py @@ -83,7 +83,7 @@ def export_button(context, model): data_format = 'YAML' if hasattr(content_type.model_class(), 'to_yaml') else 'CSV' # Retrieve all export templates for this model - export_templates = ExportTemplate.objects.restrict(user, 'view').filter(content_type=content_type) + export_templates = ExportTemplate.objects.restrict(user, 'view').filter(content_types=content_type) return { 'perms': context['perms'], From edb522022848b7a00a08dbe4206e16526a1e585a Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Wed, 26 Oct 2022 15:11:44 -0400 Subject: [PATCH 119/162] Changelog for #10666 (missed in v3.3.6) --- docs/release-notes/version-3.3.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/release-notes/version-3.3.md b/docs/release-notes/version-3.3.md index 8b8bd0060..6af0586b4 100644 --- a/docs/release-notes/version-3.3.md +++ b/docs/release-notes/version-3.3.md @@ -23,6 +23,7 @@ * [#10643](https://github.com/netbox-community/netbox/issues/10643) - Ensure consistent display of custom fields for all model forms * [#10646](https://github.com/netbox-community/netbox/issues/10646) - Fix filtering of power feed by power panel when connecting a cable * [#10655](https://github.com/netbox-community/netbox/issues/10655) - Correct display of assigned contacts in object tables +* [#10666](https://github.com/netbox-community/netbox/issues/10666) - Re-evaluate disabled LDAP user when processing API requests * [#10682](https://github.com/netbox-community/netbox/issues/10682) - Correct home view links to connection lists * [#10712](https://github.com/netbox-community/netbox/issues/10712) - Fix ModuleNotFoundError exception when generating API schema under Python 3.9+ * [#10716](https://github.com/netbox-community/netbox/issues/10716) - Add left/right page plugin content embeds for tag view From 7e7f68923d7fec2a98d6f979b80aa5634259db76 Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Wed, 26 Oct 2022 17:05:09 -0400 Subject: [PATCH 120/162] #10761: Fix ExportTemplate resolution for REST API requests --- netbox/netbox/api/viewsets/__init__.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/netbox/netbox/api/viewsets/__init__.py b/netbox/netbox/api/viewsets/__init__.py index c50ad9ca6..e5e842696 100644 --- a/netbox/netbox/api/viewsets/__init__.py +++ b/netbox/netbox/api/viewsets/__init__.py @@ -4,7 +4,7 @@ from django.contrib.contenttypes.models import ContentType from django.core.exceptions import ObjectDoesNotExist, PermissionDenied from django.db import transaction from django.db.models import ProtectedError -from django.shortcuts import get_object_or_404 +from django.http import Http404 from rest_framework.response import Response from rest_framework.viewsets import ModelViewSet @@ -142,7 +142,9 @@ class NetBoxModelViewSet(BulkUpdateModelMixin, BulkDestroyModelMixin, ObjectVali """ if 'export' in request.GET: content_type = ContentType.objects.get_for_model(self.get_serializer_class().Meta.model) - et = get_object_or_404(ExportTemplate, content_type=content_type, name=request.GET['export']) + et = ExportTemplate.objects.filter(content_types=content_type, name=request.GET['export']).first() + if et is None: + raise Http404 queryset = self.filter_queryset(self.get_queryset()) return et.render_to_response(queryset) From ec4e2a8e1692b1821998f05b64dbf3309b9a20bc Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Wed, 26 Oct 2022 17:07:16 -0400 Subject: [PATCH 121/162] #8274, #10761: Fix content types display in object lists --- netbox/extras/tables/tables.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/netbox/extras/tables/tables.py b/netbox/extras/tables/tables.py index 73d3e98b2..4b4acb235 100644 --- a/netbox/extras/tables/tables.py +++ b/netbox/extras/tables/tables.py @@ -69,17 +69,17 @@ class CustomLinkTable(NetBoxTable): name = tables.Column( linkify=True ) - content_type = columns.ContentTypeColumn() + content_types = columns.ContentTypesColumn() enabled = columns.BooleanColumn() new_window = columns.BooleanColumn() class Meta(NetBoxTable.Meta): model = CustomLink fields = ( - 'pk', 'id', 'name', 'content_type', 'enabled', 'link_text', 'link_url', 'weight', 'group_name', + 'pk', 'id', 'name', 'content_types', 'enabled', 'link_text', 'link_url', 'weight', 'group_name', 'button_class', 'new_window', 'created', 'last_updated', ) - default_columns = ('pk', 'name', 'content_type', 'enabled', 'group_name', 'button_class', 'new_window') + default_columns = ('pk', 'name', 'content_types', 'enabled', 'group_name', 'button_class', 'new_window') # @@ -90,17 +90,17 @@ class ExportTemplateTable(NetBoxTable): name = tables.Column( linkify=True ) - content_type = columns.ContentTypeColumn() + content_types = columns.ContentTypesColumn() as_attachment = columns.BooleanColumn() class Meta(NetBoxTable.Meta): model = ExportTemplate fields = ( - 'pk', 'id', 'name', 'content_type', 'description', 'mime_type', 'file_extension', 'as_attachment', + 'pk', 'id', 'name', 'content_types', 'description', 'mime_type', 'file_extension', 'as_attachment', 'created', 'last_updated', ) default_columns = ( - 'pk', 'name', 'content_type', 'description', 'mime_type', 'file_extension', 'as_attachment', + 'pk', 'name', 'content_types', 'description', 'mime_type', 'file_extension', 'as_attachment', ) From dbe66596f90803034b5dd1eb1d4a0e070f584c36 Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Thu, 27 Oct 2022 09:44:09 -0400 Subject: [PATCH 122/162] Closes #9887: Inspect docs_url property to determine link to model documentation --- docs/plugins/development/models.md | 6 ++++++ docs/release-notes/version-3.4.md | 1 + netbox/netbox/models/__init__.py | 5 +++++ netbox/templates/generic/object_edit.html | 4 ++-- netbox/utilities/templatetags/helpers.py | 8 -------- 5 files changed, 14 insertions(+), 10 deletions(-) diff --git a/docs/plugins/development/models.md b/docs/plugins/development/models.md index 16f5dd0df..b3bcb292a 100644 --- a/docs/plugins/development/models.md +++ b/docs/plugins/development/models.md @@ -49,6 +49,12 @@ class MyModel(NetBoxModel): ... ``` +### NetBoxModel Properties + +#### `docs_url` + +This attribute specifies the URL at which the documentation for this model can be reached. By default, it will return `/static/docs/models///`. Plugin models can override this to return a custom URL. For example, you might direct the user to your plugin's documentation hosted on [ReadTheDocs](https://readthedocs.org/). + ### Enabling Features Individually If you prefer instead to enable only a subset of these features for a plugin model, NetBox provides a discrete "mix-in" class for each feature. You can subclass each of these individually when defining your model. (Your model will also need to inherit from Django's built-in `Model` class.) diff --git a/docs/release-notes/version-3.4.md b/docs/release-notes/version-3.4.md index 93e2c8841..eefb0ee21 100644 --- a/docs/release-notes/version-3.4.md +++ b/docs/release-notes/version-3.4.md @@ -40,6 +40,7 @@ A new `PluginMenu` class has been introduced, which enables a plugin to inject a * [#9071](https://github.com/netbox-community/netbox/issues/9071) - Introduce `PluginMenu` for top-level plugin navigation menus * [#9072](https://github.com/netbox-community/netbox/issues/9072) - Enable registration of tabbed plugin views for core NetBox models * [#9880](https://github.com/netbox-community/netbox/issues/9880) - Introduce `django_apps` plugin configuration parameter +* [#9887](https://github.com/netbox-community/netbox/issues/9887) - Inspect `docs_url` property to determine link to model documentation * [#10314](https://github.com/netbox-community/netbox/issues/10314) - Move `clone()` method from NetBoxModel to CloningMixin * [#10739](https://github.com/netbox-community/netbox/issues/10739) - Introduce `get_queryset()` method on generic views diff --git a/netbox/netbox/models/__init__.py b/netbox/netbox/models/__init__.py index 1385dd585..2f2dc1c9f 100644 --- a/netbox/netbox/models/__init__.py +++ b/netbox/netbox/models/__init__.py @@ -1,3 +1,4 @@ +from django.conf import settings from django.core.validators import ValidationError from django.db import models from mptt.models import MPTTModel, TreeForeignKey @@ -26,6 +27,10 @@ class NetBoxFeatureSet( class Meta: abstract = True + @property + def docs_url(self): + return f'{settings.STATIC_URL}docs/models/{self._meta.app_label}/{self._meta.model_name}/' + @classmethod def get_prerequisite_models(cls): """ diff --git a/netbox/templates/generic/object_edit.html b/netbox/templates/generic/object_edit.html index 56e4f5a32..c61fb723f 100644 --- a/netbox/templates/generic/object_edit.html +++ b/netbox/templates/generic/object_edit.html @@ -37,9 +37,9 @@ Context: {% endif %} {# Link to model documentation #} - {% if object and settings.DOCS_ROOT %} + {% if settings.DOCS_ROOT and object.docs_url %} diff --git a/netbox/utilities/templatetags/helpers.py b/netbox/utilities/templatetags/helpers.py index 462b37feb..9789724ee 100644 --- a/netbox/utilities/templatetags/helpers.py +++ b/netbox/utilities/templatetags/helpers.py @@ -141,14 +141,6 @@ def percentage(x, y): return round(x / y * 100) -@register.filter() -def get_docs_url(model): - """ - Return the documentation URL for the specified model. - """ - return f'{settings.STATIC_URL}docs/models/{model._meta.app_label}/{model._meta.model_name}/' - - @register.filter() def has_perms(user, permissions_list): """ From d773f4e62a92b7d941beca1212133420bf219998 Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Thu, 27 Oct 2022 10:17:20 -0400 Subject: [PATCH 123/162] Closes #9832: Add mounting_depth field to rack model --- docs/models/dcim/rack.md | 4 ++++ docs/release-notes/version-3.4.md | 3 +++ netbox/dcim/api/serializers.py | 4 ++-- netbox/dcim/filtersets.py | 2 +- netbox/dcim/forms/bulk_edit.py | 11 +++++++++-- netbox/dcim/forms/bulk_import.py | 2 +- netbox/dcim/forms/model_forms.py | 2 +- .../migrations/0164_rack_mounting_depth.py | 18 ++++++++++++++++++ netbox/dcim/models/racks.py | 10 +++++++++- netbox/dcim/tables/racks.py | 5 +++-- netbox/templates/dcim/rack.html | 14 ++++++++++++-- netbox/templates/dcim/rack_edit.html | 1 + 12 files changed, 64 insertions(+), 12 deletions(-) create mode 100644 netbox/dcim/migrations/0164_rack_mounting_depth.py diff --git a/docs/models/dcim/rack.md b/docs/models/dcim/rack.md index e88c36fad..505160d3e 100644 --- a/docs/models/dcim/rack.md +++ b/docs/models/dcim/rack.md @@ -65,6 +65,10 @@ The height of the rack, measured in units. The external width and depth of the rack can be tracked to aid in floorplan calculations. These measurements must be designated in either millimeters or inches. +### Mounting Depth + +The maximum depth of a mounted device that the rack can accommodate, in millimeters. For four-post frames or cabinets, this is the horizontal distance between the front and rear vertical rails. (Note that this measurement does _not_ include space between the rails and the cabinet doors.) + ### Weight The numeric weight of the rack, including a unit designation (e.g. 10 kilograms or 20 pounds). diff --git a/docs/release-notes/version-3.4.md b/docs/release-notes/version-3.4.md index eefb0ee21..5ca84c996 100644 --- a/docs/release-notes/version-3.4.md +++ b/docs/release-notes/version-3.4.md @@ -28,6 +28,7 @@ A new `PluginMenu` class has been introduced, which enables a plugin to inject a * [#9478](https://github.com/netbox-community/netbox/issues/9478) - Add `link_peers` field to GraphQL types for cabled objects * [#9654](https://github.com/netbox-community/netbox/issues/9654) - Add `weight` field to racks, device types, and module types * [#9817](https://github.com/netbox-community/netbox/issues/9817) - Add `assigned_object` field to GraphQL type for IP addresses and L2VPN terminations +* [#9832](https://github.com/netbox-community/netbox/issues/9832) - Add `mounting_depth` field to rack model * [#9892](https://github.com/netbox-community/netbox/issues/9892) - Add optional `name` field for FHRP groups * [#10348](https://github.com/netbox-community/netbox/issues/10348) - Add decimal custom field type * [#10556](https://github.com/netbox-community/netbox/issues/10556) - Include a `display` field in all GraphQL object types @@ -81,6 +82,8 @@ A new `PluginMenu` class has been introduced, which enables a plugin to inject a * Add `component` field * dcim.InventoryItemTemplate * Add `component` field +* dcim.Rack + * Add `mounting_depth` field * ipam.FHRPGroupAssignment * Add `interface` field * ipam.IPAddress diff --git a/netbox/dcim/api/serializers.py b/netbox/dcim/api/serializers.py index 22d56565e..1cf9369ae 100644 --- a/netbox/dcim/api/serializers.py +++ b/netbox/dcim/api/serializers.py @@ -210,8 +210,8 @@ class RackSerializer(NetBoxModelSerializer): fields = [ 'id', 'url', 'display', 'name', 'facility_id', 'site', 'location', 'tenant', 'status', 'role', 'serial', 'asset_tag', 'type', 'width', 'u_height', 'weight', 'weight_unit', 'desc_units', 'outer_width', - 'outer_depth', 'outer_unit', 'comments', 'tags', 'custom_fields', 'created', 'last_updated', 'device_count', - 'powerfeed_count', + 'outer_depth', 'outer_unit', 'mounting_depth', 'comments', 'tags', 'custom_fields', 'created', + 'last_updated', 'device_count', 'powerfeed_count', ] diff --git a/netbox/dcim/filtersets.py b/netbox/dcim/filtersets.py index a200b1ece..78afd816c 100644 --- a/netbox/dcim/filtersets.py +++ b/netbox/dcim/filtersets.py @@ -320,7 +320,7 @@ class RackFilterSet(NetBoxModelFilterSet, TenancyFilterSet, ContactModelFilterSe model = Rack fields = [ 'id', 'name', 'facility_id', 'asset_tag', 'u_height', 'desc_units', 'outer_width', 'outer_depth', - 'outer_unit', 'weight', 'weight_unit' + 'outer_unit', 'mounting_depth', 'weight', 'weight_unit' ] def search(self, queryset, name, value): diff --git a/netbox/dcim/forms/bulk_edit.py b/netbox/dcim/forms/bulk_edit.py index d033d3a67..e3b69dc81 100644 --- a/netbox/dcim/forms/bulk_edit.py +++ b/netbox/dcim/forms/bulk_edit.py @@ -281,6 +281,10 @@ class RackBulkEditForm(NetBoxModelBulkEditForm): required=False, widget=StaticSelect() ) + mounting_depth = forms.IntegerField( + required=False, + min_value=1 + ) comments = CommentField( widget=SmallTextarea, label='Comments' @@ -300,11 +304,14 @@ class RackBulkEditForm(NetBoxModelBulkEditForm): fieldsets = ( ('Rack', ('status', 'role', 'tenant', 'serial', 'asset_tag')), ('Location', ('region', 'site_group', 'site', 'location')), - ('Hardware', ('type', 'width', 'u_height', 'desc_units', 'outer_width', 'outer_depth', 'outer_unit')), + ('Hardware', ( + 'type', 'width', 'u_height', 'desc_units', 'outer_width', 'outer_depth', 'outer_unit', 'mounting_depth', + )), ('Weight', ('weight', 'weight_unit')), ) nullable_fields = ( - 'location', 'tenant', 'role', 'serial', 'asset_tag', 'outer_width', 'outer_depth', 'outer_unit', 'comments', 'weight', 'weight_unit' + 'location', 'tenant', 'role', 'serial', 'asset_tag', 'outer_width', 'outer_depth', 'outer_unit', 'comments', + 'weight', 'weight_unit' ) diff --git a/netbox/dcim/forms/bulk_import.py b/netbox/dcim/forms/bulk_import.py index f0fd9bf86..add66ee96 100644 --- a/netbox/dcim/forms/bulk_import.py +++ b/netbox/dcim/forms/bulk_import.py @@ -196,7 +196,7 @@ class RackCSVForm(NetBoxModelCSVForm): model = Rack fields = ( 'site', 'location', 'name', 'facility_id', 'tenant', 'status', 'role', 'type', 'serial', 'asset_tag', - 'width', 'u_height', 'desc_units', 'outer_width', 'outer_depth', 'outer_unit', 'comments', + 'width', 'u_height', 'desc_units', 'outer_width', 'outer_depth', 'outer_unit', 'mounting_depth', 'comments', ) def __init__(self, data=None, *args, **kwargs): diff --git a/netbox/dcim/forms/model_forms.py b/netbox/dcim/forms/model_forms.py index 1df9e143c..0da2f3430 100644 --- a/netbox/dcim/forms/model_forms.py +++ b/netbox/dcim/forms/model_forms.py @@ -278,7 +278,7 @@ class RackForm(TenancyForm, NetBoxModelForm): fields = [ 'region', 'site_group', 'site', 'location', 'name', 'facility_id', 'tenant_group', 'tenant', 'status', 'role', 'serial', 'asset_tag', 'type', 'width', 'u_height', 'desc_units', 'outer_width', 'outer_depth', - 'outer_unit', 'weight', 'weight_unit', 'comments', 'tags', + 'outer_unit', 'mounting_depth', 'weight', 'weight_unit', 'comments', 'tags', ] help_texts = { 'site': "The site at which the rack exists", diff --git a/netbox/dcim/migrations/0164_rack_mounting_depth.py b/netbox/dcim/migrations/0164_rack_mounting_depth.py new file mode 100644 index 000000000..5bd087beb --- /dev/null +++ b/netbox/dcim/migrations/0164_rack_mounting_depth.py @@ -0,0 +1,18 @@ +# Generated by Django 4.1.1 on 2022-10-27 14:01 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('dcim', '0163_rack_devicetype_moduletype_weights'), + ] + + operations = [ + migrations.AddField( + model_name='rack', + name='mounting_depth', + field=models.PositiveSmallIntegerField(blank=True, null=True), + ), + ] diff --git a/netbox/dcim/models/racks.py b/netbox/dcim/models/racks.py index 6da48b65c..6fcd65a19 100644 --- a/netbox/dcim/models/racks.py +++ b/netbox/dcim/models/racks.py @@ -167,6 +167,14 @@ class Rack(NetBoxModel, WeightMixin): choices=RackDimensionUnitChoices, blank=True, ) + mounting_depth = models.PositiveSmallIntegerField( + blank=True, + null=True, + help_text=( + 'Maximum depth of a mounted device, in millimeters. For four-post racks, this is the ' + 'distance between the front and rear rails.' + ) + ) comments = models.TextField( blank=True ) @@ -187,7 +195,7 @@ class Rack(NetBoxModel, WeightMixin): clone_fields = ( 'site', 'location', 'tenant', 'status', 'role', 'type', 'width', 'u_height', 'desc_units', 'outer_width', - 'outer_depth', 'outer_unit', 'weight', 'weight_unit', + 'outer_depth', 'outer_unit', 'mounting_depth', 'weight', 'weight_unit', ) class Meta: diff --git a/netbox/dcim/tables/racks.py b/netbox/dcim/tables/racks.py index 9c7b28983..1a355cc2a 100644 --- a/netbox/dcim/tables/racks.py +++ b/netbox/dcim/tables/racks.py @@ -89,8 +89,9 @@ class RackTable(TenancyColumnsMixin, ContactsColumnMixin, NetBoxTable): model = Rack fields = ( 'pk', 'id', 'name', 'site', 'location', 'status', 'facility_id', 'tenant', 'tenant_group', 'role', 'serial', - 'asset_tag', 'type', 'width', 'outer_width', 'outer_depth', 'u_height', 'weight', 'comments', - 'device_count', 'get_utilization', 'get_power_utilization', 'contacts', 'tags', 'created', 'last_updated', + 'asset_tag', 'type', 'u_height', 'width', 'outer_width', 'outer_depth', 'mounting_depth', 'weight', + 'comments', 'device_count', 'get_utilization', 'get_power_utilization', 'contacts', 'tags', 'created', + 'last_updated', ) default_columns = ( 'pk', 'name', 'site', 'location', 'status', 'facility_id', 'tenant', 'role', 'u_height', 'device_count', diff --git a/netbox/templates/dcim/rack.html b/netbox/templates/dcim/rack.html index e30ce7a62..7118f09ef 100644 --- a/netbox/templates/dcim/rack.html +++ b/netbox/templates/dcim/rack.html @@ -129,7 +129,7 @@ Outer Width {% if object.outer_width %} - {{ object.outer_width }} {{ object.get_outer_unit_display }} + {{ object.outer_width }} {{ object.get_outer_unit_display }} {% else %} {{ ''|placeholder }} {% endif %} @@ -139,7 +139,17 @@ Outer Depth {% if object.outer_depth %} - {{ object.outer_depth }} {{ object.get_outer_unit_display }} + {{ object.outer_depth }} {{ object.get_outer_unit_display }} + {% else %} + {{ ''|placeholder }} + {% endif %} + + + + Mounting Depth + + {% if object.mounting_depth %} + {{ object.mounting_depth }} Millimeters {% else %} {{ ''|placeholder }} {% endif %} diff --git a/netbox/templates/dcim/rack_edit.html b/netbox/templates/dcim/rack_edit.html index 4a340c147..a0af20c68 100644 --- a/netbox/templates/dcim/rack_edit.html +++ b/netbox/templates/dcim/rack_edit.html @@ -55,6 +55,7 @@
Unit
+ {% render_field form.mounting_depth %} {% render_field form.desc_units %}
From cb815ede60ab298ca13907d523126380f50a8023 Mon Sep 17 00:00:00 2001 From: Arthur Hanson Date: Thu, 27 Oct 2022 10:10:18 -0700 Subject: [PATCH 124/162] 7961 CSV bulk update (#10715) * 7961 add csv bulk update * temp checkin - blocked * 7961 bugfix and cleanup * 7961 change to id, add docs * 7961 add tests cases * 7961 fix does not exist validation error * 7961 fix does not exist validation error * 7961 update tests * 7961 update tests * 7961 update tests * 7961 update tests * 7961 update tests * 7961 update tests * 7961 update tests * 7961 update tests * 7961 update tests * 7961 make test cases more explicit * 7961 make test cases more explicit * 7961 make test cases more explicit * 7961 make test cases more explicit * 7961 make test cases more explicit * 7961 make test cases more explicit * 7961 make test cases more explicit * 7961 optimize loading csv test data * 7961 update tests remove redundant code * 7961 avoid MPTT issue in test cases --- docs/getting-started/populating-data.md | 4 +- netbox/circuits/tests/test_views.py | 46 +++- netbox/dcim/forms/bulk_import.py | 6 +- netbox/dcim/tests/test_views.py | 294 ++++++++++++++++++---- netbox/extras/tests/test_views.py | 40 ++- netbox/ipam/forms/bulk_import.py | 4 +- netbox/ipam/tests/test_views.py | 187 +++++++++++--- netbox/netbox/views/generic/bulk_views.py | 53 +++- netbox/tenancy/tests/test_views.py | 50 +++- netbox/utilities/forms/utils.py | 13 +- netbox/utilities/testing/views.py | 43 ++++ netbox/virtualization/tests/test_views.py | 55 +++- netbox/wireless/tests/test_views.py | 37 ++- 13 files changed, 715 insertions(+), 117 deletions(-) diff --git a/docs/getting-started/populating-data.md b/docs/getting-started/populating-data.md index bb0e8e17f..9a2386d71 100644 --- a/docs/getting-started/populating-data.md +++ b/docs/getting-started/populating-data.md @@ -20,12 +20,14 @@ To create a new object in NetBox, find the object type in the navigation menu an ## Bulk Import (CSV/YAML) -NetBox supports the bulk import of new objects using CSV-formatted data. This method can be ideal for importing spreadsheet data, which is very easy to convert to CSV data. CSV data can be imported either as raw text using the form field, or by uploading a properly formatted CSV file. +NetBox supports the bulk import of new objects, and updating of existing objects using CSV-formatted data. This method can be ideal for importing spreadsheet data, which is very easy to convert to CSV data. CSV data can be imported either as raw text using the form field, or by uploading a properly formatted CSV file. When viewing the CSV import form for an object type, you'll notice that the headers for the required columns have been pre-populated. Each form has a table beneath it titled "CSV Field Options," which lists _all_ supported columns for your reference. (Generally, these map to the fields you see in the corresponding creation form for individual objects.) +If an "id" field is added the data will be used to update existing records instead of importing new objects. + Note that some models (namely device types and module types) do not support CSV import. Instead, they accept YAML-formatted data to facilitate the import of both the parent object as well as child components. ## Scripting diff --git a/netbox/circuits/tests/test_views.py b/netbox/circuits/tests/test_views.py index 9644c0b02..54d001c8d 100644 --- a/netbox/circuits/tests/test_views.py +++ b/netbox/circuits/tests/test_views.py @@ -50,6 +50,13 @@ class ProviderTestCase(ViewTestCases.PrimaryObjectViewTestCase): "Provider 6,provider-6", ) + cls.csv_update_data = ( + "id,name,comments", + f"{providers[0].pk},Provider 7,New comment7", + f"{providers[1].pk},Provider 8,New comment8", + f"{providers[2].pk},Provider 9,New comment9", + ) + cls.bulk_edit_data = { 'account': '5678', 'comments': 'New comments', @@ -62,11 +69,13 @@ class CircuitTypeTestCase(ViewTestCases.OrganizationalObjectViewTestCase): @classmethod def setUpTestData(cls): - CircuitType.objects.bulk_create([ + circuit_types = ( CircuitType(name='Circuit Type 1', slug='circuit-type-1'), CircuitType(name='Circuit Type 2', slug='circuit-type-2'), CircuitType(name='Circuit Type 3', slug='circuit-type-3'), - ]) + ) + + CircuitType.objects.bulk_create(circuit_types) tags = create_tags('Alpha', 'Bravo', 'Charlie') @@ -84,6 +93,13 @@ class CircuitTypeTestCase(ViewTestCases.OrganizationalObjectViewTestCase): "Circuit Type 6,circuit-type-6", ) + cls.csv_update_data = ( + "id,name,description", + f"{circuit_types[0].pk},Circuit Type 7,New description7", + f"{circuit_types[1].pk},Circuit Type 8,New description8", + f"{circuit_types[2].pk},Circuit Type 9,New description9", + ) + cls.bulk_edit_data = { 'description': 'Foo', } @@ -107,11 +123,13 @@ class CircuitTestCase(ViewTestCases.PrimaryObjectViewTestCase): ) CircuitType.objects.bulk_create(circuittypes) - Circuit.objects.bulk_create([ + circuits = ( Circuit(cid='Circuit 1', provider=providers[0], type=circuittypes[0]), Circuit(cid='Circuit 2', provider=providers[0], type=circuittypes[0]), Circuit(cid='Circuit 3', provider=providers[0], type=circuittypes[0]), - ]) + ) + + Circuit.objects.bulk_create(circuits) tags = create_tags('Alpha', 'Bravo', 'Charlie') @@ -136,6 +154,13 @@ class CircuitTestCase(ViewTestCases.PrimaryObjectViewTestCase): "Circuit 6,Provider 1,Circuit Type 1,active", ) + cls.csv_update_data = ( + f"id,cid,description,status", + f"{circuits[0].pk},Circuit 7,New description7,{CircuitStatusChoices.STATUS_DECOMMISSIONED}", + f"{circuits[1].pk},Circuit 8,New description8,{CircuitStatusChoices.STATUS_DECOMMISSIONED}", + f"{circuits[2].pk},Circuit 9,New description9,{CircuitStatusChoices.STATUS_DECOMMISSIONED}", + ) + cls.bulk_edit_data = { 'provider': providers[1].pk, 'type': circuittypes[1].pk, @@ -159,11 +184,13 @@ class ProviderNetworkTestCase(ViewTestCases.PrimaryObjectViewTestCase): ) Provider.objects.bulk_create(providers) - ProviderNetwork.objects.bulk_create([ + provider_networks = ( ProviderNetwork(name='Provider Network 1', provider=providers[0]), ProviderNetwork(name='Provider Network 2', provider=providers[0]), ProviderNetwork(name='Provider Network 3', provider=providers[0]), - ]) + ) + + ProviderNetwork.objects.bulk_create(provider_networks) tags = create_tags('Alpha', 'Bravo', 'Charlie') @@ -182,6 +209,13 @@ class ProviderNetworkTestCase(ViewTestCases.PrimaryObjectViewTestCase): "Provider Network 6,Provider 1,Baz", ) + cls.csv_update_data = ( + "id,name,description", + f"{provider_networks[0].pk},Provider Network 7,New description7", + f"{provider_networks[1].pk},Provider Network 8,New description8", + f"{provider_networks[2].pk},Provider Network 9,New description9", + ) + cls.bulk_edit_data = { 'provider': providers[1].pk, 'description': 'New description', diff --git a/netbox/dcim/forms/bulk_import.py b/netbox/dcim/forms/bulk_import.py index add66ee96..13e788e75 100644 --- a/netbox/dcim/forms/bulk_import.py +++ b/netbox/dcim/forms/bulk_import.py @@ -576,7 +576,7 @@ class PowerOutletCSVForm(NetBoxModelCSVForm): super().__init__(*args, **kwargs) # Limit PowerPort choices to those belonging to this device (or VC master) - if self.is_bound: + if self.is_bound and 'device' in self.data: try: device = self.fields['device'].to_python(self.data['device']) except forms.ValidationError: @@ -711,7 +711,7 @@ class FrontPortCSVForm(NetBoxModelCSVForm): super().__init__(*args, **kwargs) # Limit RearPort choices to those belonging to this device (or VC master) - if self.is_bound: + if self.is_bound and 'device' in self.data: try: device = self.fields['device'].to_python(self.data['device']) except forms.ValidationError: @@ -782,7 +782,7 @@ class DeviceBayCSVForm(NetBoxModelCSVForm): super().__init__(*args, **kwargs) # Limit installed device choices to devices of the correct type and location - if self.is_bound: + if self.is_bound and 'device' in self.data: try: device = self.fields['device'].to_python(self.data['device']) except forms.ValidationError: diff --git a/netbox/dcim/tests/test_views.py b/netbox/dcim/tests/test_views.py index db3495521..8bf1c1948 100644 --- a/netbox/dcim/tests/test_views.py +++ b/netbox/dcim/tests/test_views.py @@ -50,6 +50,13 @@ class RegionTestCase(ViewTestCases.OrganizationalObjectViewTestCase): "Region 6,region-6,Sixth region", ) + cls.csv_update_data = ( + "id,name,description", + f"{regions[0].pk},Region 7,Fourth region7", + f"{regions[1].pk},Region 8,Fifth region8", + f"{regions[2].pk},Region 0,Sixth region9", + ) + cls.bulk_edit_data = { 'description': 'New description', } @@ -87,6 +94,13 @@ class SiteGroupTestCase(ViewTestCases.OrganizationalObjectViewTestCase): "Site Group 6,site-group-6,Sixth site group", ) + cls.csv_update_data = ( + "id,name,description", + f"{sitegroups[0].pk},Site Group 7,Fourth site group7", + f"{sitegroups[1].pk},Site Group 8,Fifth site group8", + f"{sitegroups[2].pk},Site Group 0,Sixth site group9", + ) + cls.bulk_edit_data = { 'description': 'New description', } @@ -156,6 +170,13 @@ class SiteTestCase(ViewTestCases.PrimaryObjectViewTestCase): "Site 6,site-6,staging", ) + cls.csv_update_data = ( + "id,name,status", + f"{sites[0].pk},Site 7,staging", + f"{sites[1].pk},Site 8,planned", + f"{sites[2].pk},Site 9,active", + ) + cls.bulk_edit_data = { 'status': SiteStatusChoices.STATUS_PLANNED, 'region': regions[1].pk, @@ -202,6 +223,13 @@ class LocationTestCase(ViewTestCases.OrganizationalObjectViewTestCase): "Site 1,Tenant 1,Location 6,location-6,planned,Sixth location", ) + cls.csv_update_data = ( + "id,name,description", + f"{locations[0].pk},Location 7,Fourth location7", + f"{locations[1].pk},Location 8,Fifth location8", + f"{locations[2].pk},Location 0,Sixth location9", + ) + cls.bulk_edit_data = { 'description': 'New description', } @@ -213,11 +241,12 @@ class RackRoleTestCase(ViewTestCases.OrganizationalObjectViewTestCase): @classmethod def setUpTestData(cls): - RackRole.objects.bulk_create([ + rack_roles = ( RackRole(name='Rack Role 1', slug='rack-role-1'), RackRole(name='Rack Role 2', slug='rack-role-2'), RackRole(name='Rack Role 3', slug='rack-role-3'), - ]) + ) + RackRole.objects.bulk_create(rack_roles) tags = create_tags('Alpha', 'Bravo', 'Charlie') @@ -236,6 +265,13 @@ class RackRoleTestCase(ViewTestCases.OrganizationalObjectViewTestCase): "Rack Role 6,rack-role-6,0000ff", ) + cls.csv_update_data = ( + "id,name,description", + f"{rack_roles[0].pk},Rack Role 7,New description7", + f"{rack_roles[1].pk},Rack Role 8,New description8", + f"{rack_roles[2].pk},Rack Role 9,New description9", + ) + cls.bulk_edit_data = { 'color': '00ff00', 'description': 'New description', @@ -259,11 +295,12 @@ class RackReservationTestCase(ViewTestCases.PrimaryObjectViewTestCase): rack = Rack(name='Rack 1', site=site, location=location) rack.save() - RackReservation.objects.bulk_create([ + rack_reservations = ( RackReservation(rack=rack, user=user2, units=[1, 2, 3], description='Reservation 1'), RackReservation(rack=rack, user=user2, units=[4, 5, 6], description='Reservation 2'), RackReservation(rack=rack, user=user2, units=[7, 8, 9], description='Reservation 3'), - ]) + ) + RackReservation.objects.bulk_create(rack_reservations) tags = create_tags('Alpha', 'Bravo', 'Charlie') @@ -283,6 +320,13 @@ class RackReservationTestCase(ViewTestCases.PrimaryObjectViewTestCase): 'Site 1,Location 1,Rack 1,"16,17,18",Reservation 3', ) + cls.csv_update_data = ( + 'id,description', + f'{rack_reservations[0].pk},New description1', + f'{rack_reservations[1].pk},New description2', + f'{rack_reservations[2].pk},New description3', + ) + cls.bulk_edit_data = { 'user': user3.pk, 'tenant': None, @@ -315,11 +359,12 @@ class RackTestCase(ViewTestCases.PrimaryObjectViewTestCase): ) RackRole.objects.bulk_create(rackroles) - Rack.objects.bulk_create(( + racks = ( Rack(name='Rack 1', site=sites[0]), Rack(name='Rack 2', site=sites[0]), Rack(name='Rack 3', site=sites[0]), - )) + ) + Rack.objects.bulk_create(racks) tags = create_tags('Alpha', 'Bravo', 'Charlie') @@ -351,6 +396,13 @@ class RackTestCase(ViewTestCases.PrimaryObjectViewTestCase): "Site 2,Location 2,Rack 6,active,19,42", ) + cls.csv_update_data = ( + "id,name,status", + f"{racks[0].pk},Rack 7,{RackStatusChoices.STATUS_DEPRECATED}", + f"{racks[1].pk},Rack 8,{RackStatusChoices.STATUS_DEPRECATED}", + f"{racks[2].pk},Rack 9,{RackStatusChoices.STATUS_DEPRECATED}", + ) + cls.bulk_edit_data = { 'site': sites[1].pk, 'location': locations[1].pk, @@ -383,11 +435,12 @@ class ManufacturerTestCase(ViewTestCases.OrganizationalObjectViewTestCase): @classmethod def setUpTestData(cls): - Manufacturer.objects.bulk_create([ + manufacturers = ( Manufacturer(name='Manufacturer 1', slug='manufacturer-1'), Manufacturer(name='Manufacturer 2', slug='manufacturer-2'), Manufacturer(name='Manufacturer 3', slug='manufacturer-3'), - ]) + ) + Manufacturer.objects.bulk_create(manufacturers) tags = create_tags('Alpha', 'Bravo', 'Charlie') @@ -405,6 +458,13 @@ class ManufacturerTestCase(ViewTestCases.OrganizationalObjectViewTestCase): "Manufacturer 6,manufacturer-6,Sixth manufacturer", ) + cls.csv_update_data = ( + "id,name,description", + f"{manufacturers[0].pk},Manufacturer 7,Fourth manufacturer7", + f"{manufacturers[1].pk},Manufacturer 8,Fifth manufacturer8", + f"{manufacturers[2].pk},Manufacturer 9,Sixth manufacturer9", + ) + cls.bulk_edit_data = { 'description': 'New description', } @@ -1444,11 +1504,12 @@ class DeviceRoleTestCase(ViewTestCases.OrganizationalObjectViewTestCase): @classmethod def setUpTestData(cls): - DeviceRole.objects.bulk_create([ + device_roles = ( DeviceRole(name='Device Role 1', slug='device-role-1'), DeviceRole(name='Device Role 2', slug='device-role-2'), DeviceRole(name='Device Role 3', slug='device-role-3'), - ]) + ) + DeviceRole.objects.bulk_create(device_roles) tags = create_tags('Alpha', 'Bravo', 'Charlie') @@ -1468,6 +1529,13 @@ class DeviceRoleTestCase(ViewTestCases.OrganizationalObjectViewTestCase): "Device Role 6,device-role-6,0000ff", ) + cls.csv_update_data = ( + "id,name,description", + f"{device_roles[0].pk},Device Role 7,New description7", + f"{device_roles[1].pk},Device Role 8,New description8", + f"{device_roles[2].pk},Device Role 9,New description9", + ) + cls.bulk_edit_data = { 'color': '00ff00', 'description': 'New description', @@ -1482,11 +1550,12 @@ class PlatformTestCase(ViewTestCases.OrganizationalObjectViewTestCase): manufacturer = Manufacturer.objects.create(name='Manufacturer 1', slug='manufacturer-1') - Platform.objects.bulk_create([ + platforms = ( Platform(name='Platform 1', slug='platform-1', manufacturer=manufacturer), Platform(name='Platform 2', slug='platform-2', manufacturer=manufacturer), Platform(name='Platform 3', slug='platform-3', manufacturer=manufacturer), - ]) + ) + Platform.objects.bulk_create(platforms) tags = create_tags('Alpha', 'Bravo', 'Charlie') @@ -1507,6 +1576,13 @@ class PlatformTestCase(ViewTestCases.OrganizationalObjectViewTestCase): "Platform 6,platform-6,Sixth platform", ) + cls.csv_update_data = ( + "id,name,description", + f"{platforms[0].pk},Platform 7,Fourth platform7", + f"{platforms[1].pk},Platform 8,Fifth platform8", + f"{platforms[2].pk},Platform 9,Sixth platform9", + ) + cls.bulk_edit_data = { 'napalm_driver': 'ios', 'description': 'New description', @@ -1554,11 +1630,12 @@ class DeviceTestCase(ViewTestCases.PrimaryObjectViewTestCase): ) Platform.objects.bulk_create(platforms) - Device.objects.bulk_create([ + devices = ( Device(name='Device 1', site=sites[0], rack=racks[0], device_type=devicetypes[0], device_role=deviceroles[0], platform=platforms[0]), Device(name='Device 2', site=sites[0], rack=racks[0], device_type=devicetypes[0], device_role=deviceroles[0], platform=platforms[0]), Device(name='Device 3', site=sites[0], rack=racks[0], device_type=devicetypes[0], device_role=deviceroles[0], platform=platforms[0]), - ]) + ) + Device.objects.bulk_create(devices) tags = create_tags('Alpha', 'Bravo', 'Charlie') @@ -1595,6 +1672,13 @@ class DeviceTestCase(ViewTestCases.PrimaryObjectViewTestCase): "Device Role 1,Manufacturer 1,Device Type 1,active,Device 6,Site 1,Location 1,Rack 1,30,front,Virtual Chassis 1,3,30", ) + cls.csv_update_data = ( + "id,status", + f"{devices[0].pk},{DeviceStatusChoices.STATUS_DECOMMISSIONING}", + f"{devices[1].pk},{DeviceStatusChoices.STATUS_DECOMMISSIONING}", + f"{devices[2].pk},{DeviceStatusChoices.STATUS_DECOMMISSIONING}", + ) + cls.bulk_edit_data = { 'device_type': devicetypes[1].pk, 'device_role': deviceroles[1].pk, @@ -1815,6 +1899,13 @@ class ModuleTestCase( "Device 2,Module Bay 3,Module Type 3,C,C", ) + cls.csv_update_data = ( + "id,serial", + f"{modules[0].pk},Serial 2", + f"{modules[1].pk},Serial 3", + f"{modules[2].pk},Serial 1", + ) + @override_settings(EXEMPT_VIEW_PERMISSIONS=['*']) def test_module_component_replication(self): self.add_permissions('dcim.add_module') @@ -1894,11 +1985,12 @@ class ConsolePortTestCase(ViewTestCases.DeviceComponentViewTestCase): def setUpTestData(cls): device = create_test_device('Device 1') - ConsolePort.objects.bulk_create([ + console_ports = ( ConsolePort(device=device, name='Console Port 1'), ConsolePort(device=device, name='Console Port 2'), ConsolePort(device=device, name='Console Port 3'), - ]) + ) + ConsolePort.objects.bulk_create(console_ports) tags = create_tags('Alpha', 'Bravo', 'Charlie') @@ -1932,6 +2024,13 @@ class ConsolePortTestCase(ViewTestCases.DeviceComponentViewTestCase): "Device 1,Console Port 6", ) + cls.csv_update_data = ( + "id,name,description", + f"{console_ports[0].pk},Console Port 7,New description7", + f"{console_ports[1].pk},Console Port 8,New description8", + f"{console_ports[2].pk},Console Port 9,New description9", + ) + @override_settings(EXEMPT_VIEW_PERMISSIONS=['*']) def test_trace(self): consoleport = ConsolePort.objects.first() @@ -1953,11 +2052,12 @@ class ConsoleServerPortTestCase(ViewTestCases.DeviceComponentViewTestCase): def setUpTestData(cls): device = create_test_device('Device 1') - ConsoleServerPort.objects.bulk_create([ + console_server_ports = ( ConsoleServerPort(device=device, name='Console Server Port 1'), ConsoleServerPort(device=device, name='Console Server Port 2'), ConsoleServerPort(device=device, name='Console Server Port 3'), - ]) + ) + ConsoleServerPort.objects.bulk_create(console_server_ports) tags = create_tags('Alpha', 'Bravo', 'Charlie') @@ -1989,6 +2089,13 @@ class ConsoleServerPortTestCase(ViewTestCases.DeviceComponentViewTestCase): "Device 1,Console Server Port 6", ) + cls.csv_update_data = ( + "id,name,description", + f"{console_server_ports[0].pk},Console Server Port 7,New description 7", + f"{console_server_ports[1].pk},Console Server Port 8,New description 8", + f"{console_server_ports[2].pk},Console Server Port 9,New description 9", + ) + @override_settings(EXEMPT_VIEW_PERMISSIONS=['*']) def test_trace(self): consoleserverport = ConsoleServerPort.objects.first() @@ -2010,11 +2117,12 @@ class PowerPortTestCase(ViewTestCases.DeviceComponentViewTestCase): def setUpTestData(cls): device = create_test_device('Device 1') - PowerPort.objects.bulk_create([ + power_ports = ( PowerPort(device=device, name='Power Port 1'), PowerPort(device=device, name='Power Port 2'), PowerPort(device=device, name='Power Port 3'), - ]) + ) + PowerPort.objects.bulk_create(power_ports) tags = create_tags('Alpha', 'Bravo', 'Charlie') @@ -2052,6 +2160,13 @@ class PowerPortTestCase(ViewTestCases.DeviceComponentViewTestCase): "Device 1,Power Port 6", ) + cls.csv_update_data = ( + "id,name,description", + f"{power_ports[0].pk},Power Port 7,New description7", + f"{power_ports[1].pk},Power Port 8,New description8", + f"{power_ports[2].pk},Power Port 9,New description9", + ) + @override_settings(EXEMPT_VIEW_PERMISSIONS=['*']) def test_trace(self): powerport = PowerPort.objects.first() @@ -2079,11 +2194,12 @@ class PowerOutletTestCase(ViewTestCases.DeviceComponentViewTestCase): ) PowerPort.objects.bulk_create(powerports) - PowerOutlet.objects.bulk_create([ + power_outlets = ( PowerOutlet(device=device, name='Power Outlet 1', power_port=powerports[0]), PowerOutlet(device=device, name='Power Outlet 2', power_port=powerports[0]), PowerOutlet(device=device, name='Power Outlet 3', power_port=powerports[0]), - ]) + ) + PowerOutlet.objects.bulk_create(power_outlets) tags = create_tags('Alpha', 'Bravo', 'Charlie') @@ -2121,6 +2237,13 @@ class PowerOutletTestCase(ViewTestCases.DeviceComponentViewTestCase): "Device 1,Power Outlet 6", ) + cls.csv_update_data = ( + "id,name,description", + f"{power_outlets[0].pk},Power Outlet 7,New description7", + f"{power_outlets[1].pk},Power Outlet 8,New description8", + f"{power_outlets[2].pk},Power Outlet 9,New description9", + ) + @override_settings(EXEMPT_VIEW_PERMISSIONS=['*']) def test_trace(self): poweroutlet = PowerOutlet.objects.first() @@ -2247,6 +2370,13 @@ class InterfaceTestCase(ViewTestCases.DeviceComponentViewTestCase): f"Device 1,Interface 6,1000base-t,{vrfs[0].pk},pse,type1-ieee802.3af", ) + cls.csv_update_data = ( + "id,name,description", + f"{interfaces[0].pk},Interface 7,New description7", + f"{interfaces[1].pk},Interface 8,New description8", + f"{interfaces[2].pk},Interface 9,New description9", + ) + @override_settings(EXEMPT_VIEW_PERMISSIONS=['*']) def test_trace(self): interface1, interface2 = Interface.objects.all()[:2] @@ -2274,11 +2404,12 @@ class FrontPortTestCase(ViewTestCases.DeviceComponentViewTestCase): ) RearPort.objects.bulk_create(rearports) - FrontPort.objects.bulk_create([ + front_ports = ( FrontPort(device=device, name='Front Port 1', rear_port=rearports[0]), FrontPort(device=device, name='Front Port 2', rear_port=rearports[1]), FrontPort(device=device, name='Front Port 3', rear_port=rearports[2]), - ]) + ) + FrontPort.objects.bulk_create(front_ports) tags = create_tags('Alpha', 'Bravo', 'Charlie') @@ -2313,6 +2444,13 @@ class FrontPortTestCase(ViewTestCases.DeviceComponentViewTestCase): "Device 1,Front Port 6,8p8c,Rear Port 6,1", ) + cls.csv_update_data = ( + "id,name,description", + f"{front_ports[0].pk},Front Port 7,New description7", + f"{front_ports[1].pk},Front Port 8,New description8", + f"{front_ports[2].pk},Front Port 9,New description9", + ) + @override_settings(EXEMPT_VIEW_PERMISSIONS=['*']) def test_trace(self): frontport = FrontPort.objects.first() @@ -2334,11 +2472,12 @@ class RearPortTestCase(ViewTestCases.DeviceComponentViewTestCase): def setUpTestData(cls): device = create_test_device('Device 1') - RearPort.objects.bulk_create([ + rear_ports = ( RearPort(device=device, name='Rear Port 1'), RearPort(device=device, name='Rear Port 2'), RearPort(device=device, name='Rear Port 3'), - ]) + ) + RearPort.objects.bulk_create(rear_ports) tags = create_tags('Alpha', 'Bravo', 'Charlie') @@ -2372,6 +2511,13 @@ class RearPortTestCase(ViewTestCases.DeviceComponentViewTestCase): "Device 1,Rear Port 6,8p8c,1", ) + cls.csv_update_data = ( + "id,name,description", + f"{rear_ports[0].pk},Rear Port 7,New description7", + f"{rear_ports[1].pk},Rear Port 8,New description8", + f"{rear_ports[2].pk},Rear Port 9,New description9", + ) + @override_settings(EXEMPT_VIEW_PERMISSIONS=['*']) def test_trace(self): rearport = RearPort.objects.first() @@ -2393,11 +2539,12 @@ class ModuleBayTestCase(ViewTestCases.DeviceComponentViewTestCase): def setUpTestData(cls): device = create_test_device('Device 1') - ModuleBay.objects.bulk_create([ + module_bays = ( ModuleBay(device=device, name='Module Bay 1'), ModuleBay(device=device, name='Module Bay 2'), ModuleBay(device=device, name='Module Bay 3'), - ]) + ) + ModuleBay.objects.bulk_create(module_bays) tags = create_tags('Alpha', 'Bravo', 'Charlie') @@ -2426,6 +2573,13 @@ class ModuleBayTestCase(ViewTestCases.DeviceComponentViewTestCase): "Device 1,Module Bay 6", ) + cls.csv_update_data = ( + "id,name,description", + f"{module_bays[0].pk},Module Bay 7,New description7", + f"{module_bays[1].pk},Module Bay 8,New description8", + f"{module_bays[2].pk},Module Bay 9,New description9", + ) + class DeviceBayTestCase(ViewTestCases.DeviceComponentViewTestCase): model = DeviceBay @@ -2438,11 +2592,12 @@ class DeviceBayTestCase(ViewTestCases.DeviceComponentViewTestCase): # Update the DeviceType subdevice role to allow adding DeviceBays DeviceType.objects.update(subdevice_role=SubdeviceRoleChoices.ROLE_PARENT) - DeviceBay.objects.bulk_create([ + device_bays = ( DeviceBay(device=device, name='Device Bay 1'), DeviceBay(device=device, name='Device Bay 2'), DeviceBay(device=device, name='Device Bay 3'), - ]) + ) + DeviceBay.objects.bulk_create(device_bays) tags = create_tags('Alpha', 'Bravo', 'Charlie') @@ -2471,6 +2626,13 @@ class DeviceBayTestCase(ViewTestCases.DeviceComponentViewTestCase): "Device 1,Device Bay 6", ) + cls.csv_update_data = ( + "id,name,description", + f"{device_bays[0].pk},Device Bay 7,New description7", + f"{device_bays[1].pk},Device Bay 8,New description8", + f"{device_bays[2].pk},Device Bay 9,New description9", + ) + class InventoryItemTestCase(ViewTestCases.DeviceComponentViewTestCase): model = InventoryItem @@ -2487,9 +2649,9 @@ class InventoryItemTestCase(ViewTestCases.DeviceComponentViewTestCase): ) InventoryItemRole.objects.bulk_create(roles) - InventoryItem.objects.create(device=device, name='Inventory Item 1', role=roles[0], manufacturer=manufacturer) - InventoryItem.objects.create(device=device, name='Inventory Item 2', role=roles[0], manufacturer=manufacturer) - InventoryItem.objects.create(device=device, name='Inventory Item 3', role=roles[0], manufacturer=manufacturer) + inventory_item1 = InventoryItem.objects.create(device=device, name='Inventory Item 1', role=roles[0], manufacturer=manufacturer) + inventory_item2 = InventoryItem.objects.create(device=device, name='Inventory Item 2', role=roles[0], manufacturer=manufacturer) + inventory_item3 = InventoryItem.objects.create(device=device, name='Inventory Item 3', role=roles[0], manufacturer=manufacturer) tags = create_tags('Alpha', 'Bravo', 'Charlie') @@ -2533,6 +2695,13 @@ class InventoryItemTestCase(ViewTestCases.DeviceComponentViewTestCase): "Device 1,Inventory Item 6,Inventory Item 3", ) + cls.csv_update_data = ( + "id,name,description", + f"{inventory_item1.pk},Inventory Item 7,New description7", + f"{inventory_item2.pk},Inventory Item 8,New description8", + f"{inventory_item3.pk},Inventory Item 9,New description9", + ) + class InventoryItemRoleTestCase(ViewTestCases.OrganizationalObjectViewTestCase): model = InventoryItemRole @@ -2540,11 +2709,12 @@ class InventoryItemRoleTestCase(ViewTestCases.OrganizationalObjectViewTestCase): @classmethod def setUpTestData(cls): - InventoryItemRole.objects.bulk_create([ + inventory_item_roles = ( InventoryItemRole(name='Inventory Item Role 1', slug='inventory-item-role-1'), InventoryItemRole(name='Inventory Item Role 2', slug='inventory-item-role-2'), InventoryItemRole(name='Inventory Item Role 3', slug='inventory-item-role-3'), - ]) + ) + InventoryItemRole.objects.bulk_create(inventory_item_roles) tags = create_tags('Alpha', 'Bravo', 'Charlie') @@ -2563,6 +2733,13 @@ class InventoryItemRoleTestCase(ViewTestCases.OrganizationalObjectViewTestCase): "Inventory Item Role 6,inventory-item-role-6,0000ff", ) + cls.csv_update_data = ( + "id,name,description", + f"{inventory_item_roles[0].pk},Inventory Item Role 7,New description7", + f"{inventory_item_roles[1].pk},Inventory Item Role 8,New description8", + f"{inventory_item_roles[2].pk},Inventory Item Role 9,New description9", + ) + cls.bulk_edit_data = { 'color': '00ff00', 'description': 'New description', @@ -2615,9 +2792,12 @@ class CableTestCase( ) Interface.objects.bulk_create(interfaces) - Cable(a_terminations=[interfaces[0]], b_terminations=[interfaces[3]], type=CableTypeChoices.TYPE_CAT6).save() - Cable(a_terminations=[interfaces[1]], b_terminations=[interfaces[4]], type=CableTypeChoices.TYPE_CAT6).save() - Cable(a_terminations=[interfaces[2]], b_terminations=[interfaces[5]], type=CableTypeChoices.TYPE_CAT6).save() + cable1 = Cable(a_terminations=[interfaces[0]], b_terminations=[interfaces[3]], type=CableTypeChoices.TYPE_CAT6) + cable1.save() + cable2 = Cable(a_terminations=[interfaces[1]], b_terminations=[interfaces[4]], type=CableTypeChoices.TYPE_CAT6) + cable2.save() + cable3 = Cable(a_terminations=[interfaces[2]], b_terminations=[interfaces[5]], type=CableTypeChoices.TYPE_CAT6) + cable3.save() tags = create_tags('Alpha', 'Bravo', 'Charlie') @@ -2643,6 +2823,13 @@ class CableTestCase( "Device 3,dcim.interface,Interface 3,Device 4,dcim.interface,Interface 3", ) + cls.csv_update_data = ( + "id,label,color", + f"{cable1.pk},New label7,00ff00", + f"{cable2.pk},New label8,00ff00", + f"{cable3.pk},New label9,00ff00", + ) + cls.bulk_edit_data = { 'type': CableTypeChoices.TYPE_CAT5E, 'status': LinkStatusChoices.STATUS_CONNECTED, @@ -2726,6 +2913,13 @@ class VirtualChassisTestCase(ViewTestCases.PrimaryObjectViewTestCase): "VC6,Domain 6,Device 12", ) + cls.csv_update_data = ( + "id,name,domain", + f"{vc1.pk},VC7,Domain 7", + f"{vc2.pk},VC8,Domain 8", + f"{vc3.pk},VC9,Domain 9", + ) + cls.bulk_edit_data = { 'domain': 'domain-x', } @@ -2750,11 +2944,12 @@ class PowerPanelTestCase(ViewTestCases.PrimaryObjectViewTestCase): for location in locations: location.save() - PowerPanel.objects.bulk_create(( + power_panels = ( PowerPanel(site=sites[0], location=locations[0], name='Power Panel 1'), PowerPanel(site=sites[0], location=locations[0], name='Power Panel 2'), PowerPanel(site=sites[0], location=locations[0], name='Power Panel 3'), - )) + ) + PowerPanel.objects.bulk_create(power_panels) tags = create_tags('Alpha', 'Bravo', 'Charlie') @@ -2772,6 +2967,13 @@ class PowerPanelTestCase(ViewTestCases.PrimaryObjectViewTestCase): "Site 1,Location 1,Power Panel 6", ) + cls.csv_update_data = ( + "id,name", + f"{power_panels[0].pk},Power Panel 7", + f"{power_panels[1].pk},Power Panel 8", + f"{power_panels[2].pk},Power Panel 9", + ) + cls.bulk_edit_data = { 'site': sites[1].pk, 'location': locations[1].pk, @@ -2798,11 +3000,12 @@ class PowerFeedTestCase(ViewTestCases.PrimaryObjectViewTestCase): ) Rack.objects.bulk_create(racks) - PowerFeed.objects.bulk_create(( + power_feeds = ( PowerFeed(name='Power Feed 1', power_panel=powerpanels[0], rack=racks[0]), PowerFeed(name='Power Feed 2', power_panel=powerpanels[0], rack=racks[0]), PowerFeed(name='Power Feed 3', power_panel=powerpanels[0], rack=racks[0]), - )) + ) + PowerFeed.objects.bulk_create(power_feeds) tags = create_tags('Alpha', 'Bravo', 'Charlie') @@ -2828,6 +3031,13 @@ class PowerFeedTestCase(ViewTestCases.PrimaryObjectViewTestCase): "Site 1,Power Panel 1,Power Feed 6,active,primary,ac,single-phase,120,20,80", ) + cls.csv_update_data = ( + "id,name,status", + f"{power_feeds[0].pk},Power Feed 7,{PowerFeedStatusChoices.STATUS_PLANNED}", + f"{power_feeds[1].pk},Power Feed 8,{PowerFeedStatusChoices.STATUS_PLANNED}", + f"{power_feeds[2].pk},Power Feed 9,{PowerFeedStatusChoices.STATUS_PLANNED}", + ) + cls.bulk_edit_data = { 'power_panel': powerpanels[1].pk, 'rack': racks[1].pk, diff --git a/netbox/extras/tests/test_views.py b/netbox/extras/tests/test_views.py index da11d42ad..85e5aea5e 100644 --- a/netbox/extras/tests/test_views.py +++ b/netbox/extras/tests/test_views.py @@ -48,6 +48,13 @@ class CustomFieldTestCase(ViewTestCases.PrimaryObjectViewTestCase): 'field7,Field 7,object,dcim.site,dcim.region,100,4000,exact,,,,,read-write', ) + cls.csv_update_data = ( + 'id,label', + f'{custom_fields[0].pk},New label 1', + f'{custom_fields[1].pk},New label 2', + f'{custom_fields[2].pk},New label 3', + ) + cls.bulk_edit_data = { 'required': True, 'weight': 200, @@ -86,6 +93,13 @@ class CustomLinkTestCase(ViewTestCases.PrimaryObjectViewTestCase): "Custom Link 6,dcim.site,False,100,blue,Link 6,http://exmaple.com/?6", ) + cls.csv_update_data = ( + "id,name", + f"{custom_links[0].pk},Custom Link 7", + f"{custom_links[1].pk},Custom Link 8", + f"{custom_links[2].pk},Custom Link 9", + ) + cls.bulk_edit_data = { 'button_class': CustomLinkButtonClassChoices.CYAN, 'enabled': False, @@ -123,6 +137,13 @@ class ExportTemplateTestCase(ViewTestCases.PrimaryObjectViewTestCase): f"Export Template 6,dcim.site,{TEMPLATE_CODE}", ) + cls.csv_update_data = ( + "id,name", + f"{export_templates[0].pk},Export Template 7", + f"{export_templates[1].pk},Export Template 8", + f"{export_templates[2].pk},Export Template 9", + ) + cls.bulk_edit_data = { 'mime_type': 'text/html', 'file_extension': 'html', @@ -165,6 +186,13 @@ class WebhookTestCase(ViewTestCases.PrimaryObjectViewTestCase): "Webhook 6,dcim.site,True,http://example.com/?6,GET,application/json", ) + cls.csv_update_data = ( + "id,name", + f"{webhooks[0].pk},Webhook 7", + f"{webhooks[1].pk},Webhook 8", + f"{webhooks[2].pk},Webhook 9", + ) + cls.bulk_edit_data = { 'enabled': False, 'type_create': False, @@ -180,11 +208,12 @@ class TagTestCase(ViewTestCases.OrganizationalObjectViewTestCase): @classmethod def setUpTestData(cls): - Tag.objects.bulk_create(( + tags = ( Tag(name='Tag 1', slug='tag-1'), Tag(name='Tag 2', slug='tag-2'), Tag(name='Tag 3', slug='tag-3'), - )) + ) + Tag.objects.bulk_create(tags) cls.form_data = { 'name': 'Tag X', @@ -200,6 +229,13 @@ class TagTestCase(ViewTestCases.OrganizationalObjectViewTestCase): "Tag 6,tag-6,0000ff,Sixth tag", ) + cls.csv_update_data = ( + "id,name,description", + f"{tags[0].pk},Tag 7,Fourth tag7", + f"{tags[1].pk},Tag 8,Fifth tag8", + f"{tags[2].pk},Tag 9,Sixth tag9", + ) + cls.bulk_edit_data = { 'color': '00ff00', } diff --git a/netbox/ipam/forms/bulk_import.py b/netbox/ipam/forms/bulk_import.py index 6a9dd91ac..3aead6151 100644 --- a/netbox/ipam/forms/bulk_import.py +++ b/netbox/ipam/forms/bulk_import.py @@ -298,13 +298,13 @@ class IPAddressCSVForm(NetBoxModelCSVForm): def save(self, *args, **kwargs): # Set interface assignment - if self.cleaned_data['interface']: + if self.cleaned_data.get('interface'): self.instance.assigned_object = self.cleaned_data['interface'] ipaddress = super().save(*args, **kwargs) # Set as primary for device/VM - if self.cleaned_data['is_primary']: + if self.cleaned_data.get('is_primary'): parent = self.cleaned_data['device'] or self.cleaned_data['virtual_machine'] if self.instance.address.version == 4: parent.primary_ip4 = ipaddress diff --git a/netbox/ipam/tests/test_views.py b/netbox/ipam/tests/test_views.py index 5cc8fad24..25b8af9ae 100644 --- a/netbox/ipam/tests/test_views.py +++ b/netbox/ipam/tests/test_views.py @@ -60,6 +60,13 @@ class ASNTestCase(ViewTestCases.PrimaryObjectViewTestCase): "4200000002,RFC 6996", ) + cls.csv_update_data = ( + "id,description", + f"{asns[0].pk},New description1", + f"{asns[1].pk},New description2", + f"{asns[2].pk},New description3", + ) + cls.bulk_edit_data = { 'rir': rirs[1].pk, 'description': 'Next description', @@ -78,11 +85,12 @@ class VRFTestCase(ViewTestCases.PrimaryObjectViewTestCase): ) Tenant.objects.bulk_create(tenants) - VRF.objects.bulk_create([ + vrfs = ( VRF(name='VRF 1', rd='65000:1'), VRF(name='VRF 2', rd='65000:2'), VRF(name='VRF 3', rd='65000:3'), - ]) + ) + VRF.objects.bulk_create(vrfs) tags = create_tags('Alpha', 'Bravo', 'Charlie') @@ -102,6 +110,13 @@ class VRFTestCase(ViewTestCases.PrimaryObjectViewTestCase): "VRF 6", ) + cls.csv_update_data = ( + "id,name", + f"{vrfs[0].pk},VRF 7", + f"{vrfs[1].pk},VRF 8", + f"{vrfs[2].pk},VRF 9", + ) + cls.bulk_edit_data = { 'tenant': tenants[1].pk, 'enforce_unique': False, @@ -143,6 +158,13 @@ class RouteTargetTestCase(ViewTestCases.PrimaryObjectViewTestCase): "65000:1006,,No tenant", ) + cls.csv_update_data = ( + "id,name,description", + f"{route_targets[0].pk},65000:1007,New description1", + f"{route_targets[1].pk},65000:1008,New description2", + f"{route_targets[2].pk},65000:1009,New description3", + ) + cls.bulk_edit_data = { 'tenant': tenants[1].pk, 'description': 'New description', @@ -155,11 +177,12 @@ class RIRTestCase(ViewTestCases.OrganizationalObjectViewTestCase): @classmethod def setUpTestData(cls): - RIR.objects.bulk_create([ + rirs = ( RIR(name='RIR 1', slug='rir-1'), RIR(name='RIR 2', slug='rir-2'), RIR(name='RIR 3', slug='rir-3'), - ]) + ) + RIR.objects.bulk_create(rirs) tags = create_tags('Alpha', 'Bravo', 'Charlie') @@ -178,6 +201,13 @@ class RIRTestCase(ViewTestCases.OrganizationalObjectViewTestCase): "RIR 6,rir-6,Sixth RIR", ) + cls.csv_update_data = ( + "id,name,description", + f"{rirs[0].pk},RIR 7,Fourth RIR7", + f"{rirs[1].pk},RIR 8,Fifth RIR8", + f"{rirs[2].pk},RIR 9,Sixth RIR9", + ) + cls.bulk_edit_data = { 'description': 'New description', } @@ -195,11 +225,12 @@ class AggregateTestCase(ViewTestCases.PrimaryObjectViewTestCase): ) RIR.objects.bulk_create(rirs) - Aggregate.objects.bulk_create([ + aggregates = ( Aggregate(prefix=IPNetwork('10.1.0.0/16'), rir=rirs[0]), Aggregate(prefix=IPNetwork('10.2.0.0/16'), rir=rirs[0]), Aggregate(prefix=IPNetwork('10.3.0.0/16'), rir=rirs[0]), - ]) + ) + Aggregate.objects.bulk_create(aggregates) tags = create_tags('Alpha', 'Bravo', 'Charlie') @@ -218,6 +249,13 @@ class AggregateTestCase(ViewTestCases.PrimaryObjectViewTestCase): "10.6.0.0/16,RIR 1", ) + cls.csv_update_data = ( + "id,description", + f"{aggregates[0].pk},New description1", + f"{aggregates[1].pk},New description2", + f"{aggregates[2].pk},New description3", + ) + cls.bulk_edit_data = { 'rir': rirs[1].pk, 'date_added': datetime.date(2020, 1, 1), @@ -246,11 +284,12 @@ class RoleTestCase(ViewTestCases.OrganizationalObjectViewTestCase): @classmethod def setUpTestData(cls): - Role.objects.bulk_create([ + roles = ( Role(name='Role 1', slug='role-1'), Role(name='Role 2', slug='role-2'), Role(name='Role 3', slug='role-3'), - ]) + ) + Role.objects.bulk_create(roles) tags = create_tags('Alpha', 'Bravo', 'Charlie') @@ -269,6 +308,13 @@ class RoleTestCase(ViewTestCases.OrganizationalObjectViewTestCase): "Role 6,role-6,1000", ) + cls.csv_update_data = ( + "id,name,description", + f"{roles[0].pk},Role 7,New description7", + f"{roles[1].pk},Role 8,New description8", + f"{roles[2].pk},Role 9,New description9", + ) + cls.bulk_edit_data = { 'description': 'New description', } @@ -298,11 +344,12 @@ class PrefixTestCase(ViewTestCases.PrimaryObjectViewTestCase): ) Role.objects.bulk_create(roles) - Prefix.objects.bulk_create([ + prefixes = ( Prefix(prefix=IPNetwork('10.1.0.0/16'), vrf=vrfs[0], site=sites[0], role=roles[0]), Prefix(prefix=IPNetwork('10.2.0.0/16'), vrf=vrfs[0], site=sites[0], role=roles[0]), Prefix(prefix=IPNetwork('10.3.0.0/16'), vrf=vrfs[0], site=sites[0], role=roles[0]), - ]) + ) + Prefix.objects.bulk_create(prefixes) tags = create_tags('Alpha', 'Bravo', 'Charlie') @@ -326,6 +373,13 @@ class PrefixTestCase(ViewTestCases.PrimaryObjectViewTestCase): "VRF 1,10.6.0.0/16,active", ) + cls.csv_update_data = ( + "id,description,status", + f"{prefixes[0].pk},New description 7,{PrefixStatusChoices.STATUS_RESERVED}", + f"{prefixes[1].pk},New description 8,{PrefixStatusChoices.STATUS_RESERVED}", + f"{prefixes[2].pk},New description 9,{PrefixStatusChoices.STATUS_RESERVED}", + ) + cls.bulk_edit_data = { 'site': sites[1].pk, 'vrf': vrfs[1].pk, @@ -428,6 +482,13 @@ class IPRangeTestCase(ViewTestCases.PrimaryObjectViewTestCase): "VRF 1,10.3.0.1/16,10.3.9.254/16,active", ) + cls.csv_update_data = ( + "id,description,status", + f"{ip_ranges[0].pk},New description 7,{IPRangeStatusChoices.STATUS_RESERVED}", + f"{ip_ranges[1].pk},New description 8,{IPRangeStatusChoices.STATUS_RESERVED}", + f"{ip_ranges[2].pk},New description 9,{IPRangeStatusChoices.STATUS_RESERVED}", + ) + cls.bulk_edit_data = { 'vrf': vrfs[1].pk, 'tenant': None, @@ -467,11 +528,12 @@ class IPAddressTestCase(ViewTestCases.PrimaryObjectViewTestCase): ) VRF.objects.bulk_create(vrfs) - IPAddress.objects.bulk_create([ + ipaddresses = ( IPAddress(address=IPNetwork('192.0.2.1/24'), vrf=vrfs[0]), IPAddress(address=IPNetwork('192.0.2.2/24'), vrf=vrfs[0]), IPAddress(address=IPNetwork('192.0.2.3/24'), vrf=vrfs[0]), - ]) + ) + IPAddress.objects.bulk_create(ipaddresses) tags = create_tags('Alpha', 'Bravo', 'Charlie') @@ -494,6 +556,13 @@ class IPAddressTestCase(ViewTestCases.PrimaryObjectViewTestCase): "VRF 1,192.0.2.6/24,active", ) + cls.csv_update_data = ( + "id,description,status", + f"{ipaddresses[0].pk},New description 7,{IPAddressStatusChoices.STATUS_RESERVED}", + f"{ipaddresses[1].pk},New description 8,{IPAddressStatusChoices.STATUS_RESERVED}", + f"{ipaddresses[2].pk},New description 9,{IPAddressStatusChoices.STATUS_RESERVED}", + ) + cls.bulk_edit_data = { 'vrf': vrfs[1].pk, 'tenant': None, @@ -510,11 +579,12 @@ class FHRPGroupTestCase(ViewTestCases.PrimaryObjectViewTestCase): @classmethod def setUpTestData(cls): - FHRPGroup.objects.bulk_create(( + fhrp_groups = ( FHRPGroup(protocol=FHRPGroupProtocolChoices.PROTOCOL_VRRP2, group_id=10, auth_type=FHRPGroupAuthTypeChoices.AUTHENTICATION_PLAINTEXT, auth_key='foobar123'), FHRPGroup(protocol=FHRPGroupProtocolChoices.PROTOCOL_VRRP3, group_id=20, auth_type=FHRPGroupAuthTypeChoices.AUTHENTICATION_MD5, auth_key='foobar123'), FHRPGroup(protocol=FHRPGroupProtocolChoices.PROTOCOL_HSRP, group_id=30), - )) + ) + FHRPGroup.objects.bulk_create(fhrp_groups) tags = create_tags('Alpha', 'Bravo', 'Charlie') @@ -535,6 +605,13 @@ class FHRPGroupTestCase(ViewTestCases.PrimaryObjectViewTestCase): "hsrp,60,,,", ) + cls.csv_update_data = ( + "id,name,description", + f"{fhrp_groups[0].pk},FHRP Group 1,New description 1", + f"{fhrp_groups[1].pk},FHRP Group 2,New description 2", + f"{fhrp_groups[2].pk},FHRP Group 3,New description 3", + ) + cls.bulk_edit_data = { 'protocol': FHRPGroupProtocolChoices.PROTOCOL_CARP, } @@ -552,11 +629,12 @@ class VLANGroupTestCase(ViewTestCases.OrganizationalObjectViewTestCase): ) Site.objects.bulk_create(sites) - VLANGroup.objects.bulk_create([ + vlan_groups = ( VLANGroup(name='VLAN Group 1', slug='vlan-group-1', scope=sites[0]), VLANGroup(name='VLAN Group 2', slug='vlan-group-2', scope=sites[0]), VLANGroup(name='VLAN Group 3', slug='vlan-group-3', scope=sites[0]), - ]) + ) + VLANGroup.objects.bulk_create(vlan_groups) tags = create_tags('Alpha', 'Bravo', 'Charlie') @@ -576,6 +654,13 @@ class VLANGroupTestCase(ViewTestCases.OrganizationalObjectViewTestCase): f"VLAN Group 6,vlan-group-6,dcim.site,{sites[1].pk},Sixth VLAN group", ) + cls.csv_update_data = ( + f"id,name,description", + f"{vlan_groups[0].pk},VLAN Group 7,Fourth VLAN group7", + f"{vlan_groups[1].pk},VLAN Group 8,Fifth VLAN group8", + f"{vlan_groups[2].pk},VLAN Group 9,Sixth VLAN group9", + ) + cls.bulk_edit_data = { 'description': 'New description', } @@ -605,11 +690,12 @@ class VLANTestCase(ViewTestCases.PrimaryObjectViewTestCase): ) Role.objects.bulk_create(roles) - VLAN.objects.bulk_create([ + vlans = ( VLAN(group=vlangroups[0], vid=101, name='VLAN101', site=sites[0], role=roles[0]), VLAN(group=vlangroups[0], vid=102, name='VLAN102', site=sites[0], role=roles[0]), VLAN(group=vlangroups[0], vid=103, name='VLAN103', site=sites[0], role=roles[0]), - ]) + ) + VLAN.objects.bulk_create(vlans) tags = create_tags('Alpha', 'Bravo', 'Charlie') @@ -632,6 +718,13 @@ class VLANTestCase(ViewTestCases.PrimaryObjectViewTestCase): "106,VLAN106,active", ) + cls.csv_update_data = ( + "id,name,description", + f"{vlans[0].pk},VLAN107,New description 7", + f"{vlans[1].pk},VLAN108,New description 8", + f"{vlans[2].pk},VLAN109,New description 9", + ) + cls.bulk_edit_data = { 'site': sites[1].pk, 'group': vlangroups[1].pk, @@ -647,11 +740,12 @@ class ServiceTemplateTestCase(ViewTestCases.PrimaryObjectViewTestCase): @classmethod def setUpTestData(cls): - ServiceTemplate.objects.bulk_create([ + service_templates = ( ServiceTemplate(name='Service Template 1', protocol=ServiceProtocolChoices.PROTOCOL_TCP, ports=[101]), ServiceTemplate(name='Service Template 2', protocol=ServiceProtocolChoices.PROTOCOL_TCP, ports=[102]), ServiceTemplate(name='Service Template 3', protocol=ServiceProtocolChoices.PROTOCOL_TCP, ports=[103]), - ]) + ) + ServiceTemplate.objects.bulk_create(service_templates) tags = create_tags('Alpha', 'Bravo', 'Charlie') @@ -670,6 +764,13 @@ class ServiceTemplateTestCase(ViewTestCases.PrimaryObjectViewTestCase): "Service Template 6,tcp,3,Third service template", ) + cls.csv_update_data = ( + "id,name,description", + f"{service_templates[0].pk},Service Template 7,First service template7", + f"{service_templates[1].pk},Service Template 8,Second service template8", + f"{service_templates[2].pk},Service Template 9,Third service template9", + ) + cls.bulk_edit_data = { 'protocol': ServiceProtocolChoices.PROTOCOL_UDP, 'ports': '106,107', @@ -689,11 +790,12 @@ class ServiceTestCase(ViewTestCases.PrimaryObjectViewTestCase): devicerole = DeviceRole.objects.create(name='Device Role 1', slug='device-role-1') device = Device.objects.create(name='Device 1', site=site, device_type=devicetype, device_role=devicerole) - Service.objects.bulk_create([ + services = ( Service(device=device, name='Service 1', protocol=ServiceProtocolChoices.PROTOCOL_TCP, ports=[101]), Service(device=device, name='Service 2', protocol=ServiceProtocolChoices.PROTOCOL_TCP, ports=[102]), Service(device=device, name='Service 3', protocol=ServiceProtocolChoices.PROTOCOL_TCP, ports=[103]), - ]) + ) + Service.objects.bulk_create(services) tags = create_tags('Alpha', 'Bravo', 'Charlie') @@ -715,6 +817,13 @@ class ServiceTestCase(ViewTestCases.PrimaryObjectViewTestCase): "Device 1,Service 3,udp,3,Third service", ) + cls.csv_update_data = ( + "id,name,description", + f"{services[0].pk},Service 7,First service7", + f"{services[1].pk},Service 8,Second service8", + f"{services[2].pk},Service 9,Third service9", + ) + cls.bulk_edit_data = { 'protocol': ServiceProtocolChoices.PROTOCOL_UDP, 'ports': '106,107', @@ -751,14 +860,6 @@ class ServiceTestCase(ViewTestCases.PrimaryObjectViewTestCase): class L2VPNTestCase(ViewTestCases.PrimaryObjectViewTestCase): model = L2VPN - csv_data = ( - 'name,slug,type,identifier', - 'L2VPN 5,l2vpn-5,vxlan,456', - 'L2VPN 6,l2vpn-6,vxlan,444', - ) - bulk_edit_data = { - 'description': 'New Description', - } @classmethod def setUpTestData(cls): @@ -773,9 +874,24 @@ class L2VPNTestCase(ViewTestCases.PrimaryObjectViewTestCase): L2VPN(name='L2VPN 2', slug='l2vpn-2', type=L2VPNTypeChoices.TYPE_VXLAN, identifier='650002'), L2VPN(name='L2VPN 3', slug='l2vpn-3', type=L2VPNTypeChoices.TYPE_VXLAN, identifier='650003') ) - L2VPN.objects.bulk_create(l2vpns) + cls.csv_data = ( + 'name,slug,type,identifier', + 'L2VPN 5,l2vpn-5,vxlan,456', + 'L2VPN 6,l2vpn-6,vxlan,444', + ) + + cls.csv_update_data = ( + 'id,name,description', + f'{l2vpns[0].pk},L2VPN 7,New description 7', + f'{l2vpns[1].pk},L2VPN 8,New description 8', + ) + + cls.bulk_edit_data = { + 'description': 'New Description', + } + cls.form_data = { 'name': 'L2VPN 8', 'slug': 'l2vpn-8', @@ -804,7 +920,7 @@ class L2VPNTerminationTestCase( def setUpTestData(cls): device = create_test_device('Device 1') interface = Interface.objects.create(name='Interface 1', device=device, type='1000baset') - l2vpn = L2VPN.objects.create(name='L2VPN 1', type=L2VPNTypeChoices.TYPE_VXLAN, identifier=650001) + l2vpn = L2VPN.objects.create(name='L2VPN 1', slug='l2vpn-1', type=L2VPNTypeChoices.TYPE_VXLAN, identifier=650001) vlans = ( VLAN(name='Vlan 1', vid=1001), @@ -836,6 +952,13 @@ class L2VPNTerminationTestCase( "L2VPN 1,Vlan 6", ) + cls.csv_update_data = ( + "id,l2vpn", + f"{terminations[0].pk},L2VPN 2", + f"{terminations[1].pk},L2VPN 2", + f"{terminations[2].pk},L2VPN 2", + ) + cls.bulk_edit_data = {} # diff --git a/netbox/netbox/views/generic/bulk_views.py b/netbox/netbox/views/generic/bulk_views.py index 69f9842ca..5d7b4eff0 100644 --- a/netbox/netbox/views/generic/bulk_views.py +++ b/netbox/netbox/views/generic/bulk_views.py @@ -4,11 +4,11 @@ from copy import deepcopy from django.contrib import messages from django.contrib.contenttypes.models import ContentType -from django.core.exceptions import FieldDoesNotExist, ValidationError +from django.core.exceptions import FieldDoesNotExist, ValidationError, ObjectDoesNotExist from django.db import transaction, IntegrityError from django.db.models import ManyToManyField, ProtectedError from django.db.models.fields.reverse_related import ManyToManyRel -from django.forms import Form, ModelMultipleChoiceField, MultipleHiddenInput +from django.forms import Form, ModelMultipleChoiceField, MultipleHiddenInput, model_to_dict from django.http import HttpResponse from django.shortcuts import get_object_or_404, redirect, render from django_tables2.export import TableExport @@ -321,13 +321,52 @@ class BulkImportView(GetReturnURLMixin, BaseMultiObjectView): return ImportForm(*args, **kwargs) - def _create_objects(self, form, request): - new_objs = [] + def _get_records(self, form, request): if request.FILES: headers, records = form.cleaned_data['csv_file'] else: headers, records = form.cleaned_data['csv'] + return headers, records + + def _update_objects(self, form, request, headers, records): + from utilities.forms import CSVModelChoiceField + updated_objs = [] + + ids = [int(record["id"]) for record in records] + qs = self.queryset.model.objects.filter(id__in=ids) + objs = {} + for obj in qs: + objs[obj.id] = obj + + for row, data in enumerate(records, start=1): + if int(data["id"]) not in objs: + form.add_error('csv', f'Row {row} id: {data["id"]} Does not exist') + raise ValidationError("") + + obj = objs[int(data["id"])] + obj_form = self.model_form(data, headers=headers, instance=obj) + + # The form should only contain fields that are in the CSV + for name, field in list(obj_form.fields.items()): + if name not in headers: + del obj_form.fields[name] + + restrict_form_fields(obj_form, request.user) + + if obj_form.is_valid(): + obj = self._save_obj(obj_form, request) + updated_objs.append(obj) + else: + for field, err in obj_form.errors.items(): + form.add_error('csv', f'Row {row} {field}: {err[0]}') + raise ValidationError("") + + return updated_objs + + def _create_objects(self, form, request, headers, records): + new_objs = [] + for row, data in enumerate(records, start=1): obj_form = self.model_form(data, headers=headers) restrict_form_fields(obj_form, request.user) @@ -375,7 +414,11 @@ class BulkImportView(GetReturnURLMixin, BaseMultiObjectView): try: # Iterate through CSV data and bind each row to a new model form instance. with transaction.atomic(): - new_objs = self._create_objects(form, request) + headers, records = self._get_records(form, request) + if "id" in headers: + new_objs = self._update_objects(form, request, headers, records) + else: + new_objs = self._create_objects(form, request, headers, records) # Enforce object-level permissions if self.queryset.filter(pk__in=[obj.pk for obj in new_objs]).count() != len(new_objs): diff --git a/netbox/tenancy/tests/test_views.py b/netbox/tenancy/tests/test_views.py index 881802a7b..0ac5b16d4 100644 --- a/netbox/tenancy/tests/test_views.py +++ b/netbox/tenancy/tests/test_views.py @@ -32,6 +32,13 @@ class TenantGroupTestCase(ViewTestCases.OrganizationalObjectViewTestCase): "Tenant Group 6,tenant-group-6,Sixth tenant group", ) + cls.csv_update_data = ( + "id,name,description", + f"{tenant_groups[0].pk},Tenant Group 7,Fourth tenant group7", + f"{tenant_groups[1].pk},Tenant Group 8,Fifth tenant group8", + f"{tenant_groups[2].pk},Tenant Group 0,Sixth tenant group9", + ) + cls.bulk_edit_data = { 'description': 'New description', } @@ -50,11 +57,12 @@ class TenantTestCase(ViewTestCases.PrimaryObjectViewTestCase): for tenanantgroup in tenant_groups: tenanantgroup.save() - Tenant.objects.bulk_create([ + tenants = ( Tenant(name='Tenant 1', slug='tenant-1', group=tenant_groups[0]), Tenant(name='Tenant 2', slug='tenant-2', group=tenant_groups[0]), Tenant(name='Tenant 3', slug='tenant-3', group=tenant_groups[0]), - ]) + ) + Tenant.objects.bulk_create(tenants) tags = create_tags('Alpha', 'Bravo', 'Charlie') @@ -74,6 +82,13 @@ class TenantTestCase(ViewTestCases.PrimaryObjectViewTestCase): "Tenant 6,tenant-6", ) + cls.csv_update_data = ( + "id,name,description", + f"{tenants[0].pk},Tenant 7,New description 7", + f"{tenants[1].pk},Tenant 8,New description 8", + f"{tenants[2].pk},Tenant 9,New description 9", + ) + cls.bulk_edit_data = { 'group': tenant_groups[1].pk, } @@ -109,6 +124,13 @@ class ContactGroupTestCase(ViewTestCases.OrganizationalObjectViewTestCase): "Contact Group 6,contact-group-6,Sixth contact group", ) + cls.csv_update_data = ( + "id,name,description", + f"{contact_groups[0].pk},Contact Group 7,Fourth contact group7", + f"{contact_groups[1].pk},Contact Group 8,Fifth contact group8", + f"{contact_groups[2].pk},Contact Group 0,Sixth contact group9", + ) + cls.bulk_edit_data = { 'description': 'New description', } @@ -120,11 +142,12 @@ class ContactRoleTestCase(ViewTestCases.OrganizationalObjectViewTestCase): @classmethod def setUpTestData(cls): - ContactRole.objects.bulk_create([ + contact_roles = ( ContactRole(name='Contact Role 1', slug='contact-role-1'), ContactRole(name='Contact Role 2', slug='contact-role-2'), ContactRole(name='Contact Role 3', slug='contact-role-3'), - ]) + ) + ContactRole.objects.bulk_create(contact_roles) tags = create_tags('Alpha', 'Bravo', 'Charlie') @@ -142,6 +165,13 @@ class ContactRoleTestCase(ViewTestCases.OrganizationalObjectViewTestCase): "Contact Role 6,contact-role-6", ) + cls.csv_update_data = ( + "id,name,description", + f"{contact_roles[0].pk},Contact Role 7,New description 7", + f"{contact_roles[1].pk},Contact Role 8,New description 8", + f"{contact_roles[2].pk},Contact Role 9,New description 9", + ) + cls.bulk_edit_data = { 'description': 'New description', } @@ -160,11 +190,12 @@ class ContactTestCase(ViewTestCases.PrimaryObjectViewTestCase): for contactgroup in contact_groups: contactgroup.save() - Contact.objects.bulk_create([ + contacts = ( Contact(name='Contact 1', group=contact_groups[0]), Contact(name='Contact 2', group=contact_groups[0]), Contact(name='Contact 3', group=contact_groups[0]), - ]) + ) + Contact.objects.bulk_create(contacts) tags = create_tags('Alpha', 'Bravo', 'Charlie') @@ -182,6 +213,13 @@ class ContactTestCase(ViewTestCases.PrimaryObjectViewTestCase): "Contact Group 1,Contact 6", ) + cls.csv_update_data = ( + "id,name,comments", + f"{contacts[0].pk},Contact Group 7,New comments 7", + f"{contacts[1].pk},Contact Group 8,New comments 8", + f"{contacts[2].pk},Contact Group 9,New comments 9", + ) + cls.bulk_edit_data = { 'group': contact_groups[1].pk, } diff --git a/netbox/utilities/forms/utils.py b/netbox/utilities/forms/utils.py index a6f037e0b..1a2f62b2e 100644 --- a/netbox/utilities/forms/utils.py +++ b/netbox/utilities/forms/utils.py @@ -220,7 +220,11 @@ def validate_csv(headers, fields, required_fields): if parsed csv data contains invalid headers or does not contain required headers. """ # Validate provided column headers + is_update = False for field, to_field in headers.items(): + if field == "id": + is_update = True + continue if field not in fields: raise forms.ValidationError(f'Unexpected column header "{field}" found.') if to_field and not hasattr(fields[field], 'to_field_name'): @@ -228,7 +232,8 @@ def validate_csv(headers, fields, required_fields): if to_field and not hasattr(fields[field].queryset.model, to_field): raise forms.ValidationError(f'Invalid related object attribute for column "{field}": {to_field}') - # Validate required fields - for f in required_fields: - if f not in headers: - raise forms.ValidationError(f'Required column header "{f}" not found.') + # Validate required fields (if not an update) + if not is_update: + for f in required_fields: + if f not in headers: + raise forms.ValidationError(f'Required column header "{f}" not found.') diff --git a/netbox/utilities/testing/views.py b/netbox/utilities/testing/views.py index 93cb88088..f51893f74 100644 --- a/netbox/utilities/testing/views.py +++ b/netbox/utilities/testing/views.py @@ -1,5 +1,8 @@ +import csv + from django.contrib.contenttypes.models import ContentType from django.core.exceptions import ObjectDoesNotExist +from django.db.models import ForeignKey from django.test import override_settings from django.urls import reverse @@ -19,6 +22,7 @@ __all__ = ( # UI Tests # + class ModelViewTestCase(ModelTestCase): """ Base TestCase for model views. Subclass to test individual views. @@ -546,6 +550,9 @@ class ViewTestCases: def _get_csv_data(self): return '\n'.join(self.csv_data) + def _get_update_csv_data(self): + return self.csv_update_data, '\n'.join(self.csv_update_data) + def test_bulk_import_objects_without_permission(self): data = { 'csv': self._get_csv_data(), @@ -583,6 +590,42 @@ class ViewTestCases: self.assertHttpStatus(self.client.post(self._get_url('import'), data), 200) self.assertEqual(self._get_queryset().count(), initial_count + len(self.csv_data) - 1) + @override_settings(EXEMPT_VIEW_PERMISSIONS=['*']) + def test_bulk_update_objects_with_permission(self): + if not hasattr(self, 'csv_update_data'): + raise NotImplementedError("The test must define csv_update_data.") + + initial_count = self._get_queryset().count() + array, csv_data = self._get_update_csv_data() + data = { + 'csv': csv_data, + } + + # Assign model-level permission + obj_perm = ObjectPermission( + name='Test permission', + actions=['add'] + ) + obj_perm.save() + obj_perm.users.add(self.user) + obj_perm.object_types.add(ContentType.objects.get_for_model(self.model)) + + # Test POST with permission + self.assertHttpStatus(self.client.post(self._get_url('import'), data), 200) + self.assertEqual(initial_count, self._get_queryset().count()) + + reader = csv.DictReader(array, delimiter=',') + check_data = list(reader) + for line in check_data: + obj = self.model.objects.get(id=line["id"]) + for attr, value in line.items(): + if attr != "id": + field = self.model._meta.get_field(attr) + value = getattr(obj, attr) + # cannot verify FK fields as don't know what name the CSV maps to + if value is not None and not isinstance(field, ForeignKey): + self.assertEqual(value, value) + @override_settings(EXEMPT_VIEW_PERMISSIONS=['*']) def test_bulk_import_objects_with_constrained_permission(self): initial_count = self._get_queryset().count() diff --git a/netbox/virtualization/tests/test_views.py b/netbox/virtualization/tests/test_views.py index d00ceb5a2..32382ee3b 100644 --- a/netbox/virtualization/tests/test_views.py +++ b/netbox/virtualization/tests/test_views.py @@ -16,11 +16,12 @@ class ClusterGroupTestCase(ViewTestCases.OrganizationalObjectViewTestCase): @classmethod def setUpTestData(cls): - ClusterGroup.objects.bulk_create([ + cluster_groups = ( ClusterGroup(name='Cluster Group 1', slug='cluster-group-1'), ClusterGroup(name='Cluster Group 2', slug='cluster-group-2'), ClusterGroup(name='Cluster Group 3', slug='cluster-group-3'), - ]) + ) + ClusterGroup.objects.bulk_create(cluster_groups) tags = create_tags('Alpha', 'Bravo', 'Charlie') @@ -38,6 +39,13 @@ class ClusterGroupTestCase(ViewTestCases.OrganizationalObjectViewTestCase): "Cluster Group 6,cluster-group-6,Sixth cluster group", ) + cls.csv_update_data = ( + "id,name,description", + f"{cluster_groups[0].pk},Cluster Group 7,Fourth cluster group7", + f"{cluster_groups[1].pk},Cluster Group 8,Fifth cluster group8", + f"{cluster_groups[2].pk},Cluster Group 9,Sixth cluster group9", + ) + cls.bulk_edit_data = { 'description': 'New description', } @@ -49,11 +57,12 @@ class ClusterTypeTestCase(ViewTestCases.OrganizationalObjectViewTestCase): @classmethod def setUpTestData(cls): - ClusterType.objects.bulk_create([ + cluster_types = ( ClusterType(name='Cluster Type 1', slug='cluster-type-1'), ClusterType(name='Cluster Type 2', slug='cluster-type-2'), ClusterType(name='Cluster Type 3', slug='cluster-type-3'), - ]) + ) + ClusterType.objects.bulk_create(cluster_types) tags = create_tags('Alpha', 'Bravo', 'Charlie') @@ -71,6 +80,13 @@ class ClusterTypeTestCase(ViewTestCases.OrganizationalObjectViewTestCase): "Cluster Type 6,cluster-type-6,Sixth cluster type", ) + cls.csv_update_data = ( + "id,name,description", + f"{cluster_types[0].pk},Cluster Type 7,Fourth cluster type7", + f"{cluster_types[1].pk},Cluster Type 8,Fifth cluster type8", + f"{cluster_types[2].pk},Cluster Type 9,Sixth cluster type9", + ) + cls.bulk_edit_data = { 'description': 'New description', } @@ -100,11 +116,12 @@ class ClusterTestCase(ViewTestCases.PrimaryObjectViewTestCase): ) ClusterType.objects.bulk_create(clustertypes) - Cluster.objects.bulk_create([ + clusters = ( Cluster(name='Cluster 1', group=clustergroups[0], type=clustertypes[0], status=ClusterStatusChoices.STATUS_ACTIVE, site=sites[0]), Cluster(name='Cluster 2', group=clustergroups[0], type=clustertypes[0], status=ClusterStatusChoices.STATUS_ACTIVE, site=sites[0]), Cluster(name='Cluster 3', group=clustergroups[0], type=clustertypes[0], status=ClusterStatusChoices.STATUS_ACTIVE, site=sites[0]), - ]) + ) + Cluster.objects.bulk_create(clusters) tags = create_tags('Alpha', 'Bravo', 'Charlie') @@ -126,6 +143,13 @@ class ClusterTestCase(ViewTestCases.PrimaryObjectViewTestCase): "Cluster 6,Cluster Type 1,active", ) + cls.csv_update_data = ( + "id,name,comments", + f"{clusters[0].pk},Cluster 7,New comments 7", + f"{clusters[1].pk},Cluster 8,New comments 8", + f"{clusters[2].pk},Cluster 9,New comments 9", + ) + cls.bulk_edit_data = { 'group': clustergroups[1].pk, 'type': clustertypes[1].pk, @@ -187,11 +211,12 @@ class VirtualMachineTestCase(ViewTestCases.PrimaryObjectViewTestCase): create_test_device('device2', site=sites[1], cluster=clusters[1]), ) - VirtualMachine.objects.bulk_create([ + virtual_machines = ( VirtualMachine(name='Virtual Machine 1', site=sites[0], cluster=clusters[0], device=devices[0], role=deviceroles[0], platform=platforms[0]), VirtualMachine(name='Virtual Machine 2', site=sites[0], cluster=clusters[0], device=devices[0], role=deviceroles[0], platform=platforms[0]), VirtualMachine(name='Virtual Machine 3', site=sites[0], cluster=clusters[0], device=devices[0], role=deviceroles[0], platform=platforms[0]), - ]) + ) + VirtualMachine.objects.bulk_create(virtual_machines) tags = create_tags('Alpha', 'Bravo', 'Charlie') @@ -221,6 +246,13 @@ class VirtualMachineTestCase(ViewTestCases.PrimaryObjectViewTestCase): "Virtual Machine 6,active,Site 1,Cluster 1,", ) + cls.csv_update_data = ( + "id,name,comments", + f"{virtual_machines[0].pk},Virtual Machine 7,New comments 7", + f"{virtual_machines[1].pk},Virtual Machine 8,New comments 8", + f"{virtual_machines[2].pk},Virtual Machine 9,New comments 9", + ) + cls.bulk_edit_data = { 'site': sites[1].pk, 'cluster': clusters[1].pk, @@ -327,6 +359,13 @@ class VMInterfaceTestCase(ViewTestCases.DeviceComponentViewTestCase): f"Virtual Machine 2,Interface 6,{vrfs[0].pk}", ) + cls.csv_update_data = ( + f"id,name,description", + f"{interfaces[0].pk},Interface 7,New description 7", + f"{interfaces[1].pk},Interface 8,New description 8", + f"{interfaces[2].pk},Interface 9,New description 9", + ) + cls.bulk_edit_data = { 'enabled': False, 'mtu': 2000, diff --git a/netbox/wireless/tests/test_views.py b/netbox/wireless/tests/test_views.py index 7dea17d15..615678a62 100644 --- a/netbox/wireless/tests/test_views.py +++ b/netbox/wireless/tests/test_views.py @@ -32,11 +32,18 @@ class WirelessLANGroupTestCase(ViewTestCases.OrganizationalObjectViewTestCase): cls.csv_data = ( "name,slug,description", - "Wireles sLAN Group 4,wireless-lan-group-4,Fourth wireless LAN group", + "Wireless LAN Group 4,wireless-lan-group-4,Fourth wireless LAN group", "Wireless LAN Group 5,wireless-lan-group-5,Fifth wireless LAN group", "Wireless LAN Group 6,wireless-lan-group-6,Sixth wireless LAN group", ) + cls.csv_update_data = ( + "id,name,description", + f"{groups[0].pk},Wireless LAN Group 7,Fourth wireless LAN group7", + f"{groups[1].pk},Wireless LAN Group 8,Fifth wireless LAN group8", + f"{groups[2].pk},Wireless LAN Group 0,Sixth wireless LAN group9", + ) + cls.bulk_edit_data = { 'description': 'New description', } @@ -62,11 +69,12 @@ class WirelessLANTestCase(ViewTestCases.PrimaryObjectViewTestCase): for group in groups: group.save() - WirelessLAN.objects.bulk_create([ + wireless_lans = ( WirelessLAN(group=groups[0], ssid='WLAN1', tenant=tenants[0]), WirelessLAN(group=groups[0], ssid='WLAN2', tenant=tenants[0]), WirelessLAN(group=groups[0], ssid='WLAN3', tenant=tenants[0]), - ]) + ) + WirelessLAN.objects.bulk_create(wireless_lans) tags = create_tags('Alpha', 'Bravo', 'Charlie') @@ -84,6 +92,13 @@ class WirelessLANTestCase(ViewTestCases.PrimaryObjectViewTestCase): f"Wireless LAN Group 2,WLAN6,{tenants[2].name}", ) + cls.csv_update_data = ( + f"id,ssid", + f"{wireless_lans[0].pk},WLAN7", + f"{wireless_lans[1].pk},WLAN8", + f"{wireless_lans[2].pk},WLAN9", + ) + cls.bulk_edit_data = { 'description': 'New description', } @@ -115,9 +130,12 @@ class WirelessLinkTestCase(ViewTestCases.PrimaryObjectViewTestCase): ] Interface.objects.bulk_create(interfaces) - WirelessLink(interface_a=interfaces[0], interface_b=interfaces[1], ssid='LINK1', tenant=tenants[0]).save() - WirelessLink(interface_a=interfaces[2], interface_b=interfaces[3], ssid='LINK2', tenant=tenants[0]).save() - WirelessLink(interface_a=interfaces[4], interface_b=interfaces[5], ssid='LINK3', tenant=tenants[0]).save() + wirelesslink1 = WirelessLink(interface_a=interfaces[0], interface_b=interfaces[1], ssid='LINK1', tenant=tenants[0]) + wirelesslink1.save() + wirelesslink2 = WirelessLink(interface_a=interfaces[2], interface_b=interfaces[3], ssid='LINK2', tenant=tenants[0]) + wirelesslink2.save() + wirelesslink3 = WirelessLink(interface_a=interfaces[4], interface_b=interfaces[5], ssid='LINK3', tenant=tenants[0]) + wirelesslink3.save() tags = create_tags('Alpha', 'Bravo', 'Charlie') @@ -136,6 +154,13 @@ class WirelessLinkTestCase(ViewTestCases.PrimaryObjectViewTestCase): f"{interfaces[10].pk},{interfaces[11].pk},connected,{tenants[2].name}", ) + cls.csv_update_data = ( + "id,ssid,description", + f"{wirelesslink1.pk},LINK7,New decription 7", + f"{wirelesslink2.pk},LINK8,New decription 8", + f"{wirelesslink3.pk},LINK9,New decription 9", + ) + cls.bulk_edit_data = { 'status': LinkStatusChoices.STATUS_PLANNED, } From a176e9452f13e61135fc0536e3ff77ee98716bea Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Thu, 27 Oct 2022 13:24:20 -0400 Subject: [PATCH 125/162] Changelog for #7961 --- docs/release-notes/version-3.4.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/release-notes/version-3.4.md b/docs/release-notes/version-3.4.md index 5ca84c996..6e3219770 100644 --- a/docs/release-notes/version-3.4.md +++ b/docs/release-notes/version-3.4.md @@ -16,6 +16,10 @@ NetBox's global search functionality has been completely overhauled and replaced by a new cache-based lookup. +#### CSV-Based Bulk Updates ([#7961](https://github.com/netbox-community/netbox/issues/7961)) + +NetBox's CSV-based bulk import functionality has been extended to support also modifying existing objects. When an `id` column is present in the import form, it will be used to infer the object to be modified, rather than a new object being created. All fields (columns) are optional when modifying existing objects. + #### Top-Level Plugin Navigation Menus ([#9071](https://github.com/netbox-community/netbox/issues/9071)) A new `PluginMenu` class has been introduced, which enables a plugin to inject a top-level menu in NetBox's navigation menu. This menu can have one or more groups of menu items, just like core items. Backward compatibility with the existing `menu_items` has been maintained. From 8f4fa065f90b94f1a840331289677384fe4d6b3a Mon Sep 17 00:00:00 2001 From: Arthur Date: Mon, 31 Oct 2022 09:18:50 -0700 Subject: [PATCH 126/162] 10770 fix social auth --- 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 02e80b6cd..84c1944af 100644 --- a/netbox/netbox/settings.py +++ b/netbox/netbox/settings.py @@ -501,7 +501,7 @@ for param in dir(configuration): # Force usage of PostgreSQL's JSONB field for extra data SOCIAL_AUTH_JSONFIELD_ENABLED = True -SOCIAL_AUTH_CLEAN_USERNAME_FUNCTION = 'netbox.users.utils.clean_username' +SOCIAL_AUTH_CLEAN_USERNAME_FUNCTION = 'users.utils.clean_username' # # Django Prometheus From 867af61875538c8d305b26b622a7555be354c50a Mon Sep 17 00:00:00 2001 From: Arthur Date: Fri, 28 Oct 2022 14:22:31 -0700 Subject: [PATCH 127/162] 10282 fix race condition in API IP creation --- netbox/ipam/api/views.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/netbox/ipam/api/views.py b/netbox/ipam/api/views.py index 9db3d7953..9ea38758d 100644 --- a/netbox/ipam/api/views.py +++ b/netbox/ipam/api/views.py @@ -112,6 +112,18 @@ class IPAddressViewSet(NetBoxModelViewSet): serializer_class = serializers.IPAddressSerializer filterset_class = filtersets.IPAddressFilterSet + @advisory_lock(ADVISORY_LOCK_KEYS['available-ips']) + def create(self, request, *args, **kwargs): + return super().create(request, *args, **kwargs) + + @advisory_lock(ADVISORY_LOCK_KEYS['available-ips']) + def update(self, request, *args, **kwargs): + return super().update(request, *args, **kwargs) + + @advisory_lock(ADVISORY_LOCK_KEYS['available-ips']) + def destroy(self, request, *args, **kwargs): + return super().destroy(request, *args, **kwargs) + class FHRPGroupViewSet(NetBoxModelViewSet): queryset = FHRPGroup.objects.prefetch_related('ip_addresses', 'tags') From 13c27b00d384b2980dc5f24fc04990cdd6bfefc5 Mon Sep 17 00:00:00 2001 From: Arthur Hanson Date: Mon, 31 Oct 2022 12:05:34 -0700 Subject: [PATCH 128/162] 10781 add python 3.11 support (#10782) * 10781 add python 3.11 support * 10781 update Django to latest --- .github/ISSUE_TEMPLATE/bug_report.yaml | 1 + .github/workflows/ci.yml | 2 +- docs/installation/3-netbox.md | 2 +- requirements.txt | 2 +- 4 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.yaml b/.github/ISSUE_TEMPLATE/bug_report.yaml index 56c14e966..ae562fda6 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yaml +++ b/.github/ISSUE_TEMPLATE/bug_report.yaml @@ -25,6 +25,7 @@ body: - "3.8" - "3.9" - "3.10" + - "3.11" validations: required: true - type: textarea diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d75f98fbc..1d9692194 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -9,7 +9,7 @@ jobs: NETBOX_CONFIGURATION: netbox.configuration_testing strategy: matrix: - python-version: ['3.8', '3.9', '3.10'] + python-version: ['3.8', '3.9', '3.10', '3.11'] node-version: ['14.x'] services: redis: diff --git a/docs/installation/3-netbox.md b/docs/installation/3-netbox.md index f42e28deb..353b0ddab 100644 --- a/docs/installation/3-netbox.md +++ b/docs/installation/3-netbox.md @@ -7,7 +7,7 @@ This section of the documentation discusses installing and configuring the NetBo Begin by installing all system packages required by NetBox and its dependencies. !!! warning "Python 3.8 or later required" - NetBox requires Python 3.8, 3.9, or 3.10. + NetBox requires Python 3.8, 3.9, 3.10 or 3.11. === "Ubuntu" diff --git a/requirements.txt b/requirements.txt index c8fdd410a..f7c57588b 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,5 +1,5 @@ bleach==5.0.1 -Django==4.1.1 +Django==4.1.2 django-cors-headers==3.13.0 django-debug-toolbar==3.7.0 django-filter==22.1 From a25ee66150884f122c3c5e58ff97b355ca1119c2 Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Mon, 31 Oct 2022 15:15:45 -0400 Subject: [PATCH 129/162] Changelog for #10282, #10770 --- docs/release-notes/version-3.3.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/docs/release-notes/version-3.3.md b/docs/release-notes/version-3.3.md index 6af0586b4..28fd9367d 100644 --- a/docs/release-notes/version-3.3.md +++ b/docs/release-notes/version-3.3.md @@ -2,6 +2,11 @@ ## v3.3.7 (FUTURE) +### Bug Fixes + +* [#10282](https://github.com/netbox-community/netbox/issues/10282) - Enforce advisory locks when allocating available IP addresses to prevent race conditions +* [#10770](https://github.com/netbox-community/netbox/issues/10282) - Fix social authentication for new users + --- ## v3.3.6 (2022-10-26) From 675a5f868713fd70b60b7f5eaac37afac2b2402e Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Mon, 31 Oct 2022 15:17:24 -0400 Subject: [PATCH 130/162] Changelog for #10781 --- docs/release-notes/version-3.4.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/release-notes/version-3.4.md b/docs/release-notes/version-3.4.md index 6e3219770..fb4a6ed32 100644 --- a/docs/release-notes/version-3.4.md +++ b/docs/release-notes/version-3.4.md @@ -38,6 +38,7 @@ A new `PluginMenu` class has been introduced, which enables a plugin to inject a * [#10556](https://github.com/netbox-community/netbox/issues/10556) - Include a `display` field in all GraphQL object types * [#10595](https://github.com/netbox-community/netbox/issues/10595) - Add GraphQL relationships for additional generic foreign key fields * [#10761](https://github.com/netbox-community/netbox/issues/10761) - Enable associating an export template with multiple object types +* [#10781](https://github.com/netbox-community/netbox/issues/10781) - Add support for Python v3.11 ### Plugins API From 7990cfb078db1800d557bd06785239cfc84d8db0 Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Tue, 1 Nov 2022 15:27:35 -0400 Subject: [PATCH 131/162] Fixes #10803: Fix exception when ordering contacts by number of assignments --- docs/release-notes/version-3.3.md | 1 + netbox/tenancy/views.py | 10 ++++++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/docs/release-notes/version-3.3.md b/docs/release-notes/version-3.3.md index 28fd9367d..3a75166c3 100644 --- a/docs/release-notes/version-3.3.md +++ b/docs/release-notes/version-3.3.md @@ -6,6 +6,7 @@ * [#10282](https://github.com/netbox-community/netbox/issues/10282) - Enforce advisory locks when allocating available IP addresses to prevent race conditions * [#10770](https://github.com/netbox-community/netbox/issues/10282) - Fix social authentication for new users +* [#10803](https://github.com/netbox-community/netbox/issues/10803) - Fix exception when ordering contacts by number of assignments --- diff --git a/netbox/tenancy/views.py b/netbox/tenancy/views.py index e582c15d1..d8b810ad9 100644 --- a/netbox/tenancy/views.py +++ b/netbox/tenancy/views.py @@ -188,6 +188,8 @@ class ContactGroupView(generic.ObjectView): contacts = Contact.objects.restrict(request.user, 'view').filter( group=instance + ).annotate( + assignment_count=count_related(ContactAssignment, 'contact') ) contacts_table = tables.ContactTable(contacts, user=request.user, exclude=('group',)) contacts_table.configure(request) @@ -338,14 +340,18 @@ class ContactBulkImportView(generic.BulkImportView): class ContactBulkEditView(generic.BulkEditView): - queryset = Contact.objects.all() + queryset = Contact.objects.annotate( + assignment_count=count_related(ContactAssignment, 'contact') + ) filterset = filtersets.ContactFilterSet table = tables.ContactTable form = forms.ContactBulkEditForm class ContactBulkDeleteView(generic.BulkDeleteView): - queryset = Contact.objects.all() + queryset = Contact.objects.annotate( + assignment_count=count_related(ContactAssignment, 'contact') + ) filterset = filtersets.ContactFilterSet table = tables.ContactTable From aaf1ea52b769571991292211bb2ca477d557006c Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Tue, 1 Nov 2022 15:38:10 -0400 Subject: [PATCH 132/162] Fixes #10791: Permit nullifying VLAN group scope_type via REST API --- docs/release-notes/version-3.3.md | 1 + netbox/ipam/api/serializers.py | 1 + 2 files changed, 2 insertions(+) diff --git a/docs/release-notes/version-3.3.md b/docs/release-notes/version-3.3.md index 3a75166c3..23c797dbf 100644 --- a/docs/release-notes/version-3.3.md +++ b/docs/release-notes/version-3.3.md @@ -6,6 +6,7 @@ * [#10282](https://github.com/netbox-community/netbox/issues/10282) - Enforce advisory locks when allocating available IP addresses to prevent race conditions * [#10770](https://github.com/netbox-community/netbox/issues/10282) - Fix social authentication for new users +* [#10791](https://github.com/netbox-community/netbox/issues/10791) - Permit nullifying VLAN group `scope_type` via REST API * [#10803](https://github.com/netbox-community/netbox/issues/10803) - Fix exception when ordering contacts by number of assignments --- diff --git a/netbox/ipam/api/serializers.py b/netbox/ipam/api/serializers.py index fa8b563e9..eff39a418 100644 --- a/netbox/ipam/api/serializers.py +++ b/netbox/ipam/api/serializers.py @@ -175,6 +175,7 @@ class VLANGroupSerializer(NetBoxModelSerializer): queryset=ContentType.objects.filter( model__in=VLANGROUP_SCOPE_TYPES ), + allow_null=True, required=False, default=None ) From aa7f04bf1b8200ef9c5b261cd642862229444d8f Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Tue, 1 Nov 2022 16:45:32 -0400 Subject: [PATCH 133/162] Fixes #10809: Permit nullifying site time_zone via REST API --- docs/release-notes/version-3.3.md | 1 + netbox/dcim/api/serializers.py | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/release-notes/version-3.3.md b/docs/release-notes/version-3.3.md index 23c797dbf..754efcddf 100644 --- a/docs/release-notes/version-3.3.md +++ b/docs/release-notes/version-3.3.md @@ -8,6 +8,7 @@ * [#10770](https://github.com/netbox-community/netbox/issues/10282) - Fix social authentication for new users * [#10791](https://github.com/netbox-community/netbox/issues/10791) - Permit nullifying VLAN group `scope_type` via REST API * [#10803](https://github.com/netbox-community/netbox/issues/10803) - Fix exception when ordering contacts by number of assignments +* [#10809](https://github.com/netbox-community/netbox/issues/10809) - Permit nullifying site `time_zone` via REST API --- diff --git a/netbox/dcim/api/serializers.py b/netbox/dcim/api/serializers.py index 897ee4ca3..cb1edfe1f 100644 --- a/netbox/dcim/api/serializers.py +++ b/netbox/dcim/api/serializers.py @@ -130,7 +130,7 @@ class SiteSerializer(NetBoxModelSerializer): region = NestedRegionSerializer(required=False, allow_null=True) group = NestedSiteGroupSerializer(required=False, allow_null=True) tenant = NestedTenantSerializer(required=False, allow_null=True) - time_zone = TimeZoneSerializerField(required=False) + time_zone = TimeZoneSerializerField(required=False, allow_null=True) asns = SerializedPKRelatedField( queryset=ASN.objects.all(), serializer=NestedASNSerializer, From 4f5caa5ed27692fac07eda11f0d7bb6295fed08a Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Tue, 1 Nov 2022 16:48:40 -0400 Subject: [PATCH 134/162] Release v3.3.7 --- .github/ISSUE_TEMPLATE/bug_report.yaml | 2 +- .github/ISSUE_TEMPLATE/feature_request.yaml | 2 +- docs/release-notes/version-3.3.md | 2 +- netbox/netbox/settings.py | 2 +- requirements.txt | 4 ++-- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.yaml b/.github/ISSUE_TEMPLATE/bug_report.yaml index 56c14e966..4de82d4e3 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.6 + placeholder: v3.3.7 validations: required: true - type: dropdown diff --git a/.github/ISSUE_TEMPLATE/feature_request.yaml b/.github/ISSUE_TEMPLATE/feature_request.yaml index bef1ce587..5f0a17aa7 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.6 + placeholder: v3.3.7 validations: required: true - type: dropdown diff --git a/docs/release-notes/version-3.3.md b/docs/release-notes/version-3.3.md index 754efcddf..fe02827d6 100644 --- a/docs/release-notes/version-3.3.md +++ b/docs/release-notes/version-3.3.md @@ -1,6 +1,6 @@ # NetBox v3.3 -## v3.3.7 (FUTURE) +## v3.3.7 (2022-11-01) ### Bug Fixes diff --git a/netbox/netbox/settings.py b/netbox/netbox/settings.py index 84c1944af..524173722 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.7-dev' +VERSION = '3.3.7' # Hostname HOSTNAME = platform.node() diff --git a/requirements.txt b/requirements.txt index bce015110..73abfa259 100644 --- a/requirements.txt +++ b/requirements.txt @@ -22,7 +22,7 @@ Markdown==3.3.7 mkdocs-material==8.5.7 mkdocstrings[python-legacy]==0.19.0 netaddr==0.8.0 -Pillow==9.2.0 +Pillow==9.3.0 psycopg2-binary==2.9.5 PyYAML==6.0 sentry-sdk==1.10.1 @@ -30,7 +30,7 @@ social-auth-app-django==5.0.0 social-auth-core[openidconnect]==4.3.0 svgwrite==1.4.3 tablib==3.2.1 -tzdata==2022.5 +tzdata==2022.6 # Workaround for #7401 jsonschema==3.2.0 From 44814f759cd1956bca533bea5b18fa155dc9deed Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Wed, 26 Oct 2022 10:23:50 -0400 Subject: [PATCH 135/162] PRVB --- docs/release-notes/version-3.3.md | 4 ++++ netbox/netbox/settings.py | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/docs/release-notes/version-3.3.md b/docs/release-notes/version-3.3.md index ffb831e9d..8b8bd0060 100644 --- a/docs/release-notes/version-3.3.md +++ b/docs/release-notes/version-3.3.md @@ -1,5 +1,9 @@ # NetBox v3.3 +## v3.3.7 (FUTURE) + +--- + ## v3.3.6 (2022-10-26) ### Enhancements diff --git a/netbox/netbox/settings.py b/netbox/netbox/settings.py index cb26652b9..02e80b6cd 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.6' +VERSION = '3.3.7-dev' # Hostname HOSTNAME = platform.node() From f3fdf03661705087c7472f2207182b6abdd43b3a Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Wed, 26 Oct 2022 15:11:44 -0400 Subject: [PATCH 136/162] Changelog for #10666 (missed in v3.3.6) --- docs/release-notes/version-3.3.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/release-notes/version-3.3.md b/docs/release-notes/version-3.3.md index 8b8bd0060..6af0586b4 100644 --- a/docs/release-notes/version-3.3.md +++ b/docs/release-notes/version-3.3.md @@ -23,6 +23,7 @@ * [#10643](https://github.com/netbox-community/netbox/issues/10643) - Ensure consistent display of custom fields for all model forms * [#10646](https://github.com/netbox-community/netbox/issues/10646) - Fix filtering of power feed by power panel when connecting a cable * [#10655](https://github.com/netbox-community/netbox/issues/10655) - Correct display of assigned contacts in object tables +* [#10666](https://github.com/netbox-community/netbox/issues/10666) - Re-evaluate disabled LDAP user when processing API requests * [#10682](https://github.com/netbox-community/netbox/issues/10682) - Correct home view links to connection lists * [#10712](https://github.com/netbox-community/netbox/issues/10712) - Fix ModuleNotFoundError exception when generating API schema under Python 3.9+ * [#10716](https://github.com/netbox-community/netbox/issues/10716) - Add left/right page plugin content embeds for tag view From 10e258739f7541fc0ef8eb2d344624be59ecffdc Mon Sep 17 00:00:00 2001 From: Arthur Date: Mon, 31 Oct 2022 09:18:50 -0700 Subject: [PATCH 137/162] 10770 fix social auth --- 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 02e80b6cd..84c1944af 100644 --- a/netbox/netbox/settings.py +++ b/netbox/netbox/settings.py @@ -501,7 +501,7 @@ for param in dir(configuration): # Force usage of PostgreSQL's JSONB field for extra data SOCIAL_AUTH_JSONFIELD_ENABLED = True -SOCIAL_AUTH_CLEAN_USERNAME_FUNCTION = 'netbox.users.utils.clean_username' +SOCIAL_AUTH_CLEAN_USERNAME_FUNCTION = 'users.utils.clean_username' # # Django Prometheus From 8001694a4c373862a1c5d8a8efe1c008b71949f2 Mon Sep 17 00:00:00 2001 From: Arthur Date: Fri, 28 Oct 2022 14:22:31 -0700 Subject: [PATCH 138/162] 10282 fix race condition in API IP creation --- netbox/ipam/api/views.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/netbox/ipam/api/views.py b/netbox/ipam/api/views.py index 9db3d7953..9ea38758d 100644 --- a/netbox/ipam/api/views.py +++ b/netbox/ipam/api/views.py @@ -112,6 +112,18 @@ class IPAddressViewSet(NetBoxModelViewSet): serializer_class = serializers.IPAddressSerializer filterset_class = filtersets.IPAddressFilterSet + @advisory_lock(ADVISORY_LOCK_KEYS['available-ips']) + def create(self, request, *args, **kwargs): + return super().create(request, *args, **kwargs) + + @advisory_lock(ADVISORY_LOCK_KEYS['available-ips']) + def update(self, request, *args, **kwargs): + return super().update(request, *args, **kwargs) + + @advisory_lock(ADVISORY_LOCK_KEYS['available-ips']) + def destroy(self, request, *args, **kwargs): + return super().destroy(request, *args, **kwargs) + class FHRPGroupViewSet(NetBoxModelViewSet): queryset = FHRPGroup.objects.prefetch_related('ip_addresses', 'tags') From d1970ca85bd9e487fc520dd09e2acac217ee573b Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Mon, 31 Oct 2022 15:15:45 -0400 Subject: [PATCH 139/162] Changelog for #10282, #10770 --- docs/release-notes/version-3.3.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/docs/release-notes/version-3.3.md b/docs/release-notes/version-3.3.md index 6af0586b4..28fd9367d 100644 --- a/docs/release-notes/version-3.3.md +++ b/docs/release-notes/version-3.3.md @@ -2,6 +2,11 @@ ## v3.3.7 (FUTURE) +### Bug Fixes + +* [#10282](https://github.com/netbox-community/netbox/issues/10282) - Enforce advisory locks when allocating available IP addresses to prevent race conditions +* [#10770](https://github.com/netbox-community/netbox/issues/10282) - Fix social authentication for new users + --- ## v3.3.6 (2022-10-26) From 816214361d7015534696d261a53219e169ac01b2 Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Tue, 1 Nov 2022 15:27:35 -0400 Subject: [PATCH 140/162] Fixes #10803: Fix exception when ordering contacts by number of assignments --- docs/release-notes/version-3.3.md | 1 + netbox/tenancy/views.py | 10 ++++++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/docs/release-notes/version-3.3.md b/docs/release-notes/version-3.3.md index 28fd9367d..3a75166c3 100644 --- a/docs/release-notes/version-3.3.md +++ b/docs/release-notes/version-3.3.md @@ -6,6 +6,7 @@ * [#10282](https://github.com/netbox-community/netbox/issues/10282) - Enforce advisory locks when allocating available IP addresses to prevent race conditions * [#10770](https://github.com/netbox-community/netbox/issues/10282) - Fix social authentication for new users +* [#10803](https://github.com/netbox-community/netbox/issues/10803) - Fix exception when ordering contacts by number of assignments --- diff --git a/netbox/tenancy/views.py b/netbox/tenancy/views.py index e582c15d1..d8b810ad9 100644 --- a/netbox/tenancy/views.py +++ b/netbox/tenancy/views.py @@ -188,6 +188,8 @@ class ContactGroupView(generic.ObjectView): contacts = Contact.objects.restrict(request.user, 'view').filter( group=instance + ).annotate( + assignment_count=count_related(ContactAssignment, 'contact') ) contacts_table = tables.ContactTable(contacts, user=request.user, exclude=('group',)) contacts_table.configure(request) @@ -338,14 +340,18 @@ class ContactBulkImportView(generic.BulkImportView): class ContactBulkEditView(generic.BulkEditView): - queryset = Contact.objects.all() + queryset = Contact.objects.annotate( + assignment_count=count_related(ContactAssignment, 'contact') + ) filterset = filtersets.ContactFilterSet table = tables.ContactTable form = forms.ContactBulkEditForm class ContactBulkDeleteView(generic.BulkDeleteView): - queryset = Contact.objects.all() + queryset = Contact.objects.annotate( + assignment_count=count_related(ContactAssignment, 'contact') + ) filterset = filtersets.ContactFilterSet table = tables.ContactTable From c8be4ef8e25dfef6f4da3833c0bc8e4d24a1ecf6 Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Tue, 1 Nov 2022 15:38:10 -0400 Subject: [PATCH 141/162] Fixes #10791: Permit nullifying VLAN group scope_type via REST API --- docs/release-notes/version-3.3.md | 1 + netbox/ipam/api/serializers.py | 1 + 2 files changed, 2 insertions(+) diff --git a/docs/release-notes/version-3.3.md b/docs/release-notes/version-3.3.md index 3a75166c3..23c797dbf 100644 --- a/docs/release-notes/version-3.3.md +++ b/docs/release-notes/version-3.3.md @@ -6,6 +6,7 @@ * [#10282](https://github.com/netbox-community/netbox/issues/10282) - Enforce advisory locks when allocating available IP addresses to prevent race conditions * [#10770](https://github.com/netbox-community/netbox/issues/10282) - Fix social authentication for new users +* [#10791](https://github.com/netbox-community/netbox/issues/10791) - Permit nullifying VLAN group `scope_type` via REST API * [#10803](https://github.com/netbox-community/netbox/issues/10803) - Fix exception when ordering contacts by number of assignments --- diff --git a/netbox/ipam/api/serializers.py b/netbox/ipam/api/serializers.py index fa8b563e9..eff39a418 100644 --- a/netbox/ipam/api/serializers.py +++ b/netbox/ipam/api/serializers.py @@ -175,6 +175,7 @@ class VLANGroupSerializer(NetBoxModelSerializer): queryset=ContentType.objects.filter( model__in=VLANGROUP_SCOPE_TYPES ), + allow_null=True, required=False, default=None ) From ade307bc032e73d0cf16073f4db9d47d733feef2 Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Tue, 1 Nov 2022 16:45:32 -0400 Subject: [PATCH 142/162] Fixes #10809: Permit nullifying site time_zone via REST API --- docs/release-notes/version-3.3.md | 1 + netbox/dcim/api/serializers.py | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/release-notes/version-3.3.md b/docs/release-notes/version-3.3.md index 23c797dbf..754efcddf 100644 --- a/docs/release-notes/version-3.3.md +++ b/docs/release-notes/version-3.3.md @@ -8,6 +8,7 @@ * [#10770](https://github.com/netbox-community/netbox/issues/10282) - Fix social authentication for new users * [#10791](https://github.com/netbox-community/netbox/issues/10791) - Permit nullifying VLAN group `scope_type` via REST API * [#10803](https://github.com/netbox-community/netbox/issues/10803) - Fix exception when ordering contacts by number of assignments +* [#10809](https://github.com/netbox-community/netbox/issues/10809) - Permit nullifying site `time_zone` via REST API --- diff --git a/netbox/dcim/api/serializers.py b/netbox/dcim/api/serializers.py index 897ee4ca3..cb1edfe1f 100644 --- a/netbox/dcim/api/serializers.py +++ b/netbox/dcim/api/serializers.py @@ -130,7 +130,7 @@ class SiteSerializer(NetBoxModelSerializer): region = NestedRegionSerializer(required=False, allow_null=True) group = NestedSiteGroupSerializer(required=False, allow_null=True) tenant = NestedTenantSerializer(required=False, allow_null=True) - time_zone = TimeZoneSerializerField(required=False) + time_zone = TimeZoneSerializerField(required=False, allow_null=True) asns = SerializedPKRelatedField( queryset=ASN.objects.all(), serializer=NestedASNSerializer, From 2cd5fce62d1bf6016d3eec978a8b1ab584ce4c79 Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Tue, 1 Nov 2022 16:48:40 -0400 Subject: [PATCH 143/162] Release v3.3.7 --- .github/ISSUE_TEMPLATE/bug_report.yaml | 2 +- .github/ISSUE_TEMPLATE/feature_request.yaml | 2 +- docs/release-notes/version-3.3.md | 2 +- netbox/netbox/settings.py | 2 +- requirements.txt | 4 ++-- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.yaml b/.github/ISSUE_TEMPLATE/bug_report.yaml index 56c14e966..4de82d4e3 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.6 + placeholder: v3.3.7 validations: required: true - type: dropdown diff --git a/.github/ISSUE_TEMPLATE/feature_request.yaml b/.github/ISSUE_TEMPLATE/feature_request.yaml index bef1ce587..5f0a17aa7 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.6 + placeholder: v3.3.7 validations: required: true - type: dropdown diff --git a/docs/release-notes/version-3.3.md b/docs/release-notes/version-3.3.md index 754efcddf..fe02827d6 100644 --- a/docs/release-notes/version-3.3.md +++ b/docs/release-notes/version-3.3.md @@ -1,6 +1,6 @@ # NetBox v3.3 -## v3.3.7 (FUTURE) +## v3.3.7 (2022-11-01) ### Bug Fixes diff --git a/netbox/netbox/settings.py b/netbox/netbox/settings.py index 84c1944af..524173722 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.7-dev' +VERSION = '3.3.7' # Hostname HOSTNAME = platform.node() diff --git a/requirements.txt b/requirements.txt index bce015110..73abfa259 100644 --- a/requirements.txt +++ b/requirements.txt @@ -22,7 +22,7 @@ Markdown==3.3.7 mkdocs-material==8.5.7 mkdocstrings[python-legacy]==0.19.0 netaddr==0.8.0 -Pillow==9.2.0 +Pillow==9.3.0 psycopg2-binary==2.9.5 PyYAML==6.0 sentry-sdk==1.10.1 @@ -30,7 +30,7 @@ social-auth-app-django==5.0.0 social-auth-core[openidconnect]==4.3.0 svgwrite==1.4.3 tablib==3.2.1 -tzdata==2022.5 +tzdata==2022.6 # Workaround for #7401 jsonschema==3.2.0 From 2af8891f70a02cc8991028348a4764c32cdfc2a2 Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Tue, 1 Nov 2022 17:11:55 -0400 Subject: [PATCH 144/162] PRVB --- docs/release-notes/version-3.3.md | 4 ++++ netbox/netbox/settings.py | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/docs/release-notes/version-3.3.md b/docs/release-notes/version-3.3.md index fe02827d6..a693ec1e0 100644 --- a/docs/release-notes/version-3.3.md +++ b/docs/release-notes/version-3.3.md @@ -1,5 +1,9 @@ # NetBox v3.3 +## v3.3.8 (FUTURE) + +--- + ## v3.3.7 (2022-11-01) ### Bug Fixes diff --git a/netbox/netbox/settings.py b/netbox/netbox/settings.py index 524173722..e5a8b7dbd 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.7' +VERSION = '3.3.8-dev' # Hostname HOSTNAME = platform.node() From ea61a540cdaf7f479e3709ad895aff50f671bdcb Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Wed, 2 Nov 2022 11:00:09 -0400 Subject: [PATCH 145/162] Closes #10816: Pass the current request when instantiating a FilterSet within UI views --- docs/release-notes/version-3.4.md | 1 + netbox/netbox/views/generic/bulk_views.py | 9 +++++---- netbox/netbox/views/generic/object_views.py | 2 +- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/docs/release-notes/version-3.4.md b/docs/release-notes/version-3.4.md index fb4a6ed32..3783cc967 100644 --- a/docs/release-notes/version-3.4.md +++ b/docs/release-notes/version-3.4.md @@ -56,6 +56,7 @@ A new `PluginMenu` class has been introduced, which enables a plugin to inject a * [#9046](https://github.com/netbox-community/netbox/issues/9046) - Remove legacy contact fields from provider model * [#10358](https://github.com/netbox-community/netbox/issues/10358) - Raise minimum required PostgreSQL version from 10 to 11 * [#10699](https://github.com/netbox-community/netbox/issues/10699) - Remove custom `import_object()` function +* [#10816](https://github.com/netbox-community/netbox/issues/10816) - Pass the current request when instantiating a FilterSet within UI views ### REST API Changes diff --git a/netbox/netbox/views/generic/bulk_views.py b/netbox/netbox/views/generic/bulk_views.py index 5d7b4eff0..df7cfdf67 100644 --- a/netbox/netbox/views/generic/bulk_views.py +++ b/netbox/netbox/views/generic/bulk_views.py @@ -126,7 +126,7 @@ class ObjectListView(BaseMultiObjectView, ActionsMixin, TableMixin): content_type = ContentType.objects.get_for_model(model) if self.filterset: - self.queryset = self.filterset(request.GET, self.queryset).qs + self.queryset = self.filterset(request.GET, self.queryset, request=request).qs # Determine the available actions actions = self.get_permitted_actions(request.user) @@ -544,7 +544,7 @@ class BulkEditView(GetReturnURLMixin, BaseMultiObjectView): # If we are editing *all* objects in the queryset, replace the PK list with all matched objects. if request.POST.get('_all') and self.filterset is not None: - pk_list = self.filterset(request.GET, self.queryset.values_list('pk', flat=True)).qs + pk_list = self.filterset(request.GET, self.queryset.values_list('pk', flat=True), request=request).qs else: pk_list = request.POST.getlist('pk') @@ -741,7 +741,7 @@ class BulkDeleteView(GetReturnURLMixin, BaseMultiObjectView): if request.POST.get('_all'): qs = model.objects.all() if self.filterset is not None: - qs = self.filterset(request.GET, qs).qs + qs = self.filterset(request.GET, qs, request=request).qs pk_list = qs.only('pk').values_list('pk', flat=True) else: pk_list = [int(pk) for pk in request.POST.getlist('pk')] @@ -828,7 +828,8 @@ class BulkComponentCreateView(GetReturnURLMixin, BaseMultiObjectView): # Are we editing *all* objects in the queryset or just a selected subset? if request.POST.get('_all') and self.filterset is not None: - pk_list = [obj.pk for obj in self.filterset(request.GET, self.parent_model.objects.only('pk')).qs] + queryset = self.filterset(request.GET, self.parent_model.objects.only('pk'), request=request).qs + pk_list = [obj.pk for obj in queryset] else: pk_list = [int(pk) for pk in request.POST.getlist('pk')] diff --git a/netbox/netbox/views/generic/object_views.py b/netbox/netbox/views/generic/object_views.py index 3f5a9f614..0d122a41a 100644 --- a/netbox/netbox/views/generic/object_views.py +++ b/netbox/netbox/views/generic/object_views.py @@ -126,7 +126,7 @@ class ObjectChildrenView(ObjectView, ActionsMixin, TableMixin): child_objects = self.get_children(request, instance) if self.filterset: - child_objects = self.filterset(request.GET, child_objects).qs + child_objects = self.filterset(request.GET, child_objects, request=request).qs # Determine the available actions actions = self.get_permitted_actions(request.user, model=self.child_model) From 484efdaf75f267a43f9321b938fda1bc967b9e53 Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Wed, 2 Nov 2022 12:27:53 -0400 Subject: [PATCH 146/162] Closes #9623: Implement saved filters (#10801) * Initial work on saved filters * Return only enabled/shared filters * Add tests * Clean up filtering of usable SavedFilters --- netbox/circuits/forms/filtersets.py | 6 +- netbox/dcim/forms/filtersets.py | 50 +++++------ netbox/extras/api/nested_serializers.py | 9 ++ netbox/extras/api/serializers.py | 20 +++++ netbox/extras/api/urls.py | 26 +----- netbox/extras/api/views.py | 12 +++ netbox/extras/filtersets.py | 50 +++++++++++ netbox/extras/forms/__init__.py | 2 +- netbox/extras/forms/bulk_edit.py | 29 ++++++- netbox/extras/forms/bulk_import.py | 14 +++ netbox/extras/forms/filtersets.py | 61 +++++++++---- .../forms/{customfields.py => mixins.py} | 14 +++ netbox/extras/forms/model_forms.py | 30 +++++++ netbox/extras/graphql/schema.py | 3 + netbox/extras/graphql/types.py | 9 ++ netbox/extras/migrations/0083_savedfilter.py | 36 ++++++++ netbox/extras/models/__init__.py | 1 + netbox/extras/models/models.py | 66 +++++++++++++- netbox/extras/tables/tables.py | 42 ++++----- netbox/extras/tests/test_api.py | 69 ++++++++++++++- netbox/extras/tests/test_filtersets.py | 86 +++++++++++++++++++ netbox/extras/tests/test_views.py | 52 +++++++++++ netbox/extras/urls.py | 8 ++ netbox/extras/views.py | 69 ++++++++++++++- netbox/ipam/forms/filtersets.py | 33 +++---- netbox/netbox/filtersets.py | 23 ++++- netbox/netbox/forms/base.py | 13 ++- netbox/netbox/navigation/menu.py | 1 + netbox/netbox/views/generic/bulk_views.py | 9 +- netbox/templates/extras/savedfilter.html | 70 +++++++++++++++ netbox/templates/generic/object_list.html | 2 +- netbox/tenancy/forms/filtersets.py | 2 +- .../templates/helpers/applied_filters.html | 5 ++ netbox/utilities/templatetags/helpers.py | 17 +++- netbox/utilities/testing/base.py | 8 +- netbox/virtualization/forms/filtersets.py | 8 +- netbox/wireless/forms/filtersets.py | 4 +- 37 files changed, 821 insertions(+), 138 deletions(-) rename netbox/extras/forms/{customfields.py => mixins.py} (84%) create mode 100644 netbox/extras/migrations/0083_savedfilter.py create mode 100644 netbox/templates/extras/savedfilter.html diff --git a/netbox/circuits/forms/filtersets.py b/netbox/circuits/forms/filtersets.py index 29410ffdf..9ad825299 100644 --- a/netbox/circuits/forms/filtersets.py +++ b/netbox/circuits/forms/filtersets.py @@ -20,7 +20,7 @@ __all__ = ( class ProviderFilterForm(ContactModelFilterForm, NetBoxModelFilterSetForm): model = Provider fieldsets = ( - (None, ('q', 'tag')), + (None, ('q', 'filter', 'tag')), ('Location', ('region_id', 'site_group_id', 'site_id')), ('ASN', ('asn',)), ('Contacts', ('contact', 'contact_role', 'contact_group')), @@ -59,7 +59,7 @@ class ProviderFilterForm(ContactModelFilterForm, NetBoxModelFilterSetForm): class ProviderNetworkFilterForm(NetBoxModelFilterSetForm): model = ProviderNetwork fieldsets = ( - (None, ('q', 'tag')), + (None, ('q', 'filter', 'tag')), ('Attributes', ('provider_id', 'service_id')), ) provider_id = DynamicModelMultipleChoiceField( @@ -82,7 +82,7 @@ class CircuitTypeFilterForm(NetBoxModelFilterSetForm): class CircuitFilterForm(TenancyFilterForm, ContactModelFilterForm, NetBoxModelFilterSetForm): model = Circuit fieldsets = ( - (None, ('q', 'tag')), + (None, ('q', 'filter', 'tag')), ('Provider', ('provider_id', 'provider_network_id')), ('Attributes', ('type_id', 'status', 'install_date', 'termination_date', 'commit_rate')), ('Location', ('region_id', 'site_group_id', 'site_id')), diff --git a/netbox/dcim/forms/filtersets.py b/netbox/dcim/forms/filtersets.py index 818da83e1..905a898df 100644 --- a/netbox/dcim/forms/filtersets.py +++ b/netbox/dcim/forms/filtersets.py @@ -116,7 +116,7 @@ class DeviceComponentFilterForm(NetBoxModelFilterSetForm): class RegionFilterForm(ContactModelFilterForm, NetBoxModelFilterSetForm): model = Region fieldsets = ( - (None, ('q', 'tag', 'parent_id')), + (None, ('q', 'filter', 'tag', 'parent_id')), ('Contacts', ('contact', 'contact_role', 'contact_group')) ) parent_id = DynamicModelMultipleChoiceField( @@ -130,7 +130,7 @@ class RegionFilterForm(ContactModelFilterForm, NetBoxModelFilterSetForm): class SiteGroupFilterForm(ContactModelFilterForm, NetBoxModelFilterSetForm): model = SiteGroup fieldsets = ( - (None, ('q', 'tag', 'parent_id')), + (None, ('q', 'filter', 'tag', 'parent_id')), ('Contacts', ('contact', 'contact_role', 'contact_group')) ) parent_id = DynamicModelMultipleChoiceField( @@ -144,7 +144,7 @@ class SiteGroupFilterForm(ContactModelFilterForm, NetBoxModelFilterSetForm): class SiteFilterForm(TenancyFilterForm, ContactModelFilterForm, NetBoxModelFilterSetForm): model = Site fieldsets = ( - (None, ('q', 'tag')), + (None, ('q', 'filter', 'tag')), ('Attributes', ('status', 'region_id', 'group_id', 'asn_id')), ('Tenant', ('tenant_group_id', 'tenant_id')), ('Contacts', ('contact', 'contact_role', 'contact_group')), @@ -174,7 +174,7 @@ class SiteFilterForm(TenancyFilterForm, ContactModelFilterForm, NetBoxModelFilte class LocationFilterForm(TenancyFilterForm, ContactModelFilterForm, NetBoxModelFilterSetForm): model = Location fieldsets = ( - (None, ('q', 'tag')), + (None, ('q', 'filter', 'tag')), ('Attributes', ('region_id', 'site_group_id', 'site_id', 'parent_id', 'status')), ('Tenant', ('tenant_group_id', 'tenant_id')), ('Contacts', ('contact', 'contact_role', 'contact_group')), @@ -222,7 +222,7 @@ class RackRoleFilterForm(NetBoxModelFilterSetForm): class RackFilterForm(TenancyFilterForm, ContactModelFilterForm, NetBoxModelFilterSetForm): model = Rack fieldsets = ( - (None, ('q', 'tag')), + (None, ('q', 'filter', 'tag')), ('Location', ('region_id', 'site_group_id', 'site_id', 'location_id')), ('Function', ('status', 'role_id')), ('Hardware', ('type', 'width', 'serial', 'asset_tag')), @@ -306,7 +306,7 @@ class RackElevationFilterForm(RackFilterForm): class RackReservationFilterForm(TenancyFilterForm, NetBoxModelFilterSetForm): model = RackReservation fieldsets = ( - (None, ('q', 'tag')), + (None, ('q', 'filter', 'tag')), ('User', ('user_id',)), ('Rack', ('region_id', 'site_group_id', 'site_id', 'location_id', 'rack_id')), ('Tenant', ('tenant_group_id', 'tenant_id')), @@ -362,7 +362,7 @@ class RackReservationFilterForm(TenancyFilterForm, NetBoxModelFilterSetForm): class ManufacturerFilterForm(ContactModelFilterForm, NetBoxModelFilterSetForm): model = Manufacturer fieldsets = ( - (None, ('q', 'tag')), + (None, ('q', 'filter', 'tag')), ('Contacts', ('contact', 'contact_role', 'contact_group')) ) tag = TagFilterField(model) @@ -371,7 +371,7 @@ class ManufacturerFilterForm(ContactModelFilterForm, NetBoxModelFilterSetForm): class DeviceTypeFilterForm(NetBoxModelFilterSetForm): model = DeviceType fieldsets = ( - (None, ('q', 'tag')), + (None, ('q', 'filter', 'tag')), ('Hardware', ('manufacturer_id', 'part_number', 'subdevice_role', 'airflow')), ('Images', ('has_front_image', 'has_rear_image')), ('Components', ( @@ -486,7 +486,7 @@ class DeviceTypeFilterForm(NetBoxModelFilterSetForm): class ModuleTypeFilterForm(NetBoxModelFilterSetForm): model = ModuleType fieldsets = ( - (None, ('q', 'tag')), + (None, ('q', 'filter', 'tag')), ('Hardware', ('manufacturer_id', 'part_number')), ('Components', ( 'console_ports', 'console_server_ports', 'power_ports', 'power_outlets', 'interfaces', @@ -578,7 +578,7 @@ class DeviceFilterForm( ): model = Device fieldsets = ( - (None, ('q', 'tag')), + (None, ('q', 'filter', 'tag')), ('Location', ('region_id', 'site_group_id', 'site_id', 'location_id', 'rack_id')), ('Operation', ('status', 'role_id', 'airflow', 'serial', 'asset_tag', 'mac_address')), ('Hardware', ('manufacturer_id', 'device_type_id', 'platform_id')), @@ -731,7 +731,7 @@ class DeviceFilterForm( class ModuleFilterForm(LocalConfigContextFilterForm, TenancyFilterForm, NetBoxModelFilterSetForm): model = Module fieldsets = ( - (None, ('q', 'tag')), + (None, ('q', 'filter', 'tag')), ('Hardware', ('manufacturer_id', 'module_type_id', 'serial', 'asset_tag')), ) manufacturer_id = DynamicModelMultipleChoiceField( @@ -761,7 +761,7 @@ class ModuleFilterForm(LocalConfigContextFilterForm, TenancyFilterForm, NetBoxMo class VirtualChassisFilterForm(TenancyFilterForm, NetBoxModelFilterSetForm): model = VirtualChassis fieldsets = ( - (None, ('q', 'tag')), + (None, ('q', 'filter', 'tag')), ('Location', ('region_id', 'site_group_id', 'site_id')), ('Tenant', ('tenant_group_id', 'tenant_id')), ) @@ -790,7 +790,7 @@ class VirtualChassisFilterForm(TenancyFilterForm, NetBoxModelFilterSetForm): class CableFilterForm(TenancyFilterForm, NetBoxModelFilterSetForm): model = Cable fieldsets = ( - (None, ('q', 'tag')), + (None, ('q', 'filter', 'tag')), ('Location', ('site_id', 'location_id', 'rack_id', 'device_id')), ('Attributes', ('type', 'status', 'color', 'length', 'length_unit')), ('Tenant', ('tenant_group_id', 'tenant_id')), @@ -862,7 +862,7 @@ class CableFilterForm(TenancyFilterForm, NetBoxModelFilterSetForm): class PowerPanelFilterForm(ContactModelFilterForm, NetBoxModelFilterSetForm): model = PowerPanel fieldsets = ( - (None, ('q', 'tag')), + (None, ('q', 'filter', 'tag')), ('Location', ('region_id', 'site_group_id', 'site_id', 'location_id')), ('Contacts', ('contact', 'contact_role', 'contact_group')), ) @@ -900,7 +900,7 @@ class PowerPanelFilterForm(ContactModelFilterForm, NetBoxModelFilterSetForm): class PowerFeedFilterForm(NetBoxModelFilterSetForm): model = PowerFeed fieldsets = ( - (None, ('q', 'tag')), + (None, ('q', 'filter', 'tag')), ('Location', ('region_id', 'site_group_id', 'site_id', 'power_panel_id', 'rack_id')), ('Attributes', ('status', 'type', 'supply', 'phase', 'voltage', 'amperage', 'max_utilization')), ) @@ -1002,7 +1002,7 @@ class PathEndpointFilterForm(CabledFilterForm): class ConsolePortFilterForm(PathEndpointFilterForm, DeviceComponentFilterForm): model = ConsolePort fieldsets = ( - (None, ('q', 'tag')), + (None, ('q', 'filter', 'tag')), ('Attributes', ('name', 'label', 'type', 'speed')), ('Device', ('region_id', 'site_group_id', 'site_id', 'location_id', 'rack_id', 'virtual_chassis_id', 'device_id')), ('Connection', ('cabled', 'connected', 'occupied')), @@ -1021,7 +1021,7 @@ class ConsolePortFilterForm(PathEndpointFilterForm, DeviceComponentFilterForm): class ConsoleServerPortFilterForm(PathEndpointFilterForm, DeviceComponentFilterForm): model = ConsoleServerPort fieldsets = ( - (None, ('q', 'tag')), + (None, ('q', 'filter', 'tag')), ('Attributes', ('name', 'label', 'type', 'speed')), ('Device', ('region_id', 'site_group_id', 'site_id', 'location_id', 'rack_id', 'virtual_chassis_id', 'device_id')), ('Connection', ('cabled', 'connected', 'occupied')), @@ -1040,7 +1040,7 @@ class ConsoleServerPortFilterForm(PathEndpointFilterForm, DeviceComponentFilterF class PowerPortFilterForm(PathEndpointFilterForm, DeviceComponentFilterForm): model = PowerPort fieldsets = ( - (None, ('q', 'tag')), + (None, ('q', 'filter', 'tag')), ('Attributes', ('name', 'label', 'type')), ('Device', ('region_id', 'site_group_id', 'site_id', 'location_id', 'rack_id', 'virtual_chassis_id', 'device_id')), ('Connection', ('cabled', 'connected', 'occupied')), @@ -1055,7 +1055,7 @@ class PowerPortFilterForm(PathEndpointFilterForm, DeviceComponentFilterForm): class PowerOutletFilterForm(PathEndpointFilterForm, DeviceComponentFilterForm): model = PowerOutlet fieldsets = ( - (None, ('q', 'tag')), + (None, ('q', 'filter', 'tag')), ('Attributes', ('name', 'label', 'type')), ('Device', ('region_id', 'site_group_id', 'site_id', 'location_id', 'rack_id', 'virtual_chassis_id', 'device_id')), ('Connection', ('cabled', 'connected', 'occupied')), @@ -1070,7 +1070,7 @@ class PowerOutletFilterForm(PathEndpointFilterForm, DeviceComponentFilterForm): class InterfaceFilterForm(PathEndpointFilterForm, DeviceComponentFilterForm): model = Interface fieldsets = ( - (None, ('q', 'tag')), + (None, ('q', 'filter', 'tag')), ('Attributes', ('name', 'label', 'kind', 'type', 'speed', 'duplex', 'enabled', 'mgmt_only')), ('Addressing', ('vrf_id', 'mac_address', 'wwn')), ('PoE', ('poe_mode', 'poe_type')), @@ -1159,7 +1159,7 @@ class InterfaceFilterForm(PathEndpointFilterForm, DeviceComponentFilterForm): class FrontPortFilterForm(CabledFilterForm, DeviceComponentFilterForm): fieldsets = ( - (None, ('q', 'tag')), + (None, ('q', 'filter', 'tag')), ('Attributes', ('name', 'label', 'type', 'color')), ('Device', ('region_id', 'site_group_id', 'site_id', 'location_id', 'rack_id', 'virtual_chassis_id', 'device_id')), ('Cable', ('cabled', 'occupied')), @@ -1178,7 +1178,7 @@ class FrontPortFilterForm(CabledFilterForm, DeviceComponentFilterForm): class RearPortFilterForm(CabledFilterForm, DeviceComponentFilterForm): model = RearPort fieldsets = ( - (None, ('q', 'tag')), + (None, ('q', 'filter', 'tag')), ('Attributes', ('name', 'label', 'type', 'color')), ('Device', ('region_id', 'site_group_id', 'site_id', 'location_id', 'rack_id', 'virtual_chassis_id', 'device_id')), ('Cable', ('cabled', 'occupied')), @@ -1196,7 +1196,7 @@ class RearPortFilterForm(CabledFilterForm, DeviceComponentFilterForm): class ModuleBayFilterForm(DeviceComponentFilterForm): model = ModuleBay fieldsets = ( - (None, ('q', 'tag')), + (None, ('q', 'filter', 'tag')), ('Attributes', ('name', 'label', 'position')), ('Device', ('region_id', 'site_group_id', 'site_id', 'location_id', 'rack_id', 'virtual_chassis_id', 'device_id')), ) @@ -1209,7 +1209,7 @@ class ModuleBayFilterForm(DeviceComponentFilterForm): class DeviceBayFilterForm(DeviceComponentFilterForm): model = DeviceBay fieldsets = ( - (None, ('q', 'tag')), + (None, ('q', 'filter', 'tag')), ('Attributes', ('name', 'label')), ('Device', ('region_id', 'site_group_id', 'site_id', 'location_id', 'rack_id', 'virtual_chassis_id', 'device_id')), ) @@ -1219,7 +1219,7 @@ class DeviceBayFilterForm(DeviceComponentFilterForm): class InventoryItemFilterForm(DeviceComponentFilterForm): model = InventoryItem fieldsets = ( - (None, ('q', 'tag')), + (None, ('q', 'filter', 'tag')), ('Attributes', ('name', 'label', 'role_id', 'manufacturer_id', 'serial', 'asset_tag', 'discovered')), ('Device', ('region_id', 'site_group_id', 'site_id', 'location_id', 'rack_id', 'virtual_chassis_id', 'device_id')), ) diff --git a/netbox/extras/api/nested_serializers.py b/netbox/extras/api/nested_serializers.py index 44dfe7cbc..dce062b84 100644 --- a/netbox/extras/api/nested_serializers.py +++ b/netbox/extras/api/nested_serializers.py @@ -13,6 +13,7 @@ __all__ = [ 'NestedImageAttachmentSerializer', 'NestedJobResultSerializer', 'NestedJournalEntrySerializer', + 'NestedSavedFilterSerializer', 'NestedTagSerializer', # Defined in netbox.api.serializers 'NestedWebhookSerializer', ] @@ -58,6 +59,14 @@ class NestedExportTemplateSerializer(WritableNestedSerializer): fields = ['id', 'url', 'display', 'name'] +class NestedSavedFilterSerializer(WritableNestedSerializer): + url = serializers.HyperlinkedIdentityField(view_name='extras-api:savedfilter-detail') + + class Meta: + model = models.SavedFilter + fields = ['id', 'url', 'display', 'name'] + + class NestedImageAttachmentSerializer(WritableNestedSerializer): url = serializers.HyperlinkedIdentityField(view_name='extras-api:imageattachment-detail') diff --git a/netbox/extras/api/serializers.py b/netbox/extras/api/serializers.py index ac025ff16..1afb8fa8f 100644 --- a/netbox/extras/api/serializers.py +++ b/netbox/extras/api/serializers.py @@ -39,6 +39,7 @@ __all__ = ( 'ReportDetailSerializer', 'ReportSerializer', 'ReportInputSerializer', + 'SavedFilterSerializer', 'ScriptDetailSerializer', 'ScriptInputSerializer', 'ScriptLogMessageSerializer', @@ -149,6 +150,25 @@ class ExportTemplateSerializer(ValidatedModelSerializer): ] +# +# Saved filters +# + +class SavedFilterSerializer(ValidatedModelSerializer): + url = serializers.HyperlinkedIdentityField(view_name='extras-api:savedfilter-detail') + content_types = ContentTypeField( + queryset=ContentType.objects.all(), + many=True + ) + + class Meta: + model = SavedFilter + fields = [ + 'id', 'url', 'display', 'content_types', 'name', 'description', 'user', 'weight', + 'enabled', 'shared', 'parameters', 'created', 'last_updated', + ] + + # # Tags # diff --git a/netbox/extras/api/urls.py b/netbox/extras/api/urls.py index bcad6b77c..91067d40d 100644 --- a/netbox/extras/api/urls.py +++ b/netbox/extras/api/urls.py @@ -5,43 +5,19 @@ from . import views router = NetBoxRouter() router.APIRootView = views.ExtrasRootView -# Webhooks router.register('webhooks', views.WebhookViewSet) - -# Custom fields router.register('custom-fields', views.CustomFieldViewSet) - -# Custom links router.register('custom-links', views.CustomLinkViewSet) - -# Export templates router.register('export-templates', views.ExportTemplateViewSet) - -# Tags +router.register('saved-filters', views.SavedFilterViewSet) router.register('tags', views.TagViewSet) - -# Image attachments router.register('image-attachments', views.ImageAttachmentViewSet) - -# Journal entries router.register('journal-entries', views.JournalEntryViewSet) - -# Config contexts router.register('config-contexts', views.ConfigContextViewSet) - -# Reports router.register('reports', views.ReportViewSet, basename='report') - -# Scripts router.register('scripts', views.ScriptViewSet, basename='script') - -# Change logging router.register('object-changes', views.ObjectChangeViewSet) - -# Job Results router.register('job-results', views.JobResultViewSet) - -# ContentTypes router.register('content-types', views.ContentTypeViewSet) app_name = 'extras-api' diff --git a/netbox/extras/api/views.py b/netbox/extras/api/views.py index 62a011530..ab111b0ec 100644 --- a/netbox/extras/api/views.py +++ b/netbox/extras/api/views.py @@ -1,4 +1,5 @@ from django.contrib.contenttypes.models import ContentType +from django.db.models import Q from django.http import Http404 from django_rq.queues import get_connection from rest_framework import status @@ -98,6 +99,17 @@ class ExportTemplateViewSet(NetBoxModelViewSet): filterset_class = filtersets.ExportTemplateFilterSet +# +# Saved filters +# + +class SavedFilterViewSet(NetBoxModelViewSet): + metadata_class = ContentTypeMetadata + queryset = SavedFilter.objects.all() + serializer_class = serializers.SavedFilterSerializer + filterset_class = filtersets.SavedFilterFilterSet + + # # Tags # diff --git a/netbox/extras/filtersets.py b/netbox/extras/filtersets.py index 22fe6537e..6010c733a 100644 --- a/netbox/extras/filtersets.py +++ b/netbox/extras/filtersets.py @@ -23,6 +23,7 @@ __all__ = ( 'JournalEntryFilterSet', 'LocalConfigContextFilterSet', 'ObjectChangeFilterSet', + 'SavedFilterFilterSet', 'TagFilterSet', 'WebhookFilterSet', ) @@ -138,6 +139,55 @@ class ExportTemplateFilterSet(BaseFilterSet): ) +class SavedFilterFilterSet(BaseFilterSet): + q = django_filters.CharFilter( + method='search', + label='Search', + ) + content_type_id = MultiValueNumberFilter( + field_name='content_types__id' + ) + content_types = ContentTypeFilter() + user_id = django_filters.ModelMultipleChoiceFilter( + queryset=User.objects.all(), + label='User (ID)', + ) + user = django_filters.ModelMultipleChoiceFilter( + field_name='user__username', + queryset=User.objects.all(), + to_field_name='username', + label='User (name)', + ) + usable = django_filters.BooleanFilter( + method='_usable' + ) + + class Meta: + model = SavedFilter + fields = ['id', 'content_types', 'name', 'description', 'enabled', 'shared', 'weight'] + + def search(self, queryset, name, value): + if not value.strip(): + return queryset + return queryset.filter( + Q(name__icontains=value) | + Q(description__icontains=value) + ) + + def _usable(self, queryset, name, value): + """ + Return only SavedFilters that are both enabled and are shared (or belong to the current user). + """ + user = self.request.user if self.request else None + if not user or user.is_anonymous: + if value: + return queryset.filter(enabled=True, shared=True) + return queryset.filter(Q(enabled=False) | Q(shared=False)) + if value: + return queryset.filter(enabled=True).filter(Q(shared=True) | Q(user=user)) + return queryset.filter(Q(enabled=False) | Q(Q(shared=False) & ~Q(user=user))) + + class ImageAttachmentFilterSet(BaseFilterSet): q = django_filters.CharFilter( method='search', diff --git a/netbox/extras/forms/__init__.py b/netbox/extras/forms/__init__.py index d2f2fb015..af0f7cf43 100644 --- a/netbox/extras/forms/__init__.py +++ b/netbox/extras/forms/__init__.py @@ -2,6 +2,6 @@ from .model_forms import * from .filtersets import * from .bulk_edit import * from .bulk_import import * -from .customfields import * +from .mixins import * from .config import * from .scripts import * diff --git a/netbox/extras/forms/bulk_edit.py b/netbox/extras/forms/bulk_edit.py index df17324ec..a061d9784 100644 --- a/netbox/extras/forms/bulk_edit.py +++ b/netbox/extras/forms/bulk_edit.py @@ -1,11 +1,9 @@ from django import forms -from django.contrib.contenttypes.models import ContentType from extras.choices import * from extras.models import * -from extras.utils import FeatureQuery from utilities.forms import ( - add_blank_choice, BulkEditForm, BulkEditNullBooleanSelect, ColorField, ContentTypeChoiceField, StaticSelect, + add_blank_choice, BulkEditForm, BulkEditNullBooleanSelect, ColorField, StaticSelect, ) __all__ = ( @@ -14,6 +12,7 @@ __all__ = ( 'CustomLinkBulkEditForm', 'ExportTemplateBulkEditForm', 'JournalEntryBulkEditForm', + 'SavedFilterBulkEditForm', 'TagBulkEditForm', 'WebhookBulkEditForm', ) @@ -96,6 +95,30 @@ class ExportTemplateBulkEditForm(BulkEditForm): nullable_fields = ('description', 'mime_type', 'file_extension') +class SavedFilterBulkEditForm(BulkEditForm): + pk = forms.ModelMultipleChoiceField( + queryset=SavedFilter.objects.all(), + widget=forms.MultipleHiddenInput + ) + description = forms.CharField( + max_length=200, + required=False + ) + weight = forms.IntegerField( + required=False + ) + enabled = forms.NullBooleanField( + required=False, + widget=BulkEditNullBooleanSelect() + ) + shared = forms.NullBooleanField( + required=False, + widget=BulkEditNullBooleanSelect() + ) + + nullable_fields = ('description',) + + class WebhookBulkEditForm(BulkEditForm): pk = forms.ModelMultipleChoiceField( queryset=Webhook.objects.all(), diff --git a/netbox/extras/forms/bulk_import.py b/netbox/extras/forms/bulk_import.py index ee638015b..0f5974698 100644 --- a/netbox/extras/forms/bulk_import.py +++ b/netbox/extras/forms/bulk_import.py @@ -12,6 +12,7 @@ __all__ = ( 'CustomFieldCSVForm', 'CustomLinkCSVForm', 'ExportTemplateCSVForm', + 'SavedFilterCSVForm', 'TagCSVForm', 'WebhookCSVForm', ) @@ -81,6 +82,19 @@ class ExportTemplateCSVForm(CSVModelForm): ) +class SavedFilterCSVForm(CSVModelForm): + content_types = CSVMultipleContentTypeField( + queryset=ContentType.objects.all(), + help_text="One or more assigned object types" + ) + + class Meta: + model = SavedFilter + fields = ( + 'name', 'content_types', 'description', 'weight', 'enabled', 'shared', 'parameters', + ) + + class WebhookCSVForm(CSVModelForm): content_types = CSVMultipleContentTypeField( queryset=ContentType.objects.all(), diff --git a/netbox/extras/forms/filtersets.py b/netbox/extras/forms/filtersets.py index a164a3d95..479367ff0 100644 --- a/netbox/extras/forms/filtersets.py +++ b/netbox/extras/forms/filtersets.py @@ -15,6 +15,7 @@ from utilities.forms import ( StaticSelect, TagFilterField, ) from virtualization.models import Cluster, ClusterGroup, ClusterType +from .mixins import SavedFiltersMixin __all__ = ( 'ConfigContextFilterForm', @@ -25,14 +26,15 @@ __all__ = ( 'JournalEntryFilterForm', 'LocalConfigContextFilterForm', 'ObjectChangeFilterForm', + 'SavedFilterFilterForm', 'TagFilterForm', 'WebhookFilterForm', ) -class CustomFieldFilterForm(FilterForm): +class CustomFieldFilterForm(SavedFiltersMixin, FilterForm): fieldsets = ( - (None, ('q',)), + (None, ('q', 'filter')), ('Attributes', ('type', 'content_type_id', 'group_name', 'weight', 'required', 'ui_visibility')), ) content_type_id = ContentTypeMultipleChoiceField( @@ -66,9 +68,9 @@ class CustomFieldFilterForm(FilterForm): ) -class JobResultFilterForm(FilterForm): +class JobResultFilterForm(SavedFiltersMixin, FilterForm): fieldsets = ( - (None, ('q',)), + (None, ('q', 'filter')), ('Attributes', ('obj_type', 'status')), ('Creation', ('created__before', 'created__after', 'completed__before', 'completed__after', 'scheduled_time__before', 'scheduled_time__after', 'user')), @@ -118,9 +120,9 @@ class JobResultFilterForm(FilterForm): ) -class CustomLinkFilterForm(FilterForm): +class CustomLinkFilterForm(SavedFiltersMixin, FilterForm): fieldsets = ( - (None, ('q',)), + (None, ('q', 'filter')), ('Attributes', ('content_types', 'enabled', 'new_window', 'weight')), ) content_types = ContentTypeMultipleChoiceField( @@ -145,9 +147,9 @@ class CustomLinkFilterForm(FilterForm): ) -class ExportTemplateFilterForm(FilterForm): +class ExportTemplateFilterForm(SavedFiltersMixin, FilterForm): fieldsets = ( - (None, ('q',)), + (None, ('q', 'filter')), ('Attributes', ('content_types', 'mime_type', 'file_extension', 'as_attachment')), ) content_types = ContentTypeMultipleChoiceField( @@ -170,9 +172,36 @@ class ExportTemplateFilterForm(FilterForm): ) -class WebhookFilterForm(FilterForm): +class SavedFilterFilterForm(SavedFiltersMixin, FilterForm): fieldsets = ( - (None, ('q',)), + (None, ('q', 'filter')), + ('Attributes', ('content_types', 'enabled', 'shared', 'weight')), + ) + content_types = ContentTypeMultipleChoiceField( + queryset=ContentType.objects.all(), + limit_choices_to=FeatureQuery('export_templates'), + required=False + ) + enabled = forms.NullBooleanField( + required=False, + widget=StaticSelect( + choices=BOOLEAN_WITH_BLANK_CHOICES + ) + ) + shared = forms.NullBooleanField( + required=False, + widget=StaticSelect( + choices=BOOLEAN_WITH_BLANK_CHOICES + ) + ) + weight = forms.IntegerField( + required=False + ) + + +class WebhookFilterForm(SavedFiltersMixin, FilterForm): + fieldsets = ( + (None, ('q', 'filter')), ('Attributes', ('content_type_id', 'http_method', 'enabled')), ('Events', ('type_create', 'type_update', 'type_delete')), ) @@ -213,7 +242,7 @@ class WebhookFilterForm(FilterForm): ) -class TagFilterForm(FilterForm): +class TagFilterForm(SavedFiltersMixin, FilterForm): model = Tag content_type_id = ContentTypeMultipleChoiceField( queryset=ContentType.objects.filter(FeatureQuery('tags').get_query()), @@ -222,9 +251,9 @@ class TagFilterForm(FilterForm): ) -class ConfigContextFilterForm(FilterForm): +class ConfigContextFilterForm(SavedFiltersMixin, FilterForm): fieldsets = ( - (None, ('q', 'tag_id')), + (None, ('q', 'filter', 'tag_id')), ('Location', ('region_id', 'site_group_id', 'site_id', 'location_id')), ('Device', ('device_type_id', 'platform_id', 'role_id')), ('Cluster', ('cluster_type_id', 'cluster_group_id', 'cluster_id')), @@ -311,7 +340,7 @@ class LocalConfigContextFilterForm(forms.Form): class JournalEntryFilterForm(NetBoxModelFilterSetForm): model = JournalEntry fieldsets = ( - (None, ('q', 'tag')), + (None, ('q', 'filter', 'tag')), ('Creation', ('created_before', 'created_after', 'created_by_id')), ('Attributes', ('assigned_object_type_id', 'kind')) ) @@ -349,10 +378,10 @@ class JournalEntryFilterForm(NetBoxModelFilterSetForm): tag = TagFilterField(model) -class ObjectChangeFilterForm(FilterForm): +class ObjectChangeFilterForm(SavedFiltersMixin, FilterForm): model = ObjectChange fieldsets = ( - (None, ('q',)), + (None, ('q', 'filter')), ('Time', ('time_before', 'time_after')), ('Attributes', ('action', 'user_id', 'changed_object_type_id')), ) diff --git a/netbox/extras/forms/customfields.py b/netbox/extras/forms/mixins.py similarity index 84% rename from netbox/extras/forms/customfields.py rename to netbox/extras/forms/mixins.py index 40d068450..2b64d1a74 100644 --- a/netbox/extras/forms/customfields.py +++ b/netbox/extras/forms/mixins.py @@ -1,10 +1,13 @@ from django.contrib.contenttypes.models import ContentType +from django import forms from extras.models import * from extras.choices import CustomFieldVisibilityChoices +from utilities.forms.fields import DynamicModelMultipleChoiceField __all__ = ( 'CustomFieldsMixin', + 'SavedFiltersMixin', ) @@ -57,3 +60,14 @@ class CustomFieldsMixin: if customfield.group_name not in self.custom_field_groups: self.custom_field_groups[customfield.group_name] = [] self.custom_field_groups[customfield.group_name].append(field_name) + + +class SavedFiltersMixin(forms.Form): + filter = DynamicModelMultipleChoiceField( + queryset=SavedFilter.objects.all(), + required=False, + label='Saved Filter', + query_params={ + 'usable': True, + } + ) diff --git a/netbox/extras/forms/model_forms.py b/netbox/extras/forms/model_forms.py index 7ff4f3e27..97e80100a 100644 --- a/netbox/extras/forms/model_forms.py +++ b/netbox/extras/forms/model_forms.py @@ -1,5 +1,6 @@ from django import forms from django.contrib.contenttypes.models import ContentType +from django.http import QueryDict from dcim.models import DeviceRole, DeviceType, Location, Platform, Region, Site, SiteGroup from extras.choices import * @@ -20,6 +21,7 @@ __all__ = ( 'ExportTemplateForm', 'ImageAttachmentForm', 'JournalEntryForm', + 'SavedFilterForm', 'TagForm', 'WebhookForm', ) @@ -108,6 +110,34 @@ class ExportTemplateForm(BootstrapMixin, forms.ModelForm): } +class SavedFilterForm(BootstrapMixin, forms.ModelForm): + content_types = ContentTypeMultipleChoiceField( + queryset=ContentType.objects.all() + ) + + fieldsets = ( + ('Saved Filter', ('name', 'content_types', 'description', 'weight', 'enabled', 'shared')), + ('Parameters', ('parameters',)), + ) + + class Meta: + model = SavedFilter + exclude = ('user',) + widgets = { + 'parameters': forms.Textarea(attrs={'class': 'font-monospace'}), + } + + def __init__(self, *args, initial=None, **kwargs): + + # Convert any parameters delivered via initial data to a dictionary + if initial and 'parameters' in initial: + if type(initial['parameters']) is str: + # TODO: Make a utility function for this + initial['parameters'] = dict(QueryDict(initial['parameters']).lists()) + + super().__init__(*args, initial=initial, **kwargs) + + class WebhookForm(BootstrapMixin, forms.ModelForm): content_types = ContentTypeMultipleChoiceField( queryset=ContentType.objects.all(), diff --git a/netbox/extras/graphql/schema.py b/netbox/extras/graphql/schema.py index 3073976e8..0c3113879 100644 --- a/netbox/extras/graphql/schema.py +++ b/netbox/extras/graphql/schema.py @@ -20,6 +20,9 @@ class ExtrasQuery(graphene.ObjectType): image_attachment = ObjectField(ImageAttachmentType) image_attachment_list = ObjectListField(ImageAttachmentType) + saved_filter = ObjectField(SavedFilterType) + saved_filter_list = ObjectListField(SavedFilterType) + journal_entry = ObjectField(JournalEntryType) journal_entry_list = ObjectListField(JournalEntryType) diff --git a/netbox/extras/graphql/types.py b/netbox/extras/graphql/types.py index 3be7b371e..b5d4dffce 100644 --- a/netbox/extras/graphql/types.py +++ b/netbox/extras/graphql/types.py @@ -10,6 +10,7 @@ __all__ = ( 'ImageAttachmentType', 'JournalEntryType', 'ObjectChangeType', + 'SavedFilterType', 'TagType', 'WebhookType', ) @@ -71,6 +72,14 @@ class ObjectChangeType(BaseObjectType): filterset_class = filtersets.ObjectChangeFilterSet +class SavedFilterType(ObjectType): + + class Meta: + model = models.SavedFilter + exclude = ('content_types', ) + filterset_class = filtersets.SavedFilterFilterSet + + class TagType(ObjectType): class Meta: diff --git a/netbox/extras/migrations/0083_savedfilter.py b/netbox/extras/migrations/0083_savedfilter.py new file mode 100644 index 000000000..6bae7ccde --- /dev/null +++ b/netbox/extras/migrations/0083_savedfilter.py @@ -0,0 +1,36 @@ +# Generated by Django 4.1.1 on 2022-10-27 18:18 + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ('contenttypes', '0002_remove_content_type_name'), + ('extras', '0082_exporttemplate_content_types'), + ] + + operations = [ + migrations.CreateModel( + name='SavedFilter', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False)), + ('created', models.DateTimeField(auto_now_add=True, null=True)), + ('last_updated', models.DateTimeField(auto_now=True, null=True)), + ('name', models.CharField(max_length=100, unique=True)), + ('description', models.CharField(blank=True, max_length=200)), + ('weight', models.PositiveSmallIntegerField(default=100)), + ('enabled', models.BooleanField(default=True)), + ('shared', models.BooleanField(default=True)), + ('parameters', models.JSONField()), + ('content_types', models.ManyToManyField(related_name='saved_filters', to='contenttypes.contenttype')), + ('user', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL)), + ], + options={ + 'ordering': ('weight', 'name'), + }, + ), + ] diff --git a/netbox/extras/models/__init__.py b/netbox/extras/models/__init__.py index e3a4be3fe..6d2bf288c 100644 --- a/netbox/extras/models/__init__.py +++ b/netbox/extras/models/__init__.py @@ -18,6 +18,7 @@ __all__ = ( 'JournalEntry', 'ObjectChange', 'Report', + 'SavedFilter', 'Script', 'Tag', 'TaggedItem', diff --git a/netbox/extras/models/models.py b/netbox/extras/models/models.py index a8b2f2647..4b4e7c0cf 100644 --- a/netbox/extras/models/models.py +++ b/netbox/extras/models/models.py @@ -8,7 +8,7 @@ from django.contrib.contenttypes.models import ContentType from django.core.cache import cache from django.core.validators import ValidationError from django.db import models -from django.http import HttpResponse +from django.http import HttpResponse, QueryDict from django.urls import reverse from django.utils import timezone from django.utils.formats import date_format @@ -34,6 +34,7 @@ __all__ = ( 'JobResult', 'JournalEntry', 'Report', + 'SavedFilter', 'Script', 'Webhook', ) @@ -350,6 +351,69 @@ class ExportTemplate(ExportTemplatesMixin, WebhooksMixin, ChangeLoggedModel): return response +class SavedFilter(CloningMixin, ExportTemplatesMixin, WebhooksMixin, ChangeLoggedModel): + """ + A set of predefined keyword parameters that can be reused to filter for specific objects. + """ + content_types = models.ManyToManyField( + to=ContentType, + related_name='saved_filters', + help_text='The object type(s) to which this filter applies.' + ) + name = models.CharField( + max_length=100, + unique=True + ) + description = models.CharField( + max_length=200, + blank=True + ) + user = models.ForeignKey( + to=User, + on_delete=models.SET_NULL, + blank=True, + null=True + ) + weight = models.PositiveSmallIntegerField( + default=100 + ) + enabled = models.BooleanField( + default=True + ) + shared = models.BooleanField( + default=True + ) + parameters = models.JSONField() + + clone_fields = ( + 'enabled', 'weight', + ) + + class Meta: + ordering = ('weight', 'name') + + def __str__(self): + return self.name + + def get_absolute_url(self): + return reverse('extras:savedfilter', args=[self.pk]) + + def clean(self): + super().clean() + + # Verify that `parameters` is a JSON object + if type(self.parameters) is not dict: + raise ValidationError( + {'parameters': 'Filter parameters must be stored as a dictionary of keyword arguments.'} + ) + + @property + def url_params(self): + qd = QueryDict(mutable=True) + qd.update(self.parameters) + return qd.urlencode() + + class ImageAttachment(WebhooksMixin, ChangeLoggedModel): """ An uploaded image which is associated with an object. diff --git a/netbox/extras/tables/tables.py b/netbox/extras/tables/tables.py index 4b4acb235..da4241e69 100644 --- a/netbox/extras/tables/tables.py +++ b/netbox/extras/tables/tables.py @@ -13,16 +13,13 @@ __all__ = ( 'ExportTemplateTable', 'JournalEntryTable', 'ObjectChangeTable', + 'SavedFilterTable', 'TaggedItemTable', 'TagTable', 'WebhookTable', ) -# -# Custom fields -# - class CustomFieldTable(NetBoxTable): name = tables.Column( linkify=True @@ -40,10 +37,6 @@ class CustomFieldTable(NetBoxTable): default_columns = ('pk', 'name', 'content_types', 'label', 'group_name', 'type', 'required', 'description') -# -# Custom fields -# - class JobResultTable(NetBoxTable): name = tables.Column( linkify=True @@ -61,10 +54,6 @@ class JobResultTable(NetBoxTable): default_columns = ('pk', 'id', 'name', 'obj_type', 'status', 'created', 'completed', 'user',) -# -# Custom links -# - class CustomLinkTable(NetBoxTable): name = tables.Column( linkify=True @@ -82,10 +71,6 @@ class CustomLinkTable(NetBoxTable): default_columns = ('pk', 'name', 'content_types', 'enabled', 'group_name', 'button_class', 'new_window') -# -# Export templates -# - class ExportTemplateTable(NetBoxTable): name = tables.Column( linkify=True @@ -104,9 +89,24 @@ class ExportTemplateTable(NetBoxTable): ) -# -# Webhooks -# +class SavedFilterTable(NetBoxTable): + name = tables.Column( + linkify=True + ) + content_types = columns.ContentTypesColumn() + enabled = columns.BooleanColumn() + shared = columns.BooleanColumn() + + class Meta(NetBoxTable.Meta): + model = SavedFilter + fields = ( + 'pk', 'id', 'name', 'content_types', 'description', 'user', 'weight', 'enabled', 'shared', + 'created', 'last_updated', + ) + default_columns = ( + 'pk', 'name', 'content_types', 'user', 'description', 'enabled', 'shared', + ) + class WebhookTable(NetBoxTable): name = tables.Column( @@ -139,10 +139,6 @@ class WebhookTable(NetBoxTable): ) -# -# Tags -# - class TagTable(NetBoxTable): name = tables.Column( linkify=True diff --git a/netbox/extras/tests/test_api.py b/netbox/extras/tests/test_api.py index 42246b651..045391ea8 100644 --- a/netbox/extras/tests/test_api.py +++ b/netbox/extras/tests/test_api.py @@ -3,7 +3,6 @@ from unittest import skipIf from django.contrib.auth.models import User from django.contrib.contenttypes.models import ContentType -from django.test import override_settings from django.urls import reverse from django.utils.timezone import make_aware from django_rq.queues import get_connection @@ -17,7 +16,6 @@ from extras.reports import Report from extras.scripts import BooleanVar, IntegerVar, Script, StringVar from utilities.testing import APITestCase, APIViewTestCases - rq_worker_running = Worker.count(get_connection('default')) @@ -192,6 +190,73 @@ class CustomLinkTest(APIViewTestCases.APIViewTestCase): custom_link.content_types.set([site_ct]) +class SavedFilterTest(APIViewTestCases.APIViewTestCase): + model = SavedFilter + brief_fields = ['display', 'id', 'name', 'url'] + create_data = [ + { + 'content_types': ['dcim.site'], + 'name': 'Saved Filter 4', + 'weight': 100, + 'enabled': True, + 'shared': True, + 'parameters': {'status': ['active']}, + }, + { + 'content_types': ['dcim.site'], + 'name': 'Saved Filter 5', + 'weight': 200, + 'enabled': True, + 'shared': True, + 'parameters': {'status': ['planned']}, + }, + { + 'content_types': ['dcim.site'], + 'name': 'Saved Filter 6', + 'weight': 300, + 'enabled': True, + 'shared': True, + 'parameters': {'status': ['retired']}, + }, + ] + bulk_update_data = { + 'weight': 1000, + 'enabled': False, + 'shared': False, + } + + @classmethod + def setUpTestData(cls): + site_ct = ContentType.objects.get_for_model(Site) + + saved_filters = ( + SavedFilter( + name='Saved Filter 1', + weight=100, + enabled=True, + shared=True, + parameters={'status': ['active']} + ), + SavedFilter( + name='Saved Filter 2', + weight=200, + enabled=True, + shared=True, + parameters={'status': ['planned']} + ), + SavedFilter( + name='Saved Filter 3', + weight=300, + enabled=True, + shared=True, + parameters={'status': ['retired']} + ), + ) + SavedFilter.objects.bulk_create(saved_filters) + for i, savedfilter in enumerate(saved_filters): + savedfilter.content_types.set([site_ct]) + + class ExportTemplateTest(APIViewTestCases.APIViewTestCase): model = ExportTemplate brief_fields = ['display', 'id', 'name', 'url'] diff --git a/netbox/extras/tests/test_filtersets.py b/netbox/extras/tests/test_filtersets.py index dd1fdb6b3..140f05906 100644 --- a/netbox/extras/tests/test_filtersets.py +++ b/netbox/extras/tests/test_filtersets.py @@ -222,6 +222,92 @@ class CustomLinkTestCase(TestCase, BaseFilterSetTests): self.assertEqual(self.filterset(params, self.queryset).qs.count(), 1) +class SavedFilterTestCase(TestCase, BaseFilterSetTests): + queryset = SavedFilter.objects.all() + filterset = SavedFilterFilterSet + + @classmethod + def setUpTestData(cls): + content_types = ContentType.objects.filter(model__in=['site', 'rack', 'device']) + + users = ( + User(username='User 1'), + User(username='User 2'), + User(username='User 3'), + ) + User.objects.bulk_create(users) + + saved_filters = ( + SavedFilter( + name='Saved Filter 1', + user=users[0], + weight=100, + enabled=True, + shared=True, + parameters={'status': ['active']} + ), + SavedFilter( + name='Saved Filter 2', + user=users[1], + weight=200, + enabled=True, + shared=True, + parameters={'status': ['planned']} + ), + SavedFilter( + name='Saved Filter 3', + user=users[2], + weight=300, + enabled=False, + shared=False, + parameters={'status': ['retired']} + ), + ) + SavedFilter.objects.bulk_create(saved_filters) + for i, savedfilter in enumerate(saved_filters): + savedfilter.content_types.set([content_types[i]]) + + def test_name(self): + params = {'name': ['Saved Filter 1', 'Saved Filter 2']} + self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) + + def test_content_types(self): + params = {'content_types': 'dcim.site'} + self.assertEqual(self.filterset(params, self.queryset).qs.count(), 1) + params = {'content_type_id': [ContentType.objects.get_for_model(Site).pk]} + self.assertEqual(self.filterset(params, self.queryset).qs.count(), 1) + + def test_user(self): + users = User.objects.filter(username__startswith='User') + params = {'user': [users[0].username, users[1].username]} + self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) + params = {'user_id': [users[0].pk, users[1].pk]} + self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) + + def test_weight(self): + params = {'weight': [100, 200]} + self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) + + def test_enabled(self): + params = {'enabled': True} + self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) + params = {'enabled': False} + self.assertEqual(self.filterset(params, self.queryset).qs.count(), 1) + + def test_shared(self): + params = {'enabled': True} + self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) + params = {'enabled': False} + self.assertEqual(self.filterset(params, self.queryset).qs.count(), 1) + + def test_usable(self): + # Filtering for an anonymous user + params = {'usable': True} + self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) + params = {'usable': False} + self.assertEqual(self.filterset(params, self.queryset).qs.count(), 1) + + class ExportTemplateTestCase(TestCase, BaseFilterSetTests): queryset = ExportTemplate.objects.all() filterset = ExportTemplateFilterSet diff --git a/netbox/extras/tests/test_views.py b/netbox/extras/tests/test_views.py index 85e5aea5e..175ffb9ca 100644 --- a/netbox/extras/tests/test_views.py +++ b/netbox/extras/tests/test_views.py @@ -107,6 +107,58 @@ class CustomLinkTestCase(ViewTestCases.PrimaryObjectViewTestCase): } +class SavedFilterTestCase(ViewTestCases.PrimaryObjectViewTestCase): + model = SavedFilter + + @classmethod + def setUpTestData(cls): + site_ct = ContentType.objects.get_for_model(Site) + + users = ( + User(username='User 1'), + User(username='User 2'), + User(username='User 3'), + ) + User.objects.bulk_create(users) + + saved_filters = ( + SavedFilter(name='Saved Filter 1', user=users[0], weight=100, parameters={'status': ['active']}), + SavedFilter(name='Saved Filter 2', user=users[1], weight=200, parameters={'status': ['planned']}), + SavedFilter(name='Saved Filter 3', user=users[2], weight=300, parameters={'status': ['retired']}), + ) + SavedFilter.objects.bulk_create(saved_filters) + for i, savedfilter in enumerate(saved_filters): + savedfilter.content_types.set([site_ct]) + + cls.form_data = { + 'name': 'Saved Filter X', + 'content_types': [site_ct.pk], + 'description': 'Foo', + 'weight': 1000, + 'enabled': True, + 'shared': True, + 'parameters': '{"foo": 123}', + } + + cls.csv_data = ( + 'name,content_types,weight,enabled,shared,parameters', + 'Saved Filter 4,dcim.device,400,True,True,{"foo": "a"}', + 'Saved Filter 5,dcim.device,500,True,True,{"foo": "b"}', + 'Saved Filter 6,dcim.device,600,True,True,{"foo": "c"}', + ) + + cls.csv_update_data = ( + "id,name", + f"{saved_filters[0].pk},Saved Filter 7", + f"{saved_filters[1].pk},Saved Filter 8", + f"{saved_filters[2].pk},Saved Filter 9", + ) + + cls.bulk_edit_data = { + 'weight': 999, + } + + class ExportTemplateTestCase(ViewTestCases.PrimaryObjectViewTestCase): model = ExportTemplate diff --git a/netbox/extras/urls.py b/netbox/extras/urls.py index 0640904f2..f41a45f5a 100644 --- a/netbox/extras/urls.py +++ b/netbox/extras/urls.py @@ -31,6 +31,14 @@ urlpatterns = [ path('export-templates/delete/', views.ExportTemplateBulkDeleteView.as_view(), name='exporttemplate_bulk_delete'), path('export-templates//', include(get_model_urls('extras', 'exporttemplate'))), + # Saved filters + path('saved-filters/', views.SavedFilterListView.as_view(), name='savedfilter_list'), + path('saved-filters/add/', views.SavedFilterEditView.as_view(), name='savedfilter_add'), + path('saved-filters/import/', views.SavedFilterBulkImportView.as_view(), name='savedfilter_import'), + path('saved-filters/edit/', views.SavedFilterBulkEditView.as_view(), name='savedfilter_bulk_edit'), + path('saved-filters/delete/', views.SavedFilterBulkDeleteView.as_view(), name='savedfilter_bulk_delete'), + path('saved-filters//', include(get_model_urls('extras', 'savedfilter'))), + # Webhooks path('webhooks/', views.WebhookListView.as_view(), name='webhook_list'), path('webhooks/add/', views.WebhookEditView.as_view(), name='webhook_add'), diff --git a/netbox/extras/views.py b/netbox/extras/views.py index c042c248a..4a1350bde 100644 --- a/netbox/extras/views.py +++ b/netbox/extras/views.py @@ -9,7 +9,6 @@ from django_rq.queues import get_connection from rq import Worker from netbox.views import generic -from utilities.forms import ConfirmationForm from utilities.htmx import is_htmx from utilities.utils import copy_safe_request, count_related, get_viewname, normalize_querydict, shallow_compare_dict from utilities.views import ContentTypePermissionRequiredMixin, register_model_view @@ -159,6 +158,74 @@ class ExportTemplateBulkDeleteView(generic.BulkDeleteView): table = tables.ExportTemplateTable +# +# Saved filters +# + +class SavedFilterMixin: + + def get_queryset(self, request): + """ + Return only shared SavedFilters, or those owned by the current user, unless + this is a superuser. + """ + queryset = SavedFilter.objects.all() + user = request.user + if user.is_superuser: + return queryset + if user.is_anonymous: + return queryset.filter(shared=True) + return queryset.filter( + Q(shared=True) | Q(user=user) + ) + + +class SavedFilterListView(SavedFilterMixin, generic.ObjectListView): + filterset = filtersets.SavedFilterFilterSet + filterset_form = forms.SavedFilterFilterForm + table = tables.SavedFilterTable + + +@register_model_view(SavedFilter) +class SavedFilterView(SavedFilterMixin, generic.ObjectView): + queryset = SavedFilter.objects.all() + + +@register_model_view(SavedFilter, 'edit') +class SavedFilterEditView(SavedFilterMixin, generic.ObjectEditView): + queryset = SavedFilter.objects.all() + form = forms.SavedFilterForm + + def alter_object(self, obj, request, url_args, url_kwargs): + if not obj.pk: + obj.user = request.user + return obj + + +@register_model_view(SavedFilter, 'delete') +class SavedFilterDeleteView(SavedFilterMixin, generic.ObjectDeleteView): + queryset = SavedFilter.objects.all() + + +class SavedFilterBulkImportView(SavedFilterMixin, generic.BulkImportView): + queryset = SavedFilter.objects.all() + model_form = forms.SavedFilterCSVForm + table = tables.SavedFilterTable + + +class SavedFilterBulkEditView(SavedFilterMixin, generic.BulkEditView): + queryset = SavedFilter.objects.all() + filterset = filtersets.SavedFilterFilterSet + table = tables.SavedFilterTable + form = forms.SavedFilterBulkEditForm + + +class SavedFilterBulkDeleteView(SavedFilterMixin, generic.BulkDeleteView): + queryset = SavedFilter.objects.all() + filterset = filtersets.SavedFilterFilterSet + table = tables.SavedFilterTable + + # # Webhooks # diff --git a/netbox/ipam/forms/filtersets.py b/netbox/ipam/forms/filtersets.py index a2ff7085b..7d277b33b 100644 --- a/netbox/ipam/forms/filtersets.py +++ b/netbox/ipam/forms/filtersets.py @@ -1,6 +1,5 @@ from django import forms from django.contrib.contenttypes.models import ContentType -from django.db.models import Q from django.utils.translation import gettext as _ from dcim.models import Location, Rack, Region, Site, SiteGroup, Device @@ -11,7 +10,7 @@ from netbox.forms import NetBoxModelFilterSetForm from tenancy.forms import TenancyFilterForm from utilities.forms import ( add_blank_choice, ContentTypeMultipleChoiceField, DynamicModelChoiceField, DynamicModelMultipleChoiceField, - MultipleChoiceField, StaticSelect, TagFilterField, BOOLEAN_WITH_BLANK_CHOICES, APISelectMultiple, + MultipleChoiceField, StaticSelect, TagFilterField, BOOLEAN_WITH_BLANK_CHOICES, ) from virtualization.models import VirtualMachine @@ -46,7 +45,7 @@ IPADDRESS_MASK_LENGTH_CHOICES = add_blank_choice([ class VRFFilterForm(TenancyFilterForm, NetBoxModelFilterSetForm): model = VRF fieldsets = ( - (None, ('q', 'tag')), + (None, ('q', 'filter', 'tag')), ('Route Targets', ('import_target_id', 'export_target_id')), ('Tenant', ('tenant_group_id', 'tenant_id')), ) @@ -66,7 +65,7 @@ class VRFFilterForm(TenancyFilterForm, NetBoxModelFilterSetForm): class RouteTargetFilterForm(TenancyFilterForm, NetBoxModelFilterSetForm): model = RouteTarget fieldsets = ( - (None, ('q', 'tag')), + (None, ('q', 'filter', 'tag')), ('VRF', ('importing_vrf_id', 'exporting_vrf_id')), ('Tenant', ('tenant_group_id', 'tenant_id')), ) @@ -98,7 +97,7 @@ class RIRFilterForm(NetBoxModelFilterSetForm): class AggregateFilterForm(TenancyFilterForm, NetBoxModelFilterSetForm): model = Aggregate fieldsets = ( - (None, ('q', 'tag')), + (None, ('q', 'filter', 'tag')), ('Attributes', ('family', 'rir_id')), ('Tenant', ('tenant_group_id', 'tenant_id')), ) @@ -119,7 +118,7 @@ class AggregateFilterForm(TenancyFilterForm, NetBoxModelFilterSetForm): class ASNFilterForm(TenancyFilterForm, NetBoxModelFilterSetForm): model = ASN fieldsets = ( - (None, ('q', 'tag')), + (None, ('q', 'filter', 'tag')), ('Assignment', ('rir_id', 'site_id')), ('Tenant', ('tenant_group_id', 'tenant_id')), ) @@ -144,7 +143,7 @@ class RoleFilterForm(NetBoxModelFilterSetForm): class PrefixFilterForm(TenancyFilterForm, NetBoxModelFilterSetForm): model = Prefix fieldsets = ( - (None, ('q', 'tag')), + (None, ('q', 'filter', 'tag')), ('Addressing', ('within_include', 'family', 'status', 'role_id', 'mask_length', 'is_pool', 'mark_utilized')), ('VRF', ('vrf_id', 'present_in_vrf_id')), ('Location', ('region_id', 'site_group_id', 'site_id')), @@ -233,7 +232,7 @@ class PrefixFilterForm(TenancyFilterForm, NetBoxModelFilterSetForm): class IPRangeFilterForm(TenancyFilterForm, NetBoxModelFilterSetForm): model = IPRange fieldsets = ( - (None, ('q', 'tag')), + (None, ('q', 'filter', 'tag')), ('Attriubtes', ('family', 'vrf_id', 'status', 'role_id')), ('Tenant', ('tenant_group_id', 'tenant_id')), ) @@ -265,7 +264,7 @@ class IPRangeFilterForm(TenancyFilterForm, NetBoxModelFilterSetForm): class IPAddressFilterForm(TenancyFilterForm, NetBoxModelFilterSetForm): model = IPAddress fieldsets = ( - (None, ('q', 'tag')), + (None, ('q', 'filter', 'tag')), ('Attributes', ('parent', 'family', 'status', 'role', 'mask_length', 'assigned_to_interface')), ('VRF', ('vrf_id', 'present_in_vrf_id')), ('Tenant', ('tenant_group_id', 'tenant_id')), @@ -334,7 +333,7 @@ class IPAddressFilterForm(TenancyFilterForm, NetBoxModelFilterSetForm): class FHRPGroupFilterForm(NetBoxModelFilterSetForm): model = FHRPGroup fieldsets = ( - (None, ('q', 'tag')), + (None, ('q', 'filter', 'tag')), ('Attributes', ('name', 'protocol', 'group_id')), ('Authentication', ('auth_type', 'auth_key')), ) @@ -364,7 +363,7 @@ class FHRPGroupFilterForm(NetBoxModelFilterSetForm): class VLANGroupFilterForm(NetBoxModelFilterSetForm): fieldsets = ( - (None, ('q', 'tag')), + (None, ('q', 'filter', 'tag')), ('Location', ('region', 'sitegroup', 'site', 'location', 'rack')), ('VLAN ID', ('min_vid', 'max_vid')), ) @@ -412,7 +411,7 @@ class VLANGroupFilterForm(NetBoxModelFilterSetForm): class VLANFilterForm(TenancyFilterForm, NetBoxModelFilterSetForm): model = VLAN fieldsets = ( - (None, ('q', 'tag')), + (None, ('q', 'filter', 'tag')), ('Location', ('region_id', 'site_group_id', 'site_id')), ('Attributes', ('group_id', 'status', 'role_id', 'vid')), ('Tenant', ('tenant_group_id', 'tenant_id')), @@ -465,7 +464,7 @@ class VLANFilterForm(TenancyFilterForm, NetBoxModelFilterSetForm): class ServiceTemplateFilterForm(NetBoxModelFilterSetForm): model = ServiceTemplate fieldsets = ( - (None, ('q', 'tag')), + (None, ('q', 'filter', 'tag')), ('Attributes', ('protocol', 'port')), ) protocol = forms.ChoiceField( @@ -486,7 +485,7 @@ class ServiceFilterForm(ServiceTemplateFilterForm): class L2VPNFilterForm(TenancyFilterForm, NetBoxModelFilterSetForm): model = L2VPN fieldsets = ( - (None, ('q', 'tag')), + (None, ('q', 'filter', 'tag')), ('Attributes', ('type', 'import_target_id', 'export_target_id')), ('Tenant', ('tenant_group_id', 'tenant_id')), ) @@ -511,8 +510,10 @@ class L2VPNFilterForm(TenancyFilterForm, NetBoxModelFilterSetForm): class L2VPNTerminationFilterForm(NetBoxModelFilterSetForm): model = L2VPNTermination fieldsets = ( - (None, ('l2vpn_id', )), - ('Assigned Object', ('assigned_object_type_id', 'region_id', 'site_id', 'device_id', 'virtual_machine_id', 'vlan_id')), + (None, ('filter', 'l2vpn_id',)), + ('Assigned Object', ( + 'assigned_object_type_id', 'region_id', 'site_id', 'device_id', 'virtual_machine_id', 'vlan_id', + )), ) l2vpn_id = DynamicModelChoiceField( queryset=L2VPN.objects.all(), diff --git a/netbox/netbox/filtersets.py b/netbox/netbox/filtersets.py index 6a8f5d0d3..02ccdca50 100644 --- a/netbox/netbox/filtersets.py +++ b/netbox/netbox/filtersets.py @@ -4,10 +4,11 @@ from django.contrib.contenttypes.models import ContentType from django.db import models from django_filters.exceptions import FieldLookupError from django_filters.utils import get_model_field, resolve_field +from django.shortcuts import get_object_or_404 from extras.choices import CustomFieldFilterLogicChoices from extras.filters import TagFilter -from extras.models import CustomField +from extras.models import CustomField, SavedFilter from utilities.constants import ( FILTER_CHAR_BASED_LOOKUP_MAP, FILTER_NEGATION_LOOKUP_MAP, FILTER_TREENODE_NEGATION_LOOKUP_MAP, FILTER_NUMERIC_BASED_LOOKUP_MAP @@ -80,12 +81,28 @@ class BaseFilterSet(django_filters.FilterSet): }, }) - def __init__(self, *args, **kwargs): + def __init__(self, data=None, *args, **kwargs): # bit of a hack for #9231 - extras.lookup.Empty is registered in apps.ready # however FilterSet Factory is setup before this which creates the # initial filters. This recreates the filters so Empty is picked up correctly. self.base_filters = self.__class__.get_filters() - super().__init__(*args, **kwargs) + + # Apply any referenced SavedFilters + if data and 'filter' in data: + data = data.copy() # Get a mutable copy + saved_filters = SavedFilter.objects.filter(pk__in=data.pop('filter')) + for sf in saved_filters: + for key, value in sf.parameters.items(): + # QueryDicts are... fun + if type(value) not in (list, tuple): + value = [value] + if key in data: + for v in value: + data.appendlist(key, v) + else: + data.setlist(key, value) + + super().__init__(data, *args, **kwargs) @staticmethod def _get_filter_lookup_dict(existing_filter): diff --git a/netbox/netbox/forms/base.py b/netbox/netbox/forms/base.py index 2cbc67971..564e254a3 100644 --- a/netbox/netbox/forms/base.py +++ b/netbox/netbox/forms/base.py @@ -3,7 +3,7 @@ from django.contrib.contenttypes.models import ContentType from django.db.models import Q from extras.choices import CustomFieldFilterLogicChoices, CustomFieldTypeChoices, CustomFieldVisibilityChoices -from extras.forms.customfields import CustomFieldsMixin +from extras.forms.mixins import CustomFieldsMixin, SavedFiltersMixin from extras.models import CustomField, Tag from utilities.forms import BootstrapMixin, CSVModelForm from utilities.forms.fields import DynamicModelMultipleChoiceField @@ -114,7 +114,7 @@ class NetBoxModelBulkEditForm(BootstrapMixin, CustomFieldsMixin, forms.Form): self.nullable_fields = (*self.nullable_fields, *nullable_custom_fields) -class NetBoxModelFilterSetForm(BootstrapMixin, CustomFieldsMixin, forms.Form): +class NetBoxModelFilterSetForm(BootstrapMixin, CustomFieldsMixin, SavedFiltersMixin, forms.Form): """ Base form for FilerSet forms. These are used to filter object lists in the NetBox UI. Note that the corresponding FilterSet *must* provide a `q` filter. @@ -129,6 +129,15 @@ class NetBoxModelFilterSetForm(BootstrapMixin, CustomFieldsMixin, forms.Form): label='Search' ) + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + + # Limit saved filters to those applicable to the form's model + content_type = ContentType.objects.get_for_model(self.model) + self.fields['filter'].widget.add_query_params({ + 'content_type_id': content_type.pk, + }) + def _get_custom_fields(self, content_type): return super()._get_custom_fields(content_type).exclude( Q(filter_logic=CustomFieldFilterLogicChoices.FILTER_DISABLED) | diff --git a/netbox/netbox/navigation/menu.py b/netbox/netbox/navigation/menu.py index 65c2ec7fc..68551827c 100644 --- a/netbox/netbox/navigation/menu.py +++ b/netbox/netbox/navigation/menu.py @@ -278,6 +278,7 @@ OTHER_MENU = Menu( get_model_item('extras', 'customfield', 'Custom Fields'), get_model_item('extras', 'customlink', 'Custom Links'), get_model_item('extras', 'exporttemplate', 'Export Templates'), + get_model_item('extras', 'savedfilter', 'Saved Filters'), ), ), MenuGroup( diff --git a/netbox/netbox/views/generic/bulk_views.py b/netbox/netbox/views/generic/bulk_views.py index df7cfdf67..5ab9e6da0 100644 --- a/netbox/netbox/views/generic/bulk_views.py +++ b/netbox/netbox/views/generic/bulk_views.py @@ -4,17 +4,17 @@ from copy import deepcopy from django.contrib import messages from django.contrib.contenttypes.models import ContentType -from django.core.exceptions import FieldDoesNotExist, ValidationError, ObjectDoesNotExist +from django.core.exceptions import FieldDoesNotExist, ValidationError from django.db import transaction, IntegrityError from django.db.models import ManyToManyField, ProtectedError from django.db.models.fields.reverse_related import ManyToManyRel -from django.forms import Form, ModelMultipleChoiceField, MultipleHiddenInput, model_to_dict +from django.forms import Form, ModelMultipleChoiceField, MultipleHiddenInput from django.http import HttpResponse from django.shortcuts import get_object_or_404, redirect, render -from django_tables2.export import TableExport from django.utils.safestring import mark_safe +from django_tables2.export import TableExport -from extras.models import ExportTemplate +from extras.models import ExportTemplate, SavedFilter from extras.signals import clear_webhooks from utilities.error_handlers import handle_protectederror from utilities.exceptions import AbortRequest, PermissionsViolation @@ -330,7 +330,6 @@ class BulkImportView(GetReturnURLMixin, BaseMultiObjectView): return headers, records def _update_objects(self, form, request, headers, records): - from utilities.forms import CSVModelChoiceField updated_objs = [] ids = [int(record["id"]) for record in records] diff --git a/netbox/templates/extras/savedfilter.html b/netbox/templates/extras/savedfilter.html new file mode 100644 index 000000000..4372481aa --- /dev/null +++ b/netbox/templates/extras/savedfilter.html @@ -0,0 +1,70 @@ +{% extends 'generic/object.html' %} +{% load helpers %} +{% load plugins %} + +{% block content %} +
+
+
+
Saved Filter
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Name{{ object.name }}
Description{{ object.description|placeholder }}
User{{ object.user|placeholder }}
Enabled{% checkmark object.enabled %}
Shared{% checkmark object.shared %}
Weight{{ object.weight }}
+
+
+
+
Assigned Models
+
+ + {% for ct in object.content_types.all %} + + + + {% endfor %} +
{{ ct }}
+
+
+ {% plugin_left_page object %} +
+
+
+
+ Parameters +
+
+
{{ object.parameters }}
+
+
+ {% plugin_right_page object %} +
+
+
+
+ {% plugin_full_width_page object %} +
+
+{% endblock %} diff --git a/netbox/templates/generic/object_list.html b/netbox/templates/generic/object_list.html index 60eba6097..c58565c31 100644 --- a/netbox/templates/generic/object_list.html +++ b/netbox/templates/generic/object_list.html @@ -64,7 +64,7 @@ Context: {# Applied filters #} {% if filter_form %} - {% applied_filters filter_form request.GET %} + {% applied_filters model filter_form request.GET %} {% endif %} {# "Select all" form #} diff --git a/netbox/tenancy/forms/filtersets.py b/netbox/tenancy/forms/filtersets.py index 02589d733..f840a2177 100644 --- a/netbox/tenancy/forms/filtersets.py +++ b/netbox/tenancy/forms/filtersets.py @@ -31,7 +31,7 @@ class TenantGroupFilterForm(NetBoxModelFilterSetForm): class TenantFilterForm(ContactModelFilterForm, NetBoxModelFilterSetForm): model = Tenant fieldsets = ( - (None, ('q', 'tag', 'group_id')), + (None, ('q', 'filter', 'tag', 'group_id')), ('Contacts', ('contact', 'contact_role', 'contact_group')) ) group_id = DynamicModelMultipleChoiceField( diff --git a/netbox/utilities/templates/helpers/applied_filters.html b/netbox/utilities/templates/helpers/applied_filters.html index 4f22a7c9a..3cf8fe425 100644 --- a/netbox/utilities/templates/helpers/applied_filters.html +++ b/netbox/utilities/templates/helpers/applied_filters.html @@ -10,5 +10,10 @@ Clear all {% endif %} + {% if save_link %} + + Save + + {% endif %}
{% endif %} diff --git a/netbox/utilities/templatetags/helpers.py b/netbox/utilities/templatetags/helpers.py index 9789724ee..ed2e39041 100644 --- a/netbox/utilities/templatetags/helpers.py +++ b/netbox/utilities/templatetags/helpers.py @@ -1,9 +1,11 @@ import datetime import decimal +from urllib.parse import quote from typing import Dict, Any from django import template from django.conf import settings +from django.contrib.contenttypes.models import ContentType from django.template.defaultfilters import date from django.urls import NoReverseMatch, reverse from django.utils import timezone @@ -278,12 +280,13 @@ def table_config_form(table, table_name=None): } -@register.inclusion_tag('helpers/applied_filters.html') -def applied_filters(form, query_params): +@register.inclusion_tag('helpers/applied_filters.html', takes_context=True) +def applied_filters(context, model, form, query_params): """ Display the active filters for a given filter form. """ - form.is_valid() + user = context['request'].user + form.is_valid() # Ensure cleaned_data has been set applied_filters = [] for filter_name in form.changed_data: @@ -305,6 +308,14 @@ def applied_filters(form, query_params): 'link_text': f'{bound_field.label}: {display_value}', }) + save_link = None + if user.has_perm('extras.add_savedfilter') and 'filter' not in context['request'].GET: + content_type = ContentType.objects.get_for_model(model).pk + parameters = context['request'].GET.urlencode() + url = reverse('extras:savedfilter_add') + save_link = f"{url}?content_types={content_type}¶meters={quote(parameters)}" + return { 'applied_filters': applied_filters, + 'save_link': save_link, } diff --git a/netbox/utilities/testing/base.py b/netbox/utilities/testing/base.py index 499a5e2e7..04ceca1e2 100644 --- a/netbox/utilities/testing/base.py +++ b/netbox/utilities/testing/base.py @@ -1,8 +1,10 @@ +import json + from django.contrib.auth.models import User from django.contrib.contenttypes.models import ContentType from django.contrib.postgres.fields import ArrayField from django.core.exceptions import FieldDoesNotExist -from django.db.models import ManyToManyField +from django.db.models import ManyToManyField, JSONField from django.forms.models import model_to_dict from django.test import Client, TestCase as _TestCase from netaddr import IPNetwork @@ -132,6 +134,10 @@ class ModelTestCase(TestCase): if type(instance._meta.get_field(key)) is ArrayField: model_dict[key] = ','.join([str(v) for v in value]) + # JSON + if type(instance._meta.get_field(key)) is JSONField and value is not None: + model_dict[key] = json.dumps(value) + return model_dict # diff --git a/netbox/virtualization/forms/filtersets.py b/netbox/virtualization/forms/filtersets.py index 4b8ff6d21..62fa4002e 100644 --- a/netbox/virtualization/forms/filtersets.py +++ b/netbox/virtualization/forms/filtersets.py @@ -30,7 +30,7 @@ class ClusterGroupFilterForm(ContactModelFilterForm, NetBoxModelFilterSetForm): model = ClusterGroup tag = TagFilterField(model) fieldsets = ( - (None, ('q', 'tag')), + (None, ('q', 'filter', 'tag')), ('Contacts', ('contact', 'contact_role', 'contact_group')), ) @@ -38,7 +38,7 @@ class ClusterGroupFilterForm(ContactModelFilterForm, NetBoxModelFilterSetForm): class ClusterFilterForm(TenancyFilterForm, ContactModelFilterForm, NetBoxModelFilterSetForm): model = Cluster fieldsets = ( - (None, ('q', 'tag')), + (None, ('q', 'filter', 'tag')), ('Attributes', ('group_id', 'type_id', 'status')), ('Location', ('region_id', 'site_group_id', 'site_id')), ('Tenant', ('tenant_group_id', 'tenant_id')), @@ -90,7 +90,7 @@ class VirtualMachineFilterForm( ): model = VirtualMachine fieldsets = ( - (None, ('q', 'tag')), + (None, ('q', 'filter', 'tag')), ('Cluster', ('cluster_group_id', 'cluster_type_id', 'cluster_id', 'device_id')), ('Location', ('region_id', 'site_group_id', 'site_id')), ('Attributes', ('status', 'role_id', 'platform_id', 'mac_address', 'has_primary_ip', 'local_context_data')), @@ -175,7 +175,7 @@ class VirtualMachineFilterForm( class VMInterfaceFilterForm(NetBoxModelFilterSetForm): model = VMInterface fieldsets = ( - (None, ('q', 'tag')), + (None, ('q', 'filter', 'tag')), ('Virtual Machine', ('cluster_id', 'virtual_machine_id')), ('Attributes', ('enabled', 'mac_address', 'vrf_id')), ) diff --git a/netbox/wireless/forms/filtersets.py b/netbox/wireless/forms/filtersets.py index 9e8808e17..d7a6aac6e 100644 --- a/netbox/wireless/forms/filtersets.py +++ b/netbox/wireless/forms/filtersets.py @@ -28,7 +28,7 @@ class WirelessLANGroupFilterForm(NetBoxModelFilterSetForm): class WirelessLANFilterForm(TenancyFilterForm, NetBoxModelFilterSetForm): model = WirelessLAN fieldsets = ( - (None, ('q', 'tag')), + (None, ('q', 'filter', 'tag')), ('Attributes', ('ssid', 'group_id',)), ('Tenant', ('tenant_group_id', 'tenant_id')), ('Authentication', ('auth_type', 'auth_cipher', 'auth_psk')), @@ -62,7 +62,7 @@ class WirelessLANFilterForm(TenancyFilterForm, NetBoxModelFilterSetForm): class WirelessLinkFilterForm(TenancyFilterForm, NetBoxModelFilterSetForm): model = WirelessLink fieldsets = ( - (None, ('q', 'tag')), + (None, ('q', 'filter', 'tag')), ('Attributes', ('ssid', 'status',)), ('Tenant', ('tenant_group_id', 'tenant_id')), ('Authentication', ('auth_type', 'auth_cipher', 'auth_psk')), From 816fedb78dccf49c311a1bec1926d19f127a7091 Mon Sep 17 00:00:00 2001 From: Arthur Hanson Date: Wed, 2 Nov 2022 09:45:00 -0700 Subject: [PATCH 147/162] 8853 Prevent the retrieval of API tokens after creation (#10645) * 8853 hide api token * 8853 hide key on edit * 8853 add key display * 8853 cleanup html * 8853 make token view accessible only once on POST * Clean up display of tokens in views * Honor ALLOW_TOKEN_RETRIEVAL in API serializer * Add docs & tweak default setting * Include token key when provisioning with user credentials Co-authored-by: jeremystretch --- docs/configuration/security.md | 8 ++++ docs/integrations/rest-api.md | 3 ++ docs/release-notes/version-3.4.md | 1 + netbox/netbox/configuration_example.py | 3 ++ netbox/netbox/settings.py | 1 + netbox/templates/users/api_token.html | 60 ++++++++++++++++++++++++++ netbox/users/api/serializers.py | 9 +++- netbox/users/api/views.py | 2 + netbox/users/forms.py | 8 ++++ netbox/users/models.py | 11 ++--- netbox/users/tables.py | 12 +++--- netbox/users/views.py | 10 ++++- 12 files changed, 116 insertions(+), 12 deletions(-) create mode 100644 netbox/templates/users/api_token.html diff --git a/docs/configuration/security.md b/docs/configuration/security.md index 6aa363b1a..b8c2b1e11 100644 --- a/docs/configuration/security.md +++ b/docs/configuration/security.md @@ -1,5 +1,13 @@ # Security & Authentication Parameters +## ALLOW_TOKEN_RETRIEVAL + +Default: True + +If disabled, the values of API tokens will not be displayed after each token's initial creation. A user **must** record the value of a token immediately upon its creation, or it will be lost. Note that this affects _all_ users, regardless of assigned permissions. + +--- + ## ALLOWED_URL_SCHEMES !!! tip "Dynamic Configuration Parameter" diff --git a/docs/integrations/rest-api.md b/docs/integrations/rest-api.md index 3a5aed055..6f54a8cb0 100644 --- a/docs/integrations/rest-api.md +++ b/docs/integrations/rest-api.md @@ -579,6 +579,9 @@ By default, a token can be used to perform all actions via the API that a user w Additionally, a token can be set to expire at a specific time. This can be useful if an external client needs to be granted temporary access to NetBox. +!!! warning "Restricting Token Retrieval" + The ability to retrieve the key value of a previously-created API token can be restricted by disabling the [`ALLOW_TOKEN_RETRIEVAL`](../configuration/security.md#allow_token_retrieval) configuration parameter. + #### Client IP Restriction !!! note diff --git a/docs/release-notes/version-3.4.md b/docs/release-notes/version-3.4.md index 3783cc967..b6e30f2a8 100644 --- a/docs/release-notes/version-3.4.md +++ b/docs/release-notes/version-3.4.md @@ -28,6 +28,7 @@ A new `PluginMenu` class has been introduced, which enables a plugin to inject a * [#8245](https://github.com/netbox-community/netbox/issues/8245) - Enable GraphQL filtering of related objects * [#8274](https://github.com/netbox-community/netbox/issues/8274) - Enable associating a custom link with multiple object types +* [#8853](https://github.com/netbox-community/netbox/issues/8853) - Introduce the `ALLOW_TOKEN_RETRIEVAL` config parameter to restrict the display of API tokens * [#9249](https://github.com/netbox-community/netbox/issues/9249) - Device and virtual machine names are no longer case-sensitive * [#9478](https://github.com/netbox-community/netbox/issues/9478) - Add `link_peers` field to GraphQL types for cabled objects * [#9654](https://github.com/netbox-community/netbox/issues/9654) - Add `weight` field to racks, device types, and module types diff --git a/netbox/netbox/configuration_example.py b/netbox/netbox/configuration_example.py index ad0dcc7c3..b3b6fbb6c 100644 --- a/netbox/netbox/configuration_example.py +++ b/netbox/netbox/configuration_example.py @@ -72,6 +72,9 @@ ADMINS = [ # ('John Doe', 'jdoe@example.com'), ] +# Permit the retrieval of API tokens after their creation. +ALLOW_TOKEN_RETRIEVAL = False + # Enable any desired validators for local account passwords below. For a list of included validators, please see the # Django documentation at https://docs.djangoproject.com/en/stable/topics/auth/passwords/#password-validation. AUTH_PASSWORD_VALIDATORS = [ diff --git a/netbox/netbox/settings.py b/netbox/netbox/settings.py index 2898fbd75..4e93eb149 100644 --- a/netbox/netbox/settings.py +++ b/netbox/netbox/settings.py @@ -71,6 +71,7 @@ DEPLOYMENT_ID = hashlib.sha256(SECRET_KEY.encode('utf-8')).hexdigest()[:16] # Set static config parameters ADMINS = getattr(configuration, 'ADMINS', []) +ALLOW_TOKEN_RETRIEVAL = getattr(configuration, 'ALLOW_TOKEN_RETRIEVAL', True) AUTH_PASSWORD_VALIDATORS = getattr(configuration, 'AUTH_PASSWORD_VALIDATORS', []) BASE_PATH = getattr(configuration, 'BASE_PATH', '') if BASE_PATH: diff --git a/netbox/templates/users/api_token.html b/netbox/templates/users/api_token.html new file mode 100644 index 000000000..1a9296704 --- /dev/null +++ b/netbox/templates/users/api_token.html @@ -0,0 +1,60 @@ +{% extends 'generic/object.html' %} +{% load form_helpers %} +{% load helpers %} +{% load plugins %} + +{% block content %} +
+
+ {% if not settings.ALLOW_TOKEN_RETRIEVAL %} + + {% endif %} +
+
Token
+
+ + + + + + + + + + + + + + + + + + + + + +
Key +
+ + + +
+
{{ key }}
+
Description{{ object.description|placeholder }}
User{{ object.user }}
Created{{ object.created|annotated_date }}
Expires + {% if object.expires %} + {{ object.expires|annotated_date }} + {% else %} + Never + {% endif %} +
+
+
+ +
+
+{% endblock %} diff --git a/netbox/users/api/serializers.py b/netbox/users/api/serializers.py index 1ec3528f7..f1f1fc975 100644 --- a/netbox/users/api/serializers.py +++ b/netbox/users/api/serializers.py @@ -1,3 +1,4 @@ +from django.conf import settings from django.contrib.auth.models import Group, User from django.contrib.contenttypes.models import ContentType from rest_framework import serializers @@ -63,7 +64,13 @@ class GroupSerializer(ValidatedModelSerializer): class TokenSerializer(ValidatedModelSerializer): url = serializers.HyperlinkedIdentityField(view_name='users-api:token-detail') - key = serializers.CharField(min_length=40, max_length=40, allow_blank=True, required=False) + key = serializers.CharField( + min_length=40, + max_length=40, + allow_blank=True, + required=False, + write_only=not settings.ALLOW_TOKEN_RETRIEVAL + ) user = NestedUserSerializer() allowed_ips = serializers.ListField( child=IPNetworkSerializer(), diff --git a/netbox/users/api/views.py b/netbox/users/api/views.py index 66ef92ab7..86a66a01f 100644 --- a/netbox/users/api/views.py +++ b/netbox/users/api/views.py @@ -88,6 +88,8 @@ class TokenProvisionView(APIView): token = Token(user=user) token.save() data = serializers.TokenSerializer(token, context={'request': request}).data + # Manually append the token key, which is normally write-only + data['key'] = token.key return Response(data, status=HTTP_201_CREATED) diff --git a/netbox/users/forms.py b/netbox/users/forms.py index b4e86461d..048005f13 100644 --- a/netbox/users/forms.py +++ b/netbox/users/forms.py @@ -1,4 +1,5 @@ from django import forms +from django.conf import settings from django.contrib.auth.forms import AuthenticationForm, PasswordChangeForm as DjangoPasswordChangeForm from django.contrib.postgres.forms import SimpleArrayField from django.utils.html import mark_safe @@ -117,3 +118,10 @@ class TokenForm(BootstrapMixin, forms.ModelForm): widgets = { 'expires': DateTimePicker(), } + + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + + # Omit the key field if token retrieval is not permitted + if self.instance.pk and not settings.ALLOW_TOKEN_RETRIEVAL: + del self.fields['key'] diff --git a/netbox/users/models.py b/netbox/users/models.py index 4ee4dce6b..441ed2eee 100644 --- a/netbox/users/models.py +++ b/netbox/users/models.py @@ -1,6 +1,7 @@ import binascii import os +from django.conf import settings from django.contrib.auth.models import Group, User from django.contrib.contenttypes.models import ContentType from django.contrib.postgres.fields import ArrayField @@ -230,12 +231,12 @@ class Token(models.Model): 'Ex: "10.1.1.0/24, 192.168.10.16/32, 2001:DB8:1::/64"', ) - class Meta: - pass - def __str__(self): - # Only display the last 24 bits of the token to avoid accidental exposure. - return f"{self.key[-6:]} ({self.user})" + return self.key if settings.ALLOW_TOKEN_RETRIEVAL else self.partial + + @property + def partial(self): + return f'**********************************{self.key[-6:]}' if self.key else '' def save(self, *args, **kwargs): if not self.key: diff --git a/netbox/users/tables.py b/netbox/users/tables.py index 27547b955..8fbe9e8b3 100644 --- a/netbox/users/tables.py +++ b/netbox/users/tables.py @@ -6,14 +6,16 @@ __all__ = ( ) -TOKEN = """{{ value }}""" +TOKEN = """{{ record }}""" ALLOWED_IPS = """{{ value|join:", " }}""" COPY_BUTTON = """ - - - +{% if settings.ALLOW_TOKEN_RETRIEVAL %} + + + +{% endif %} """ @@ -38,5 +40,5 @@ class TokenTable(NetBoxTable): class Meta(NetBoxTable.Meta): model = Token fields = ( - 'pk', 'key', 'write_enabled', 'created', 'expires', 'last_used', 'allowed_ips', 'description', + 'pk', 'description', 'key', 'write_enabled', 'created', 'expires', 'last_used', 'allowed_ips', ) diff --git a/netbox/users/views.py b/netbox/users/views.py index 33ef3fadd..fe1181fc1 100644 --- a/netbox/users/views.py +++ b/netbox/users/views.py @@ -273,6 +273,7 @@ class TokenEditView(LoginRequiredMixin, View): form = TokenForm(request.POST) if form.is_valid(): + token = form.save(commit=False) token.user = request.user token.save() @@ -280,7 +281,13 @@ class TokenEditView(LoginRequiredMixin, View): msg = f"Modified token {token}" if pk else f"Created token {token}" messages.success(request, msg) - if '_addanother' in request.POST: + if not pk and not settings.ALLOW_TOKEN_RETRIEVAL: + return render(request, 'users/api_token.html', { + 'object': token, + 'key': token.key, + 'return_url': reverse('users:token_list'), + }) + elif '_addanother' in request.POST: return redirect(request.path) else: return redirect('users:token_list') @@ -289,6 +296,7 @@ class TokenEditView(LoginRequiredMixin, View): 'object': token, 'form': form, 'return_url': reverse('users:token_list'), + 'disable_addanother': not settings.ALLOW_TOKEN_RETRIEVAL }) From 81c0dce5a3abf47bb6e749be60f5ea5524cf45d6 Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Wed, 2 Nov 2022 15:18:07 -0400 Subject: [PATCH 148/162] Closes #10697: Move application registry into core app --- docs/release-notes/version-3.4.md | 1 + netbox/extras/management/commands/reindex.py | 2 +- netbox/extras/plugins/__init__.py | 2 +- netbox/extras/templatetags/plugins.py | 2 +- netbox/extras/tests/test_plugins.py | 2 +- netbox/extras/utils.py | 2 +- netbox/extras/webhooks.py | 2 +- netbox/netbox/context_processors.py | 2 +- netbox/netbox/denormalized.py | 2 +- netbox/netbox/graphql/schema.py | 2 +- netbox/netbox/navigation/menu.py | 2 +- netbox/netbox/preferences.py | 2 +- netbox/{extras => netbox}/registry.py | 0 netbox/netbox/search/__init__.py | 2 +- netbox/netbox/search/backends.py | 2 +- netbox/{extras => netbox}/tests/test_registry.py | 2 +- netbox/utilities/templatetags/tabs.py | 2 +- netbox/utilities/urls.py | 2 +- netbox/utilities/views.py | 2 +- 19 files changed, 18 insertions(+), 17 deletions(-) rename netbox/{extras => netbox}/registry.py (100%) rename netbox/{extras => netbox}/tests/test_registry.py (94%) diff --git a/docs/release-notes/version-3.4.md b/docs/release-notes/version-3.4.md index b6e30f2a8..43e649f7b 100644 --- a/docs/release-notes/version-3.4.md +++ b/docs/release-notes/version-3.4.md @@ -56,6 +56,7 @@ A new `PluginMenu` class has been introduced, which enables a plugin to inject a * [#9045](https://github.com/netbox-community/netbox/issues/9045) - Remove legacy ASN field from provider model * [#9046](https://github.com/netbox-community/netbox/issues/9046) - Remove legacy contact fields from provider model * [#10358](https://github.com/netbox-community/netbox/issues/10358) - Raise minimum required PostgreSQL version from 10 to 11 +* [#10697](https://github.com/netbox-community/netbox/issues/10697) - Move application registry into core app * [#10699](https://github.com/netbox-community/netbox/issues/10699) - Remove custom `import_object()` function * [#10816](https://github.com/netbox-community/netbox/issues/10816) - Pass the current request when instantiating a FilterSet within UI views diff --git a/netbox/extras/management/commands/reindex.py b/netbox/extras/management/commands/reindex.py index 6dc9bbb2d..f519688f8 100644 --- a/netbox/extras/management/commands/reindex.py +++ b/netbox/extras/management/commands/reindex.py @@ -1,7 +1,7 @@ from django.contrib.contenttypes.models import ContentType from django.core.management.base import BaseCommand, CommandError -from extras.registry import registry +from netbox.registry import registry from netbox.search.backends import search_backend diff --git a/netbox/extras/plugins/__init__.py b/netbox/extras/plugins/__init__.py index f855027e2..681c5bc29 100644 --- a/netbox/extras/plugins/__init__.py +++ b/netbox/extras/plugins/__init__.py @@ -7,8 +7,8 @@ from django.core.exceptions import ImproperlyConfigured from django.template.loader import get_template from django.utils.module_loading import import_string -from extras.registry import registry from netbox.navigation import MenuGroup +from netbox.registry import registry from netbox.search import register_search from utilities.choices import ButtonColorChoices diff --git a/netbox/extras/templatetags/plugins.py b/netbox/extras/templatetags/plugins.py index df3024a16..b2f4ec0a7 100644 --- a/netbox/extras/templatetags/plugins.py +++ b/netbox/extras/templatetags/plugins.py @@ -3,7 +3,7 @@ from django.conf import settings from django.utils.safestring import mark_safe from extras.plugins import PluginTemplateExtension -from extras.registry import registry +from netbox.registry import registry register = template_.Library() diff --git a/netbox/extras/tests/test_plugins.py b/netbox/extras/tests/test_plugins.py index 2eca3a3f7..b65d32702 100644 --- a/netbox/extras/tests/test_plugins.py +++ b/netbox/extras/tests/test_plugins.py @@ -6,9 +6,9 @@ from django.test import Client, TestCase, override_settings from django.urls import reverse from extras.plugins import PluginMenu -from extras.registry import registry from extras.tests.dummy_plugin import config as dummy_config from netbox.graphql.schema import Query +from netbox.registry import registry @skipIf('extras.tests.dummy_plugin' not in settings.PLUGINS, "dummy_plugin not in settings.PLUGINS") diff --git a/netbox/extras/utils.py b/netbox/extras/utils.py index e16807821..268bf9e80 100644 --- a/netbox/extras/utils.py +++ b/netbox/extras/utils.py @@ -3,7 +3,7 @@ from django.utils.deconstruct import deconstructible from taggit.managers import _TaggableManager from extras.constants import EXTRAS_FEATURES -from extras.registry import registry +from netbox.registry import registry def is_taggable(obj): diff --git a/netbox/extras/webhooks.py b/netbox/extras/webhooks.py index bef90a245..a93be7934 100644 --- a/netbox/extras/webhooks.py +++ b/netbox/extras/webhooks.py @@ -5,11 +5,11 @@ from django.contrib.contenttypes.models import ContentType from django.utils import timezone from django_rq import get_queue +from netbox.registry import registry from utilities.api import get_serializer_for_model from utilities.utils import serialize_object from .choices import * from .models import Webhook -from .registry import registry def serialize_for_webhook(instance): diff --git a/netbox/netbox/context_processors.py b/netbox/netbox/context_processors.py index 74178ceb4..024ca85b5 100644 --- a/netbox/netbox/context_processors.py +++ b/netbox/netbox/context_processors.py @@ -1,7 +1,7 @@ from django.conf import settings as django_settings -from extras.registry import registry from netbox.config import get_config +from netbox.registry import registry def settings_and_registry(request): diff --git a/netbox/netbox/denormalized.py b/netbox/netbox/denormalized.py index cd4a869d2..a94f83e18 100644 --- a/netbox/netbox/denormalized.py +++ b/netbox/netbox/denormalized.py @@ -3,7 +3,7 @@ import logging from django.db.models.signals import post_save from django.dispatch import receiver -from extras.registry import registry +from netbox.registry import registry logger = logging.getLogger('netbox.denormalized') diff --git a/netbox/netbox/graphql/schema.py b/netbox/netbox/graphql/schema.py index 084ac3607..82abfb4d5 100644 --- a/netbox/netbox/graphql/schema.py +++ b/netbox/netbox/graphql/schema.py @@ -3,8 +3,8 @@ import graphene from circuits.graphql.schema import CircuitsQuery from dcim.graphql.schema import DCIMQuery from extras.graphql.schema import ExtrasQuery -from extras.registry import registry from ipam.graphql.schema import IPAMQuery +from netbox.registry import registry from tenancy.graphql.schema import TenancyQuery from users.graphql.schema import UsersQuery from virtualization.graphql.schema import VirtualizationQuery diff --git a/netbox/netbox/navigation/menu.py b/netbox/netbox/navigation/menu.py index 68551827c..60c0657ae 100644 --- a/netbox/netbox/navigation/menu.py +++ b/netbox/netbox/navigation/menu.py @@ -1,4 +1,4 @@ -from extras.registry import registry +from netbox.registry import registry from . import * diff --git a/netbox/netbox/preferences.py b/netbox/netbox/preferences.py index 6bf56b562..95fd101c3 100644 --- a/netbox/netbox/preferences.py +++ b/netbox/netbox/preferences.py @@ -1,4 +1,4 @@ -from extras.registry import registry +from netbox.registry import registry from users.preferences import UserPreference from utilities.paginator import EnhancedPaginator diff --git a/netbox/extras/registry.py b/netbox/netbox/registry.py similarity index 100% rename from netbox/extras/registry.py rename to netbox/netbox/registry.py diff --git a/netbox/netbox/search/__init__.py b/netbox/netbox/search/__init__.py index 568bf8652..c05a2492b 100644 --- a/netbox/netbox/search/__init__.py +++ b/netbox/netbox/search/__init__.py @@ -2,7 +2,7 @@ from collections import namedtuple from django.db import models -from extras.registry import registry +from netbox.registry import registry ObjectFieldValue = namedtuple('ObjectFieldValue', ('name', 'type', 'weight', 'value')) diff --git a/netbox/netbox/search/backends.py b/netbox/netbox/search/backends.py index f1e00b86b..3aa6c4f47 100644 --- a/netbox/netbox/search/backends.py +++ b/netbox/netbox/search/backends.py @@ -9,7 +9,7 @@ from django.db.models.signals import post_delete, post_save from django.utils.module_loading import import_string from extras.models import CachedValue, CustomField -from extras.registry import registry +from netbox.registry import registry from utilities.querysets import RestrictedPrefetch from utilities.templatetags.builtins.filters import bettertitle from . import FieldTypes, LookupTypes, get_indexer diff --git a/netbox/extras/tests/test_registry.py b/netbox/netbox/tests/test_registry.py similarity index 94% rename from netbox/extras/tests/test_registry.py rename to netbox/netbox/tests/test_registry.py index 38a6b9f83..25f9e43ec 100644 --- a/netbox/extras/tests/test_registry.py +++ b/netbox/netbox/tests/test_registry.py @@ -1,6 +1,6 @@ from django.test import TestCase -from extras.registry import Registry +from netbox.registry import Registry class RegistryTest(TestCase): diff --git a/netbox/utilities/templatetags/tabs.py b/netbox/utilities/templatetags/tabs.py index 6f245eff3..70f40d742 100644 --- a/netbox/utilities/templatetags/tabs.py +++ b/netbox/utilities/templatetags/tabs.py @@ -2,7 +2,7 @@ from django import template from django.urls import reverse from django.utils.module_loading import import_string -from extras.registry import registry +from netbox.registry import registry register = template.Library() diff --git a/netbox/utilities/urls.py b/netbox/utilities/urls.py index 16642f589..f344b9b61 100644 --- a/netbox/utilities/urls.py +++ b/netbox/utilities/urls.py @@ -2,7 +2,7 @@ from django.urls import path from django.utils.module_loading import import_string from django.views.generic import View -from extras.registry import registry +from netbox.registry import registry def get_model_urls(app_label, model_name): diff --git a/netbox/utilities/views.py b/netbox/utilities/views.py index edad7c1b2..400f127fc 100644 --- a/netbox/utilities/views.py +++ b/netbox/utilities/views.py @@ -3,7 +3,7 @@ from django.core.exceptions import ImproperlyConfigured from django.urls import reverse from django.urls.exceptions import NoReverseMatch -from extras.registry import registry +from netbox.registry import registry from .permissions import resolve_permission __all__ = ( From 3b0a84969bf5275a5de9486f31921ef8c1b9b67c Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Wed, 2 Nov 2022 15:38:17 -0400 Subject: [PATCH 149/162] Closes #10820: Switch timezone library from pytz to zoneinfo --- docs/models/dcim/site.md | 2 +- docs/release-notes/version-3.4.md | 1 + netbox/dcim/tests/test_views.py | 7 +++---- netbox/netbox/settings.py | 1 - 4 files changed, 5 insertions(+), 6 deletions(-) diff --git a/docs/models/dcim/site.md b/docs/models/dcim/site.md index c74c209e1..2e35ab11f 100644 --- a/docs/models/dcim/site.md +++ b/docs/models/dcim/site.md @@ -33,7 +33,7 @@ Each site can have multiple [AS numbers](../ipam/asn.md) assigned to it. ### Time Zone -The site's local time zone. (Time zones are provided by the [pytz](https://pypi.org/project/pytz/) package.) +The site's local time zone. (Time zones are provided by the [zoneinfo](https://docs.python.org/3/library/zoneinfo.html) library.) ### Physical Address diff --git a/docs/release-notes/version-3.4.md b/docs/release-notes/version-3.4.md index 43e649f7b..e337c8642 100644 --- a/docs/release-notes/version-3.4.md +++ b/docs/release-notes/version-3.4.md @@ -59,6 +59,7 @@ A new `PluginMenu` class has been introduced, which enables a plugin to inject a * [#10697](https://github.com/netbox-community/netbox/issues/10697) - Move application registry into core app * [#10699](https://github.com/netbox-community/netbox/issues/10699) - Remove custom `import_object()` function * [#10816](https://github.com/netbox-community/netbox/issues/10816) - Pass the current request when instantiating a FilterSet within UI views +* [#10820](https://github.com/netbox-community/netbox/issues/10820) - Switch timezone library from pytz to zoneinfo ### REST API Changes diff --git a/netbox/dcim/tests/test_views.py b/netbox/dcim/tests/test_views.py index 8bf1c1948..4c111be52 100644 --- a/netbox/dcim/tests/test_views.py +++ b/netbox/dcim/tests/test_views.py @@ -1,7 +1,7 @@ from decimal import Decimal -import pytz import yaml +from backports.zoneinfo import ZoneInfo from django.contrib.auth.models import User from django.contrib.contenttypes.models import ContentType from django.test import override_settings @@ -12,7 +12,6 @@ from dcim.choices import * from dcim.constants import * from dcim.models import * from ipam.models import ASN, RIR, VLAN, VRF -from netbox.api.serializers import GenericObjectSerializer from tenancy.models import Tenant from utilities.testing import ViewTestCases, create_tags, create_test_device, post_data from wireless.models import WirelessLAN @@ -153,7 +152,7 @@ class SiteTestCase(ViewTestCases.PrimaryObjectViewTestCase): 'tenant': None, 'facility': 'Facility X', 'asns': [asns[6].pk, asns[7].pk], - 'time_zone': pytz.UTC, + 'time_zone': ZoneInfo('UTC'), 'description': 'Site description', 'physical_address': '742 Evergreen Terrace, Springfield, USA', 'shipping_address': '742 Evergreen Terrace, Springfield, USA', @@ -182,7 +181,7 @@ class SiteTestCase(ViewTestCases.PrimaryObjectViewTestCase): 'region': regions[1].pk, 'group': groups[1].pk, 'tenant': None, - 'time_zone': pytz.timezone('US/Eastern'), + 'time_zone': ZoneInfo('US/Eastern'), 'description': 'New description', } diff --git a/netbox/netbox/settings.py b/netbox/netbox/settings.py index 4e93eb149..2a9d43df0 100644 --- a/netbox/netbox/settings.py +++ b/netbox/netbox/settings.py @@ -389,7 +389,6 @@ LANGUAGE_CODE = 'en-us' USE_I18N = True USE_L10N = False USE_TZ = True -USE_DEPRECATED_PYTZ = True # WSGI WSGI_APPLICATION = 'netbox.wsgi.application' From 8fb91a1f8c53801ac9c3ba0b9eb00d594e04cf17 Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Wed, 2 Nov 2022 15:55:39 -0400 Subject: [PATCH 150/162] Closes #10821: Enable data localization --- docs/release-notes/version-3.4.md | 1 + netbox/netbox/settings.py | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/release-notes/version-3.4.md b/docs/release-notes/version-3.4.md index e337c8642..a50686158 100644 --- a/docs/release-notes/version-3.4.md +++ b/docs/release-notes/version-3.4.md @@ -60,6 +60,7 @@ A new `PluginMenu` class has been introduced, which enables a plugin to inject a * [#10699](https://github.com/netbox-community/netbox/issues/10699) - Remove custom `import_object()` function * [#10816](https://github.com/netbox-community/netbox/issues/10816) - Pass the current request when instantiating a FilterSet within UI views * [#10820](https://github.com/netbox-community/netbox/issues/10820) - Switch timezone library from pytz to zoneinfo +* [#10821](https://github.com/netbox-community/netbox/issues/10821) - Enable data localization ### REST API Changes diff --git a/netbox/netbox/settings.py b/netbox/netbox/settings.py index 2a9d43df0..1046812e8 100644 --- a/netbox/netbox/settings.py +++ b/netbox/netbox/settings.py @@ -386,8 +386,8 @@ AUTHENTICATION_BACKENDS = [ # Internationalization LANGUAGE_CODE = 'en-us' -USE_I18N = True -USE_L10N = False + +# Time zones USE_TZ = True # WSGI From 0ad7ae28377f44ff7d1ed119a6ff7a8f43bf8e91 Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Wed, 2 Nov 2022 16:26:26 -0400 Subject: [PATCH 151/162] Closes #10698: Omit app label from content type in table columns --- docs/release-notes/version-3.4.md | 1 + netbox/netbox/search/backends.py | 5 ++--- netbox/netbox/tables/columns.py | 4 ++-- netbox/netbox/tables/tables.py | 5 ++--- netbox/utilities/templatetags/builtins/filters.py | 4 ++-- netbox/utilities/utils.py | 15 +++++++++++++-- 6 files changed, 22 insertions(+), 12 deletions(-) diff --git a/docs/release-notes/version-3.4.md b/docs/release-notes/version-3.4.md index a50686158..b15eb0262 100644 --- a/docs/release-notes/version-3.4.md +++ b/docs/release-notes/version-3.4.md @@ -38,6 +38,7 @@ A new `PluginMenu` class has been introduced, which enables a plugin to inject a * [#10348](https://github.com/netbox-community/netbox/issues/10348) - Add decimal custom field type * [#10556](https://github.com/netbox-community/netbox/issues/10556) - Include a `display` field in all GraphQL object types * [#10595](https://github.com/netbox-community/netbox/issues/10595) - Add GraphQL relationships for additional generic foreign key fields +* [#10698](https://github.com/netbox-community/netbox/issues/10698) - Omit app label from content type in table columns * [#10761](https://github.com/netbox-community/netbox/issues/10761) - Enable associating an export template with multiple object types * [#10781](https://github.com/netbox-community/netbox/issues/10781) - Add support for Python v3.11 diff --git a/netbox/netbox/search/backends.py b/netbox/netbox/search/backends.py index 3aa6c4f47..dfc251aa9 100644 --- a/netbox/netbox/search/backends.py +++ b/netbox/netbox/search/backends.py @@ -11,7 +11,7 @@ from django.utils.module_loading import import_string from extras.models import CachedValue, CustomField from netbox.registry import registry from utilities.querysets import RestrictedPrefetch -from utilities.templatetags.builtins.filters import bettertitle +from utilities.utils import title from . import FieldTypes, LookupTypes, get_indexer DEFAULT_LOOKUP_TYPE = LookupTypes.PARTIAL @@ -34,8 +34,7 @@ class SearchBackend: # Organize choices by category categories = defaultdict(dict) for label, idx in registry['search'].items(): - title = bettertitle(idx.model._meta.verbose_name) - categories[idx.get_category()][label] = title + categories[idx.get_category()][label] = title(idx.model._meta.verbose_name) # Compile a nested tuple of choices for form rendering results = ( diff --git a/netbox/netbox/tables/columns.py b/netbox/netbox/tables/columns.py index c7545192a..5e92196e5 100644 --- a/netbox/netbox/tables/columns.py +++ b/netbox/netbox/tables/columns.py @@ -300,7 +300,7 @@ class ContentTypeColumn(tables.Column): def render(self, value): if value is None: return None - return content_type_name(value) + return content_type_name(value, include_app=False) def value(self, value): if value is None: @@ -319,7 +319,7 @@ class ContentTypesColumn(tables.ManyToManyColumn): super().__init__(separator=separator, *args, **kwargs) def transform(self, obj): - return content_type_name(obj) + return content_type_name(obj, include_app=False) def value(self, value): return ','.join([ diff --git a/netbox/netbox/tables/tables.py b/netbox/netbox/tables/tables.py index 50c109be8..3a2e71084 100644 --- a/netbox/netbox/tables/tables.py +++ b/netbox/netbox/tables/tables.py @@ -12,8 +12,7 @@ from extras.models import CustomField, CustomLink from extras.choices import CustomFieldVisibilityChoices from netbox.tables import columns from utilities.paginator import EnhancedPaginator, get_paginate_count -from utilities.templatetags.builtins.filters import bettertitle -from utilities.utils import highlight_string +from utilities.utils import highlight_string, title __all__ = ( 'BaseTable', @@ -223,7 +222,7 @@ class SearchTable(tables.Table): def render_field(self, value, record): if hasattr(record.object, value): - return bettertitle(record.object._meta.get_field(value).verbose_name) + return title(record.object._meta.get_field(value).verbose_name) return value def render_value(self, value): diff --git a/netbox/utilities/templatetags/builtins/filters.py b/netbox/utilities/templatetags/builtins/filters.py index 6b548a89d..8c9315ffe 100644 --- a/netbox/utilities/templatetags/builtins/filters.py +++ b/netbox/utilities/templatetags/builtins/filters.py @@ -11,7 +11,7 @@ from markdown import markdown from netbox.config import get_config from utilities.markdown import StrikethroughExtension -from utilities.utils import clean_html, foreground_color +from utilities.utils import clean_html, foreground_color, title register = template.Library() @@ -46,7 +46,7 @@ def bettertitle(value): Alternative to the builtin title(). Ensures that the first letter of each word is uppercase but retains the original case of all others. """ - return ' '.join([w[0].upper() + w[1:] for w in value.split()]) + return title(value) @register.filter() diff --git a/netbox/utilities/utils.py b/netbox/utilities/utils.py index e1fbbfe84..a5bccfbea 100644 --- a/netbox/utilities/utils.py +++ b/netbox/utilities/utils.py @@ -21,6 +21,13 @@ from netbox.config import get_config from utilities.constants import HTTP_REQUEST_META_SAFE_COPY +def title(value): + """ + Improved implementation of str.title(); retains all existing uppercase letters. + """ + return ' '.join([w[0].upper() + w[1:] for w in str(value).split()]) + + def get_viewname(model, action=None, rest_api=False): """ Return the view name for the given model and action, if valid. @@ -393,13 +400,17 @@ def array_to_string(array): return ', '.join(ret) -def content_type_name(ct): +def content_type_name(ct, include_app=True): """ Return a human-friendly ContentType name (e.g. "DCIM > Site"). """ try: meta = ct.model_class()._meta - return f'{meta.app_config.verbose_name} > {meta.verbose_name}' + app_label = title(meta.app_config.verbose_name) + model_name = title(meta.verbose_name) + if include_app: + return f'{app_label} > {model_name}' + return model_name except AttributeError: # Model no longer exists return f'{ct.app_label} > {ct.model}' From 07730ccd33080d5160604d8867b0a7015f7de0dd Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Wed, 2 Nov 2022 16:29:42 -0400 Subject: [PATCH 152/162] #10820: Fix zoneinfo import for py3.9+ --- netbox/dcim/tests/test_views.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/netbox/dcim/tests/test_views.py b/netbox/dcim/tests/test_views.py index 4c111be52..d563dcfd6 100644 --- a/netbox/dcim/tests/test_views.py +++ b/netbox/dcim/tests/test_views.py @@ -1,7 +1,11 @@ from decimal import Decimal +try: + from zoneinfo import ZoneInfo +except ImportError: + # Python 3.8 + from backports.zoneinfo import ZoneInfo import yaml -from backports.zoneinfo import ZoneInfo from django.contrib.auth.models import User from django.contrib.contenttypes.models import ContentType from django.test import override_settings From e7f54c5867cf49126bbf95e28633e4283c2bbcb2 Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Thu, 3 Nov 2022 12:59:01 -0400 Subject: [PATCH 153/162] Reorganize plugin resources --- netbox/extras/plugins/__init__.py | 195 +------------------------- netbox/extras/plugins/navigation.py | 66 +++++++++ netbox/extras/plugins/registration.py | 64 +++++++++ netbox/extras/plugins/templates.py | 65 +++++++++ 4 files changed, 199 insertions(+), 191 deletions(-) create mode 100644 netbox/extras/plugins/navigation.py create mode 100644 netbox/extras/plugins/registration.py create mode 100644 netbox/extras/plugins/templates.py diff --git a/netbox/extras/plugins/__init__.py b/netbox/extras/plugins/__init__.py index 681c5bc29..6fa22c4a3 100644 --- a/netbox/extras/plugins/__init__.py +++ b/netbox/extras/plugins/__init__.py @@ -1,17 +1,15 @@ import collections -import inspect -from packaging import version from django.apps import AppConfig from django.core.exceptions import ImproperlyConfigured -from django.template.loader import get_template from django.utils.module_loading import import_string +from packaging import version -from netbox.navigation import MenuGroup from netbox.registry import registry from netbox.search import register_search -from utilities.choices import ButtonColorChoices - +from .navigation import * +from .registration import * +from .templates import * # Initialize plugin registry registry['plugins'] = { @@ -142,188 +140,3 @@ class PluginConfig(AppConfig): for setting, value in cls.default_settings.items(): if setting not in user_config: user_config[setting] = value - - -# -# Template content injection -# - -class PluginTemplateExtension: - """ - This class is used to register plugin content to be injected into core NetBox templates. It contains methods - that are overridden by plugin authors to return template content. - - The `model` attribute on the class defines the which model detail page this class renders content for. It - should be set as a string in the form '.'. render() provides the following context data: - - * object - The object being viewed - * request - The current request - * settings - Global NetBox settings - * config - Plugin-specific configuration parameters - """ - model = None - - def __init__(self, context): - self.context = context - - def render(self, template_name, extra_context=None): - """ - Convenience method for rendering the specified Django template using the default context data. An additional - context dictionary may be passed as `extra_context`. - """ - if extra_context is None: - extra_context = {} - elif not isinstance(extra_context, dict): - raise TypeError("extra_context must be a dictionary") - - return get_template(template_name).render({**self.context, **extra_context}) - - def left_page(self): - """ - Content that will be rendered on the left of the detail page view. Content should be returned as an - HTML string. Note that content does not need to be marked as safe because this is automatically handled. - """ - raise NotImplementedError - - def right_page(self): - """ - Content that will be rendered on the right of the detail page view. Content should be returned as an - HTML string. Note that content does not need to be marked as safe because this is automatically handled. - """ - raise NotImplementedError - - def full_width_page(self): - """ - Content that will be rendered within the full width of the detail page view. Content should be returned as an - HTML string. Note that content does not need to be marked as safe because this is automatically handled. - """ - raise NotImplementedError - - def buttons(self): - """ - Buttons that will be rendered and added to the existing list of buttons on the detail page view. Content - should be returned as an HTML string. Note that content does not need to be marked as safe because this is - automatically handled. - """ - raise NotImplementedError - - -def register_template_extensions(class_list): - """ - Register a list of PluginTemplateExtension classes - """ - # Validation - for template_extension in class_list: - if not inspect.isclass(template_extension): - raise TypeError(f"PluginTemplateExtension class {template_extension} was passed as an instance!") - if not issubclass(template_extension, PluginTemplateExtension): - raise TypeError(f"{template_extension} is not a subclass of extras.plugins.PluginTemplateExtension!") - if template_extension.model is None: - raise TypeError(f"PluginTemplateExtension class {template_extension} does not define a valid model!") - - registry['plugins']['template_extensions'][template_extension.model].append(template_extension) - - -# -# Navigation menu links -# - -class PluginMenu: - icon_class = 'mdi mdi-puzzle' - - def __init__(self, label, groups, icon_class=None): - self.label = label - self.groups = [ - MenuGroup(label, items) for label, items in groups - ] - if icon_class is not None: - self.icon_class = icon_class - - -class PluginMenuItem: - """ - This class represents a navigation menu item. This constitutes primary link and its text, but also allows for - specifying additional link buttons that appear to the right of the item in the van menu. - - Links are specified as Django reverse URL strings. - Buttons are each specified as a list of PluginMenuButton instances. - """ - permissions = [] - buttons = [] - - def __init__(self, link, link_text, permissions=None, buttons=None): - self.link = link - self.link_text = link_text - if permissions is not None: - if type(permissions) not in (list, tuple): - raise TypeError("Permissions must be passed as a tuple or list.") - self.permissions = permissions - if buttons is not None: - if type(buttons) not in (list, tuple): - raise TypeError("Buttons must be passed as a tuple or list.") - self.buttons = buttons - - -class PluginMenuButton: - """ - This class represents a button within a PluginMenuItem. Note that button colors should come from - ButtonColorChoices. - """ - color = ButtonColorChoices.DEFAULT - permissions = [] - - def __init__(self, link, title, icon_class, color=None, permissions=None): - self.link = link - self.title = title - self.icon_class = icon_class - if permissions is not None: - if type(permissions) not in (list, tuple): - raise TypeError("Permissions must be passed as a tuple or list.") - self.permissions = permissions - if color is not None: - if color not in ButtonColorChoices.values(): - raise ValueError("Button color must be a choice within ButtonColorChoices.") - self.color = color - - -def register_menu(menu): - if not isinstance(menu, PluginMenu): - raise TypeError(f"{menu} must be an instance of extras.plugins.PluginMenu") - registry['plugins']['menus'].append(menu) - - -def register_menu_items(section_name, class_list): - """ - Register a list of PluginMenuItem instances for a given menu section (e.g. plugin name) - """ - # Validation - for menu_link in class_list: - if not isinstance(menu_link, PluginMenuItem): - raise TypeError(f"{menu_link} must be an instance of extras.plugins.PluginMenuItem") - for button in menu_link.buttons: - if not isinstance(button, PluginMenuButton): - raise TypeError(f"{button} must be an instance of extras.plugins.PluginMenuButton") - - registry['plugins']['menu_items'][section_name] = class_list - - -# -# GraphQL schemas -# - -def register_graphql_schema(graphql_schema): - """ - Register a GraphQL schema class for inclusion in NetBox's GraphQL API. - """ - registry['plugins']['graphql_schemas'].append(graphql_schema) - - -# -# User preferences -# - -def register_user_preferences(plugin_name, preferences): - """ - Register a list of user preferences defined by a plugin. - """ - registry['plugins']['preferences'][plugin_name] = preferences diff --git a/netbox/extras/plugins/navigation.py b/netbox/extras/plugins/navigation.py new file mode 100644 index 000000000..193be6cfb --- /dev/null +++ b/netbox/extras/plugins/navigation.py @@ -0,0 +1,66 @@ +from netbox.navigation import MenuGroup +from utilities.choices import ButtonColorChoices + +__all__ = ( + 'PluginMenu', + 'PluginMenuButton', + 'PluginMenuItem', +) + + +class PluginMenu: + icon_class = 'mdi mdi-puzzle' + + def __init__(self, label, groups, icon_class=None): + self.label = label + self.groups = [ + MenuGroup(label, items) for label, items in groups + ] + if icon_class is not None: + self.icon_class = icon_class + + +class PluginMenuItem: + """ + This class represents a navigation menu item. This constitutes primary link and its text, but also allows for + specifying additional link buttons that appear to the right of the item in the van menu. + + Links are specified as Django reverse URL strings. + Buttons are each specified as a list of PluginMenuButton instances. + """ + permissions = [] + buttons = [] + + def __init__(self, link, link_text, permissions=None, buttons=None): + self.link = link + self.link_text = link_text + if permissions is not None: + if type(permissions) not in (list, tuple): + raise TypeError("Permissions must be passed as a tuple or list.") + self.permissions = permissions + if buttons is not None: + if type(buttons) not in (list, tuple): + raise TypeError("Buttons must be passed as a tuple or list.") + self.buttons = buttons + + +class PluginMenuButton: + """ + This class represents a button within a PluginMenuItem. Note that button colors should come from + ButtonColorChoices. + """ + color = ButtonColorChoices.DEFAULT + permissions = [] + + def __init__(self, link, title, icon_class, color=None, permissions=None): + self.link = link + self.title = title + self.icon_class = icon_class + if permissions is not None: + if type(permissions) not in (list, tuple): + raise TypeError("Permissions must be passed as a tuple or list.") + self.permissions = permissions + if color is not None: + if color not in ButtonColorChoices.values(): + raise ValueError("Button color must be a choice within ButtonColorChoices.") + self.color = color diff --git a/netbox/extras/plugins/registration.py b/netbox/extras/plugins/registration.py new file mode 100644 index 000000000..5b7e58172 --- /dev/null +++ b/netbox/extras/plugins/registration.py @@ -0,0 +1,64 @@ +import inspect + +from netbox.registry import registry +from .navigation import PluginMenu, PluginMenuButton, PluginMenuItem +from .templates import PluginTemplateExtension + +__all__ = ( + 'register_graphql_schema', + 'register_menu', + 'register_menu_items', + 'register_template_extensions', + 'register_user_preferences', +) + + +def register_template_extensions(class_list): + """ + Register a list of PluginTemplateExtension classes + """ + # Validation + for template_extension in class_list: + if not inspect.isclass(template_extension): + raise TypeError(f"PluginTemplateExtension class {template_extension} was passed as an instance!") + if not issubclass(template_extension, PluginTemplateExtension): + raise TypeError(f"{template_extension} is not a subclass of extras.plugins.PluginTemplateExtension!") + if template_extension.model is None: + raise TypeError(f"PluginTemplateExtension class {template_extension} does not define a valid model!") + + registry['plugins']['template_extensions'][template_extension.model].append(template_extension) + + +def register_menu(menu): + if not isinstance(menu, PluginMenu): + raise TypeError(f"{menu} must be an instance of extras.plugins.PluginMenu") + registry['plugins']['menus'].append(menu) + + +def register_menu_items(section_name, class_list): + """ + Register a list of PluginMenuItem instances for a given menu section (e.g. plugin name) + """ + # Validation + for menu_link in class_list: + if not isinstance(menu_link, PluginMenuItem): + raise TypeError(f"{menu_link} must be an instance of extras.plugins.PluginMenuItem") + for button in menu_link.buttons: + if not isinstance(button, PluginMenuButton): + raise TypeError(f"{button} must be an instance of extras.plugins.PluginMenuButton") + + registry['plugins']['menu_items'][section_name] = class_list + + +def register_graphql_schema(graphql_schema): + """ + Register a GraphQL schema class for inclusion in NetBox's GraphQL API. + """ + registry['plugins']['graphql_schemas'].append(graphql_schema) + + +def register_user_preferences(plugin_name, preferences): + """ + Register a list of user preferences defined by a plugin. + """ + registry['plugins']['preferences'][plugin_name] = preferences diff --git a/netbox/extras/plugins/templates.py b/netbox/extras/plugins/templates.py new file mode 100644 index 000000000..5f3d038c6 --- /dev/null +++ b/netbox/extras/plugins/templates.py @@ -0,0 +1,65 @@ +from django.template.loader import get_template + +__all__ = ( + 'PluginTemplateExtension', +) + + +class PluginTemplateExtension: + """ + This class is used to register plugin content to be injected into core NetBox templates. It contains methods + that are overridden by plugin authors to return template content. + + The `model` attribute on the class defines the which model detail page this class renders content for. It + should be set as a string in the form '.'. render() provides the following context data: + + * object - The object being viewed + * request - The current request + * settings - Global NetBox settings + * config - Plugin-specific configuration parameters + """ + model = None + + def __init__(self, context): + self.context = context + + def render(self, template_name, extra_context=None): + """ + Convenience method for rendering the specified Django template using the default context data. An additional + context dictionary may be passed as `extra_context`. + """ + if extra_context is None: + extra_context = {} + elif not isinstance(extra_context, dict): + raise TypeError("extra_context must be a dictionary") + + return get_template(template_name).render({**self.context, **extra_context}) + + def left_page(self): + """ + Content that will be rendered on the left of the detail page view. Content should be returned as an + HTML string. Note that content does not need to be marked as safe because this is automatically handled. + """ + raise NotImplementedError + + def right_page(self): + """ + Content that will be rendered on the right of the detail page view. Content should be returned as an + HTML string. Note that content does not need to be marked as safe because this is automatically handled. + """ + raise NotImplementedError + + def full_width_page(self): + """ + Content that will be rendered within the full width of the detail page view. Content should be returned as an + HTML string. Note that content does not need to be marked as safe because this is automatically handled. + """ + raise NotImplementedError + + def buttons(self): + """ + Buttons that will be rendered and added to the existing list of buttons on the detail page view. Content + should be returned as an HTML string. Note that content does not need to be marked as safe because this is + automatically handled. + """ + raise NotImplementedError From 13afc526172af8bbaacbdc7346507d41cd2ce052 Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Thu, 3 Nov 2022 13:18:58 -0400 Subject: [PATCH 154/162] Closes #10543: Introduce get_plugin_config() utility function --- docs/plugins/development/index.md | 6 +++--- netbox/extras/plugins/__init__.py | 21 +++++++++++++++++++++ netbox/extras/tests/test_plugins.py | 12 +++++++++++- 3 files changed, 35 insertions(+), 4 deletions(-) diff --git a/docs/plugins/development/index.md b/docs/plugins/development/index.md index cad77c7fe..dcbad9d8d 100644 --- a/docs/plugins/development/index.md +++ b/docs/plugins/development/index.md @@ -117,11 +117,11 @@ NetBox looks for the `config` variable within a plugin's `__init__.py` to load i All required settings must be configured by the user. If a configuration parameter is listed in both `required_settings` and `default_settings`, the default setting will be ignored. !!! tip "Accessing Config Parameters" - Plugin configuration parameters can be accessed in `settings.PLUGINS_CONFIG`, mapped by plugin name. For example: + Plugin configuration parameters can be accessed using the `get_plugin_config()` function. For example: ```python - from django.conf import settings - settings.PLUGINS_CONFIG['myplugin']['verbose_name'] + from extras.plugins import get_plugin_config + get_plugin_config('my_plugin', 'verbose_name') ``` #### Important Notes About `django_apps` diff --git a/netbox/extras/plugins/__init__.py b/netbox/extras/plugins/__init__.py index 6fa22c4a3..7694a1fbe 100644 --- a/netbox/extras/plugins/__init__.py +++ b/netbox/extras/plugins/__init__.py @@ -1,6 +1,7 @@ import collections from django.apps import AppConfig +from django.conf import settings from django.core.exceptions import ImproperlyConfigured from django.utils.module_loading import import_string from packaging import version @@ -140,3 +141,23 @@ class PluginConfig(AppConfig): for setting, value in cls.default_settings.items(): if setting not in user_config: user_config[setting] = value + + +# +# Utilities +# + +def get_plugin_config(plugin_name, parameter, default=None): + """ + Return the value of the specified plugin configuration parameter. + + Args: + plugin_name: The name of the plugin + parameter: The name of the configuration parameter + default: The value to return if the parameter is not defined (default: None) + """ + try: + plugin_config = settings.PLUGINS_CONFIG[plugin_name] + return plugin_config.get(parameter, default) + except KeyError: + raise ImproperlyConfigured(f"Plugin {plugin_name} is not registered.") diff --git a/netbox/extras/tests/test_plugins.py b/netbox/extras/tests/test_plugins.py index b65d32702..e20dccbd9 100644 --- a/netbox/extras/tests/test_plugins.py +++ b/netbox/extras/tests/test_plugins.py @@ -5,7 +5,7 @@ from django.core.exceptions import ImproperlyConfigured from django.test import Client, TestCase, override_settings from django.urls import reverse -from extras.plugins import PluginMenu +from extras.plugins import PluginMenu, get_plugin_config from extras.tests.dummy_plugin import config as dummy_config from netbox.graphql.schema import Query from netbox.registry import registry @@ -173,3 +173,13 @@ class PluginTest(TestCase): self.assertIn(DummyQuery, registry['plugins']['graphql_schemas']) self.assertTrue(issubclass(Query, DummyQuery)) + + @override_settings(PLUGINS_CONFIG={'extras.tests.dummy_plugin': {'foo': 123}}) + def test_get_plugin_config(self): + """ + Validate that get_plugin_config() returns config parameters correctly. + """ + plugin = 'extras.tests.dummy_plugin' + self.assertEqual(get_plugin_config(plugin, 'foo'), 123) + self.assertEqual(get_plugin_config(plugin, 'bar'), None) + self.assertEqual(get_plugin_config(plugin, 'bar', default=456), 456) From 6b2deaeced3d088a80ea910b2155ba048fa76414 Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Thu, 3 Nov 2022 13:29:24 -0400 Subject: [PATCH 155/162] Closes #8485: Enable journaling for all organizational models --- docs/features/journaling.md | 2 +- docs/release-notes/version-3.4.md | 2 ++ netbox/netbox/models/__init__.py | 3 ++- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/docs/features/journaling.md b/docs/features/journaling.md index ce126bf27..8aebdb446 100644 --- a/docs/features/journaling.md +++ b/docs/features/journaling.md @@ -1,5 +1,5 @@ # Journaling -All primary objects in NetBox support journaling. A journal is a collection of human-generated notes and comments about an object maintained for historical context. It supplements NetBox's change log to provide additional information about why changes have been made or to convey events which occur outside NetBox. Unlike the change log, in which records typically expire after a configurable period of time, journal entries persist for the life of their associated object. +All primary and organizational models in NetBox support journaling. A journal is a collection of human-generated notes and comments about an object maintained for historical context. It supplements NetBox's change log to provide additional information about why changes have been made or to convey events which occur outside NetBox. Unlike the change log, in which records typically expire after a configurable period of time, journal entries persist for the life of their associated object. Each journal entry has a selectable kind (info, success, warning, or danger) and a user-populated `comments` field. Each entry automatically records the date, time, and associated user upon being created. diff --git a/docs/release-notes/version-3.4.md b/docs/release-notes/version-3.4.md index b15eb0262..cc9fc90d2 100644 --- a/docs/release-notes/version-3.4.md +++ b/docs/release-notes/version-3.4.md @@ -28,6 +28,7 @@ A new `PluginMenu` class has been introduced, which enables a plugin to inject a * [#8245](https://github.com/netbox-community/netbox/issues/8245) - Enable GraphQL filtering of related objects * [#8274](https://github.com/netbox-community/netbox/issues/8274) - Enable associating a custom link with multiple object types +* [#8485](https://github.com/netbox-community/netbox/issues/8485) - Enable journaling for all organizational models * [#8853](https://github.com/netbox-community/netbox/issues/8853) - Introduce the `ALLOW_TOKEN_RETRIEVAL` config parameter to restrict the display of API tokens * [#9249](https://github.com/netbox-community/netbox/issues/9249) - Device and virtual machine names are no longer case-sensitive * [#9478](https://github.com/netbox-community/netbox/issues/9478) - Add `link_peers` field to GraphQL types for cabled objects @@ -50,6 +51,7 @@ A new `PluginMenu` class has been introduced, which enables a plugin to inject a * [#9880](https://github.com/netbox-community/netbox/issues/9880) - Introduce `django_apps` plugin configuration parameter * [#9887](https://github.com/netbox-community/netbox/issues/9887) - Inspect `docs_url` property to determine link to model documentation * [#10314](https://github.com/netbox-community/netbox/issues/10314) - Move `clone()` method from NetBoxModel to CloningMixin +* [#10543](https://github.com/netbox-community/netbox/issues/10543) - Introduce `get_plugin_config()` utility function * [#10739](https://github.com/netbox-community/netbox/issues/10739) - Introduce `get_queryset()` method on generic views ### Other Changes diff --git a/netbox/netbox/models/__init__.py b/netbox/netbox/models/__init__.py index 2f2dc1c9f..f4f28030d 100644 --- a/netbox/netbox/models/__init__.py +++ b/netbox/netbox/models/__init__.py @@ -21,6 +21,7 @@ class NetBoxFeatureSet( CustomLinksMixin, CustomValidationMixin, ExportTemplatesMixin, + JournalingMixin, TagsMixin, WebhooksMixin ): @@ -55,7 +56,7 @@ class ChangeLoggedModel(ChangeLoggingMixin, CustomValidationMixin, models.Model) abstract = True -class NetBoxModel(CloningMixin, JournalingMixin, NetBoxFeatureSet, models.Model): +class NetBoxModel(CloningMixin, NetBoxFeatureSet, models.Model): """ Primary models represent real objects within the infrastructure being modeled. """ From e2f5ee661a384c380bfd81e043b65b2eea9f4d12 Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Thu, 3 Nov 2022 13:59:44 -0400 Subject: [PATCH 156/162] Clean up redundant NestedGroupModel, OrganizationalModel fields --- netbox/circuits/migrations/0001_squashed.py | 2 +- netbox/circuits/models/circuits.py | 19 ------- netbox/dcim/migrations/0001_squashed.py | 8 +-- .../dcim/migrations/0147_inventoryitemrole.py | 2 +- netbox/dcim/models/device_components.py | 18 ------ netbox/dcim/models/devices.py | 55 ------------------ netbox/dcim/models/racks.py | 18 ------ netbox/dcim/models/sites.py | 57 ------------------- netbox/ipam/migrations/0001_squashed.py | 4 +- netbox/ipam/models/ip.py | 31 +--------- netbox/ipam/models/vlans.py | 3 - netbox/netbox/models/__init__.py | 6 ++ netbox/tenancy/migrations/0003_contacts.py | 2 +- netbox/tenancy/models/contacts.py | 38 ------------- netbox/tenancy/models/tenants.py | 12 ---- .../migrations/0001_squashed_0022.py | 4 +- netbox/virtualization/models.py | 38 ------------- netbox/wireless/models.py | 15 ----- 18 files changed, 19 insertions(+), 313 deletions(-) diff --git a/netbox/circuits/migrations/0001_squashed.py b/netbox/circuits/migrations/0001_squashed.py index 971233162..656eb35a1 100644 --- a/netbox/circuits/migrations/0001_squashed.py +++ b/netbox/circuits/migrations/0001_squashed.py @@ -65,7 +65,7 @@ class Migration(migrations.Migration): ('description', models.CharField(blank=True, max_length=200)), ], options={ - 'ordering': ['name'], + 'ordering': ('name',), }, ), migrations.CreateModel( diff --git a/netbox/circuits/models/circuits.py b/netbox/circuits/models/circuits.py index ea74eeb40..7100c9796 100644 --- a/netbox/circuits/models/circuits.py +++ b/netbox/circuits/models/circuits.py @@ -23,25 +23,6 @@ class CircuitType(OrganizationalModel): Circuits can be organized by their functional role. For example, a user might wish to define CircuitTypes named "Long Haul," "Metro," or "Out-of-Band". """ - name = models.CharField( - max_length=100, - unique=True - ) - slug = models.SlugField( - max_length=100, - unique=True - ) - description = models.CharField( - max_length=200, - blank=True, - ) - - class Meta: - ordering = ['name'] - - def __str__(self): - return self.name - def get_absolute_url(self): return reverse('circuits:circuittype', args=[self.pk]) diff --git a/netbox/dcim/migrations/0001_squashed.py b/netbox/dcim/migrations/0001_squashed.py index fca7d8eb9..3d7156e17 100644 --- a/netbox/dcim/migrations/0001_squashed.py +++ b/netbox/dcim/migrations/0001_squashed.py @@ -195,7 +195,7 @@ class Migration(migrations.Migration): ('description', models.CharField(blank=True, max_length=200)), ], options={ - 'ordering': ['name'], + 'ordering': ('name',), }, ), migrations.CreateModel( @@ -352,7 +352,7 @@ class Migration(migrations.Migration): ('description', models.CharField(blank=True, max_length=200)), ], options={ - 'ordering': ['name'], + 'ordering': ('name',), }, ), migrations.CreateModel( @@ -369,7 +369,7 @@ class Migration(migrations.Migration): ('description', models.CharField(blank=True, max_length=200)), ], options={ - 'ordering': ['name'], + 'ordering': ('name',), }, ), migrations.CreateModel( @@ -538,7 +538,7 @@ class Migration(migrations.Migration): ('description', models.CharField(blank=True, max_length=200)), ], options={ - 'ordering': ['name'], + 'ordering': ('name',), }, ), migrations.CreateModel( diff --git a/netbox/dcim/migrations/0147_inventoryitemrole.py b/netbox/dcim/migrations/0147_inventoryitemrole.py index cbdd36c08..4b6c27450 100644 --- a/netbox/dcim/migrations/0147_inventoryitemrole.py +++ b/netbox/dcim/migrations/0147_inventoryitemrole.py @@ -27,7 +27,7 @@ class Migration(migrations.Migration): ('tags', taggit.managers.TaggableManager(through='extras.TaggedItem', to='extras.Tag')), ], options={ - 'ordering': ['name'], + 'ordering': ('name',), }, ), migrations.AddField( diff --git a/netbox/dcim/models/device_components.py b/netbox/dcim/models/device_components.py index 59d63ef7b..8855107b3 100644 --- a/netbox/dcim/models/device_components.py +++ b/netbox/dcim/models/device_components.py @@ -1025,27 +1025,9 @@ class InventoryItemRole(OrganizationalModel): """ Inventory items may optionally be assigned a functional role. """ - name = models.CharField( - max_length=100, - unique=True - ) - slug = models.SlugField( - max_length=100, - unique=True - ) color = ColorField( default=ColorChoices.COLOR_GREY ) - description = models.CharField( - max_length=200, - blank=True, - ) - - class Meta: - ordering = ['name'] - - def __str__(self): - return self.name def get_absolute_url(self): return reverse('dcim:inventoryitemrole', args=[self.pk]) diff --git a/netbox/dcim/models/devices.py b/netbox/dcim/models/devices.py index d4646762f..3710bf7f4 100644 --- a/netbox/dcim/models/devices.py +++ b/netbox/dcim/models/devices.py @@ -45,30 +45,11 @@ class Manufacturer(OrganizationalModel): """ A Manufacturer represents a company which produces hardware devices; for example, Juniper or Dell. """ - name = models.CharField( - max_length=100, - unique=True - ) - slug = models.SlugField( - max_length=100, - unique=True - ) - description = models.CharField( - max_length=200, - blank=True - ) - # Generic relations contacts = GenericRelation( to='tenancy.ContactAssignment' ) - class Meta: - ordering = ['name'] - - def __str__(self): - return self.name - def get_absolute_url(self): return reverse('dcim:manufacturer', args=[self.pk]) @@ -418,14 +399,6 @@ class DeviceRole(OrganizationalModel): color to be used when displaying rack elevations. The vm_role field determines whether the role is applicable to virtual machines as well. """ - name = models.CharField( - max_length=100, - unique=True - ) - slug = models.SlugField( - max_length=100, - unique=True - ) color = ColorField( default=ColorChoices.COLOR_GREY ) @@ -434,16 +407,6 @@ class DeviceRole(OrganizationalModel): verbose_name='VM Role', help_text='Virtual machines may be assigned to this role' ) - description = models.CharField( - max_length=200, - blank=True, - ) - - class Meta: - ordering = ['name'] - - def __str__(self): - return self.name def get_absolute_url(self): return reverse('dcim:devicerole', args=[self.pk]) @@ -455,14 +418,6 @@ class Platform(OrganizationalModel): NetBox uses Platforms to determine how to interact with devices when pulling inventory data or other information by specifying a NAPALM driver. """ - name = models.CharField( - max_length=100, - unique=True - ) - slug = models.SlugField( - max_length=100, - unique=True - ) manufacturer = models.ForeignKey( to='dcim.Manufacturer', on_delete=models.PROTECT, @@ -483,16 +438,6 @@ class Platform(OrganizationalModel): verbose_name='NAPALM arguments', help_text='Additional arguments to pass when initiating the NAPALM driver (JSON format)' ) - description = models.CharField( - max_length=200, - blank=True - ) - - class Meta: - ordering = ['name'] - - def __str__(self): - return self.name def get_absolute_url(self): return reverse('dcim:platform', args=[self.pk]) diff --git a/netbox/dcim/models/racks.py b/netbox/dcim/models/racks.py index 6fcd65a19..e61765e69 100644 --- a/netbox/dcim/models/racks.py +++ b/netbox/dcim/models/racks.py @@ -38,27 +38,9 @@ class RackRole(OrganizationalModel): """ Racks can be organized by functional role, similar to Devices. """ - name = models.CharField( - max_length=100, - unique=True - ) - slug = models.SlugField( - max_length=100, - unique=True - ) color = ColorField( default=ColorChoices.COLOR_GREY ) - description = models.CharField( - max_length=200, - blank=True, - ) - - class Meta: - ordering = ['name'] - - def __str__(self): - return self.name def get_absolute_url(self): return reverse('dcim:rackrole', args=[self.pk]) diff --git a/netbox/dcim/models/sites.py b/netbox/dcim/models/sites.py index 9ddadace2..c352b69de 100644 --- a/netbox/dcim/models/sites.py +++ b/netbox/dcim/models/sites.py @@ -2,7 +2,6 @@ from django.contrib.contenttypes.fields import GenericRelation from django.core.exceptions import ValidationError from django.db import models from django.urls import reverse -from mptt.models import TreeForeignKey from timezone_field import TimeZoneField from dcim.choices import * @@ -28,25 +27,6 @@ class Region(NestedGroupModel): states, and/or cities. Regions are recursively nested into a hierarchy: all sites belonging to a child region are also considered to be members of its parent and ancestor region(s). """ - parent = TreeForeignKey( - to='self', - on_delete=models.CASCADE, - related_name='children', - blank=True, - null=True, - db_index=True - ) - name = models.CharField( - max_length=100 - ) - slug = models.SlugField( - max_length=100 - ) - description = models.CharField( - max_length=200, - blank=True - ) - # Generic relations vlan_groups = GenericRelation( to='ipam.VLANGroup', @@ -102,25 +82,6 @@ class SiteGroup(NestedGroupModel): within corporate sites you might distinguish between offices and data centers. Like regions, site groups can be nested recursively to form a hierarchy. """ - parent = TreeForeignKey( - to='self', - on_delete=models.CASCADE, - related_name='children', - blank=True, - null=True, - db_index=True - ) - name = models.CharField( - max_length=100 - ) - slug = models.SlugField( - max_length=100 - ) - description = models.CharField( - max_length=200, - blank=True - ) - # Generic relations vlan_groups = GenericRelation( to='ipam.VLANGroup', @@ -298,25 +259,11 @@ class Location(NestedGroupModel): A Location represents a subgroup of Racks and/or Devices within a Site. A Location may represent a building within a site, or a room within a building, for example. """ - name = models.CharField( - max_length=100 - ) - slug = models.SlugField( - max_length=100 - ) site = models.ForeignKey( to='dcim.Site', on_delete=models.CASCADE, related_name='locations' ) - parent = TreeForeignKey( - to='self', - on_delete=models.CASCADE, - related_name='children', - blank=True, - null=True, - db_index=True - ) status = models.CharField( max_length=50, choices=LocationStatusChoices, @@ -329,10 +276,6 @@ class Location(NestedGroupModel): blank=True, null=True ) - description = models.CharField( - max_length=200, - blank=True - ) # Generic relations vlan_groups = GenericRelation( diff --git a/netbox/ipam/migrations/0001_squashed.py b/netbox/ipam/migrations/0001_squashed.py index b5d68439a..bef36e698 100644 --- a/netbox/ipam/migrations/0001_squashed.py +++ b/netbox/ipam/migrations/0001_squashed.py @@ -91,7 +91,7 @@ class Migration(migrations.Migration): options={ 'verbose_name': 'RIR', 'verbose_name_plural': 'RIRs', - 'ordering': ['name'], + 'ordering': ('name',), }, ), migrations.CreateModel( @@ -107,7 +107,7 @@ class Migration(migrations.Migration): ('description', models.CharField(blank=True, max_length=200)), ], options={ - 'ordering': ['weight', 'name'], + 'ordering': ('weight', 'name'), }, ), migrations.CreateModel( diff --git a/netbox/ipam/models/ip.py b/netbox/ipam/models/ip.py index 456bab4f0..75f90ff54 100644 --- a/netbox/ipam/models/ip.py +++ b/netbox/ipam/models/ip.py @@ -61,32 +61,17 @@ class RIR(OrganizationalModel): A Regional Internet Registry (RIR) is responsible for the allocation of a large portion of the global IP address space. This can be an organization like ARIN or RIPE, or a governing standard such as RFC 1918. """ - name = models.CharField( - max_length=100, - unique=True - ) - slug = models.SlugField( - max_length=100, - unique=True - ) is_private = models.BooleanField( default=False, verbose_name='Private', help_text='IP space managed by this RIR is considered private' ) - description = models.CharField( - max_length=200, - blank=True - ) class Meta: - ordering = ['name'] + ordering = ('name',) verbose_name = 'RIR' verbose_name_plural = 'RIRs' - def __str__(self): - return self.name - def get_absolute_url(self): return reverse('ipam:rir', args=[self.pk]) @@ -265,24 +250,12 @@ class Role(OrganizationalModel): A Role represents the functional role of a Prefix or VLAN; for example, "Customer," "Infrastructure," or "Management." """ - name = models.CharField( - max_length=100, - unique=True - ) - slug = models.SlugField( - max_length=100, - unique=True - ) weight = models.PositiveSmallIntegerField( default=1000 ) - description = models.CharField( - max_length=200, - blank=True, - ) class Meta: - ordering = ['weight', 'name'] + ordering = ('weight', 'name') def __str__(self): return self.name diff --git a/netbox/ipam/models/vlans.py b/netbox/ipam/models/vlans.py index c8c401e1c..e3a4b973b 100644 --- a/netbox/ipam/models/vlans.py +++ b/netbox/ipam/models/vlans.py @@ -83,9 +83,6 @@ class VLANGroup(OrganizationalModel): verbose_name = 'VLAN group' verbose_name_plural = 'VLAN groups' - def __str__(self): - return self.name - def get_absolute_url(self): return reverse('ipam:vlangroup', args=[self.pk]) diff --git a/netbox/netbox/models/__init__.py b/netbox/netbox/models/__init__.py index f4f28030d..38a6fcc9f 100644 --- a/netbox/netbox/models/__init__.py +++ b/netbox/netbox/models/__init__.py @@ -82,6 +82,9 @@ class NestedGroupModel(NetBoxFeatureSet, MPTTModel): name = models.CharField( max_length=100 ) + slug = models.SlugField( + max_length=100 + ) description = models.CharField( max_length=200, blank=True @@ -135,3 +138,6 @@ class OrganizationalModel(NetBoxFeatureSet, models.Model): class Meta: abstract = True ordering = ('name',) + + def __str__(self): + return self.name diff --git a/netbox/tenancy/migrations/0003_contacts.py b/netbox/tenancy/migrations/0003_contacts.py index ba9bef50f..eb247ee29 100644 --- a/netbox/tenancy/migrations/0003_contacts.py +++ b/netbox/tenancy/migrations/0003_contacts.py @@ -26,7 +26,7 @@ class Migration(migrations.Migration): ('description', models.CharField(blank=True, max_length=200)), ], options={ - 'ordering': ['name'], + 'ordering': ('name',), }, ), migrations.CreateModel( diff --git a/netbox/tenancy/models/contacts.py b/netbox/tenancy/models/contacts.py index f2fd09de7..ba937c167 100644 --- a/netbox/tenancy/models/contacts.py +++ b/netbox/tenancy/models/contacts.py @@ -20,25 +20,6 @@ class ContactGroup(NestedGroupModel): """ An arbitrary collection of Contacts. """ - name = models.CharField( - max_length=100 - ) - slug = models.SlugField( - max_length=100 - ) - parent = TreeForeignKey( - to='self', - on_delete=models.CASCADE, - related_name='children', - blank=True, - null=True, - db_index=True - ) - description = models.CharField( - max_length=200, - blank=True - ) - class Meta: ordering = ['name'] constraints = ( @@ -56,25 +37,6 @@ class ContactRole(OrganizationalModel): """ Functional role for a Contact assigned to an object. """ - name = models.CharField( - max_length=100, - unique=True - ) - slug = models.SlugField( - max_length=100, - unique=True - ) - description = models.CharField( - max_length=200, - blank=True, - ) - - class Meta: - ordering = ['name'] - - def __str__(self): - return self.name - def get_absolute_url(self): return reverse('tenancy:contactrole', args=[self.pk]) diff --git a/netbox/tenancy/models/tenants.py b/netbox/tenancy/models/tenants.py index b0ccd1cb2..b76efcbf9 100644 --- a/netbox/tenancy/models/tenants.py +++ b/netbox/tenancy/models/tenants.py @@ -23,18 +23,6 @@ class TenantGroup(NestedGroupModel): max_length=100, unique=True ) - parent = TreeForeignKey( - to='self', - on_delete=models.CASCADE, - related_name='children', - blank=True, - null=True, - db_index=True - ) - description = models.CharField( - max_length=200, - blank=True - ) class Meta: ordering = ['name'] diff --git a/netbox/virtualization/migrations/0001_squashed_0022.py b/netbox/virtualization/migrations/0001_squashed_0022.py index 29eda8a50..2a7894737 100644 --- a/netbox/virtualization/migrations/0001_squashed_0022.py +++ b/netbox/virtualization/migrations/0001_squashed_0022.py @@ -72,7 +72,7 @@ class Migration(migrations.Migration): ('description', models.CharField(blank=True, max_length=200)), ], options={ - 'ordering': ['name'], + 'ordering': ('name',), }, ), migrations.CreateModel( @@ -87,7 +87,7 @@ class Migration(migrations.Migration): ('description', models.CharField(blank=True, max_length=200)), ], options={ - 'ordering': ['name'], + 'ordering': ('name',), }, ), migrations.CreateModel( diff --git a/netbox/virtualization/models.py b/netbox/virtualization/models.py index 4e8645707..b859d25fe 100644 --- a/netbox/virtualization/models.py +++ b/netbox/virtualization/models.py @@ -33,25 +33,6 @@ class ClusterType(OrganizationalModel): """ A type of Cluster. """ - name = models.CharField( - max_length=100, - unique=True - ) - slug = models.SlugField( - max_length=100, - unique=True - ) - description = models.CharField( - max_length=200, - blank=True - ) - - class Meta: - ordering = ['name'] - - def __str__(self): - return self.name - def get_absolute_url(self): return reverse('virtualization:clustertype', args=[self.pk]) @@ -64,19 +45,6 @@ class ClusterGroup(OrganizationalModel): """ An organizational group of Clusters. """ - name = models.CharField( - max_length=100, - unique=True - ) - slug = models.SlugField( - max_length=100, - unique=True - ) - description = models.CharField( - max_length=200, - blank=True - ) - # Generic relations vlan_groups = GenericRelation( to='ipam.VLANGroup', @@ -88,12 +56,6 @@ class ClusterGroup(OrganizationalModel): to='tenancy.ContactAssignment' ) - class Meta: - ordering = ['name'] - - def __str__(self): - return self.name - def get_absolute_url(self): return reverse('virtualization:clustergroup', args=[self.pk]) diff --git a/netbox/wireless/models.py b/netbox/wireless/models.py index 29fe33f4b..ee2744e40 100644 --- a/netbox/wireless/models.py +++ b/netbox/wireless/models.py @@ -54,18 +54,6 @@ class WirelessLANGroup(NestedGroupModel): max_length=100, unique=True ) - parent = TreeForeignKey( - to='self', - on_delete=models.CASCADE, - related_name='children', - blank=True, - null=True, - db_index=True - ) - description = models.CharField( - max_length=200, - blank=True - ) class Meta: ordering = ('name', 'pk') @@ -77,9 +65,6 @@ class WirelessLANGroup(NestedGroupModel): ) verbose_name = 'Wireless LAN Group' - def __str__(self): - return self.name - def get_absolute_url(self): return reverse('wireless:wirelesslangroup', args=[self.pk]) From bc6b5bc4be52e3310a1e1d7ad4bdd40db9ae290a Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Fri, 4 Nov 2022 08:28:09 -0400 Subject: [PATCH 157/162] Closes #10545: Standardize description & comment fields on primary models (#10834) * Standardize description & comments fields on primary models * Update REST API serializers * Update forms * Update tables * Update templates --- docs/release-notes/version-3.4.md | 51 +++++++ netbox/circuits/api/serializers.py | 4 +- netbox/circuits/forms/bulk_edit.py | 6 +- netbox/circuits/forms/bulk_import.py | 2 +- netbox/circuits/forms/model_forms.py | 9 +- .../0041_standardize_description_comments.py | 18 +++ netbox/circuits/models/circuits.py | 11 +- netbox/circuits/models/providers.py | 17 +-- netbox/circuits/tables/providers.py | 4 +- netbox/dcim/api/serializers.py | 41 +++--- netbox/dcim/forms/bulk_edit.py | 131 ++++++++++++++---- netbox/dcim/forms/bulk_import.py | 17 +-- netbox/dcim/forms/model_forms.py | 40 +++--- netbox/dcim/forms/object_import.py | 4 +- .../0165_standardize_description_comments.py | 78 +++++++++++ netbox/dcim/models/cables.py | 6 +- netbox/dcim/models/devices.py | 24 +--- netbox/dcim/models/power.py | 10 +- netbox/dcim/models/racks.py | 9 +- netbox/dcim/models/sites.py | 11 +- netbox/dcim/tables/cables.py | 3 +- netbox/dcim/tables/devices.py | 78 +++++------ netbox/dcim/tables/devicetypes.py | 44 ++---- netbox/dcim/tables/modules.py | 6 +- netbox/dcim/tables/power.py | 6 +- netbox/dcim/tables/racks.py | 9 +- netbox/ipam/api/serializers.py | 39 +++--- netbox/ipam/forms/bulk_edit.py | 90 +++++++++--- netbox/ipam/forms/bulk_import.py | 24 ++-- netbox/ipam/forms/model_forms.py | 50 ++++--- .../0063_standardize_description_comments.py | 73 ++++++++++ netbox/ipam/models/fhrp.py | 8 +- netbox/ipam/models/ip.py | 32 +---- netbox/ipam/models/l2vpn.py | 8 +- netbox/ipam/models/services.py | 10 +- netbox/ipam/models/vlans.py | 14 +- netbox/ipam/models/vrfs.py | 14 +- netbox/ipam/tables/fhrp.py | 4 +- netbox/ipam/tables/ip.py | 26 ++-- netbox/ipam/tables/l2vpn.py | 8 +- netbox/ipam/tables/services.py | 10 +- netbox/ipam/tables/vlans.py | 3 +- netbox/ipam/tables/vrfs.py | 10 +- netbox/netbox/models/__init__.py | 21 ++- netbox/templates/circuits/provider.html | 4 + netbox/templates/dcim/cable.html | 5 + netbox/templates/dcim/cable_edit.html | 23 +-- netbox/templates/dcim/device.html | 6 +- netbox/templates/dcim/device_edit.html | 1 + netbox/templates/dcim/devicetype.html | 4 + netbox/templates/dcim/module.html | 4 + netbox/templates/dcim/moduletype.html | 4 + netbox/templates/dcim/powerfeed.html | 4 + netbox/templates/dcim/powerpanel.html | 41 +++--- netbox/templates/dcim/rack.html | 4 + netbox/templates/dcim/rack_edit.html | 1 + netbox/templates/dcim/rackreservation.html | 1 + netbox/templates/dcim/virtualchassis.html | 7 +- .../templates/dcim/virtualchassis_edit.html | 8 +- netbox/templates/ipam/aggregate.html | 1 + netbox/templates/ipam/asn.html | 1 + netbox/templates/ipam/fhrpgroup.html | 1 + netbox/templates/ipam/fhrpgroup_edit.html | 11 +- netbox/templates/ipam/ipaddress.html | 1 + netbox/templates/ipam/ipaddress_edit.html | 7 + netbox/templates/ipam/iprange.html | 7 +- netbox/templates/ipam/l2vpn.html | 1 + netbox/templates/ipam/prefix.html | 1 + netbox/templates/ipam/routetarget.html | 1 + netbox/templates/ipam/service.html | 7 +- netbox/templates/ipam/service_create.html | 7 + netbox/templates/ipam/service_edit.html | 7 + netbox/templates/ipam/servicetemplate.html | 13 +- netbox/templates/ipam/vlan.html | 7 +- netbox/templates/ipam/vlan_edit.html | 7 + netbox/templates/ipam/vrf.html | 1 + netbox/templates/tenancy/contact.html | 4 + netbox/templates/virtualization/cluster.html | 4 + .../virtualization/virtualmachine.html | 4 + netbox/templates/wireless/wirelesslan.html | 1 + netbox/templates/wireless/wirelesslink.html | 1 + .../templates/wireless/wirelesslink_edit.html | 6 + netbox/tenancy/api/serializers.py | 4 +- netbox/tenancy/forms/bulk_edit.py | 14 +- netbox/tenancy/forms/bulk_import.py | 2 +- netbox/tenancy/forms/model_forms.py | 4 +- .../0009_standardize_description_comments.py | 18 +++ netbox/tenancy/models/contacts.py | 8 +- netbox/tenancy/models/tenants.py | 12 +- netbox/tenancy/tables/contacts.py | 4 +- netbox/virtualization/api/serializers.py | 8 +- netbox/virtualization/forms/bulk_edit.py | 18 ++- netbox/virtualization/forms/bulk_import.py | 4 +- netbox/virtualization/forms/model_forms.py | 10 +- .../0034_standardize_description_comments.py | 23 +++ netbox/virtualization/models.py | 12 +- netbox/virtualization/tables/clusters.py | 4 +- .../virtualization/tables/virtualmachines.py | 4 +- netbox/wireless/api/serializers.py | 4 +- netbox/wireless/forms/bulk_edit.py | 28 ++-- netbox/wireless/forms/bulk_import.py | 7 +- netbox/wireless/forms/model_forms.py | 11 +- .../0007_standardize_description_comments.py | 23 +++ netbox/wireless/models.py | 16 +-- netbox/wireless/tables/wirelesslan.py | 9 +- 105 files changed, 1014 insertions(+), 534 deletions(-) create mode 100644 netbox/circuits/migrations/0041_standardize_description_comments.py create mode 100644 netbox/dcim/migrations/0165_standardize_description_comments.py create mode 100644 netbox/ipam/migrations/0063_standardize_description_comments.py create mode 100644 netbox/tenancy/migrations/0009_standardize_description_comments.py create mode 100644 netbox/virtualization/migrations/0034_standardize_description_comments.py create mode 100644 netbox/wireless/migrations/0007_standardize_description_comments.py diff --git a/docs/release-notes/version-3.4.md b/docs/release-notes/version-3.4.md index cc9fc90d2..158e7a77f 100644 --- a/docs/release-notes/version-3.4.md +++ b/docs/release-notes/version-3.4.md @@ -69,18 +69,69 @@ A new `PluginMenu` class has been introduced, which enables a plugin to inject a * circuits.provider * Removed the `asn`, `noc_contact`, `admin_contact`, and `portal_url` fields + * Added a `description` field +* dcim.Cable + * Added `description` and `comments` fields +* dcim.Device + * Added a `description` field * dcim.DeviceType + * Added a `description` field * Added optional `weight` and `weight_unit` fields +* dcim.Module + * Added a `description` field * dcim.ModuleType + * Added a `description` field * Added optional `weight` and `weight_unit` fields +* dcim.PowerFeed + * Added a `description` field +* dcim.PowerPanel + * Added `description` and `comments` fields * dcim.Rack + * Added a `description` field * Added optional `weight` and `weight_unit` fields +* dcim.RackReservation + * Added a `comments` field +* dcim.VirtualChassis + * Added `description` and `comments` fields * extras.CustomLink * Renamed `content_type` field to `content_types` * extras.ExportTemplate * Renamed `content_type` field to `content_types` +* ipam.Aggregate + * Added a `comments` field +* ipam.ASN + * Added a `comments` field * ipam.FHRPGroup + * Added a `comments` field * Added optional `name` field +* ipam.IPAddress + * Added a `comments` field +* ipam.IPRange + * Added a `comments` field +* ipam.L2VPN + * Added a `comments` field +* ipam.Prefix + * Added a `comments` field +* ipam.RouteTarget + * Added a `comments` field +* ipam.Service + * Added a `comments` field +* ipam.ServiceTemplate + * Added a `comments` field +* ipam.VLAN + * Added a `comments` field +* ipam.VRF + * Added a `comments` field +* tenancy.Contact + * Added a `description` field +* virtualization.Cluster + * Added a `description` field +* virtualization.VirtualMachine + * Added a `description` field +* wireless.WirelessLAN + * Added a `comments` field +* wireless.WirelessLink + * Added a `comments` field ### GraphQL API Changes diff --git a/netbox/circuits/api/serializers.py b/netbox/circuits/api/serializers.py index 4a8e2bd28..2bcb0895a 100644 --- a/netbox/circuits/api/serializers.py +++ b/netbox/circuits/api/serializers.py @@ -31,8 +31,8 @@ class ProviderSerializer(NetBoxModelSerializer): class Meta: model = Provider fields = [ - 'id', 'url', 'display', 'name', 'slug', 'account', - 'comments', 'asns', 'tags', 'custom_fields', 'created', 'last_updated', 'circuit_count', + 'id', 'url', 'display', 'name', 'slug', 'account', 'description', 'comments', 'asns', 'tags', + 'custom_fields', 'created', 'last_updated', 'circuit_count', ] diff --git a/netbox/circuits/forms/bulk_edit.py b/netbox/circuits/forms/bulk_edit.py index 12975b5d6..6e9ae516c 100644 --- a/netbox/circuits/forms/bulk_edit.py +++ b/netbox/circuits/forms/bulk_edit.py @@ -30,6 +30,10 @@ class ProviderBulkEditForm(NetBoxModelBulkEditForm): required=False, label='Account number' ) + description = forms.CharField( + max_length=200, + required=False + ) comments = CommentField( widget=SmallTextarea, label='Comments' @@ -40,7 +44,7 @@ class ProviderBulkEditForm(NetBoxModelBulkEditForm): (None, ('asns', 'account', )), ) nullable_fields = ( - 'asns', 'account', 'comments', + 'asns', 'account', 'description', 'comments', ) diff --git a/netbox/circuits/forms/bulk_import.py b/netbox/circuits/forms/bulk_import.py index 77ebb3de9..d0bdb09a7 100644 --- a/netbox/circuits/forms/bulk_import.py +++ b/netbox/circuits/forms/bulk_import.py @@ -18,7 +18,7 @@ class ProviderCSVForm(NetBoxModelCSVForm): class Meta: model = Provider fields = ( - 'name', 'slug', 'account', 'comments', + 'name', 'slug', 'account', 'description', 'comments', ) diff --git a/netbox/circuits/forms/model_forms.py b/netbox/circuits/forms/model_forms.py index 03c473d62..ab1b6bca2 100644 --- a/netbox/circuits/forms/model_forms.py +++ b/netbox/circuits/forms/model_forms.py @@ -1,4 +1,3 @@ -from django import forms from django.utils.translation import gettext as _ from circuits.models import * @@ -7,8 +6,8 @@ from ipam.models import ASN from netbox.forms import NetBoxModelForm from tenancy.forms import TenancyForm from utilities.forms import ( - BootstrapMixin, CommentField, DatePicker, DynamicModelChoiceField, DynamicModelMultipleChoiceField, - SelectSpeedWidget, SmallTextarea, SlugField, StaticSelect, + CommentField, DatePicker, DynamicModelChoiceField, DynamicModelMultipleChoiceField, SelectSpeedWidget, SlugField, + StaticSelect, ) __all__ = ( @@ -30,14 +29,14 @@ class ProviderForm(NetBoxModelForm): comments = CommentField() fieldsets = ( - ('Provider', ('name', 'slug', 'asns', 'tags')), + ('Provider', ('name', 'slug', 'asns', 'description', 'tags')), ('Support Info', ('account',)), ) class Meta: model = Provider fields = [ - 'name', 'slug', 'account', 'asns', 'comments', 'tags', + 'name', 'slug', 'account', 'asns', 'description', 'comments', 'tags', ] help_texts = { 'name': "Full name of the provider", diff --git a/netbox/circuits/migrations/0041_standardize_description_comments.py b/netbox/circuits/migrations/0041_standardize_description_comments.py new file mode 100644 index 000000000..49cdefcba --- /dev/null +++ b/netbox/circuits/migrations/0041_standardize_description_comments.py @@ -0,0 +1,18 @@ +# Generated by Django 4.1.2 on 2022-11-03 18:24 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('circuits', '0040_provider_remove_deprecated_fields'), + ] + + operations = [ + migrations.AddField( + model_name='provider', + name='description', + field=models.CharField(blank=True, max_length=200), + ), + ] diff --git a/netbox/circuits/models/circuits.py b/netbox/circuits/models/circuits.py index 7100c9796..9d302bb8e 100644 --- a/netbox/circuits/models/circuits.py +++ b/netbox/circuits/models/circuits.py @@ -7,7 +7,7 @@ from django.urls import reverse from circuits.choices import * from dcim.models import CabledObjectModel from netbox.models import ( - ChangeLoggedModel, CustomFieldsMixin, CustomLinksMixin, OrganizationalModel, NetBoxModel, TagsMixin, + ChangeLoggedModel, CustomFieldsMixin, CustomLinksMixin, OrganizationalModel, PrimaryModel, TagsMixin, ) from netbox.models.features import WebhooksMixin @@ -27,7 +27,7 @@ class CircuitType(OrganizationalModel): return reverse('circuits:circuittype', args=[self.pk]) -class Circuit(NetBoxModel): +class Circuit(PrimaryModel): """ A communications circuit connects two points. Each Circuit belongs to a Provider; Providers may have multiple circuits. Each circuit is also assigned a CircuitType and a Site. Circuit port speed and commit rate are measured @@ -73,13 +73,6 @@ class Circuit(NetBoxModel): blank=True, null=True, verbose_name='Commit rate (Kbps)') - description = models.CharField( - max_length=200, - blank=True - ) - comments = models.TextField( - blank=True - ) # Generic relations contacts = GenericRelation( diff --git a/netbox/circuits/models/providers.py b/netbox/circuits/models/providers.py index bd63ff0c6..18a81dcef 100644 --- a/netbox/circuits/models/providers.py +++ b/netbox/circuits/models/providers.py @@ -2,8 +2,7 @@ from django.contrib.contenttypes.fields import GenericRelation from django.db import models from django.urls import reverse -from dcim.fields import ASNField -from netbox.models import NetBoxModel +from netbox.models import PrimaryModel __all__ = ( 'ProviderNetwork', @@ -11,7 +10,7 @@ __all__ = ( ) -class Provider(NetBoxModel): +class Provider(PrimaryModel): """ Each Circuit belongs to a Provider. This is usually a telecommunications company or similar organization. This model stores information pertinent to the user's relationship with the Provider. @@ -34,9 +33,6 @@ class Provider(NetBoxModel): blank=True, verbose_name='Account number' ) - comments = models.TextField( - blank=True - ) # Generic relations contacts = GenericRelation( @@ -57,7 +53,7 @@ class Provider(NetBoxModel): return reverse('circuits:provider', args=[self.pk]) -class ProviderNetwork(NetBoxModel): +class ProviderNetwork(PrimaryModel): """ This represents a provider network which exists outside of NetBox, the details of which are unknown or unimportant to the user. @@ -75,13 +71,6 @@ class ProviderNetwork(NetBoxModel): blank=True, verbose_name='Service ID' ) - description = models.CharField( - max_length=200, - blank=True - ) - comments = models.TextField( - blank=True - ) class Meta: ordering = ('provider', 'name') diff --git a/netbox/circuits/tables/providers.py b/netbox/circuits/tables/providers.py index a117274ff..9de8d25b2 100644 --- a/netbox/circuits/tables/providers.py +++ b/netbox/circuits/tables/providers.py @@ -39,8 +39,8 @@ class ProviderTable(ContactsColumnMixin, NetBoxTable): class Meta(NetBoxTable.Meta): model = Provider fields = ( - 'pk', 'id', 'name', 'asns', 'account', 'asn_count', - 'circuit_count', 'comments', 'contacts', 'tags', 'created', 'last_updated', + 'pk', 'id', 'name', 'asns', 'account', 'asn_count', 'circuit_count', 'description', 'comments', 'contacts', + 'tags', 'created', 'last_updated', ) default_columns = ('pk', 'name', 'account', 'circuit_count') diff --git a/netbox/dcim/api/serializers.py b/netbox/dcim/api/serializers.py index 19de84791..9317d7c51 100644 --- a/netbox/dcim/api/serializers.py +++ b/netbox/dcim/api/serializers.py @@ -210,8 +210,8 @@ class RackSerializer(NetBoxModelSerializer): fields = [ 'id', 'url', 'display', 'name', 'facility_id', 'site', 'location', 'tenant', 'status', 'role', 'serial', 'asset_tag', 'type', 'width', 'u_height', 'weight', 'weight_unit', 'desc_units', 'outer_width', - 'outer_depth', 'outer_unit', 'mounting_depth', 'comments', 'tags', 'custom_fields', 'created', - 'last_updated', 'device_count', 'powerfeed_count', + 'outer_depth', 'outer_unit', 'mounting_depth', 'description', 'comments', 'tags', 'custom_fields', + 'created', 'last_updated', 'device_count', 'powerfeed_count', ] @@ -243,8 +243,8 @@ class RackReservationSerializer(NetBoxModelSerializer): class Meta: model = RackReservation fields = [ - 'id', 'url', 'display', 'rack', 'units', 'created', 'last_updated', 'user', 'tenant', 'description', 'tags', - 'custom_fields', + 'id', 'url', 'display', 'rack', 'units', 'created', 'last_updated', 'user', 'tenant', 'description', + 'comments', 'tags', 'custom_fields', ] @@ -324,8 +324,8 @@ class DeviceTypeSerializer(NetBoxModelSerializer): model = DeviceType fields = [ 'id', 'url', 'display', 'manufacturer', 'model', 'slug', 'part_number', 'u_height', 'is_full_depth', - 'subdevice_role', 'airflow', 'weight', 'weight_unit', 'front_image', 'rear_image', 'comments', 'tags', - 'custom_fields', 'created', 'last_updated', 'device_count', + 'subdevice_role', 'airflow', 'weight', 'weight_unit', 'front_image', 'rear_image', 'description', + 'comments', 'tags', 'custom_fields', 'created', 'last_updated', 'device_count', ] @@ -333,13 +333,12 @@ class ModuleTypeSerializer(NetBoxModelSerializer): url = serializers.HyperlinkedIdentityField(view_name='dcim-api:moduletype-detail') manufacturer = NestedManufacturerSerializer() weight_unit = ChoiceField(choices=WeightUnitChoices, allow_blank=True, required=False) - # module_count = serializers.IntegerField(read_only=True) class Meta: model = ModuleType fields = [ - 'id', 'url', 'display', 'manufacturer', 'model', 'part_number', 'weight', 'weight_unit', 'comments', 'tags', - 'custom_fields', 'created', 'last_updated', + 'id', 'url', 'display', 'manufacturer', 'model', 'part_number', 'weight', 'weight_unit', 'description', + 'comments', 'tags', 'custom_fields', 'created', 'last_updated', ] @@ -656,8 +655,8 @@ class DeviceSerializer(NetBoxModelSerializer): fields = [ 'id', 'url', 'display', 'name', 'device_type', 'device_role', 'tenant', 'platform', 'serial', 'asset_tag', 'site', 'location', 'rack', 'position', 'face', 'parent_device', 'status', 'airflow', 'primary_ip', - 'primary_ip4', 'primary_ip6', 'cluster', 'virtual_chassis', 'vc_position', 'vc_priority', 'comments', - 'local_context_data', 'tags', 'custom_fields', 'created', 'last_updated', + 'primary_ip4', 'primary_ip6', 'cluster', 'virtual_chassis', 'vc_position', 'vc_priority', 'description', + 'comments', 'local_context_data', 'tags', 'custom_fields', 'created', 'last_updated', ] @swagger_serializer_method(serializer_or_field=NestedDeviceSerializer) @@ -681,8 +680,8 @@ class ModuleSerializer(NetBoxModelSerializer): class Meta: model = Module fields = [ - 'id', 'url', 'display', 'device', 'module_bay', 'module_type', 'serial', 'asset_tag', 'comments', 'tags', - 'custom_fields', 'created', 'last_updated', + 'id', 'url', 'display', 'device', 'module_bay', 'module_type', 'serial', 'asset_tag', 'description', + 'comments', 'tags', 'custom_fields', 'created', 'last_updated', ] @@ -1020,7 +1019,7 @@ class CableSerializer(NetBoxModelSerializer): model = Cable fields = [ 'id', 'url', 'display', 'type', 'a_terminations', 'b_terminations', 'status', 'tenant', 'label', 'color', - 'length', 'length_unit', 'tags', 'custom_fields', 'created', 'last_updated', + 'length', 'length_unit', 'description', 'comments', 'tags', 'custom_fields', 'created', 'last_updated', ] @@ -1086,8 +1085,8 @@ class VirtualChassisSerializer(NetBoxModelSerializer): class Meta: model = VirtualChassis fields = [ - 'id', 'url', 'display', 'name', 'domain', 'master', 'tags', 'custom_fields', 'member_count', - 'created', 'last_updated', + 'id', 'url', 'display', 'name', 'domain', 'master', 'description', 'comments', 'tags', 'custom_fields', + 'member_count', 'created', 'last_updated', ] @@ -1108,8 +1107,8 @@ class PowerPanelSerializer(NetBoxModelSerializer): class Meta: model = PowerPanel fields = [ - 'id', 'url', 'display', 'site', 'location', 'name', 'tags', 'custom_fields', 'powerfeed_count', - 'created', 'last_updated', + 'id', 'url', 'display', 'site', 'location', 'name', 'description', 'comments', 'tags', 'custom_fields', + 'powerfeed_count', 'created', 'last_updated', ] @@ -1142,7 +1141,7 @@ class PowerFeedSerializer(NetBoxModelSerializer, CabledObjectSerializer, Connect model = PowerFeed fields = [ 'id', 'url', 'display', 'power_panel', 'rack', 'name', 'status', 'type', 'supply', 'phase', 'voltage', - 'amperage', 'max_utilization', 'comments', 'mark_connected', 'cable', 'cable_end', 'link_peers', - 'link_peers_type', 'connected_endpoints', 'connected_endpoints_type', 'connected_endpoints_reachable', - 'tags', 'custom_fields', 'created', 'last_updated', '_occupied', + 'amperage', 'max_utilization', 'mark_connected', 'cable', 'cable_end', 'link_peers', 'link_peers_type', + 'connected_endpoints', 'connected_endpoints_type', 'connected_endpoints_reachable', 'description', + 'comments', 'tags', 'custom_fields', 'created', 'last_updated', '_occupied', ] diff --git a/netbox/dcim/forms/bulk_edit.py b/netbox/dcim/forms/bulk_edit.py index e3b69dc81..1e58dd2f7 100644 --- a/netbox/dcim/forms/bulk_edit.py +++ b/netbox/dcim/forms/bulk_edit.py @@ -127,22 +127,26 @@ class SiteBulkEditForm(NetBoxModelBulkEditForm): required=False, label='Contact E-mail' ) - description = forms.CharField( - max_length=100, - required=False - ) time_zone = TimeZoneFormField( choices=add_blank_choice(TimeZoneFormField().choices), required=False, widget=StaticSelect() ) + description = forms.CharField( + max_length=200, + required=False + ) + comments = CommentField( + widget=SmallTextarea, + label='Comments' + ) model = Site fieldsets = ( (None, ('status', 'region', 'group', 'tenant', 'asns', 'time_zone', 'description')), ) nullable_fields = ( - 'region', 'group', 'tenant', 'asns', 'description', 'time_zone', + 'region', 'group', 'tenant', 'asns', 'time_zone', 'description', 'comments', ) @@ -285,10 +289,6 @@ class RackBulkEditForm(NetBoxModelBulkEditForm): required=False, min_value=1 ) - comments = CommentField( - widget=SmallTextarea, - label='Comments' - ) weight = forms.DecimalField( min_value=0, required=False @@ -299,10 +299,18 @@ class RackBulkEditForm(NetBoxModelBulkEditForm): initial='', widget=StaticSelect() ) + description = forms.CharField( + max_length=200, + required=False + ) + comments = CommentField( + widget=SmallTextarea, + label='Comments' + ) model = Rack fieldsets = ( - ('Rack', ('status', 'role', 'tenant', 'serial', 'asset_tag')), + ('Rack', ('status', 'role', 'tenant', 'serial', 'asset_tag', 'description')), ('Location', ('region', 'site_group', 'site', 'location')), ('Hardware', ( 'type', 'width', 'u_height', 'desc_units', 'outer_width', 'outer_depth', 'outer_unit', 'mounting_depth', @@ -310,8 +318,8 @@ class RackBulkEditForm(NetBoxModelBulkEditForm): ('Weight', ('weight', 'weight_unit')), ) nullable_fields = ( - 'location', 'tenant', 'role', 'serial', 'asset_tag', 'outer_width', 'outer_depth', 'outer_unit', 'comments', - 'weight', 'weight_unit' + 'location', 'tenant', 'role', 'serial', 'asset_tag', 'outer_width', 'outer_depth', 'outer_unit', 'weight', + 'weight_unit', 'description', 'comments', ) @@ -328,14 +336,19 @@ class RackReservationBulkEditForm(NetBoxModelBulkEditForm): required=False ) description = forms.CharField( - max_length=100, + max_length=200, required=False ) + comments = CommentField( + widget=SmallTextarea, + label='Comments' + ) model = RackReservation fieldsets = ( (None, ('user', 'tenant', 'description')), ) + nullable_fields = ('comments',) class ManufacturerBulkEditForm(NetBoxModelBulkEditForm): @@ -383,13 +396,21 @@ class DeviceTypeBulkEditForm(NetBoxModelBulkEditForm): initial='', widget=StaticSelect() ) + description = forms.CharField( + max_length=200, + required=False + ) + comments = CommentField( + widget=SmallTextarea, + label='Comments' + ) model = DeviceType fieldsets = ( - ('Device Type', ('manufacturer', 'part_number', 'u_height', 'is_full_depth', 'airflow')), + ('Device Type', ('manufacturer', 'part_number', 'u_height', 'is_full_depth', 'airflow', 'description')), ('Weight', ('weight', 'weight_unit')), ) - nullable_fields = ('part_number', 'airflow', 'weight', 'weight_unit') + nullable_fields = ('part_number', 'airflow', 'weight', 'weight_unit', 'description', 'comments') class ModuleTypeBulkEditForm(NetBoxModelBulkEditForm): @@ -410,13 +431,21 @@ class ModuleTypeBulkEditForm(NetBoxModelBulkEditForm): initial='', widget=StaticSelect() ) + description = forms.CharField( + max_length=200, + required=False + ) + comments = CommentField( + widget=SmallTextarea, + label='Comments' + ) model = ModuleType fieldsets = ( - ('Module Type', ('manufacturer', 'part_number')), + ('Module Type', ('manufacturer', 'part_number', 'description')), ('Weight', ('weight', 'weight_unit')), ) - nullable_fields = ('part_number', 'weight', 'weight_unit') + nullable_fields = ('part_number', 'weight', 'weight_unit', 'description', 'comments') class DeviceRoleBulkEditForm(NetBoxModelBulkEditForm): @@ -512,15 +541,23 @@ class DeviceBulkEditForm(NetBoxModelBulkEditForm): required=False, label='Serial Number' ) + description = forms.CharField( + max_length=200, + required=False + ) + comments = CommentField( + widget=SmallTextarea, + label='Comments' + ) model = Device fieldsets = ( - ('Device', ('device_role', 'status', 'tenant', 'platform')), + ('Device', ('device_role', 'status', 'tenant', 'platform', 'description')), ('Location', ('site', 'location')), ('Hardware', ('manufacturer', 'device_type', 'airflow', 'serial')), ) nullable_fields = ( - 'location', 'tenant', 'platform', 'serial', 'airflow', + 'location', 'tenant', 'platform', 'serial', 'airflow', 'description', 'comments', ) @@ -541,12 +578,20 @@ class ModuleBulkEditForm(NetBoxModelBulkEditForm): required=False, label='Serial Number' ) + description = forms.CharField( + max_length=200, + required=False + ) + comments = CommentField( + widget=SmallTextarea, + label='Comments' + ) model = Module fieldsets = ( - (None, ('manufacturer', 'module_type', 'serial')), + (None, ('manufacturer', 'module_type', 'serial', 'description')), ) - nullable_fields = ('serial',) + nullable_fields = ('serial', 'description', 'comments') class CableBulkEditForm(NetBoxModelBulkEditForm): @@ -583,14 +628,22 @@ class CableBulkEditForm(NetBoxModelBulkEditForm): initial='', widget=StaticSelect() ) + description = forms.CharField( + max_length=200, + required=False + ) + comments = CommentField( + widget=SmallTextarea, + label='Comments' + ) model = Cable fieldsets = ( - (None, ('type', 'status', 'tenant', 'label')), + (None, ('type', 'status', 'tenant', 'label', 'description')), ('Attributes', ('color', 'length', 'length_unit')), ) nullable_fields = ( - 'type', 'status', 'tenant', 'label', 'color', 'length', + 'type', 'status', 'tenant', 'label', 'color', 'length', 'description', 'comments', ) @@ -599,12 +652,20 @@ class VirtualChassisBulkEditForm(NetBoxModelBulkEditForm): max_length=30, required=False ) + description = forms.CharField( + max_length=200, + required=False + ) + comments = CommentField( + widget=SmallTextarea, + label='Comments' + ) model = VirtualChassis fieldsets = ( - (None, ('domain',)), + (None, ('domain', 'description')), ) - nullable_fields = ('domain',) + nullable_fields = ('domain', 'description', 'comments') class PowerPanelBulkEditForm(NetBoxModelBulkEditForm): @@ -637,12 +698,20 @@ class PowerPanelBulkEditForm(NetBoxModelBulkEditForm): 'site_id': '$site' } ) + description = forms.CharField( + max_length=200, + required=False + ) + comments = CommentField( + widget=SmallTextarea, + label='Comments' + ) model = PowerPanel fieldsets = ( - (None, ('region', 'site_group', 'site', 'location')), + (None, ('region', 'site_group', 'site', 'location', 'description')), ) - nullable_fields = ('location',) + nullable_fields = ('location', 'description', 'comments') class PowerFeedBulkEditForm(NetBoxModelBulkEditForm): @@ -691,6 +760,10 @@ class PowerFeedBulkEditForm(NetBoxModelBulkEditForm): required=False, widget=BulkEditNullBooleanSelect ) + description = forms.CharField( + max_length=200, + required=False + ) comments = CommentField( widget=SmallTextarea, label='Comments' @@ -698,10 +771,10 @@ class PowerFeedBulkEditForm(NetBoxModelBulkEditForm): model = PowerFeed fieldsets = ( - (None, ('power_panel', 'rack', 'status', 'type', 'mark_connected')), + (None, ('power_panel', 'rack', 'status', 'type', 'mark_connected', 'description')), ('Power', ('supply', 'phase', 'voltage', 'amperage', 'max_utilization')) ) - nullable_fields = ('location', 'comments') + nullable_fields = ('location', 'description', 'comments') # diff --git a/netbox/dcim/forms/bulk_import.py b/netbox/dcim/forms/bulk_import.py index 13e788e75..4c90c9c02 100644 --- a/netbox/dcim/forms/bulk_import.py +++ b/netbox/dcim/forms/bulk_import.py @@ -196,7 +196,8 @@ class RackCSVForm(NetBoxModelCSVForm): model = Rack fields = ( 'site', 'location', 'name', 'facility_id', 'tenant', 'status', 'role', 'type', 'serial', 'asset_tag', - 'width', 'u_height', 'desc_units', 'outer_width', 'outer_depth', 'outer_unit', 'mounting_depth', 'comments', + 'width', 'u_height', 'desc_units', 'outer_width', 'outer_depth', 'outer_unit', 'mounting_depth', + 'description', 'comments', ) def __init__(self, data=None, *args, **kwargs): @@ -240,7 +241,7 @@ class RackReservationCSVForm(NetBoxModelCSVForm): class Meta: model = RackReservation - fields = ('site', 'location', 'rack', 'units', 'tenant', 'description') + fields = ('site', 'location', 'rack', 'units', 'tenant', 'description', 'comments') def __init__(self, data=None, *args, **kwargs): super().__init__(data, *args, **kwargs) @@ -387,7 +388,7 @@ class DeviceCSVForm(BaseDeviceCSVForm): fields = [ 'name', 'device_role', 'tenant', 'manufacturer', 'device_type', 'platform', 'serial', 'asset_tag', 'status', 'site', 'location', 'rack', 'position', 'face', 'airflow', 'virtual_chassis', 'vc_position', 'vc_priority', - 'cluster', 'comments', + 'cluster', 'description', 'comments', ] def __init__(self, data=None, *args, **kwargs): @@ -424,7 +425,7 @@ class ModuleCSVForm(NetBoxModelCSVForm): class Meta: model = Module fields = ( - 'device', 'module_bay', 'module_type', 'serial', 'asset_tag', 'comments', + 'device', 'module_bay', 'module_type', 'serial', 'asset_tag', 'description', 'comments', ) def __init__(self, data=None, *args, **kwargs): @@ -927,7 +928,7 @@ class CableCSVForm(NetBoxModelCSVForm): model = Cable fields = [ 'side_a_device', 'side_a_type', 'side_a_name', 'side_b_device', 'side_b_type', 'side_b_name', 'type', - 'status', 'tenant', 'label', 'color', 'length', 'length_unit', + 'status', 'tenant', 'label', 'color', 'length', 'length_unit', 'description', 'comments', ] help_texts = { 'color': mark_safe('RGB color in hexadecimal (e.g. 00ff00)'), @@ -984,7 +985,7 @@ class VirtualChassisCSVForm(NetBoxModelCSVForm): class Meta: model = VirtualChassis - fields = ('name', 'domain', 'master') + fields = ('name', 'domain', 'master', 'description') # @@ -1005,7 +1006,7 @@ class PowerPanelCSVForm(NetBoxModelCSVForm): class Meta: model = PowerPanel - fields = ('site', 'location', 'name') + fields = ('site', 'location', 'name', 'description', 'comments') def __init__(self, data=None, *args, **kwargs): super().__init__(data, *args, **kwargs) @@ -1061,7 +1062,7 @@ class PowerFeedCSVForm(NetBoxModelCSVForm): model = PowerFeed fields = ( 'site', 'power_panel', 'location', 'rack', 'name', 'status', 'type', 'mark_connected', 'supply', 'phase', - 'voltage', 'amperage', 'max_utilization', 'comments', + 'voltage', 'amperage', 'max_utilization', 'description', 'comments', ) def __init__(self, data=None, *args, **kwargs): diff --git a/netbox/dcim/forms/model_forms.py b/netbox/dcim/forms/model_forms.py index 0da2f3430..539c48709 100644 --- a/netbox/dcim/forms/model_forms.py +++ b/netbox/dcim/forms/model_forms.py @@ -278,7 +278,7 @@ class RackForm(TenancyForm, NetBoxModelForm): fields = [ 'region', 'site_group', 'site', 'location', 'name', 'facility_id', 'tenant_group', 'tenant', 'status', 'role', 'serial', 'asset_tag', 'type', 'width', 'u_height', 'desc_units', 'outer_width', 'outer_depth', - 'outer_unit', 'mounting_depth', 'weight', 'weight_unit', 'comments', 'tags', + 'outer_unit', 'mounting_depth', 'weight', 'weight_unit', 'description', 'comments', 'tags', ] help_texts = { 'site': "The site at which the rack exists", @@ -342,6 +342,7 @@ class RackReservationForm(TenancyForm, NetBoxModelForm): ), widget=StaticSelect() ) + comments = CommentField() fieldsets = ( ('Reservation', ('region', 'site_group', 'site', 'location', 'rack', 'units', 'user', 'description', 'tags')), @@ -352,7 +353,7 @@ class RackReservationForm(TenancyForm, NetBoxModelForm): model = RackReservation fields = [ 'region', 'site_group', 'site', 'location', 'rack', 'units', 'user', 'tenant_group', 'tenant', - 'description', 'tags', + 'description', 'comments', 'tags', ] @@ -383,10 +384,10 @@ class DeviceTypeForm(NetBoxModelForm): fieldsets = ( ('Device Type', ( - 'manufacturer', 'model', 'slug', 'part_number', 'tags', + 'manufacturer', 'model', 'slug', 'description', 'tags', )), ('Chassis', ( - 'u_height', 'is_full_depth', 'subdevice_role', 'airflow', + 'u_height', 'is_full_depth', 'part_number', 'subdevice_role', 'airflow', )), ('Attributes', ('weight', 'weight_unit')), ('Images', ('front_image', 'rear_image')), @@ -396,7 +397,7 @@ class DeviceTypeForm(NetBoxModelForm): model = DeviceType fields = [ 'manufacturer', 'model', 'slug', 'part_number', 'u_height', 'is_full_depth', 'subdevice_role', 'airflow', - 'weight', 'weight_unit', 'front_image', 'rear_image', 'comments', 'tags', + 'weight', 'weight_unit', 'front_image', 'rear_image', 'description', 'comments', 'tags', ] widgets = { 'airflow': StaticSelect(), @@ -418,15 +419,14 @@ class ModuleTypeForm(NetBoxModelForm): comments = CommentField() fieldsets = ( - ('Module Type', ( - 'manufacturer', 'model', 'part_number', 'tags', 'weight', 'weight_unit' - )), + ('Module Type', ('manufacturer', 'model', 'part_number', 'description', 'tags')), + ('Weight', ('weight', 'weight_unit')) ) class Meta: model = ModuleType fields = [ - 'manufacturer', 'model', 'part_number', 'weight', 'weight_unit', 'comments', 'tags', + 'manufacturer', 'model', 'part_number', 'weight', 'weight_unit', 'description', 'comments', 'tags', ] widgets = { @@ -591,7 +591,7 @@ class DeviceForm(TenancyForm, NetBoxModelForm): 'name', 'device_role', 'device_type', 'serial', 'asset_tag', 'region', 'site_group', 'site', 'rack', 'location', 'position', 'face', 'status', 'airflow', 'platform', 'primary_ip4', 'primary_ip6', 'cluster_group', 'cluster', 'tenant_group', 'tenant', 'virtual_chassis', 'vc_position', 'vc_priority', - 'comments', 'tags', 'local_context_data' + 'description', 'comments', 'tags', 'local_context_data' ] help_texts = { 'device_role': "The function this device serves", @@ -705,7 +705,7 @@ class ModuleForm(NetBoxModelForm): fieldsets = ( ('Module', ( - 'device', 'module_bay', 'manufacturer', 'module_type', 'tags', + 'device', 'module_bay', 'manufacturer', 'module_type', 'description', 'tags', )), ('Hardware', ( 'serial', 'asset_tag', 'replicate_components', 'adopt_components', @@ -716,7 +716,7 @@ class ModuleForm(NetBoxModelForm): model = Module fields = [ 'device', 'module_bay', 'manufacturer', 'module_type', 'serial', 'asset_tag', 'tags', - 'replicate_components', 'adopt_components', 'comments', + 'replicate_components', 'adopt_components', 'description', 'comments', ] def __init__(self, *args, **kwargs): @@ -793,11 +793,13 @@ class ModuleForm(NetBoxModelForm): class CableForm(TenancyForm, NetBoxModelForm): + comments = CommentField() class Meta: model = Cable fields = [ - 'type', 'status', 'tenant_group', 'tenant', 'label', 'color', 'length', 'length_unit', 'tags', + 'type', 'status', 'tenant_group', 'tenant', 'label', 'color', 'length', 'length_unit', 'description', + 'comments', 'tags', ] widgets = { 'status': StaticSelect, @@ -840,15 +842,16 @@ class PowerPanelForm(NetBoxModelForm): 'site_id': '$site' } ) + comments = CommentField() fieldsets = ( - ('Power Panel', ('region', 'site_group', 'site', 'location', 'name', 'tags')), + ('Power Panel', ('region', 'site_group', 'site', 'location', 'name', 'description', 'tags')), ) class Meta: model = PowerPanel fields = [ - 'region', 'site_group', 'site', 'location', 'name', 'tags', + 'region', 'site_group', 'site', 'location', 'name', 'description', 'comments', 'tags', ] @@ -894,7 +897,7 @@ class PowerFeedForm(NetBoxModelForm): comments = CommentField() fieldsets = ( - ('Power Panel', ('region', 'site', 'power_panel')), + ('Power Panel', ('region', 'site', 'power_panel', 'description')), ('Power Feed', ('rack', 'name', 'status', 'type', 'mark_connected', 'tags')), ('Characteristics', ('supply', 'voltage', 'amperage', 'phase', 'max_utilization')), ) @@ -903,7 +906,7 @@ class PowerFeedForm(NetBoxModelForm): model = PowerFeed fields = [ 'region', 'site_group', 'site', 'power_panel', 'rack', 'name', 'status', 'type', 'mark_connected', 'supply', - 'phase', 'voltage', 'amperage', 'max_utilization', 'comments', 'tags', + 'phase', 'voltage', 'amperage', 'max_utilization', 'description', 'comments', 'tags', ] widgets = { 'status': StaticSelect(), @@ -922,11 +925,12 @@ class VirtualChassisForm(NetBoxModelForm): queryset=Device.objects.all(), required=False, ) + comments = CommentField() class Meta: model = VirtualChassis fields = [ - 'name', 'domain', 'master', 'tags', + 'name', 'domain', 'master', 'description', 'comments', 'tags', ] widgets = { 'master': SelectWithPK(), diff --git a/netbox/dcim/forms/object_import.py b/netbox/dcim/forms/object_import.py index 023aba8f1..82ee093dd 100644 --- a/netbox/dcim/forms/object_import.py +++ b/netbox/dcim/forms/object_import.py @@ -30,7 +30,7 @@ class DeviceTypeImportForm(BootstrapMixin, forms.ModelForm): model = DeviceType fields = [ 'manufacturer', 'model', 'slug', 'part_number', 'u_height', 'is_full_depth', 'subdevice_role', 'airflow', - 'comments', + 'description', 'comments', ] @@ -42,7 +42,7 @@ class ModuleTypeImportForm(BootstrapMixin, forms.ModelForm): class Meta: model = ModuleType - fields = ['manufacturer', 'model', 'part_number', 'comments'] + fields = ['manufacturer', 'model', 'part_number', 'description', 'comments'] # diff --git a/netbox/dcim/migrations/0165_standardize_description_comments.py b/netbox/dcim/migrations/0165_standardize_description_comments.py new file mode 100644 index 000000000..f17f1d321 --- /dev/null +++ b/netbox/dcim/migrations/0165_standardize_description_comments.py @@ -0,0 +1,78 @@ +# Generated by Django 4.1.2 on 2022-11-03 18:24 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('dcim', '0164_rack_mounting_depth'), + ] + + operations = [ + migrations.AddField( + model_name='cable', + name='comments', + field=models.TextField(blank=True), + ), + migrations.AddField( + model_name='cable', + name='description', + field=models.CharField(blank=True, max_length=200), + ), + migrations.AddField( + model_name='device', + name='description', + field=models.CharField(blank=True, max_length=200), + ), + migrations.AddField( + model_name='devicetype', + name='description', + field=models.CharField(blank=True, max_length=200), + ), + migrations.AddField( + model_name='module', + name='description', + field=models.CharField(blank=True, max_length=200), + ), + migrations.AddField( + model_name='moduletype', + name='description', + field=models.CharField(blank=True, max_length=200), + ), + migrations.AddField( + model_name='powerfeed', + name='description', + field=models.CharField(blank=True, max_length=200), + ), + migrations.AddField( + model_name='powerpanel', + name='comments', + field=models.TextField(blank=True), + ), + migrations.AddField( + model_name='powerpanel', + name='description', + field=models.CharField(blank=True, max_length=200), + ), + migrations.AddField( + model_name='rack', + name='description', + field=models.CharField(blank=True, max_length=200), + ), + migrations.AddField( + model_name='rackreservation', + name='comments', + field=models.TextField(blank=True), + ), + migrations.AddField( + model_name='virtualchassis', + name='comments', + field=models.TextField(blank=True), + ), + migrations.AddField( + model_name='virtualchassis', + name='description', + field=models.CharField(blank=True, max_length=200), + ), + ] diff --git a/netbox/dcim/models/cables.py b/netbox/dcim/models/cables.py index fad3e8bd6..c51b59f94 100644 --- a/netbox/dcim/models/cables.py +++ b/netbox/dcim/models/cables.py @@ -12,8 +12,8 @@ from django.urls import reverse from dcim.choices import * from dcim.constants import * from dcim.fields import PathField -from dcim.utils import decompile_path_node, object_to_path_node, path_node_to_object -from netbox.models import NetBoxModel +from dcim.utils import decompile_path_node, object_to_path_node +from netbox.models import PrimaryModel from utilities.fields import ColorField from utilities.querysets import RestrictedQuerySet from utilities.utils import to_meters @@ -34,7 +34,7 @@ trace_paths = Signal() # Cables # -class Cable(NetBoxModel): +class Cable(PrimaryModel): """ A physical connection between two endpoints. """ diff --git a/netbox/dcim/models/devices.py b/netbox/dcim/models/devices.py index 3710bf7f4..78282f893 100644 --- a/netbox/dcim/models/devices.py +++ b/netbox/dcim/models/devices.py @@ -18,7 +18,7 @@ from dcim.constants import * from extras.models import ConfigContextModel from extras.querysets import ConfigContextModelQuerySet from netbox.config import ConfigItem -from netbox.models import OrganizationalModel, NetBoxModel +from netbox.models import OrganizationalModel, PrimaryModel from utilities.choices import ColorChoices from utilities.fields import ColorField, NaturalOrderingField from .device_components import * @@ -54,7 +54,7 @@ class Manufacturer(OrganizationalModel): return reverse('dcim:manufacturer', args=[self.pk]) -class DeviceType(NetBoxModel, WeightMixin): +class DeviceType(PrimaryModel, WeightMixin): """ A DeviceType represents a particular make (Manufacturer) and model of device. It specifies rack height and depth, as well as high-level functional role(s). @@ -117,9 +117,6 @@ class DeviceType(NetBoxModel, WeightMixin): upload_to='devicetype-images', blank=True ) - comments = models.TextField( - blank=True - ) clone_fields = ( 'manufacturer', 'u_height', 'is_full_depth', 'subdevice_role', 'airflow', 'weight', 'weight_unit', @@ -298,7 +295,7 @@ class DeviceType(NetBoxModel, WeightMixin): return self.subdevice_role == SubdeviceRoleChoices.ROLE_CHILD -class ModuleType(NetBoxModel, WeightMixin): +class ModuleType(PrimaryModel, WeightMixin): """ A ModuleType represents a hardware element that can be installed within a device and which houses additional components; for example, a line card within a chassis-based switch such as the Cisco Catalyst 6500. Like a @@ -318,9 +315,6 @@ class ModuleType(NetBoxModel, WeightMixin): blank=True, help_text='Discrete part number (optional)' ) - comments = models.TextField( - blank=True - ) # Generic relations images = GenericRelation( @@ -443,7 +437,7 @@ class Platform(OrganizationalModel): return reverse('dcim:platform', args=[self.pk]) -class Device(NetBoxModel, ConfigContextModel): +class Device(PrimaryModel, ConfigContextModel): """ A Device represents a piece of physical hardware mounted within a Rack. Each Device is assigned a DeviceType, DeviceRole, and (optionally) a Platform. Device names are not required, however if one is set it must be unique. @@ -587,9 +581,6 @@ class Device(NetBoxModel, ConfigContextModel): null=True, validators=[MaxValueValidator(255)] ) - comments = models.TextField( - blank=True - ) # Generic relations contacts = GenericRelation( @@ -906,7 +897,7 @@ class Device(NetBoxModel, ConfigContextModel): return round(total_weight / 1000, 2) -class Module(NetBoxModel, ConfigContextModel): +class Module(PrimaryModel, ConfigContextModel): """ A Module represents a field-installable component within a Device which may itself hold multiple device components (for example, a line card within a chassis switch). Modules are instantiated from ModuleTypes. @@ -939,9 +930,6 @@ class Module(NetBoxModel, ConfigContextModel): verbose_name='Asset tag', help_text='A unique tag used to identify this device' ) - comments = models.TextField( - blank=True - ) clone_fields = ('device', 'module_type') @@ -1019,7 +1007,7 @@ class Module(NetBoxModel, ConfigContextModel): # Virtual chassis # -class VirtualChassis(NetBoxModel): +class VirtualChassis(PrimaryModel): """ A collection of Devices which operate with a shared control plane (e.g. a switch stack). """ diff --git a/netbox/dcim/models/power.py b/netbox/dcim/models/power.py index 39f0f37ef..e79cf4c44 100644 --- a/netbox/dcim/models/power.py +++ b/netbox/dcim/models/power.py @@ -6,9 +6,8 @@ from django.db import models from django.urls import reverse from dcim.choices import * -from dcim.constants import * from netbox.config import ConfigItem -from netbox.models import NetBoxModel +from netbox.models import PrimaryModel from utilities.validators import ExclusionValidator from .device_components import CabledObjectModel, PathEndpoint @@ -22,7 +21,7 @@ __all__ = ( # Power # -class PowerPanel(NetBoxModel): +class PowerPanel(PrimaryModel): """ A distribution point for electrical power; e.g. a data center RPP. """ @@ -77,7 +76,7 @@ class PowerPanel(NetBoxModel): ) -class PowerFeed(NetBoxModel, PathEndpoint, CabledObjectModel): +class PowerFeed(PrimaryModel, PathEndpoint, CabledObjectModel): """ An electrical circuit delivered from a PowerPanel. """ @@ -132,9 +131,6 @@ class PowerFeed(NetBoxModel, PathEndpoint, CabledObjectModel): default=0, editable=False ) - comments = models.TextField( - blank=True - ) clone_fields = ( 'power_panel', 'rack', 'status', 'type', 'mark_connected', 'supply', 'phase', 'voltage', 'amperage', diff --git a/netbox/dcim/models/racks.py b/netbox/dcim/models/racks.py index e61765e69..e37fc8dc3 100644 --- a/netbox/dcim/models/racks.py +++ b/netbox/dcim/models/racks.py @@ -14,7 +14,7 @@ from django.urls import reverse from dcim.choices import * from dcim.constants import * from dcim.svg import RackElevationSVG -from netbox.models import OrganizationalModel, NetBoxModel +from netbox.models import OrganizationalModel, PrimaryModel from utilities.choices import ColorChoices from utilities.fields import ColorField, NaturalOrderingField from utilities.utils import array_to_string, drange @@ -46,7 +46,7 @@ class RackRole(OrganizationalModel): return reverse('dcim:rackrole', args=[self.pk]) -class Rack(NetBoxModel, WeightMixin): +class Rack(PrimaryModel, WeightMixin): """ Devices are housed within Racks. Each rack has a defined height measured in rack units, and a front and rear face. Each Rack is assigned to a Site and (optionally) a Location. @@ -157,9 +157,6 @@ class Rack(NetBoxModel, WeightMixin): 'distance between the front and rear rails.' ) ) - comments = models.TextField( - blank=True - ) # Generic relations vlan_groups = GenericRelation( @@ -463,7 +460,7 @@ class Rack(NetBoxModel, WeightMixin): return round(total_weight / 1000, 2) -class RackReservation(NetBoxModel): +class RackReservation(PrimaryModel): """ One or more reserved units within a Rack. """ diff --git a/netbox/dcim/models/sites.py b/netbox/dcim/models/sites.py index c352b69de..c760119fb 100644 --- a/netbox/dcim/models/sites.py +++ b/netbox/dcim/models/sites.py @@ -6,7 +6,7 @@ from timezone_field import TimeZoneField from dcim.choices import * from dcim.constants import * -from netbox.models import NestedGroupModel, NetBoxModel +from netbox.models import NestedGroupModel, PrimaryModel from utilities.fields import NaturalOrderingField __all__ = ( @@ -131,7 +131,7 @@ class SiteGroup(NestedGroupModel): # Sites # -class Site(NetBoxModel): +class Site(PrimaryModel): """ A Site represents a geographic location within a network; typically a building or campus. The optional facility field can be used to include an external designation, such as a data center name (e.g. Equinix SV6). @@ -188,10 +188,6 @@ class Site(NetBoxModel): time_zone = TimeZoneField( blank=True ) - description = models.CharField( - max_length=200, - blank=True - ) physical_address = models.CharField( max_length=200, blank=True @@ -214,9 +210,6 @@ class Site(NetBoxModel): null=True, help_text='GPS coordinate (longitude)' ) - comments = models.TextField( - blank=True - ) # Generic relations vlan_groups = GenericRelation( diff --git a/netbox/dcim/tables/cables.py b/netbox/dcim/tables/cables.py index e5410e42a..6e9d49719 100644 --- a/netbox/dcim/tables/cables.py +++ b/netbox/dcim/tables/cables.py @@ -111,6 +111,7 @@ class CableTable(TenancyColumnsMixin, NetBoxTable): order_by=('_abs_length', 'length_unit') ) color = columns.ColorColumn() + comments = columns.MarkdownColumn() tags = columns.TagColumn( url_name='dcim:cable_list' ) @@ -120,7 +121,7 @@ class CableTable(TenancyColumnsMixin, NetBoxTable): fields = ( 'pk', 'id', 'label', 'a_terminations', 'b_terminations', 'device_a', 'device_b', 'rack_a', 'rack_b', 'location_a', 'location_b', 'site_a', 'site_b', 'status', 'type', 'tenant', 'tenant_group', 'color', - 'length', 'tags', 'created', 'last_updated', + 'length', 'description', 'comments', 'tags', 'created', 'last_updated', ) default_columns = ( 'pk', 'id', 'label', 'a_terminations', 'b_terminations', 'status', 'type', diff --git a/netbox/dcim/tables/devices.py b/netbox/dcim/tables/devices.py index 3b129c963..45a210080 100644 --- a/netbox/dcim/tables/devices.py +++ b/netbox/dcim/tables/devices.py @@ -1,21 +1,5 @@ import django_tables2 as tables -from dcim.models import ( - ConsolePort, - ConsoleServerPort, - Device, - DeviceBay, - DeviceRole, - FrontPort, - Interface, - InventoryItem, - InventoryItemRole, - ModuleBay, - Platform, - PowerOutlet, - PowerPort, - RearPort, - VirtualChassis, -) +from dcim import models from django_tables2.utils import Accessor from tenancy.tables import ContactsColumnMixin, TenancyColumnsMixin @@ -106,7 +90,7 @@ class DeviceRoleTable(NetBoxTable): ) class Meta(NetBoxTable.Meta): - model = DeviceRole + model = models.DeviceRole fields = ( 'pk', 'id', 'name', 'device_count', 'vm_count', 'color', 'vm_role', 'description', 'slug', 'tags', 'actions', 'created', 'last_updated', @@ -137,7 +121,7 @@ class PlatformTable(NetBoxTable): ) class Meta(NetBoxTable.Meta): - model = Platform + model = models.Platform fields = ( 'pk', 'id', 'name', 'manufacturer', 'device_count', 'vm_count', 'slug', 'napalm_driver', 'napalm_args', 'description', 'tags', 'actions', 'created', 'last_updated', @@ -220,12 +204,12 @@ class DeviceTable(TenancyColumnsMixin, ContactsColumnMixin, NetBoxTable): ) class Meta(NetBoxTable.Meta): - model = Device + model = models.Device fields = ( 'pk', 'id', 'name', 'status', 'tenant', 'tenant_group', 'device_role', 'manufacturer', 'device_type', 'platform', 'serial', 'asset_tag', 'region', 'site_group', 'site', 'location', 'rack', 'position', 'face', 'airflow', 'primary_ip', 'primary_ip4', 'primary_ip6', 'cluster', 'virtual_chassis', 'vc_position', - 'vc_priority', 'comments', 'contacts', 'tags', 'created', 'last_updated', + 'vc_priority', 'description', 'comments', 'contacts', 'tags', 'created', 'last_updated', ) default_columns = ( 'pk', 'name', 'status', 'tenant', 'site', 'location', 'rack', 'device_role', 'manufacturer', 'device_type', @@ -252,7 +236,7 @@ class DeviceImportTable(TenancyColumnsMixin, NetBoxTable): ) class Meta(NetBoxTable.Meta): - model = Device + model = models.Device fields = ('id', 'name', 'status', 'tenant', 'tenant_group', 'site', 'rack', 'position', 'device_role', 'device_type') empty_text = False @@ -326,7 +310,7 @@ class ConsolePortTable(ModularDeviceComponentTable, PathEndpointTable): ) class Meta(DeviceComponentTable.Meta): - model = ConsolePort + model = models.ConsolePort fields = ( 'pk', 'id', 'name', 'device', 'module_bay', 'module', 'label', 'type', 'speed', 'description', 'mark_connected', 'cable', 'cable_color', 'link_peer', 'connection', 'tags', 'created', 'last_updated', @@ -345,7 +329,7 @@ class DeviceConsolePortTable(ConsolePortTable): ) class Meta(DeviceComponentTable.Meta): - model = ConsolePort + model = models.ConsolePort fields = ( 'pk', 'id', 'name', 'module_bay', 'module', 'label', 'type', 'speed', 'description', 'mark_connected', 'cable', 'cable_color', 'link_peer', 'connection', 'tags', 'actions' @@ -368,7 +352,7 @@ class ConsoleServerPortTable(ModularDeviceComponentTable, PathEndpointTable): ) class Meta(DeviceComponentTable.Meta): - model = ConsoleServerPort + model = models.ConsoleServerPort fields = ( 'pk', 'id', 'name', 'device', 'module_bay', 'module', 'label', 'type', 'speed', 'description', 'mark_connected', 'cable', 'cable_color', 'link_peer', 'connection', 'tags', 'created', 'last_updated', @@ -388,7 +372,7 @@ class DeviceConsoleServerPortTable(ConsoleServerPortTable): ) class Meta(DeviceComponentTable.Meta): - model = ConsoleServerPort + model = models.ConsoleServerPort fields = ( 'pk', 'id', 'name', 'module_bay', 'module', 'label', 'type', 'speed', 'description', 'mark_connected', 'cable', 'cable_color', 'link_peer', 'connection', 'tags', 'actions', @@ -411,7 +395,7 @@ class PowerPortTable(ModularDeviceComponentTable, PathEndpointTable): ) class Meta(DeviceComponentTable.Meta): - model = PowerPort + model = models.PowerPort fields = ( 'pk', 'id', 'name', 'device', 'module_bay', 'module', 'label', 'type', 'description', 'mark_connected', 'maximum_draw', 'allocated_draw', 'cable', 'cable_color', 'link_peer', 'connection', 'tags', 'created', @@ -432,7 +416,7 @@ class DevicePowerPortTable(PowerPortTable): ) class Meta(DeviceComponentTable.Meta): - model = PowerPort + model = models.PowerPort fields = ( 'pk', 'id', 'name', 'module_bay', 'module', 'label', 'type', 'maximum_draw', 'allocated_draw', 'description', 'mark_connected', 'cable', 'cable_color', 'link_peer', 'connection', 'tags', 'actions', @@ -460,7 +444,7 @@ class PowerOutletTable(ModularDeviceComponentTable, PathEndpointTable): ) class Meta(DeviceComponentTable.Meta): - model = PowerOutlet + model = models.PowerOutlet fields = ( 'pk', 'id', 'name', 'device', 'module_bay', 'module', 'label', 'type', 'description', 'power_port', 'feed_leg', 'mark_connected', 'cable', 'cable_color', 'link_peer', 'connection', 'tags', 'created', @@ -480,7 +464,7 @@ class DevicePowerOutletTable(PowerOutletTable): ) class Meta(DeviceComponentTable.Meta): - model = PowerOutlet + model = models.PowerOutlet fields = ( 'pk', 'id', 'name', 'module_bay', 'module', 'label', 'type', 'power_port', 'feed_leg', 'description', 'mark_connected', 'cable', 'cable_color', 'link_peer', 'connection', 'tags', 'actions', @@ -544,7 +528,7 @@ class InterfaceTable(ModularDeviceComponentTable, BaseInterfaceTable, PathEndpoi ) class Meta(DeviceComponentTable.Meta): - model = Interface + model = models.Interface fields = ( 'pk', 'id', 'name', 'device', 'module_bay', 'module', 'label', 'enabled', 'type', 'mgmt_only', 'mtu', 'speed', 'duplex', 'mode', 'mac_address', 'wwn', 'poe_mode', 'poe_type', 'rf_role', 'rf_channel', @@ -578,7 +562,7 @@ class DeviceInterfaceTable(InterfaceTable): ) class Meta(DeviceComponentTable.Meta): - model = Interface + model = models.Interface fields = ( 'pk', 'id', 'name', 'module_bay', 'module', 'label', 'enabled', 'type', 'parent', 'bridge', 'lag', 'mgmt_only', 'mtu', 'mode', 'mac_address', 'wwn', 'rf_role', 'rf_channel', 'rf_channel_frequency', @@ -617,7 +601,7 @@ class FrontPortTable(ModularDeviceComponentTable, CableTerminationTable): ) class Meta(DeviceComponentTable.Meta): - model = FrontPort + model = models.FrontPort fields = ( 'pk', 'id', 'name', 'device', 'module_bay', 'module', 'label', 'type', 'color', 'rear_port', 'rear_port_position', 'description', 'mark_connected', 'cable', 'cable_color', 'link_peer', 'tags', @@ -640,7 +624,7 @@ class DeviceFrontPortTable(FrontPortTable): ) class Meta(DeviceComponentTable.Meta): - model = FrontPort + model = models.FrontPort fields = ( 'pk', 'id', 'name', 'module_bay', 'module', 'label', 'type', 'rear_port', 'rear_port_position', 'description', 'mark_connected', 'cable', 'cable_color', 'link_peer', 'tags', 'actions', @@ -666,7 +650,7 @@ class RearPortTable(ModularDeviceComponentTable, CableTerminationTable): ) class Meta(DeviceComponentTable.Meta): - model = RearPort + model = models.RearPort fields = ( 'pk', 'id', 'name', 'device', 'module_bay', 'module', 'label', 'type', 'color', 'positions', 'description', 'mark_connected', 'cable', 'cable_color', 'link_peer', 'tags', 'created', 'last_updated', @@ -686,7 +670,7 @@ class DeviceRearPortTable(RearPortTable): ) class Meta(DeviceComponentTable.Meta): - model = RearPort + model = models.RearPort fields = ( 'pk', 'id', 'name', 'module_bay', 'module', 'label', 'type', 'positions', 'description', 'mark_connected', 'cable', 'cable_color', 'link_peer', 'tags', 'actions', @@ -727,7 +711,7 @@ class DeviceBayTable(DeviceComponentTable): ) class Meta(DeviceComponentTable.Meta): - model = DeviceBay + model = models.DeviceBay fields = ( 'pk', 'id', 'name', 'device', 'label', 'status', 'device_role', 'device_type', 'installed_device', 'description', 'tags', 'created', 'last_updated', @@ -748,7 +732,7 @@ class DeviceDeviceBayTable(DeviceBayTable): ) class Meta(DeviceComponentTable.Meta): - model = DeviceBay + model = models.DeviceBay fields = ( 'pk', 'id', 'name', 'label', 'status', 'installed_device', 'description', 'tags', 'actions', ) @@ -777,7 +761,7 @@ class ModuleBayTable(DeviceComponentTable): ) class Meta(DeviceComponentTable.Meta): - model = ModuleBay + model = models.ModuleBay fields = ( 'pk', 'id', 'name', 'device', 'label', 'position', 'installed_module', 'module_serial', 'module_asset_tag', 'description', 'tags', @@ -791,7 +775,7 @@ class DeviceModuleBayTable(ModuleBayTable): ) class Meta(DeviceComponentTable.Meta): - model = ModuleBay + model = models.ModuleBay fields = ( 'pk', 'id', 'name', 'label', 'position', 'installed_module', 'module_serial', 'module_asset_tag', 'description', 'tags', 'actions', @@ -821,7 +805,7 @@ class InventoryItemTable(DeviceComponentTable): cable = None # Override DeviceComponentTable class Meta(NetBoxTable.Meta): - model = InventoryItem + model = models.InventoryItem fields = ( 'pk', 'id', 'name', 'device', 'component', 'label', 'role', 'manufacturer', 'part_id', 'serial', 'asset_tag', 'description', 'discovered', 'tags', 'created', 'last_updated', @@ -840,7 +824,7 @@ class DeviceInventoryItemTable(InventoryItemTable): ) class Meta(NetBoxTable.Meta): - model = InventoryItem + model = models.InventoryItem fields = ( 'pk', 'id', 'name', 'label', 'role', 'manufacturer', 'part_id', 'serial', 'asset_tag', 'component', 'description', 'discovered', 'tags', 'actions', @@ -865,7 +849,7 @@ class InventoryItemRoleTable(NetBoxTable): ) class Meta(NetBoxTable.Meta): - model = InventoryItemRole + model = models.InventoryItemRole fields = ( 'pk', 'id', 'name', 'inventoryitem_count', 'color', 'description', 'slug', 'tags', 'actions', ) @@ -888,11 +872,15 @@ class VirtualChassisTable(NetBoxTable): url_params={'virtual_chassis_id': 'pk'}, verbose_name='Members' ) + comments = columns.MarkdownColumn() tags = columns.TagColumn( url_name='dcim:virtualchassis_list' ) class Meta(NetBoxTable.Meta): - model = VirtualChassis - fields = ('pk', 'id', 'name', 'domain', 'master', 'member_count', 'tags', 'created', 'last_updated',) + model = models.VirtualChassis + fields = ( + 'pk', 'id', 'name', 'domain', 'master', 'member_count', 'description', 'comments', 'tags', 'created', + 'last_updated', + ) default_columns = ('pk', 'name', 'domain', 'master', 'member_count') diff --git a/netbox/dcim/tables/devicetypes.py b/netbox/dcim/tables/devicetypes.py index 19b04c70d..a52d41b70 100644 --- a/netbox/dcim/tables/devicetypes.py +++ b/netbox/dcim/tables/devicetypes.py @@ -1,19 +1,6 @@ import django_tables2 as tables -from dcim.models import ( - ConsolePortTemplate, - ConsoleServerPortTemplate, - DeviceBayTemplate, - DeviceType, - FrontPortTemplate, - InterfaceTemplate, - InventoryItemTemplate, - Manufacturer, - ModuleBayTemplate, - PowerOutletTemplate, - PowerPortTemplate, - RearPortTemplate, -) +from dcim import models from netbox.tables import NetBoxTable, columns from tenancy.tables import ContactsColumnMixin from .template_code import MODULAR_COMPONENT_TEMPLATE_BUTTONS, DEVICE_WEIGHT @@ -59,7 +46,7 @@ class ManufacturerTable(ContactsColumnMixin, NetBoxTable): ) class Meta(NetBoxTable.Meta): - model = Manufacturer + model = models.Manufacturer fields = ( 'pk', 'id', 'name', 'devicetype_count', 'inventoryitem_count', 'platform_count', 'description', 'slug', 'contacts', 'actions', 'created', 'last_updated', @@ -100,15 +87,12 @@ class DeviceTypeTable(NetBoxTable): template_code=DEVICE_WEIGHT, order_by=('_abs_weight', 'weight_unit') ) - u_height = columns.TemplateColumn( - template_code='{{ value|floatformat }}' - ) class Meta(NetBoxTable.Meta): - model = DeviceType + model = models.DeviceType fields = ( 'pk', 'id', 'model', 'manufacturer', 'slug', 'part_number', 'u_height', 'is_full_depth', 'subdevice_role', - 'airflow', 'weight', 'comments', 'instance_count', 'tags', 'created', 'last_updated', + 'airflow', 'weight', 'description', 'comments', 'instance_count', 'tags', 'created', 'last_updated', ) default_columns = ( 'pk', 'model', 'manufacturer', 'part_number', 'u_height', 'is_full_depth', 'instance_count', @@ -138,7 +122,7 @@ class ConsolePortTemplateTable(ComponentTemplateTable): ) class Meta(ComponentTemplateTable.Meta): - model = ConsolePortTemplate + model = models.ConsolePortTemplate fields = ('pk', 'name', 'label', 'type', 'description', 'actions') empty_text = "None" @@ -150,7 +134,7 @@ class ConsoleServerPortTemplateTable(ComponentTemplateTable): ) class Meta(ComponentTemplateTable.Meta): - model = ConsoleServerPortTemplate + model = models.ConsoleServerPortTemplate fields = ('pk', 'name', 'label', 'type', 'description', 'actions') empty_text = "None" @@ -162,7 +146,7 @@ class PowerPortTemplateTable(ComponentTemplateTable): ) class Meta(ComponentTemplateTable.Meta): - model = PowerPortTemplate + model = models.PowerPortTemplate fields = ('pk', 'name', 'label', 'type', 'maximum_draw', 'allocated_draw', 'description', 'actions') empty_text = "None" @@ -174,7 +158,7 @@ class PowerOutletTemplateTable(ComponentTemplateTable): ) class Meta(ComponentTemplateTable.Meta): - model = PowerOutletTemplate + model = models.PowerOutletTemplate fields = ('pk', 'name', 'label', 'type', 'power_port', 'feed_leg', 'description', 'actions') empty_text = "None" @@ -189,7 +173,7 @@ class InterfaceTemplateTable(ComponentTemplateTable): ) class Meta(ComponentTemplateTable.Meta): - model = InterfaceTemplate + model = models.InterfaceTemplate fields = ('pk', 'name', 'label', 'mgmt_only', 'type', 'description', 'poe_mode', 'poe_type', 'actions') empty_text = "None" @@ -205,7 +189,7 @@ class FrontPortTemplateTable(ComponentTemplateTable): ) class Meta(ComponentTemplateTable.Meta): - model = FrontPortTemplate + model = models.FrontPortTemplate fields = ('pk', 'name', 'label', 'type', 'color', 'rear_port', 'rear_port_position', 'description', 'actions') empty_text = "None" @@ -218,7 +202,7 @@ class RearPortTemplateTable(ComponentTemplateTable): ) class Meta(ComponentTemplateTable.Meta): - model = RearPortTemplate + model = models.RearPortTemplate fields = ('pk', 'name', 'label', 'type', 'color', 'positions', 'description', 'actions') empty_text = "None" @@ -229,7 +213,7 @@ class ModuleBayTemplateTable(ComponentTemplateTable): ) class Meta(ComponentTemplateTable.Meta): - model = ModuleBayTemplate + model = models.ModuleBayTemplate fields = ('pk', 'name', 'label', 'position', 'description', 'actions') empty_text = "None" @@ -240,7 +224,7 @@ class DeviceBayTemplateTable(ComponentTemplateTable): ) class Meta(ComponentTemplateTable.Meta): - model = DeviceBayTemplate + model = models.DeviceBayTemplate fields = ('pk', 'name', 'label', 'description', 'actions') empty_text = "None" @@ -260,7 +244,7 @@ class InventoryItemTemplateTable(ComponentTemplateTable): ) class Meta(ComponentTemplateTable.Meta): - model = InventoryItemTemplate + model = models.InventoryItemTemplate fields = ( 'pk', 'name', 'label', 'parent', 'role', 'manufacturer', 'part_id', 'component', 'description', 'actions', ) diff --git a/netbox/dcim/tables/modules.py b/netbox/dcim/tables/modules.py index b644e6ba6..9df26eb73 100644 --- a/netbox/dcim/tables/modules.py +++ b/netbox/dcim/tables/modules.py @@ -35,7 +35,7 @@ class ModuleTypeTable(NetBoxTable): class Meta(NetBoxTable.Meta): model = ModuleType fields = ( - 'pk', 'id', 'model', 'manufacturer', 'part_number', 'weight', 'comments', 'tags', + 'pk', 'id', 'model', 'manufacturer', 'part_number', 'weight', 'description', 'comments', 'tags', ) default_columns = ( 'pk', 'model', 'manufacturer', 'part_number', @@ -64,8 +64,8 @@ class ModuleTable(NetBoxTable): class Meta(NetBoxTable.Meta): model = Module fields = ( - 'pk', 'id', 'device', 'module_bay', 'manufacturer', 'module_type', 'serial', 'asset_tag', 'comments', - 'tags', + 'pk', 'id', 'device', 'module_bay', 'manufacturer', 'module_type', 'serial', 'asset_tag', 'description', + 'comments', 'tags', ) default_columns = ( 'pk', 'id', 'device', 'module_bay', 'manufacturer', 'module_type', 'serial', 'asset_tag', diff --git a/netbox/dcim/tables/power.py b/netbox/dcim/tables/power.py index 04012ea4a..feff29e12 100644 --- a/netbox/dcim/tables/power.py +++ b/netbox/dcim/tables/power.py @@ -31,6 +31,7 @@ class PowerPanelTable(ContactsColumnMixin, NetBoxTable): url_params={'power_panel_id': 'pk'}, verbose_name='Feeds' ) + comments = columns.MarkdownColumn() tags = columns.TagColumn( url_name='dcim:powerpanel_list' ) @@ -38,7 +39,8 @@ class PowerPanelTable(ContactsColumnMixin, NetBoxTable): class Meta(NetBoxTable.Meta): model = PowerPanel fields = ( - 'pk', 'id', 'name', 'site', 'location', 'powerfeed_count', 'contacts', 'tags', 'created', 'last_updated', + 'pk', 'id', 'name', 'site', 'location', 'powerfeed_count', 'contacts', 'description', 'comments', 'tags', + 'created', 'last_updated', ) default_columns = ('pk', 'name', 'site', 'location', 'powerfeed_count') @@ -77,7 +79,7 @@ class PowerFeedTable(CableTerminationTable): fields = ( 'pk', 'id', 'name', 'power_panel', 'rack', 'status', 'type', 'supply', 'voltage', 'amperage', 'phase', 'max_utilization', 'mark_connected', 'cable', 'cable_color', 'link_peer', 'connection', 'available_power', - 'comments', 'tags', 'created', 'last_updated', + 'description', 'comments', 'tags', 'created', 'last_updated', ) default_columns = ( 'pk', 'name', 'power_panel', 'rack', 'status', 'type', 'supply', 'voltage', 'amperage', 'phase', 'cable', diff --git a/netbox/dcim/tables/racks.py b/netbox/dcim/tables/racks.py index 1a355cc2a..b360002d2 100644 --- a/netbox/dcim/tables/racks.py +++ b/netbox/dcim/tables/racks.py @@ -90,8 +90,8 @@ class RackTable(TenancyColumnsMixin, ContactsColumnMixin, NetBoxTable): fields = ( 'pk', 'id', 'name', 'site', 'location', 'status', 'facility_id', 'tenant', 'tenant_group', 'role', 'serial', 'asset_tag', 'type', 'u_height', 'width', 'outer_width', 'outer_depth', 'mounting_depth', 'weight', - 'comments', 'device_count', 'get_utilization', 'get_power_utilization', 'contacts', 'tags', 'created', - 'last_updated', + 'comments', 'device_count', 'get_utilization', 'get_power_utilization', 'description', 'contacts', 'tags', + 'created', 'last_updated', ) default_columns = ( 'pk', 'name', 'site', 'location', 'status', 'facility_id', 'tenant', 'role', 'u_height', 'device_count', @@ -123,6 +123,7 @@ class RackReservationTable(TenancyColumnsMixin, NetBoxTable): orderable=False, verbose_name='Units' ) + comments = columns.MarkdownColumn() tags = columns.TagColumn( url_name='dcim:rackreservation_list' ) @@ -130,7 +131,7 @@ class RackReservationTable(TenancyColumnsMixin, NetBoxTable): class Meta(NetBoxTable.Meta): model = RackReservation fields = ( - 'pk', 'id', 'reservation', 'site', 'location', 'rack', 'unit_list', 'user', 'created', 'tenant', 'tenant_group', 'description', 'tags', - 'actions', 'created', 'last_updated', + 'pk', 'id', 'reservation', 'site', 'location', 'rack', 'unit_list', 'user', 'created', 'tenant', + 'tenant_group', 'description', 'comments', 'tags', 'actions', 'created', 'last_updated', ) default_columns = ('pk', 'reservation', 'site', 'rack', 'unit_list', 'user', 'description') diff --git a/netbox/ipam/api/serializers.py b/netbox/ipam/api/serializers.py index e04849c13..6ec062aee 100644 --- a/netbox/ipam/api/serializers.py +++ b/netbox/ipam/api/serializers.py @@ -31,8 +31,8 @@ class ASNSerializer(NetBoxModelSerializer): class Meta: model = ASN fields = [ - 'id', 'url', 'display', 'asn', 'rir', 'tenant', 'description', 'site_count', 'provider_count', 'tags', - 'custom_fields', 'created', 'last_updated', + 'id', 'url', 'display', 'asn', 'rir', 'tenant', 'description', 'comments', 'tags', 'custom_fields', + 'created', 'last_updated', 'site_count', 'provider_count', ] @@ -61,8 +61,9 @@ class VRFSerializer(NetBoxModelSerializer): class Meta: model = VRF fields = [ - 'id', 'url', 'display', 'name', 'rd', 'tenant', 'enforce_unique', 'description', 'import_targets', - 'export_targets', 'tags', 'custom_fields', 'created', 'last_updated', 'ipaddress_count', 'prefix_count', + 'id', 'url', 'display', 'name', 'rd', 'tenant', 'enforce_unique', 'description', 'comments', + 'import_targets', 'export_targets', 'tags', 'custom_fields', 'created', 'last_updated', 'ipaddress_count', + 'prefix_count', ] @@ -77,7 +78,8 @@ class RouteTargetSerializer(NetBoxModelSerializer): class Meta: model = RouteTarget fields = [ - 'id', 'url', 'display', 'name', 'tenant', 'description', 'tags', 'custom_fields', 'created', 'last_updated', + 'id', 'url', 'display', 'name', 'tenant', 'description', 'comments', 'tags', 'custom_fields', 'created', + 'last_updated', ] @@ -106,8 +108,8 @@ class AggregateSerializer(NetBoxModelSerializer): class Meta: model = Aggregate fields = [ - 'id', 'url', 'display', 'family', 'prefix', 'rir', 'tenant', 'date_added', 'description', 'tags', - 'custom_fields', 'created', 'last_updated', + 'id', 'url', 'display', 'family', 'prefix', 'rir', 'tenant', 'date_added', 'description', 'comments', + 'tags', 'custom_fields', 'created', 'last_updated', ] read_only_fields = ['family'] @@ -123,8 +125,8 @@ class FHRPGroupSerializer(NetBoxModelSerializer): class Meta: model = FHRPGroup fields = [ - 'id', 'name', 'url', 'display', 'protocol', 'group_id', 'auth_type', 'auth_key', 'description', 'ip_addresses', - 'tags', 'custom_fields', 'created', 'last_updated', + 'id', 'name', 'url', 'display', 'protocol', 'group_id', 'auth_type', 'auth_key', 'description', 'comments', + 'tags', 'custom_fields', 'created', 'last_updated', 'ip_addresses', ] @@ -215,7 +217,7 @@ class VLANSerializer(NetBoxModelSerializer): model = VLAN fields = [ 'id', 'url', 'display', 'site', 'group', 'vid', 'name', 'tenant', 'status', 'role', 'description', - 'l2vpn_termination', 'tags', 'custom_fields', 'created', 'last_updated', 'prefix_count', + 'comments', 'l2vpn_termination', 'tags', 'custom_fields', 'created', 'last_updated', 'prefix_count', ] @@ -273,7 +275,8 @@ class PrefixSerializer(NetBoxModelSerializer): model = Prefix fields = [ 'id', 'url', 'display', 'family', 'prefix', 'site', 'vrf', 'tenant', 'vlan', 'status', 'role', 'is_pool', - 'mark_utilized', 'description', 'tags', 'custom_fields', 'created', 'last_updated', 'children', '_depth', + 'mark_utilized', 'description', 'comments', 'tags', 'custom_fields', 'created', 'last_updated', 'children', + '_depth', ] read_only_fields = ['family'] @@ -342,7 +345,7 @@ class IPRangeSerializer(NetBoxModelSerializer): model = IPRange fields = [ 'id', 'url', 'display', 'family', 'start_address', 'end_address', 'size', 'vrf', 'tenant', 'status', 'role', - 'description', 'tags', 'custom_fields', 'created', 'last_updated', 'children', + 'description', 'comments', 'tags', 'custom_fields', 'created', 'last_updated', 'children', ] read_only_fields = ['family'] @@ -371,8 +374,8 @@ class IPAddressSerializer(NetBoxModelSerializer): model = IPAddress fields = [ 'id', 'url', 'display', 'family', 'address', 'vrf', 'tenant', 'status', 'role', 'assigned_object_type', - 'assigned_object_id', 'assigned_object', 'nat_inside', 'nat_outside', 'dns_name', 'description', 'tags', - 'custom_fields', 'created', 'last_updated', + 'assigned_object_id', 'assigned_object', 'nat_inside', 'nat_outside', 'dns_name', 'description', 'comments', + 'tags', 'custom_fields', 'created', 'last_updated', ] @swagger_serializer_method(serializer_or_field=serializers.JSONField) @@ -415,8 +418,8 @@ class ServiceTemplateSerializer(NetBoxModelSerializer): class Meta: model = ServiceTemplate fields = [ - 'id', 'url', 'display', 'name', 'ports', 'protocol', 'description', 'tags', 'custom_fields', 'created', - 'last_updated', + 'id', 'url', 'display', 'name', 'ports', 'protocol', 'description', 'comments', 'tags', 'custom_fields', + 'created', 'last_updated', ] @@ -436,7 +439,7 @@ class ServiceSerializer(NetBoxModelSerializer): model = Service fields = [ 'id', 'url', 'display', 'device', 'virtual_machine', 'name', 'ports', 'protocol', 'ipaddresses', - 'description', 'tags', 'custom_fields', 'created', 'last_updated', + 'description', 'comments', 'tags', 'custom_fields', 'created', 'last_updated', ] # @@ -465,7 +468,7 @@ class L2VPNSerializer(NetBoxModelSerializer): model = L2VPN fields = [ 'id', 'url', 'display', 'identifier', 'name', 'slug', 'type', 'import_targets', 'export_targets', - 'description', 'tenant', 'tags', 'custom_fields', 'created', 'last_updated' + 'description', 'comments', 'tenant', 'tags', 'custom_fields', 'created', 'last_updated' ] diff --git a/netbox/ipam/forms/bulk_edit.py b/netbox/ipam/forms/bulk_edit.py index 67bcf83fb..ed1d1d9e9 100644 --- a/netbox/ipam/forms/bulk_edit.py +++ b/netbox/ipam/forms/bulk_edit.py @@ -8,8 +8,8 @@ from ipam.models import ASN from netbox.forms import NetBoxModelBulkEditForm from tenancy.models import Tenant from utilities.forms import ( - add_blank_choice, BulkEditNullBooleanSelect, DynamicModelChoiceField, NumericArrayField, StaticSelect, - DynamicModelMultipleChoiceField, + add_blank_choice, BulkEditNullBooleanSelect, CommentField, DynamicModelChoiceField, NumericArrayField, + SmallTextarea, StaticSelect, DynamicModelMultipleChoiceField, ) __all__ = ( @@ -43,15 +43,19 @@ class VRFBulkEditForm(NetBoxModelBulkEditForm): label='Enforce unique space' ) description = forms.CharField( - max_length=100, + max_length=200, required=False ) + comments = CommentField( + widget=SmallTextarea, + label='Comments' + ) model = VRF fieldsets = ( (None, ('tenant', 'enforce_unique', 'description')), ) - nullable_fields = ('tenant', 'description') + nullable_fields = ('tenant', 'description', 'comments') class RouteTargetBulkEditForm(NetBoxModelBulkEditForm): @@ -63,12 +67,16 @@ class RouteTargetBulkEditForm(NetBoxModelBulkEditForm): max_length=200, required=False ) + comments = CommentField( + widget=SmallTextarea, + label='Comments' + ) model = RouteTarget fieldsets = ( (None, ('tenant', 'description')), ) - nullable_fields = ('tenant', 'description') + nullable_fields = ('tenant', 'description', 'comments') class RIRBulkEditForm(NetBoxModelBulkEditForm): @@ -103,15 +111,19 @@ class ASNBulkEditForm(NetBoxModelBulkEditForm): required=False ) description = forms.CharField( - max_length=100, + max_length=200, required=False ) + comments = CommentField( + widget=SmallTextarea, + label='Comments' + ) model = ASN fieldsets = ( (None, ('sites', 'rir', 'tenant', 'description')), ) - nullable_fields = ('date_added', 'description') + nullable_fields = ('date_added', 'description', 'comments') class AggregateBulkEditForm(NetBoxModelBulkEditForm): @@ -128,15 +140,19 @@ class AggregateBulkEditForm(NetBoxModelBulkEditForm): required=False ) description = forms.CharField( - max_length=100, + max_length=200, required=False ) + comments = CommentField( + widget=SmallTextarea, + label='Comments' + ) model = Aggregate fieldsets = ( (None, ('rir', 'tenant', 'date_added', 'description')), ) - nullable_fields = ('date_added', 'description') + nullable_fields = ('date_added', 'description', 'comments') class RoleBulkEditForm(NetBoxModelBulkEditForm): @@ -206,9 +222,13 @@ class PrefixBulkEditForm(NetBoxModelBulkEditForm): label='Treat as 100% utilized' ) description = forms.CharField( - max_length=100, + max_length=200, required=False ) + comments = CommentField( + widget=SmallTextarea, + label='Comments' + ) model = Prefix fieldsets = ( @@ -217,7 +237,7 @@ class PrefixBulkEditForm(NetBoxModelBulkEditForm): ('Addressing', ('vrf', 'prefix_length', 'is_pool', 'mark_utilized')), ) nullable_fields = ( - 'site', 'vrf', 'tenant', 'role', 'description', + 'site', 'vrf', 'tenant', 'role', 'description', 'comments', ) @@ -241,16 +261,20 @@ class IPRangeBulkEditForm(NetBoxModelBulkEditForm): required=False ) description = forms.CharField( - max_length=100, + max_length=200, required=False ) + comments = CommentField( + widget=SmallTextarea, + label='Comments' + ) model = IPRange fieldsets = ( (None, ('status', 'role', 'vrf', 'tenant', 'description')), ) nullable_fields = ( - 'vrf', 'tenant', 'role', 'description', + 'vrf', 'tenant', 'role', 'description', 'comments', ) @@ -285,9 +309,13 @@ class IPAddressBulkEditForm(NetBoxModelBulkEditForm): label='DNS name' ) description = forms.CharField( - max_length=100, + max_length=200, required=False ) + comments = CommentField( + widget=SmallTextarea, + label='Comments' + ) model = IPAddress fieldsets = ( @@ -295,7 +323,7 @@ class IPAddressBulkEditForm(NetBoxModelBulkEditForm): ('Addressing', ('vrf', 'mask_length', 'dns_name')), ) nullable_fields = ( - 'vrf', 'role', 'tenant', 'dns_name', 'description', + 'vrf', 'role', 'tenant', 'dns_name', 'description', 'comments', ) @@ -329,13 +357,17 @@ class FHRPGroupBulkEditForm(NetBoxModelBulkEditForm): max_length=200, required=False ) + comments = CommentField( + widget=SmallTextarea, + label='Comments' + ) model = FHRPGroup fieldsets = ( (None, ('protocol', 'group_id', 'name', 'description')), ('Authentication', ('auth_type', 'auth_key')), ) - nullable_fields = ('auth_type', 'auth_key', 'name', 'description') + nullable_fields = ('auth_type', 'auth_key', 'name', 'description', 'comments') class VLANGroupBulkEditForm(NetBoxModelBulkEditForm): @@ -405,9 +437,13 @@ class VLANBulkEditForm(NetBoxModelBulkEditForm): required=False ) description = forms.CharField( - max_length=100, + max_length=200, required=False ) + comments = CommentField( + widget=SmallTextarea, + label='Comments' + ) model = VLAN fieldsets = ( @@ -415,7 +451,7 @@ class VLANBulkEditForm(NetBoxModelBulkEditForm): ('Site & Group', ('region', 'site_group', 'site', 'group')), ) nullable_fields = ( - 'site', 'group', 'tenant', 'role', 'description', + 'site', 'group', 'tenant', 'role', 'description', 'comments', ) @@ -433,15 +469,19 @@ class ServiceTemplateBulkEditForm(NetBoxModelBulkEditForm): required=False ) description = forms.CharField( - max_length=100, + max_length=200, required=False ) + comments = CommentField( + widget=SmallTextarea, + label='Comments' + ) model = ServiceTemplate fieldsets = ( (None, ('protocol', 'ports', 'description')), ) - nullable_fields = ('description',) + nullable_fields = ('description', 'comments') class ServiceBulkEditForm(ServiceTemplateBulkEditForm): @@ -459,15 +499,19 @@ class L2VPNBulkEditForm(NetBoxModelBulkEditForm): required=False ) description = forms.CharField( - max_length=100, + max_length=200, required=False ) + comments = CommentField( + widget=SmallTextarea, + label='Comments' + ) model = L2VPN fieldsets = ( - (None, ('type', 'description', 'tenant')), + (None, ('type', 'tenant', 'description')), ) - nullable_fields = ('tenant', 'description',) + nullable_fields = ('tenant', 'description', 'comments') class L2VPNTerminationBulkEditForm(NetBoxModelBulkEditForm): diff --git a/netbox/ipam/forms/bulk_import.py b/netbox/ipam/forms/bulk_import.py index 3aead6151..3a31b6757 100644 --- a/netbox/ipam/forms/bulk_import.py +++ b/netbox/ipam/forms/bulk_import.py @@ -41,7 +41,7 @@ class VRFCSVForm(NetBoxModelCSVForm): class Meta: model = VRF - fields = ('name', 'rd', 'tenant', 'enforce_unique', 'description') + fields = ('name', 'rd', 'tenant', 'enforce_unique', 'description', 'comments') class RouteTargetCSVForm(NetBoxModelCSVForm): @@ -54,7 +54,7 @@ class RouteTargetCSVForm(NetBoxModelCSVForm): class Meta: model = RouteTarget - fields = ('name', 'description', 'tenant') + fields = ('name', 'tenant', 'description', 'comments') class RIRCSVForm(NetBoxModelCSVForm): @@ -83,7 +83,7 @@ class AggregateCSVForm(NetBoxModelCSVForm): class Meta: model = Aggregate - fields = ('prefix', 'rir', 'tenant', 'date_added', 'description') + fields = ('prefix', 'rir', 'tenant', 'date_added', 'description', 'comments') class ASNCSVForm(NetBoxModelCSVForm): @@ -101,7 +101,7 @@ class ASNCSVForm(NetBoxModelCSVForm): class Meta: model = ASN - fields = ('asn', 'rir', 'tenant', 'description') + fields = ('asn', 'rir', 'tenant', 'description', 'comments') help_texts = {} @@ -159,7 +159,7 @@ class PrefixCSVForm(NetBoxModelCSVForm): model = Prefix fields = ( 'prefix', 'vrf', 'tenant', 'site', 'vlan_group', 'vlan', 'status', 'role', 'is_pool', 'mark_utilized', - 'description', + 'description', 'comments', ) def __init__(self, data=None, *args, **kwargs): @@ -204,7 +204,7 @@ class IPRangeCSVForm(NetBoxModelCSVForm): class Meta: model = IPRange fields = ( - 'start_address', 'end_address', 'vrf', 'tenant', 'status', 'role', 'description', + 'start_address', 'end_address', 'vrf', 'tenant', 'status', 'role', 'description', 'comments', ) @@ -257,7 +257,7 @@ class IPAddressCSVForm(NetBoxModelCSVForm): model = IPAddress fields = [ 'address', 'vrf', 'tenant', 'status', 'role', 'device', 'virtual_machine', 'interface', 'is_primary', - 'dns_name', 'description', + 'dns_name', 'description', 'comments', ] def __init__(self, data=None, *args, **kwargs): @@ -326,7 +326,7 @@ class FHRPGroupCSVForm(NetBoxModelCSVForm): class Meta: model = FHRPGroup - fields = ('protocol', 'group_id', 'auth_type', 'auth_key', 'name', 'description') + fields = ('protocol', 'group_id', 'auth_type', 'auth_key', 'name', 'description', 'comments') class VLANGroupCSVForm(NetBoxModelCSVForm): @@ -389,7 +389,7 @@ class VLANCSVForm(NetBoxModelCSVForm): class Meta: model = VLAN - fields = ('site', 'group', 'vid', 'name', 'tenant', 'status', 'role', 'description') + fields = ('site', 'group', 'vid', 'name', 'tenant', 'status', 'role', 'description', 'comments') help_texts = { 'vid': 'Numeric VLAN ID (1-4094)', 'name': 'VLAN name', @@ -404,7 +404,7 @@ class ServiceTemplateCSVForm(NetBoxModelCSVForm): class Meta: model = ServiceTemplate - fields = ('name', 'protocol', 'ports', 'description') + fields = ('name', 'protocol', 'ports', 'description', 'comments') class ServiceCSVForm(NetBoxModelCSVForm): @@ -427,7 +427,7 @@ class ServiceCSVForm(NetBoxModelCSVForm): class Meta: model = Service - fields = ('device', 'virtual_machine', 'name', 'protocol', 'ports', 'description') + fields = ('device', 'virtual_machine', 'name', 'protocol', 'ports', 'description', 'comments') class L2VPNCSVForm(NetBoxModelCSVForm): @@ -443,7 +443,7 @@ class L2VPNCSVForm(NetBoxModelCSVForm): class Meta: model = L2VPN - fields = ('identifier', 'name', 'slug', 'type', 'description') + fields = ('identifier', 'name', 'slug', 'type', 'description', 'comments') class L2VPNTerminationCSVForm(NetBoxModelCSVForm): diff --git a/netbox/ipam/forms/model_forms.py b/netbox/ipam/forms/model_forms.py index 061462e71..9a5abc082 100644 --- a/netbox/ipam/forms/model_forms.py +++ b/netbox/ipam/forms/model_forms.py @@ -11,7 +11,7 @@ from netbox.forms import NetBoxModelForm from tenancy.forms import TenancyForm from utilities.exceptions import PermissionsViolation from utilities.forms import ( - add_blank_choice, BootstrapMixin, ContentTypeChoiceField, DatePicker, DynamicModelChoiceField, + add_blank_choice, BootstrapMixin, CommentField, ContentTypeChoiceField, DatePicker, DynamicModelChoiceField, DynamicModelMultipleChoiceField, NumericArrayField, SlugField, StaticSelect, StaticSelectMultiple, ) from virtualization.models import Cluster, ClusterGroup, VirtualMachine, VMInterface @@ -49,6 +49,7 @@ class VRFForm(TenancyForm, NetBoxModelForm): queryset=RouteTarget.objects.all(), required=False ) + comments = CommentField() fieldsets = ( ('VRF', ('name', 'rd', 'enforce_unique', 'description', 'tags')), @@ -59,8 +60,8 @@ class VRFForm(TenancyForm, NetBoxModelForm): class Meta: model = VRF fields = [ - 'name', 'rd', 'enforce_unique', 'description', 'import_targets', 'export_targets', 'tenant_group', 'tenant', - 'tags', + 'name', 'rd', 'enforce_unique', 'import_targets', 'export_targets', 'tenant_group', 'tenant', 'description', + 'comments', 'tags', ] labels = { 'rd': "RD", @@ -75,11 +76,12 @@ class RouteTargetForm(TenancyForm, NetBoxModelForm): ('Route Target', ('name', 'description', 'tags')), ('Tenancy', ('tenant_group', 'tenant')), ) + comments = CommentField() class Meta: model = RouteTarget fields = [ - 'name', 'description', 'tenant_group', 'tenant', 'tags', + 'name', 'tenant_group', 'tenant', 'description', 'comments', 'tags', ] @@ -104,6 +106,7 @@ class AggregateForm(TenancyForm, NetBoxModelForm): queryset=RIR.objects.all(), label='RIR' ) + comments = CommentField() fieldsets = ( ('Aggregate', ('prefix', 'rir', 'date_added', 'description', 'tags')), @@ -113,7 +116,7 @@ class AggregateForm(TenancyForm, NetBoxModelForm): class Meta: model = Aggregate fields = [ - 'prefix', 'rir', 'date_added', 'description', 'tenant_group', 'tenant', 'tags', + 'prefix', 'rir', 'date_added', 'tenant_group', 'tenant', 'description', 'comments', 'tags', ] help_texts = { 'prefix': "IPv4 or IPv6 network", @@ -134,6 +137,7 @@ class ASNForm(TenancyForm, NetBoxModelForm): label='Sites', required=False ) + comments = CommentField() fieldsets = ( ('ASN', ('asn', 'rir', 'sites', 'description', 'tags')), @@ -143,7 +147,7 @@ class ASNForm(TenancyForm, NetBoxModelForm): class Meta: model = ASN fields = [ - 'asn', 'rir', 'sites', 'tenant_group', 'tenant', 'description', 'tags' + 'asn', 'rir', 'sites', 'tenant_group', 'tenant', 'description', 'comments', 'tags' ] help_texts = { 'asn': "AS number", @@ -235,6 +239,7 @@ class PrefixForm(TenancyForm, NetBoxModelForm): queryset=Role.objects.all(), required=False ) + comments = CommentField() fieldsets = ( ('Prefix', ('prefix', 'status', 'vrf', 'role', 'is_pool', 'mark_utilized', 'description', 'tags')), @@ -245,8 +250,8 @@ class PrefixForm(TenancyForm, NetBoxModelForm): class Meta: model = Prefix fields = [ - 'prefix', 'vrf', 'site', 'vlan', 'status', 'role', 'is_pool', 'mark_utilized', 'description', - 'tenant_group', 'tenant', 'tags', + 'prefix', 'vrf', 'site', 'vlan', 'status', 'role', 'is_pool', 'mark_utilized', 'tenant_group', 'tenant', + 'description', 'comments', 'tags', ] widgets = { 'status': StaticSelect(), @@ -263,6 +268,7 @@ class IPRangeForm(TenancyForm, NetBoxModelForm): queryset=Role.objects.all(), required=False ) + comments = CommentField() fieldsets = ( ('IP Range', ('vrf', 'start_address', 'end_address', 'role', 'status', 'description', 'tags')), @@ -272,7 +278,8 @@ class IPRangeForm(TenancyForm, NetBoxModelForm): class Meta: model = IPRange fields = [ - 'vrf', 'start_address', 'end_address', 'status', 'role', 'description', 'tenant_group', 'tenant', 'tags', + 'vrf', 'start_address', 'end_address', 'status', 'role', 'tenant_group', 'tenant', 'description', + 'comments', 'tags', ] widgets = { 'status': StaticSelect(), @@ -394,13 +401,14 @@ class IPAddressForm(TenancyForm, NetBoxModelForm): required=False, label='Make this the primary IP for the device/VM' ) + comments = CommentField() class Meta: model = IPAddress fields = [ - 'address', 'vrf', 'status', 'role', 'dns_name', 'description', 'primary_for_parent', 'nat_site', 'nat_rack', - 'nat_device', 'nat_cluster', 'nat_virtual_machine', 'nat_vrf', 'nat_inside', 'tenant_group', 'tenant', - 'tags', + 'address', 'vrf', 'status', 'role', 'dns_name', 'primary_for_parent', 'nat_site', 'nat_rack', 'nat_device', + 'nat_cluster', 'nat_virtual_machine', 'nat_vrf', 'nat_inside', 'tenant_group', 'tenant', 'description', + 'comments', 'tags', ] widgets = { 'status': StaticSelect(), @@ -535,6 +543,7 @@ class FHRPGroupForm(NetBoxModelForm): required=False, label='Status' ) + comments = CommentField() fieldsets = ( ('FHRP Group', ('protocol', 'group_id', 'name', 'description', 'tags')), @@ -545,7 +554,8 @@ class FHRPGroupForm(NetBoxModelForm): class Meta: model = FHRPGroup fields = ( - 'protocol', 'group_id', 'auth_type', 'auth_key', 'name', 'description', 'ip_vrf', 'ip_address', 'ip_status', 'tags', + 'protocol', 'group_id', 'auth_type', 'auth_key', 'name', 'ip_vrf', 'ip_address', 'ip_status', 'description', + 'comments', 'tags', ) def save(self, *args, **kwargs): @@ -767,11 +777,13 @@ class VLANForm(TenancyForm, NetBoxModelForm): queryset=Role.objects.all(), required=False ) + comments = CommentField() class Meta: model = VLAN fields = [ - 'site', 'group', 'vid', 'name', 'status', 'role', 'description', 'tenant_group', 'tenant', 'tags', + 'site', 'group', 'vid', 'name', 'status', 'role', 'tenant_group', 'tenant', 'description', 'comments', + 'tags', ] help_texts = { 'site': "Leave blank if this VLAN spans multiple sites", @@ -794,6 +806,7 @@ class ServiceTemplateForm(NetBoxModelForm): ), help_text="Comma-separated list of one or more port numbers. A range may be specified using a hyphen." ) + comments = CommentField() fieldsets = ( ('Service Template', ( @@ -803,7 +816,7 @@ class ServiceTemplateForm(NetBoxModelForm): class Meta: model = ServiceTemplate - fields = ('name', 'protocol', 'ports', 'description', 'tags') + fields = ('name', 'protocol', 'ports', 'description', 'comments', 'tags') widgets = { 'protocol': StaticSelect(), } @@ -834,11 +847,12 @@ class ServiceForm(NetBoxModelForm): 'virtual_machine_id': '$virtual_machine', } ) + comments = CommentField() class Meta: model = Service fields = [ - 'device', 'virtual_machine', 'name', 'protocol', 'ports', 'ipaddresses', 'description', 'tags', + 'device', 'virtual_machine', 'name', 'protocol', 'ports', 'ipaddresses', 'description', 'comments', 'tags', ] help_texts = { 'ipaddresses': "IP address assignment is optional. If no IPs are selected, the service is assumed to be " @@ -899,6 +913,7 @@ class L2VPNForm(TenancyForm, NetBoxModelForm): queryset=RouteTarget.objects.all(), required=False ) + comments = CommentField() fieldsets = ( ('L2VPN', ('name', 'slug', 'type', 'identifier', 'description', 'tags')), @@ -909,7 +924,8 @@ class L2VPNForm(TenancyForm, NetBoxModelForm): class Meta: model = L2VPN fields = ( - 'name', 'slug', 'type', 'identifier', 'description', 'import_targets', 'export_targets', 'tenant', 'tags' + 'name', 'slug', 'type', 'identifier', 'import_targets', 'export_targets', 'tenant', 'description', + 'comments', 'tags' ) widgets = { 'type': StaticSelect(), diff --git a/netbox/ipam/migrations/0063_standardize_description_comments.py b/netbox/ipam/migrations/0063_standardize_description_comments.py new file mode 100644 index 000000000..3a4959d14 --- /dev/null +++ b/netbox/ipam/migrations/0063_standardize_description_comments.py @@ -0,0 +1,73 @@ +# Generated by Django 4.1.2 on 2022-11-03 18:24 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('ipam', '0062_unique_constraints'), + ] + + operations = [ + migrations.AddField( + model_name='aggregate', + name='comments', + field=models.TextField(blank=True), + ), + migrations.AddField( + model_name='asn', + name='comments', + field=models.TextField(blank=True), + ), + migrations.AddField( + model_name='fhrpgroup', + name='comments', + field=models.TextField(blank=True), + ), + migrations.AddField( + model_name='ipaddress', + name='comments', + field=models.TextField(blank=True), + ), + migrations.AddField( + model_name='iprange', + name='comments', + field=models.TextField(blank=True), + ), + migrations.AddField( + model_name='l2vpn', + name='comments', + field=models.TextField(blank=True), + ), + migrations.AddField( + model_name='prefix', + name='comments', + field=models.TextField(blank=True), + ), + migrations.AddField( + model_name='routetarget', + name='comments', + field=models.TextField(blank=True), + ), + migrations.AddField( + model_name='service', + name='comments', + field=models.TextField(blank=True), + ), + migrations.AddField( + model_name='servicetemplate', + name='comments', + field=models.TextField(blank=True), + ), + migrations.AddField( + model_name='vlan', + name='comments', + field=models.TextField(blank=True), + ), + migrations.AddField( + model_name='vrf', + name='comments', + field=models.TextField(blank=True), + ), + ] diff --git a/netbox/ipam/models/fhrp.py b/netbox/ipam/models/fhrp.py index 633affa41..759a6e1d3 100644 --- a/netbox/ipam/models/fhrp.py +++ b/netbox/ipam/models/fhrp.py @@ -4,7 +4,7 @@ from django.core.validators import MaxValueValidator, MinValueValidator from django.db import models from django.urls import reverse -from netbox.models import ChangeLoggedModel, NetBoxModel +from netbox.models import ChangeLoggedModel, PrimaryModel from netbox.models.features import WebhooksMixin from ipam.choices import * from ipam.constants import * @@ -15,7 +15,7 @@ __all__ = ( ) -class FHRPGroup(NetBoxModel): +class FHRPGroup(PrimaryModel): """ A grouping of next hope resolution protocol (FHRP) peers. (For instance, VRRP or HSRP.) """ @@ -41,10 +41,6 @@ class FHRPGroup(NetBoxModel): blank=True, verbose_name='Authentication key' ) - description = models.CharField( - max_length=200, - blank=True - ) ip_addresses = GenericRelation( to='ipam.IPAddress', content_type_field='assigned_object_type', diff --git a/netbox/ipam/models/ip.py b/netbox/ipam/models/ip.py index 75f90ff54..bf9bd6d7f 100644 --- a/netbox/ipam/models/ip.py +++ b/netbox/ipam/models/ip.py @@ -9,7 +9,7 @@ from django.utils.functional import cached_property from dcim.fields import ASNField from dcim.models import Device -from netbox.models import OrganizationalModel, NetBoxModel +from netbox.models import OrganizationalModel, PrimaryModel from ipam.choices import * from ipam.constants import * from ipam.fields import IPNetworkField, IPAddressField @@ -76,7 +76,7 @@ class RIR(OrganizationalModel): return reverse('ipam:rir', args=[self.pk]) -class ASN(NetBoxModel): +class ASN(PrimaryModel): """ An autonomous system (AS) number is typically used to represent an independent routing domain. A site can have one or more ASNs assigned to it. @@ -86,10 +86,6 @@ class ASN(NetBoxModel): verbose_name='ASN', help_text='32-bit autonomous system number' ) - description = models.CharField( - max_length=200, - blank=True - ) rir = models.ForeignKey( to='ipam.RIR', on_delete=models.PROTECT, @@ -139,7 +135,7 @@ class ASN(NetBoxModel): return self.asn -class Aggregate(GetAvailablePrefixesMixin, NetBoxModel): +class Aggregate(GetAvailablePrefixesMixin, PrimaryModel): """ An aggregate exists at the root level of the IP address space hierarchy in NetBox. Aggregates are used to organize the hierarchy and track the overall utilization of available address space. Each Aggregate is assigned to a RIR. @@ -162,10 +158,6 @@ class Aggregate(GetAvailablePrefixesMixin, NetBoxModel): blank=True, null=True ) - description = models.CharField( - max_length=200, - blank=True - ) clone_fields = ( 'rir', 'tenant', 'date_added', 'description', @@ -264,7 +256,7 @@ class Role(OrganizationalModel): return reverse('ipam:role', args=[self.pk]) -class Prefix(GetAvailablePrefixesMixin, NetBoxModel): +class Prefix(GetAvailablePrefixesMixin, PrimaryModel): """ A Prefix represents an IPv4 or IPv6 network, including mask length. Prefixes can optionally be assigned to Sites and VRFs. A Prefix must be assigned a status and may optionally be assigned a used-define Role. A Prefix can also be @@ -327,10 +319,6 @@ class Prefix(GetAvailablePrefixesMixin, NetBoxModel): default=False, help_text="Treat as 100% utilized" ) - description = models.CharField( - max_length=200, - blank=True - ) # Cached depth & child counts _depth = models.PositiveSmallIntegerField( @@ -545,7 +533,7 @@ class Prefix(GetAvailablePrefixesMixin, NetBoxModel): return min(utilization, 100) -class IPRange(NetBoxModel): +class IPRange(PrimaryModel): """ A range of IP addresses, defined by start and end addresses. """ @@ -587,10 +575,6 @@ class IPRange(NetBoxModel): null=True, help_text='The primary function of this range' ) - description = models.CharField( - max_length=200, - blank=True - ) clone_fields = ( 'vrf', 'tenant', 'status', 'role', 'description', @@ -740,7 +724,7 @@ class IPRange(NetBoxModel): return int(float(child_count) / self.size * 100) -class IPAddress(NetBoxModel): +class IPAddress(PrimaryModel): """ An IPAddress represents an individual IPv4 or IPv6 address and its mask. The mask length should match what is configured in the real world. (Typically, only loopback interfaces are configured with /32 or /128 masks.) Like @@ -813,10 +797,6 @@ class IPAddress(NetBoxModel): verbose_name='DNS Name', help_text='Hostname or FQDN (not case-sensitive)' ) - description = models.CharField( - max_length=200, - blank=True - ) objects = IPAddressManager() diff --git a/netbox/ipam/models/l2vpn.py b/netbox/ipam/models/l2vpn.py index a457f334b..f3f7a1d55 100644 --- a/netbox/ipam/models/l2vpn.py +++ b/netbox/ipam/models/l2vpn.py @@ -8,7 +8,7 @@ from django.utils.functional import cached_property from ipam.choices import L2VPNTypeChoices from ipam.constants import L2VPN_ASSIGNMENT_MODELS -from netbox.models import NetBoxModel +from netbox.models import NetBoxModel, PrimaryModel __all__ = ( 'L2VPN', @@ -16,7 +16,7 @@ __all__ = ( ) -class L2VPN(NetBoxModel): +class L2VPN(PrimaryModel): name = models.CharField( max_length=100, unique=True @@ -43,10 +43,6 @@ class L2VPN(NetBoxModel): related_name='exporting_l2vpns', blank=True ) - description = models.CharField( - max_length=200, - blank=True - ) tenant = models.ForeignKey( to='tenancy.Tenant', on_delete=models.PROTECT, diff --git a/netbox/ipam/models/services.py b/netbox/ipam/models/services.py index b566db375..690abf045 100644 --- a/netbox/ipam/models/services.py +++ b/netbox/ipam/models/services.py @@ -6,7 +6,7 @@ from django.urls import reverse from ipam.choices import * from ipam.constants import * -from netbox.models import NetBoxModel +from netbox.models import PrimaryModel from utilities.utils import array_to_string @@ -30,10 +30,6 @@ class ServiceBase(models.Model): ), verbose_name='Port numbers' ) - description = models.CharField( - max_length=200, - blank=True - ) class Meta: abstract = True @@ -46,7 +42,7 @@ class ServiceBase(models.Model): return array_to_string(self.ports) -class ServiceTemplate(ServiceBase, NetBoxModel): +class ServiceTemplate(ServiceBase, PrimaryModel): """ A template for a Service to be applied to a device or virtual machine. """ @@ -62,7 +58,7 @@ class ServiceTemplate(ServiceBase, NetBoxModel): return reverse('ipam:servicetemplate', args=[self.pk]) -class Service(ServiceBase, NetBoxModel): +class Service(ServiceBase, PrimaryModel): """ A Service represents a layer-four service (e.g. HTTP or SSH) running on a Device or VirtualMachine. A Service may optionally be tied to one or more specific IPAddresses belonging to its parent. diff --git a/netbox/ipam/models/vlans.py b/netbox/ipam/models/vlans.py index e3a4b973b..4f5d513cf 100644 --- a/netbox/ipam/models/vlans.py +++ b/netbox/ipam/models/vlans.py @@ -8,12 +8,10 @@ from django.urls import reverse from dcim.models import Interface from ipam.choices import * from ipam.constants import * -from ipam.models import L2VPNTermination from ipam.querysets import VLANQuerySet -from netbox.models import OrganizationalModel, NetBoxModel +from netbox.models import OrganizationalModel, PrimaryModel from virtualization.models import VMInterface - __all__ = ( 'VLAN', 'VLANGroup', @@ -63,10 +61,6 @@ class VLANGroup(OrganizationalModel): ), help_text='Highest permissible ID of a child VLAN' ) - description = models.CharField( - max_length=200, - blank=True - ) class Meta: ordering = ('name', 'pk') # Name may be non-unique @@ -120,7 +114,7 @@ class VLANGroup(OrganizationalModel): return None -class VLAN(NetBoxModel): +class VLAN(PrimaryModel): """ A VLAN is a distinct layer two forwarding domain identified by a 12-bit integer (1-4094). Each VLAN must be assigned to a Site, however VLAN IDs need not be unique within a Site. A VLAN may optionally be assigned to a VLANGroup, @@ -172,10 +166,6 @@ class VLAN(NetBoxModel): blank=True, null=True ) - description = models.CharField( - max_length=200, - blank=True - ) l2vpn_terminations = GenericRelation( to='ipam.L2VPNTermination', diff --git a/netbox/ipam/models/vrfs.py b/netbox/ipam/models/vrfs.py index a926bec3e..0f3c9793c 100644 --- a/netbox/ipam/models/vrfs.py +++ b/netbox/ipam/models/vrfs.py @@ -2,7 +2,7 @@ from django.db import models from django.urls import reverse from ipam.constants import * -from netbox.models import NetBoxModel +from netbox.models import PrimaryModel __all__ = ( @@ -11,7 +11,7 @@ __all__ = ( ) -class VRF(NetBoxModel): +class VRF(PrimaryModel): """ A virtual routing and forwarding (VRF) table represents a discrete layer three forwarding domain (e.g. a routing table). Prefixes and IPAddresses can optionally be assigned to VRFs. (Prefixes and IPAddresses not assigned to a VRF @@ -40,10 +40,6 @@ class VRF(NetBoxModel): verbose_name='Enforce unique space', help_text='Prevent duplicate prefixes/IP addresses within this VRF' ) - description = models.CharField( - max_length=200, - blank=True - ) import_targets = models.ManyToManyField( to='ipam.RouteTarget', related_name='importing_vrfs', @@ -73,7 +69,7 @@ class VRF(NetBoxModel): return reverse('ipam:vrf', args=[self.pk]) -class RouteTarget(NetBoxModel): +class RouteTarget(PrimaryModel): """ A BGP extended community used to control the redistribution of routes among VRFs, as defined in RFC 4364. """ @@ -82,10 +78,6 @@ class RouteTarget(NetBoxModel): unique=True, help_text='Route target value (formatted in accordance with RFC 4360)' ) - description = models.CharField( - max_length=200, - blank=True - ) tenant = models.ForeignKey( to='tenancy.Tenant', on_delete=models.PROTECT, diff --git a/netbox/ipam/tables/fhrp.py b/netbox/ipam/tables/fhrp.py index beffdd232..89aa16e65 100644 --- a/netbox/ipam/tables/fhrp.py +++ b/netbox/ipam/tables/fhrp.py @@ -20,7 +20,6 @@ class FHRPGroupTable(NetBoxTable): group_id = tables.Column( linkify=True ) - comments = columns.MarkdownColumn() ip_addresses = tables.TemplateColumn( template_code=IPADDRESSES, orderable=False, @@ -29,6 +28,7 @@ class FHRPGroupTable(NetBoxTable): member_count = tables.Column( verbose_name='Members' ) + comments = columns.MarkdownColumn() tags = columns.TagColumn( url_name='ipam:fhrpgroup_list' ) @@ -36,7 +36,7 @@ class FHRPGroupTable(NetBoxTable): class Meta(NetBoxTable.Meta): model = FHRPGroup fields = ( - 'pk', 'group_id', 'protocol', 'name', 'auth_type', 'auth_key', 'description', 'ip_addresses', + 'pk', 'group_id', 'protocol', 'name', 'auth_type', 'auth_key', 'description', 'comments', 'ip_addresses', 'member_count', 'tags', 'created', 'last_updated', ) default_columns = ( diff --git a/netbox/ipam/tables/ip.py b/netbox/ipam/tables/ip.py index 44f40b8a1..f83831d2d 100644 --- a/netbox/ipam/tables/ip.py +++ b/netbox/ipam/tables/ip.py @@ -120,6 +120,7 @@ class ASNTable(TenancyColumnsMixin, NetBoxTable): linkify_item=True, verbose_name='Sites' ) + comments = columns.MarkdownColumn() tags = columns.TagColumn( url_name='ipam:asn_list' ) @@ -127,8 +128,8 @@ class ASNTable(TenancyColumnsMixin, NetBoxTable): class Meta(NetBoxTable.Meta): model = ASN fields = ( - 'pk', 'asn', 'asn_asdot', 'rir', 'site_count', 'provider_count', 'tenant', 'tenant_group', 'description', 'sites', 'tags', - 'created', 'last_updated', 'actions', + 'pk', 'asn', 'asn_asdot', 'rir', 'site_count', 'provider_count', 'tenant', 'tenant_group', 'description', + 'comments', 'sites', 'tags', 'created', 'last_updated', 'actions', ) default_columns = ('pk', 'asn', 'rir', 'site_count', 'provider_count', 'sites', 'description', 'tenant') @@ -153,6 +154,7 @@ class AggregateTable(TenancyColumnsMixin, NetBoxTable): accessor='get_utilization', orderable=False ) + comments = columns.MarkdownColumn() tags = columns.TagColumn( url_name='ipam:aggregate_list' ) @@ -160,8 +162,8 @@ class AggregateTable(TenancyColumnsMixin, NetBoxTable): class Meta(NetBoxTable.Meta): model = Aggregate fields = ( - 'pk', 'id', 'prefix', 'rir', 'tenant', 'tenant_group', 'child_count', 'utilization', 'date_added', 'description', 'tags', - 'created', 'last_updated', + 'pk', 'id', 'prefix', 'rir', 'tenant', 'tenant_group', 'child_count', 'utilization', 'date_added', + 'description', 'comments', 'tags', 'created', 'last_updated', ) default_columns = ('pk', 'prefix', 'rir', 'tenant', 'child_count', 'utilization', 'date_added', 'description') @@ -278,6 +280,7 @@ class PrefixTable(TenancyColumnsMixin, NetBoxTable): accessor='get_utilization', orderable=False ) + comments = columns.MarkdownColumn() tags = columns.TagColumn( url_name='ipam:prefix_list' ) @@ -285,8 +288,9 @@ class PrefixTable(TenancyColumnsMixin, NetBoxTable): class Meta(NetBoxTable.Meta): model = Prefix fields = ( - 'pk', 'id', 'prefix', 'prefix_flat', 'status', 'children', 'vrf', 'utilization', 'tenant', 'tenant_group', 'site', - 'vlan_group', 'vlan', 'role', 'is_pool', 'mark_utilized', 'description', 'tags', 'created', 'last_updated', + 'pk', 'id', 'prefix', 'prefix_flat', 'status', 'children', 'vrf', 'utilization', 'tenant', 'tenant_group', + 'site', 'vlan_group', 'vlan', 'role', 'is_pool', 'mark_utilized', 'description', 'comments', 'tags', + 'created', 'last_updated', ) default_columns = ( 'pk', 'prefix', 'status', 'children', 'vrf', 'utilization', 'tenant', 'site', 'vlan', 'role', 'description', @@ -317,6 +321,7 @@ class IPRangeTable(TenancyColumnsMixin, NetBoxTable): accessor='utilization', orderable=False ) + comments = columns.MarkdownColumn() tags = columns.TagColumn( url_name='ipam:iprange_list' ) @@ -324,8 +329,8 @@ class IPRangeTable(TenancyColumnsMixin, NetBoxTable): class Meta(NetBoxTable.Meta): model = IPRange fields = ( - 'pk', 'id', 'start_address', 'end_address', 'size', 'vrf', 'status', 'role', 'tenant', 'tenant_group', 'description', - 'utilization', 'tags', 'created', 'last_updated', + 'pk', 'id', 'start_address', 'end_address', 'size', 'vrf', 'status', 'role', 'tenant', 'tenant_group', + 'utilization', 'description', 'comments', 'tags', 'created', 'last_updated', ) default_columns = ( 'pk', 'start_address', 'end_address', 'size', 'vrf', 'status', 'role', 'tenant', 'description', @@ -378,6 +383,7 @@ class IPAddressTable(TenancyColumnsMixin, NetBoxTable): linkify=lambda record: record.assigned_object.get_absolute_url(), verbose_name='Assigned' ) + comments = columns.MarkdownColumn() tags = columns.TagColumn( url_name='ipam:ipaddress_list' ) @@ -385,8 +391,8 @@ class IPAddressTable(TenancyColumnsMixin, NetBoxTable): class Meta(NetBoxTable.Meta): model = IPAddress fields = ( - 'pk', 'id', 'address', 'vrf', 'status', 'role', 'tenant', 'tenant_group', 'nat_inside', 'nat_outside', 'assigned', 'dns_name', 'description', - 'tags', 'created', 'last_updated', + 'pk', 'id', 'address', 'vrf', 'status', 'role', 'tenant', 'tenant_group', 'nat_inside', 'nat_outside', + 'assigned', 'dns_name', 'description', 'comments', 'tags', 'created', 'last_updated', ) default_columns = ( 'pk', 'address', 'vrf', 'status', 'role', 'tenant', 'assigned', 'dns_name', 'description', diff --git a/netbox/ipam/tables/l2vpn.py b/netbox/ipam/tables/l2vpn.py index 4a6af7c9b..2ece2c434 100644 --- a/netbox/ipam/tables/l2vpn.py +++ b/netbox/ipam/tables/l2vpn.py @@ -29,12 +29,16 @@ class L2VPNTable(TenancyColumnsMixin, NetBoxTable): template_code=L2VPN_TARGETS, orderable=False ) + comments = columns.MarkdownColumn() + tags = columns.TagColumn( + url_name='ipam:prefix_list' + ) class Meta(NetBoxTable.Meta): model = L2VPN fields = ( - 'pk', 'name', 'slug', 'identifier', 'type', 'description', 'import_targets', 'export_targets', 'tenant', 'tenant_group', - 'actions', + 'pk', 'name', 'slug', 'identifier', 'type', 'import_targets', 'export_targets', 'tenant', 'tenant_group', + 'description', 'comments', 'tags', 'created', 'last_updated', 'actions', ) default_columns = ('pk', 'name', 'identifier', 'type', 'description', 'actions') diff --git a/netbox/ipam/tables/services.py b/netbox/ipam/tables/services.py index 58d0a9aff..826ac98d5 100644 --- a/netbox/ipam/tables/services.py +++ b/netbox/ipam/tables/services.py @@ -17,13 +17,16 @@ class ServiceTemplateTable(NetBoxTable): accessor=tables.A('port_list'), order_by=tables.A('ports'), ) + comments = columns.MarkdownColumn() tags = columns.TagColumn( url_name='ipam:servicetemplate_list' ) class Meta(NetBoxTable.Meta): model = ServiceTemplate - fields = ('pk', 'id', 'name', 'protocol', 'ports', 'description', 'tags') + fields = ( + 'pk', 'id', 'name', 'protocol', 'ports', 'description', 'comments', 'tags', 'created', 'last_updated', + ) default_columns = ('pk', 'name', 'protocol', 'ports', 'description') @@ -39,6 +42,7 @@ class ServiceTable(NetBoxTable): accessor=tables.A('port_list'), order_by=tables.A('ports'), ) + comments = columns.MarkdownColumn() tags = columns.TagColumn( url_name='ipam:service_list' ) @@ -46,7 +50,7 @@ class ServiceTable(NetBoxTable): class Meta(NetBoxTable.Meta): model = Service fields = ( - 'pk', 'id', 'name', 'parent', 'protocol', 'ports', 'ipaddresses', 'description', 'tags', 'created', - 'last_updated', + 'pk', 'id', 'name', 'parent', 'protocol', 'ports', 'ipaddresses', 'description', 'comments', 'tags', + 'created', 'last_updated', ) default_columns = ('pk', 'name', 'parent', 'protocol', 'ports', 'description') diff --git a/netbox/ipam/tables/vlans.py b/netbox/ipam/tables/vlans.py index f183f8a7b..6fa2cd2da 100644 --- a/netbox/ipam/tables/vlans.py +++ b/netbox/ipam/tables/vlans.py @@ -121,6 +121,7 @@ class VLANTable(TenancyColumnsMixin, NetBoxTable): orderable=False, verbose_name='Prefixes' ) + comments = columns.MarkdownColumn() tags = columns.TagColumn( url_name='ipam:vlan_list' ) @@ -129,7 +130,7 @@ class VLANTable(TenancyColumnsMixin, NetBoxTable): model = VLAN fields = ( 'pk', 'id', 'vid', 'name', 'site', 'group', 'prefixes', 'tenant', 'tenant_group', 'status', 'role', - 'description', 'tags', 'l2vpn', 'created', 'last_updated', + 'description', 'comments', 'tags', 'l2vpn', 'created', 'last_updated', ) default_columns = ('pk', 'vid', 'name', 'site', 'group', 'prefixes', 'tenant', 'status', 'role', 'description') row_attrs = { diff --git a/netbox/ipam/tables/vrfs.py b/netbox/ipam/tables/vrfs.py index 69807410b..635af48d0 100644 --- a/netbox/ipam/tables/vrfs.py +++ b/netbox/ipam/tables/vrfs.py @@ -38,6 +38,7 @@ class VRFTable(TenancyColumnsMixin, NetBoxTable): template_code=VRF_TARGETS, orderable=False ) + comments = columns.MarkdownColumn() tags = columns.TagColumn( url_name='ipam:vrf_list' ) @@ -45,8 +46,8 @@ class VRFTable(TenancyColumnsMixin, NetBoxTable): class Meta(NetBoxTable.Meta): model = VRF fields = ( - 'pk', 'id', 'name', 'rd', 'tenant', 'tenant_group', 'enforce_unique', 'description', 'import_targets', 'export_targets', - 'tags', 'created', 'last_updated', + 'pk', 'id', 'name', 'rd', 'tenant', 'tenant_group', 'enforce_unique', 'import_targets', 'export_targets', + 'description', 'comments', 'tags', 'created', 'last_updated', ) default_columns = ('pk', 'name', 'rd', 'tenant', 'description') @@ -59,11 +60,14 @@ class RouteTargetTable(TenancyColumnsMixin, NetBoxTable): name = tables.Column( linkify=True ) + comments = columns.MarkdownColumn() tags = columns.TagColumn( url_name='ipam:vrf_list' ) class Meta(NetBoxTable.Meta): model = RouteTarget - fields = ('pk', 'id', 'name', 'tenant', 'tenant_group', 'description', 'tags', 'created', 'last_updated',) + fields = ( + 'pk', 'id', 'name', 'tenant', 'tenant_group', 'description', 'comments', 'tags', 'created', 'last_updated', + ) default_columns = ('pk', 'name', 'tenant', 'description') diff --git a/netbox/netbox/models/__init__.py b/netbox/netbox/models/__init__.py index 38a6fcc9f..661470ee0 100644 --- a/netbox/netbox/models/__init__.py +++ b/netbox/netbox/models/__init__.py @@ -10,8 +10,9 @@ from netbox.models.features import * __all__ = ( 'ChangeLoggedModel', 'NestedGroupModel', - 'OrganizationalModel', 'NetBoxModel', + 'OrganizationalModel', + 'PrimaryModel', ) @@ -58,7 +59,7 @@ class ChangeLoggedModel(ChangeLoggingMixin, CustomValidationMixin, models.Model) class NetBoxModel(CloningMixin, NetBoxFeatureSet, models.Model): """ - Primary models represent real objects within the infrastructure being modeled. + Base model for most object types. Suitable for use by plugins. """ objects = RestrictedQuerySet.as_manager() @@ -66,6 +67,22 @@ class NetBoxModel(CloningMixin, NetBoxFeatureSet, models.Model): abstract = True +class PrimaryModel(NetBoxModel): + """ + Primary models represent real objects within the infrastructure being modeled. + """ + description = models.CharField( + max_length=200, + blank=True + ) + comments = models.TextField( + blank=True + ) + + class Meta: + abstract = True + + class NestedGroupModel(NetBoxFeatureSet, MPTTModel): """ Base model for objects which are used to form a hierarchy (regions, locations, etc.). These models nest diff --git a/netbox/templates/circuits/provider.html b/netbox/templates/circuits/provider.html index 0fc18a368..51f911350 100644 --- a/netbox/templates/circuits/provider.html +++ b/netbox/templates/circuits/provider.html @@ -33,6 +33,10 @@ Account {{ object.account|placeholder }} + + Description + {{ object.description|placeholder }} + Circuits diff --git a/netbox/templates/dcim/cable.html b/netbox/templates/dcim/cable.html index e032d7034..bd0f27106 100644 --- a/netbox/templates/dcim/cable.html +++ b/netbox/templates/dcim/cable.html @@ -32,6 +32,10 @@ Label {{ object.label|placeholder }} + + Description + {{ object.description|placeholder }} + Color @@ -57,6 +61,7 @@
{% include 'inc/panels/custom_fields.html' %} {% include 'inc/panels/tags.html' %} + {% include 'inc/panels/comments.html' %} {% plugin_left_page object %}
diff --git a/netbox/templates/dcim/cable_edit.html b/netbox/templates/dcim/cable_edit.html index 29bb60d70..1c747b44b 100644 --- a/netbox/templates/dcim/cable_edit.html +++ b/netbox/templates/dcim/cable_edit.html @@ -80,6 +80,7 @@ {% render_field form.tenant_group %} {% render_field form.tenant %} {% render_field form.label %} + {% render_field form.description %} {% render_field form.color %}
@@ -92,16 +93,22 @@
{% render_field form.tags %} - {% if form.custom_fields %} -
-
-
Custom Fields
-
- {% render_custom_fields form %} -
- {% endif %}
+
+
Comments
+
+ {% render_field form.comments %} +
+
+ {% if form.custom_fields %} +
+
Custom Fields
+
+ {% render_custom_fields form %} +
+
+ {% endif %}
diff --git a/netbox/templates/dcim/device.html b/netbox/templates/dcim/device.html index b0cd76de4..046600d08 100644 --- a/netbox/templates/dcim/device.html +++ b/netbox/templates/dcim/device.html @@ -94,7 +94,11 @@ - Airflow + Description + {{ object.description|placeholder }} + + + Airflow {{ object.get_airflow_display|placeholder }} diff --git a/netbox/templates/dcim/device_edit.html b/netbox/templates/dcim/device_edit.html index 38125e83c..b814e65ef 100644 --- a/netbox/templates/dcim/device_edit.html +++ b/netbox/templates/dcim/device_edit.html @@ -10,6 +10,7 @@
{% render_field form.name %} {% render_field form.device_role %} + {% render_field form.description %} {% render_field form.tags %} diff --git a/netbox/templates/dcim/devicetype.html b/netbox/templates/dcim/devicetype.html index 458c74ac1..930390a56 100644 --- a/netbox/templates/dcim/devicetype.html +++ b/netbox/templates/dcim/devicetype.html @@ -27,6 +27,10 @@ Part Number {{ object.part_number|placeholder }} + + Description + {{ object.description|placeholder }} + Height (U) {{ object.u_height|floatformat }} diff --git a/netbox/templates/dcim/module.html b/netbox/templates/dcim/module.html index f2dac38f2..139ac2eb8 100644 --- a/netbox/templates/dcim/module.html +++ b/netbox/templates/dcim/module.html @@ -62,6 +62,10 @@ Module Type {{ object.module_type|linkify }} + + Description + {{ object.description|placeholder }} + Serial Number {{ object.serial|placeholder }} diff --git a/netbox/templates/dcim/moduletype.html b/netbox/templates/dcim/moduletype.html index 8128e64be..fd0148c2f 100644 --- a/netbox/templates/dcim/moduletype.html +++ b/netbox/templates/dcim/moduletype.html @@ -22,6 +22,10 @@ Part Number {{ object.part_number|placeholder }} + + Description + {{ object.description|placeholder }} + Weight diff --git a/netbox/templates/dcim/powerfeed.html b/netbox/templates/dcim/powerfeed.html index 54ac96bab..6387c111d 100644 --- a/netbox/templates/dcim/powerfeed.html +++ b/netbox/templates/dcim/powerfeed.html @@ -38,6 +38,10 @@ Status {% badge object.get_status_display bg_color=object.get_status_color %} + + Description + {{ object.description|placeholder }} + Connected Device diff --git a/netbox/templates/dcim/powerpanel.html b/netbox/templates/dcim/powerpanel.html index b7fe8eb39..16bd82cc0 100644 --- a/netbox/templates/dcim/powerpanel.html +++ b/netbox/templates/dcim/powerpanel.html @@ -14,26 +14,29 @@ {% block content %}
-
-
- Power Panel -
-
- - - - - - - - - -
Site{{ object.site|linkify }}
Location{{ object.location|linkify|placeholder }}
-
-
- {% include 'inc/panels/tags.html' %} - {% plugin_left_page object %} +
+
Power Panel
+
+ + + + + + + + + + + + + +
Site{{ object.site|linkify }}
Location{{ object.location|linkify|placeholder }}
Description{{ object.description|placeholder }}
+
+ {% include 'inc/panels/tags.html' %} + {% include 'inc/panels/comments.html' %} + {% plugin_left_page object %} +
{% include 'inc/panels/custom_fields.html' %} {% include 'inc/panels/contacts.html' %} diff --git a/netbox/templates/dcim/rack.html b/netbox/templates/dcim/rack.html index 7118f09ef..185634e8a 100644 --- a/netbox/templates/dcim/rack.html +++ b/netbox/templates/dcim/rack.html @@ -78,6 +78,10 @@ Role {{ object.role|linkify|placeholder }} + + Description + {{ object.description|placeholder }} + Serial Number {{ object.serial|placeholder }} diff --git a/netbox/templates/dcim/rack_edit.html b/netbox/templates/dcim/rack_edit.html index a0af20c68..d214bbee8 100644 --- a/netbox/templates/dcim/rack_edit.html +++ b/netbox/templates/dcim/rack_edit.html @@ -13,6 +13,7 @@ {% render_field form.name %} {% render_field form.status %} {% render_field form.role %} + {% render_field form.description %} {% render_field form.tags %}
diff --git a/netbox/templates/dcim/rackreservation.html b/netbox/templates/dcim/rackreservation.html index ebdd1d845..52472e297 100644 --- a/netbox/templates/dcim/rackreservation.html +++ b/netbox/templates/dcim/rackreservation.html @@ -73,6 +73,7 @@
{% include 'inc/panels/custom_fields.html' %} {% include 'inc/panels/tags.html' %} + {% include 'inc/panels/comments.html' %} {% plugin_left_page object %}
diff --git a/netbox/templates/dcim/virtualchassis.html b/netbox/templates/dcim/virtualchassis.html index 1ff9f2e9a..d0fba3ca2 100644 --- a/netbox/templates/dcim/virtualchassis.html +++ b/netbox/templates/dcim/virtualchassis.html @@ -27,11 +27,15 @@ Master {{ object.master|linkify }} + + Description + {{ object.description|placeholder }} +
- {% include 'inc/panels/custom_fields.html' %} {% include 'inc/panels/tags.html' %} + {% include 'inc/panels/custom_fields.html' %} {% plugin_left_page object %}
@@ -73,6 +77,7 @@
{% endif %} + {% include 'inc/panels/comments.html' %} {% plugin_right_page object %} diff --git a/netbox/templates/dcim/virtualchassis_edit.html b/netbox/templates/dcim/virtualchassis_edit.html index 87917f2a2..f98a9fe64 100644 --- a/netbox/templates/dcim/virtualchassis_edit.html +++ b/netbox/templates/dcim/virtualchassis_edit.html @@ -17,12 +17,18 @@ {% render_field vc_form.name %} {% render_field vc_form.domain %} + {% render_field vc_form.description %} {% render_field vc_form.master %} {% render_field vc_form.tags %} +
+
Comments
+ {% render_field vc_form.comments %} +
+ {% if vc_form.custom_fields %} -
+
Custom Fields
diff --git a/netbox/templates/ipam/aggregate.html b/netbox/templates/ipam/aggregate.html index f3eff9df1..b95341b16 100644 --- a/netbox/templates/ipam/aggregate.html +++ b/netbox/templates/ipam/aggregate.html @@ -51,6 +51,7 @@
{% include 'inc/panels/custom_fields.html' %} {% include 'inc/panels/tags.html' %} + {% include 'inc/panels/comments.html' %} {% plugin_right_page object %}
diff --git a/netbox/templates/ipam/asn.html b/netbox/templates/ipam/asn.html index 7afe981e6..3af5177cc 100644 --- a/netbox/templates/ipam/asn.html +++ b/netbox/templates/ipam/asn.html @@ -67,6 +67,7 @@
{% include 'inc/panels/custom_fields.html' %} {% include 'inc/panels/tags.html' with tags=object.tags.all url='ipam:asn_list' %} + {% include 'inc/panels/comments.html' %} {% plugin_right_page object %}
diff --git a/netbox/templates/ipam/fhrpgroup.html b/netbox/templates/ipam/fhrpgroup.html index 89fc7083c..a74ddac70 100644 --- a/netbox/templates/ipam/fhrpgroup.html +++ b/netbox/templates/ipam/fhrpgroup.html @@ -42,6 +42,7 @@ {% include 'inc/panels/tags.html' %} + {% include 'inc/panels/comments.html' %} {% plugin_left_page object %}
diff --git a/netbox/templates/ipam/fhrpgroup_edit.html b/netbox/templates/ipam/fhrpgroup_edit.html index 02816b440..bf86e6c41 100644 --- a/netbox/templates/ipam/fhrpgroup_edit.html +++ b/netbox/templates/ipam/fhrpgroup_edit.html @@ -13,7 +13,7 @@ {% render_field form.tags %}
-
+
Authentication
@@ -22,7 +22,7 @@
{% if not form.instance.pk %} -
+
Virtual IP Address
@@ -32,6 +32,13 @@
{% endif %} +
+
+
Comments
+
+ {% render_field form.comments %} +
+ {% if form.custom_fields %}
Custom Fields
diff --git a/netbox/templates/ipam/ipaddress.html b/netbox/templates/ipam/ipaddress.html index 7f77e8137..4a110c2e6 100644 --- a/netbox/templates/ipam/ipaddress.html +++ b/netbox/templates/ipam/ipaddress.html @@ -108,6 +108,7 @@
{% include 'inc/panels/tags.html' %} {% include 'inc/panels/custom_fields.html' %} + {% include 'inc/panels/comments.html' %} {% plugin_left_page object %}
diff --git a/netbox/templates/ipam/ipaddress_edit.html b/netbox/templates/ipam/ipaddress_edit.html index f4b21397a..b9a988009 100644 --- a/netbox/templates/ipam/ipaddress_edit.html +++ b/netbox/templates/ipam/ipaddress_edit.html @@ -138,6 +138,13 @@
+
+
+
Comments
+
+ {% render_field form.comments %} +
+ {% if form.custom_fields %}
diff --git a/netbox/templates/ipam/iprange.html b/netbox/templates/ipam/iprange.html index c78b5a132..6ba9e4bea 100644 --- a/netbox/templates/ipam/iprange.html +++ b/netbox/templates/ipam/iprange.html @@ -70,9 +70,10 @@ {% plugin_left_page object %}
- {% include 'inc/panels/tags.html' %} - {% include 'inc/panels/custom_fields.html' %} - {% plugin_right_page object %} + {% include 'inc/panels/tags.html' %} + {% include 'inc/panels/custom_fields.html' %} + {% include 'inc/panels/comments.html' %} + {% plugin_right_page object %}
diff --git a/netbox/templates/ipam/l2vpn.html b/netbox/templates/ipam/l2vpn.html index c19363d33..4ffda2c98 100644 --- a/netbox/templates/ipam/l2vpn.html +++ b/netbox/templates/ipam/l2vpn.html @@ -39,6 +39,7 @@
{% include 'inc/panels/contacts.html' %} {% include 'inc/panels/custom_fields.html' %} + {% include 'inc/panels/comments.html' %} {% plugin_right_page object %}
diff --git a/netbox/templates/ipam/prefix.html b/netbox/templates/ipam/prefix.html index b15aa60bb..a0baf3325 100644 --- a/netbox/templates/ipam/prefix.html +++ b/netbox/templates/ipam/prefix.html @@ -155,6 +155,7 @@ {% include 'inc/panels/custom_fields.html' %} {% include 'inc/panels/tags.html' %} + {% include 'inc/panels/comments.html' %} {% plugin_right_page object %} diff --git a/netbox/templates/ipam/routetarget.html b/netbox/templates/ipam/routetarget.html index e093aee61..ea7a98c97 100644 --- a/netbox/templates/ipam/routetarget.html +++ b/netbox/templates/ipam/routetarget.html @@ -26,6 +26,7 @@ {% include 'inc/panels/tags.html' %} {% include 'inc/panels/custom_fields.html' %} + {% include 'inc/panels/comments.html' %} {% plugin_left_page object %}
diff --git a/netbox/templates/ipam/service.html b/netbox/templates/ipam/service.html index 47ae70dc9..fdc4be342 100644 --- a/netbox/templates/ipam/service.html +++ b/netbox/templates/ipam/service.html @@ -58,9 +58,10 @@ {% plugin_left_page object %}
- {% include 'inc/panels/custom_fields.html' %} - {% include 'inc/panels/tags.html' %} - {% plugin_right_page object %} + {% include 'inc/panels/custom_fields.html' %} + {% include 'inc/panels/tags.html' %} + {% include 'inc/panels/comments.html' %} + {% plugin_right_page object %}
diff --git a/netbox/templates/ipam/service_create.html b/netbox/templates/ipam/service_create.html index 022821bcf..5c47dd2f8 100644 --- a/netbox/templates/ipam/service_create.html +++ b/netbox/templates/ipam/service_create.html @@ -65,6 +65,13 @@ {% render_field form.tags %}
+
+
+
Comments
+
+ {% render_field form.comments %} +
+ {% if form.custom_fields %}
Custom Fields
diff --git a/netbox/templates/ipam/service_edit.html b/netbox/templates/ipam/service_edit.html index f3e34a7d1..709d816c1 100644 --- a/netbox/templates/ipam/service_edit.html +++ b/netbox/templates/ipam/service_edit.html @@ -52,6 +52,13 @@ {% render_field form.tags %}
+
+
+
Comments
+
+ {% render_field form.comments %} +
+ {% if form.custom_fields %}
Custom Fields
diff --git a/netbox/templates/ipam/servicetemplate.html b/netbox/templates/ipam/servicetemplate.html index 6e2aacb34..afb4163b9 100644 --- a/netbox/templates/ipam/servicetemplate.html +++ b/netbox/templates/ipam/servicetemplate.html @@ -31,12 +31,13 @@
{% plugin_left_page object %} - -
- {% include 'inc/panels/custom_fields.html' %} - {% include 'inc/panels/tags.html' %} - {% plugin_right_page object %} -
+ +
+ {% include 'inc/panels/custom_fields.html' %} + {% include 'inc/panels/tags.html' %} + {% include 'inc/panels/comments.html' %} + {% plugin_right_page object %} +
diff --git a/netbox/templates/ipam/vlan.html b/netbox/templates/ipam/vlan.html index 53bb75b8f..c0f68bae2 100644 --- a/netbox/templates/ipam/vlan.html +++ b/netbox/templates/ipam/vlan.html @@ -74,9 +74,10 @@ {% plugin_left_page object %}
- {% include 'inc/panels/custom_fields.html' %} - {% include 'inc/panels/tags.html' %} - {% plugin_right_page object %} + {% include 'inc/panels/custom_fields.html' %} + {% include 'inc/panels/tags.html' %} + {% include 'inc/panels/comments.html' %} + {% plugin_right_page object %}
diff --git a/netbox/templates/ipam/vlan_edit.html b/netbox/templates/ipam/vlan_edit.html index 5aa577942..f4432efe3 100644 --- a/netbox/templates/ipam/vlan_edit.html +++ b/netbox/templates/ipam/vlan_edit.html @@ -55,6 +55,13 @@ {% endwith %}
+
+
+
Comments
+
+ {% render_field form.comments %} +
+ {% if form.custom_fields %}
diff --git a/netbox/templates/ipam/vrf.html b/netbox/templates/ipam/vrf.html index 831338600..b53862f9e 100644 --- a/netbox/templates/ipam/vrf.html +++ b/netbox/templates/ipam/vrf.html @@ -55,6 +55,7 @@
{% include 'inc/panels/tags.html' %} {% include 'inc/panels/custom_fields.html' %} + {% include 'inc/panels/comments.html' %} {% plugin_right_page object %}
diff --git a/netbox/templates/tenancy/contact.html b/netbox/templates/tenancy/contact.html index 8e71628e9..d92226137 100644 --- a/netbox/templates/tenancy/contact.html +++ b/netbox/templates/tenancy/contact.html @@ -63,6 +63,10 @@ {% endif %} + + Description + {{ object.description|placeholder }} + Assignments {{ assignment_count }} diff --git a/netbox/templates/virtualization/cluster.html b/netbox/templates/virtualization/cluster.html index bc02424cc..510c5a48e 100644 --- a/netbox/templates/virtualization/cluster.html +++ b/netbox/templates/virtualization/cluster.html @@ -23,6 +23,10 @@ Status {% badge object.get_status_display bg_color=object.get_status_color %} + + Description + {{ object.description|placeholder }} + Group {{ object.group|linkify|placeholder }} diff --git a/netbox/templates/virtualization/virtualmachine.html b/netbox/templates/virtualization/virtualmachine.html index c0e2ebd07..9d95b02ea 100644 --- a/netbox/templates/virtualization/virtualmachine.html +++ b/netbox/templates/virtualization/virtualmachine.html @@ -29,6 +29,10 @@ Platform {{ object.platform|linkify|placeholder }} + + Description + {{ object.description|placeholder }} + Tenant diff --git a/netbox/templates/wireless/wirelesslan.html b/netbox/templates/wireless/wirelesslan.html index 9250ef7ef..19e8b930d 100644 --- a/netbox/templates/wireless/wirelesslan.html +++ b/netbox/templates/wireless/wirelesslan.html @@ -39,6 +39,7 @@
{% include 'inc/panels/tags.html' %} + {% include 'inc/panels/comments.html' %} {% plugin_left_page object %}
diff --git a/netbox/templates/wireless/wirelesslink.html b/netbox/templates/wireless/wirelesslink.html index d1a93e40d..be98979c1 100644 --- a/netbox/templates/wireless/wirelesslink.html +++ b/netbox/templates/wireless/wirelesslink.html @@ -40,6 +40,7 @@
{% include 'inc/panels/tags.html' %} + {% include 'inc/panels/comments.html' %} {% plugin_left_page object %}
diff --git a/netbox/templates/wireless/wirelesslink_edit.html b/netbox/templates/wireless/wirelesslink_edit.html index 034d147de..462ae5148 100644 --- a/netbox/templates/wireless/wirelesslink_edit.html +++ b/netbox/templates/wireless/wirelesslink_edit.html @@ -22,6 +22,12 @@
+
+
+
Comments
+
+ {% render_field form.comments %} +
{% if form.custom_fields %}
diff --git a/netbox/tenancy/api/serializers.py b/netbox/tenancy/api/serializers.py index d2c6801c6..c8ef77117 100644 --- a/netbox/tenancy/api/serializers.py +++ b/netbox/tenancy/api/serializers.py @@ -85,8 +85,8 @@ class ContactSerializer(NetBoxModelSerializer): class Meta: model = Contact fields = [ - 'id', 'url', 'display', 'group', 'name', 'title', 'phone', 'email', 'address', 'link', 'comments', 'tags', - 'custom_fields', 'created', 'last_updated', + 'id', 'url', 'display', 'group', 'name', 'title', 'phone', 'email', 'address', 'link', 'description', + 'comments', 'tags', 'custom_fields', 'created', 'last_updated', ] diff --git a/netbox/tenancy/forms/bulk_edit.py b/netbox/tenancy/forms/bulk_edit.py index 4c1f03757..183a8e851 100644 --- a/netbox/tenancy/forms/bulk_edit.py +++ b/netbox/tenancy/forms/bulk_edit.py @@ -2,7 +2,7 @@ from django import forms from netbox.forms import NetBoxModelBulkEditForm from tenancy.models import * -from utilities.forms import DynamicModelChoiceField +from utilities.forms import CommentField, DynamicModelChoiceField, SmallTextarea __all__ = ( 'ContactBulkEditForm', @@ -101,9 +101,17 @@ class ContactBulkEditForm(NetBoxModelBulkEditForm): link = forms.URLField( required=False ) + description = forms.CharField( + max_length=200, + required=False + ) + comments = CommentField( + widget=SmallTextarea, + label='Comments' + ) model = Contact fieldsets = ( - (None, ('group', 'title', 'phone', 'email', 'address', 'link')), + (None, ('group', 'title', 'phone', 'email', 'address', 'link', 'description')), ) - nullable_fields = ('group', 'title', 'phone', 'email', 'address', 'link', 'comments') + nullable_fields = ('group', 'title', 'phone', 'email', 'address', 'link', 'description', 'comments') diff --git a/netbox/tenancy/forms/bulk_import.py b/netbox/tenancy/forms/bulk_import.py index d617a27b5..a465230c5 100644 --- a/netbox/tenancy/forms/bulk_import.py +++ b/netbox/tenancy/forms/bulk_import.py @@ -79,4 +79,4 @@ class ContactCSVForm(NetBoxModelCSVForm): class Meta: model = Contact - fields = ('name', 'title', 'phone', 'email', 'address', 'link', 'group', 'comments') + fields = ('name', 'title', 'phone', 'email', 'address', 'link', 'group', 'description', 'comments') diff --git a/netbox/tenancy/forms/model_forms.py b/netbox/tenancy/forms/model_forms.py index 80af04928..b466c94b2 100644 --- a/netbox/tenancy/forms/model_forms.py +++ b/netbox/tenancy/forms/model_forms.py @@ -103,13 +103,13 @@ class ContactForm(NetBoxModelForm): comments = CommentField() fieldsets = ( - ('Contact', ('group', 'name', 'title', 'phone', 'email', 'address', 'link', 'tags')), + ('Contact', ('group', 'name', 'title', 'phone', 'email', 'address', 'link', 'description', 'tags')), ) class Meta: model = Contact fields = ( - 'group', 'name', 'title', 'phone', 'email', 'address', 'link', 'comments', 'tags', + 'group', 'name', 'title', 'phone', 'email', 'address', 'link', 'description', 'comments', 'tags', ) widgets = { 'address': SmallTextarea(attrs={'rows': 3}), diff --git a/netbox/tenancy/migrations/0009_standardize_description_comments.py b/netbox/tenancy/migrations/0009_standardize_description_comments.py new file mode 100644 index 000000000..af93b055c --- /dev/null +++ b/netbox/tenancy/migrations/0009_standardize_description_comments.py @@ -0,0 +1,18 @@ +# Generated by Django 4.1.2 on 2022-11-03 18:24 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('tenancy', '0008_unique_constraints'), + ] + + operations = [ + migrations.AddField( + model_name='contact', + name='description', + field=models.CharField(blank=True, max_length=200), + ), + ] diff --git a/netbox/tenancy/models/contacts.py b/netbox/tenancy/models/contacts.py index ba937c167..4fa8d87cb 100644 --- a/netbox/tenancy/models/contacts.py +++ b/netbox/tenancy/models/contacts.py @@ -2,9 +2,8 @@ from django.contrib.contenttypes.fields import GenericForeignKey from django.contrib.contenttypes.models import ContentType from django.db import models from django.urls import reverse -from mptt.models import TreeForeignKey -from netbox.models import ChangeLoggedModel, NestedGroupModel, OrganizationalModel, NetBoxModel +from netbox.models import ChangeLoggedModel, NestedGroupModel, OrganizationalModel, PrimaryModel from netbox.models.features import WebhooksMixin from tenancy.choices import * @@ -41,7 +40,7 @@ class ContactRole(OrganizationalModel): return reverse('tenancy:contactrole', args=[self.pk]) -class Contact(NetBoxModel): +class Contact(PrimaryModel): """ Contact information for a particular object(s) in NetBox. """ @@ -73,9 +72,6 @@ class Contact(NetBoxModel): link = models.URLField( blank=True ) - comments = models.TextField( - blank=True - ) clone_fields = ( 'group', 'name', 'title', 'phone', 'email', 'address', 'link', diff --git a/netbox/tenancy/models/tenants.py b/netbox/tenancy/models/tenants.py index b76efcbf9..4c0c11e2a 100644 --- a/netbox/tenancy/models/tenants.py +++ b/netbox/tenancy/models/tenants.py @@ -1,9 +1,8 @@ from django.contrib.contenttypes.fields import GenericRelation from django.db import models from django.urls import reverse -from mptt.models import TreeForeignKey -from netbox.models import NestedGroupModel, NetBoxModel +from netbox.models import NestedGroupModel, PrimaryModel __all__ = ( 'Tenant', @@ -31,7 +30,7 @@ class TenantGroup(NestedGroupModel): return reverse('tenancy:tenantgroup', args=[self.pk]) -class Tenant(NetBoxModel): +class Tenant(PrimaryModel): """ A Tenant represents an organization served by the NetBox owner. This is typically a customer or an internal department. @@ -51,13 +50,6 @@ class Tenant(NetBoxModel): blank=True, null=True ) - description = models.CharField( - max_length=200, - blank=True - ) - comments = models.TextField( - blank=True - ) # Generic relations contacts = GenericRelation( diff --git a/netbox/tenancy/tables/contacts.py b/netbox/tenancy/tables/contacts.py index 234dc2ad7..b66a1182f 100644 --- a/netbox/tenancy/tables/contacts.py +++ b/netbox/tenancy/tables/contacts.py @@ -65,8 +65,8 @@ class ContactTable(NetBoxTable): class Meta(NetBoxTable.Meta): model = Contact fields = ( - 'pk', 'name', 'group', 'title', 'phone', 'email', 'address', 'link', 'comments', 'assignment_count', 'tags', - 'created', 'last_updated', + 'pk', 'name', 'group', 'title', 'phone', 'email', 'address', 'link', 'description', 'comments', + 'assignment_count', 'tags', 'created', 'last_updated', ) default_columns = ('pk', 'name', 'group', 'assignment_count', 'title', 'phone', 'email') diff --git a/netbox/virtualization/api/serializers.py b/netbox/virtualization/api/serializers.py index b88bc7712..bb4418b43 100644 --- a/netbox/virtualization/api/serializers.py +++ b/netbox/virtualization/api/serializers.py @@ -58,8 +58,8 @@ class ClusterSerializer(NetBoxModelSerializer): class Meta: model = Cluster fields = [ - 'id', 'url', 'display', 'name', 'type', 'group', 'status', 'tenant', 'site', 'comments', 'tags', - 'custom_fields', 'created', 'last_updated', 'device_count', 'virtualmachine_count', + 'id', 'url', 'display', 'name', 'type', 'group', 'status', 'tenant', 'site', 'description', 'comments', + 'tags', 'custom_fields', 'created', 'last_updated', 'device_count', 'virtualmachine_count', ] @@ -84,8 +84,8 @@ class VirtualMachineSerializer(NetBoxModelSerializer): model = VirtualMachine fields = [ 'id', 'url', 'display', 'name', 'status', 'site', 'cluster', 'device', 'role', 'tenant', 'platform', - 'primary_ip', 'primary_ip4', 'primary_ip6', 'vcpus', 'memory', 'disk', 'comments', 'local_context_data', - 'tags', 'custom_fields', 'created', 'last_updated', + 'primary_ip', 'primary_ip4', 'primary_ip6', 'vcpus', 'memory', 'disk', 'description', 'comments', + 'local_context_data', 'tags', 'custom_fields', 'created', 'last_updated', ] validators = [] diff --git a/netbox/virtualization/forms/bulk_edit.py b/netbox/virtualization/forms/bulk_edit.py index b2429744b..a94b2da1c 100644 --- a/netbox/virtualization/forms/bulk_edit.py +++ b/netbox/virtualization/forms/bulk_edit.py @@ -84,6 +84,10 @@ class ClusterBulkEditForm(NetBoxModelBulkEditForm): 'group_id': '$site_group', } ) + description = forms.CharField( + max_length=200, + required=False + ) comments = CommentField( widget=SmallTextarea, label='Comments' @@ -91,11 +95,11 @@ class ClusterBulkEditForm(NetBoxModelBulkEditForm): model = Cluster fieldsets = ( - (None, ('type', 'group', 'status', 'tenant',)), - ('Site', ('region', 'site_group', 'site',)), + (None, ('type', 'group', 'status', 'tenant', 'description')), + ('Site', ('region', 'site_group', 'site')), ) nullable_fields = ( - 'group', 'site', 'comments', 'tenant', + 'group', 'site', 'tenant', 'description', 'comments', ) @@ -153,6 +157,10 @@ class VirtualMachineBulkEditForm(NetBoxModelBulkEditForm): required=False, label='Disk (GB)' ) + description = forms.CharField( + max_length=200, + required=False + ) comments = CommentField( widget=SmallTextarea, label='Comments' @@ -160,11 +168,11 @@ class VirtualMachineBulkEditForm(NetBoxModelBulkEditForm): model = VirtualMachine fieldsets = ( - (None, ('site', 'cluster', 'device', 'status', 'role', 'tenant', 'platform')), + (None, ('site', 'cluster', 'device', 'status', 'role', 'tenant', 'platform', 'description')), ('Resources', ('vcpus', 'memory', 'disk')) ) nullable_fields = ( - 'site', 'cluster', 'device', 'role', 'tenant', 'platform', 'vcpus', 'memory', 'disk', 'comments', + 'site', 'cluster', 'device', 'role', 'tenant', 'platform', 'vcpus', 'memory', 'disk', 'description', 'comments', ) diff --git a/netbox/virtualization/forms/bulk_import.py b/netbox/virtualization/forms/bulk_import.py index 2d7ee52e2..d140197dd 100644 --- a/netbox/virtualization/forms/bulk_import.py +++ b/netbox/virtualization/forms/bulk_import.py @@ -63,7 +63,7 @@ class ClusterCSVForm(NetBoxModelCSVForm): class Meta: model = Cluster - fields = ('name', 'type', 'group', 'status', 'site', 'comments') + fields = ('name', 'type', 'group', 'status', 'site', 'description', 'comments') class VirtualMachineCSVForm(NetBoxModelCSVForm): @@ -114,7 +114,7 @@ class VirtualMachineCSVForm(NetBoxModelCSVForm): model = VirtualMachine fields = ( 'name', 'status', 'role', 'site', 'cluster', 'device', 'tenant', 'platform', 'vcpus', 'memory', 'disk', - 'comments', + 'description', 'comments', ) diff --git a/netbox/virtualization/forms/model_forms.py b/netbox/virtualization/forms/model_forms.py index 5438002b4..3f598d061 100644 --- a/netbox/virtualization/forms/model_forms.py +++ b/netbox/virtualization/forms/model_forms.py @@ -90,7 +90,7 @@ class ClusterForm(TenancyForm, NetBoxModelForm): comments = CommentField() fieldsets = ( - ('Cluster', ('name', 'type', 'group', 'status', 'tags')), + ('Cluster', ('name', 'type', 'group', 'status', 'description', 'tags')), ('Site', ('region', 'site_group', 'site')), ('Tenancy', ('tenant_group', 'tenant')), ) @@ -98,7 +98,8 @@ class ClusterForm(TenancyForm, NetBoxModelForm): class Meta: model = Cluster fields = ( - 'name', 'type', 'group', 'status', 'tenant', 'region', 'site_group', 'site', 'comments', 'tags', + 'name', 'type', 'group', 'status', 'tenant', 'region', 'site_group', 'site', 'description', 'comments', + 'tags', ) widgets = { 'status': StaticSelect(), @@ -220,9 +221,10 @@ class VirtualMachineForm(TenancyForm, NetBoxModelForm): required=False, label='' ) + comments = CommentField() fieldsets = ( - ('Virtual Machine', ('name', 'role', 'status', 'tags')), + ('Virtual Machine', ('name', 'role', 'status', 'description', 'tags')), ('Site/Cluster', ('site', 'cluster_group', 'cluster', 'device')), ('Tenancy', ('tenant_group', 'tenant')), ('Management', ('platform', 'primary_ip4', 'primary_ip6')), @@ -234,7 +236,7 @@ class VirtualMachineForm(TenancyForm, NetBoxModelForm): model = VirtualMachine fields = [ 'name', 'status', 'site', 'cluster_group', 'cluster', 'device', 'role', 'tenant_group', 'tenant', - 'platform', 'primary_ip4', 'primary_ip6', 'vcpus', 'memory', 'disk', 'comments', 'tags', + 'platform', 'primary_ip4', 'primary_ip6', 'vcpus', 'memory', 'disk', 'description', 'comments', 'tags', 'local_context_data', ] help_texts = { diff --git a/netbox/virtualization/migrations/0034_standardize_description_comments.py b/netbox/virtualization/migrations/0034_standardize_description_comments.py new file mode 100644 index 000000000..8517adeca --- /dev/null +++ b/netbox/virtualization/migrations/0034_standardize_description_comments.py @@ -0,0 +1,23 @@ +# Generated by Django 4.1.2 on 2022-11-03 18:24 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('virtualization', '0033_unique_constraints'), + ] + + operations = [ + migrations.AddField( + model_name='cluster', + name='description', + field=models.CharField(blank=True, max_length=200), + ), + migrations.AddField( + model_name='virtualmachine', + name='description', + field=models.CharField(blank=True, max_length=200), + ), + ] diff --git a/netbox/virtualization/models.py b/netbox/virtualization/models.py index b859d25fe..b5129d581 100644 --- a/netbox/virtualization/models.py +++ b/netbox/virtualization/models.py @@ -10,7 +10,7 @@ from dcim.models import BaseInterface, Device from extras.models import ConfigContextModel from extras.querysets import ConfigContextModelQuerySet from netbox.config import get_config -from netbox.models import OrganizationalModel, NetBoxModel +from netbox.models import NetBoxModel, OrganizationalModel, PrimaryModel from utilities.fields import NaturalOrderingField from utilities.ordering import naturalize_interface from utilities.query_functions import CollateAsChar @@ -64,7 +64,7 @@ class ClusterGroup(OrganizationalModel): # Clusters # -class Cluster(NetBoxModel): +class Cluster(PrimaryModel): """ A cluster of VirtualMachines. Each Cluster may optionally be associated with one or more Devices. """ @@ -102,9 +102,6 @@ class Cluster(NetBoxModel): blank=True, null=True ) - comments = models.TextField( - blank=True - ) # Generic relations vlan_groups = GenericRelation( @@ -165,7 +162,7 @@ class Cluster(NetBoxModel): # Virtual machines # -class VirtualMachine(NetBoxModel, ConfigContextModel): +class VirtualMachine(PrimaryModel, ConfigContextModel): """ A virtual machine which runs inside a Cluster. """ @@ -262,9 +259,6 @@ class VirtualMachine(NetBoxModel, ConfigContextModel): null=True, verbose_name='Disk (GB)' ) - comments = models.TextField( - blank=True - ) # Generic relation contacts = GenericRelation( diff --git a/netbox/virtualization/tables/clusters.py b/netbox/virtualization/tables/clusters.py index ae4c610d7..a3e67373d 100644 --- a/netbox/virtualization/tables/clusters.py +++ b/netbox/virtualization/tables/clusters.py @@ -86,7 +86,7 @@ class ClusterTable(TenancyColumnsMixin, ContactsColumnMixin, NetBoxTable): class Meta(NetBoxTable.Meta): model = Cluster fields = ( - 'pk', 'id', 'name', 'type', 'group', 'status', 'tenant', 'tenant_group', 'site', 'comments', 'device_count', - 'vm_count', 'contacts', 'tags', 'created', 'last_updated', + 'pk', 'id', 'name', 'type', 'group', 'status', 'tenant', 'tenant_group', 'site', 'description', 'comments', + 'device_count', 'vm_count', 'contacts', 'tags', 'created', 'last_updated', ) default_columns = ('pk', 'name', 'type', 'group', 'status', 'tenant', 'site', 'device_count', 'vm_count') diff --git a/netbox/virtualization/tables/virtualmachines.py b/netbox/virtualization/tables/virtualmachines.py index 29baff4cb..b1d44ad02 100644 --- a/netbox/virtualization/tables/virtualmachines.py +++ b/netbox/virtualization/tables/virtualmachines.py @@ -75,8 +75,8 @@ class VirtualMachineTable(TenancyColumnsMixin, ContactsColumnMixin, NetBoxTable) model = VirtualMachine fields = ( 'pk', 'id', 'name', 'status', 'site', 'cluster', 'device', 'role', 'tenant', 'tenant_group', 'platform', - 'vcpus', 'memory', 'disk', 'primary_ip4', 'primary_ip6', 'primary_ip', 'comments', 'contacts', 'tags', - 'created', 'last_updated', + 'vcpus', 'memory', 'disk', 'primary_ip4', 'primary_ip6', 'primary_ip', 'description', 'comments', + 'contacts', 'tags', 'created', 'last_updated', ) default_columns = ( 'pk', 'name', 'status', 'site', 'cluster', 'role', 'tenant', 'vcpus', 'memory', 'disk', 'primary_ip', diff --git a/netbox/wireless/api/serializers.py b/netbox/wireless/api/serializers.py index d65511765..109c3a341 100644 --- a/netbox/wireless/api/serializers.py +++ b/netbox/wireless/api/serializers.py @@ -42,7 +42,7 @@ class WirelessLANSerializer(NetBoxModelSerializer): model = WirelessLAN fields = [ 'id', 'url', 'display', 'ssid', 'description', 'group', 'vlan', 'tenant', 'auth_type', 'auth_cipher', - 'auth_psk', 'description', 'tags', 'custom_fields', 'created', 'last_updated', + 'auth_psk', 'description', 'comments', 'tags', 'custom_fields', 'created', 'last_updated', ] @@ -59,5 +59,5 @@ class WirelessLinkSerializer(NetBoxModelSerializer): model = WirelessLink fields = [ 'id', 'url', 'display', 'interface_a', 'interface_b', 'ssid', 'status', 'tenant', 'auth_type', - 'auth_cipher', 'auth_psk', 'description', 'tags', 'custom_fields', 'created', 'last_updated', + 'auth_cipher', 'auth_psk', 'description', 'comments', 'tags', 'custom_fields', 'created', 'last_updated', ] diff --git a/netbox/wireless/forms/bulk_edit.py b/netbox/wireless/forms/bulk_edit.py index 639a1ed1b..543e7e0b3 100644 --- a/netbox/wireless/forms/bulk_edit.py +++ b/netbox/wireless/forms/bulk_edit.py @@ -4,7 +4,7 @@ from dcim.choices import LinkStatusChoices from ipam.models import VLAN from netbox.forms import NetBoxModelBulkEditForm from tenancy.models import Tenant -from utilities.forms import add_blank_choice, DynamicModelChoiceField +from utilities.forms import add_blank_choice, CommentField, DynamicModelChoiceField, SmallTextarea from wireless.choices import * from wireless.constants import SSID_MAX_LENGTH from wireless.models import * @@ -52,9 +52,6 @@ class WirelessLANBulkEditForm(NetBoxModelBulkEditForm): queryset=Tenant.objects.all(), required=False ) - description = forms.CharField( - required=False - ) auth_type = forms.ChoiceField( choices=add_blank_choice(WirelessAuthTypeChoices), required=False @@ -67,6 +64,14 @@ class WirelessLANBulkEditForm(NetBoxModelBulkEditForm): required=False, label='Pre-shared key' ) + description = forms.CharField( + max_length=200, + required=False + ) + comments = CommentField( + widget=SmallTextarea, + label='Comments' + ) model = WirelessLAN fieldsets = ( @@ -74,7 +79,7 @@ class WirelessLANBulkEditForm(NetBoxModelBulkEditForm): ('Authentication', ('auth_type', 'auth_cipher', 'auth_psk')), ) nullable_fields = ( - 'ssid', 'group', 'vlan', 'tenant', 'description', 'auth_type', 'auth_cipher', 'auth_psk', + 'ssid', 'group', 'vlan', 'tenant', 'description', 'auth_type', 'auth_cipher', 'auth_psk', 'comments', ) @@ -92,9 +97,6 @@ class WirelessLinkBulkEditForm(NetBoxModelBulkEditForm): queryset=Tenant.objects.all(), required=False ) - description = forms.CharField( - required=False - ) auth_type = forms.ChoiceField( choices=add_blank_choice(WirelessAuthTypeChoices), required=False @@ -107,6 +109,14 @@ class WirelessLinkBulkEditForm(NetBoxModelBulkEditForm): required=False, label='Pre-shared key' ) + description = forms.CharField( + max_length=200, + required=False + ) + comments = CommentField( + widget=SmallTextarea, + label='Comments' + ) model = WirelessLink fieldsets = ( @@ -114,5 +124,5 @@ class WirelessLinkBulkEditForm(NetBoxModelBulkEditForm): ('Authentication', ('auth_type', 'auth_cipher', 'auth_psk')) ) nullable_fields = ( - 'ssid', 'tenant', 'description', 'auth_type', 'auth_cipher', 'auth_psk', + 'ssid', 'tenant', 'description', 'auth_type', 'auth_cipher', 'auth_psk', 'comments', ) diff --git a/netbox/wireless/forms/bulk_import.py b/netbox/wireless/forms/bulk_import.py index 6a1ca4f36..03ac997a3 100644 --- a/netbox/wireless/forms/bulk_import.py +++ b/netbox/wireless/forms/bulk_import.py @@ -60,7 +60,9 @@ class WirelessLANCSVForm(NetBoxModelCSVForm): class Meta: model = WirelessLAN - fields = ('ssid', 'group', 'vlan', 'tenant', 'description', 'auth_type', 'auth_cipher', 'auth_psk') + fields = ( + 'ssid', 'group', 'vlan', 'tenant', 'auth_type', 'auth_cipher', 'auth_psk', 'description', 'comments', + ) class WirelessLinkCSVForm(NetBoxModelCSVForm): @@ -94,5 +96,6 @@ class WirelessLinkCSVForm(NetBoxModelCSVForm): class Meta: model = WirelessLink fields = ( - 'interface_a', 'interface_b', 'ssid', 'tenant', 'description', 'auth_type', 'auth_cipher', 'auth_psk', + 'interface_a', 'interface_b', 'ssid', 'tenant', 'auth_type', 'auth_cipher', 'auth_psk', 'description', + 'comments', ) diff --git a/netbox/wireless/forms/model_forms.py b/netbox/wireless/forms/model_forms.py index 386484193..d57c74575 100644 --- a/netbox/wireless/forms/model_forms.py +++ b/netbox/wireless/forms/model_forms.py @@ -2,7 +2,7 @@ from dcim.models import Device, Interface, Location, Region, Site, SiteGroup from ipam.models import VLAN, VLANGroup from netbox.forms import NetBoxModelForm from tenancy.forms import TenancyForm -from utilities.forms import DynamicModelChoiceField, SlugField, StaticSelect +from utilities.forms import CommentField, DynamicModelChoiceField, SlugField, StaticSelect from wireless.models import * __all__ = ( @@ -82,6 +82,7 @@ class WirelessLANForm(TenancyForm, NetBoxModelForm): 'group_id': '$vlan_group', } ) + comments = CommentField() fieldsets = ( ('Wireless LAN', ('ssid', 'group', 'description', 'tags')), @@ -93,8 +94,8 @@ class WirelessLANForm(TenancyForm, NetBoxModelForm): class Meta: model = WirelessLAN fields = [ - 'ssid', 'group', 'description', 'region', 'site_group', 'site', 'vlan_group', 'vlan', 'tenant_group', - 'tenant', 'auth_type', 'auth_cipher', 'auth_psk', 'tags', + 'ssid', 'group', 'region', 'site_group', 'site', 'vlan_group', 'vlan', 'tenant_group', 'tenant', + 'auth_type', 'auth_cipher', 'auth_psk', 'description', 'comments', 'tags', ] widgets = { 'auth_type': StaticSelect, @@ -183,6 +184,7 @@ class WirelessLinkForm(TenancyForm, NetBoxModelForm): disabled_indicator='_occupied', label='Interface' ) + comments = CommentField() fieldsets = ( ('Side A', ('site_a', 'location_a', 'device_a', 'interface_a')), @@ -196,7 +198,8 @@ class WirelessLinkForm(TenancyForm, NetBoxModelForm): model = WirelessLink fields = [ 'site_a', 'location_a', 'device_a', 'interface_a', 'site_b', 'location_b', 'device_b', 'interface_b', - 'status', 'ssid', 'tenant_group', 'tenant', 'description', 'auth_type', 'auth_cipher', 'auth_psk', 'tags', + 'status', 'ssid', 'tenant_group', 'tenant', 'auth_type', 'auth_cipher', 'auth_psk', 'description', + 'comments', 'tags', ] widgets = { 'status': StaticSelect, diff --git a/netbox/wireless/migrations/0007_standardize_description_comments.py b/netbox/wireless/migrations/0007_standardize_description_comments.py new file mode 100644 index 000000000..e6e1ce8dd --- /dev/null +++ b/netbox/wireless/migrations/0007_standardize_description_comments.py @@ -0,0 +1,23 @@ +# Generated by Django 4.1.2 on 2022-11-03 18:24 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('wireless', '0006_unique_constraints'), + ] + + operations = [ + migrations.AddField( + model_name='wirelesslan', + name='comments', + field=models.TextField(blank=True), + ), + migrations.AddField( + model_name='wirelesslink', + name='comments', + field=models.TextField(blank=True), + ), + ] diff --git a/netbox/wireless/models.py b/netbox/wireless/models.py index ee2744e40..96764b53c 100644 --- a/netbox/wireless/models.py +++ b/netbox/wireless/models.py @@ -2,11 +2,11 @@ from django.apps import apps from django.core.exceptions import ValidationError from django.db import models from django.urls import reverse -from mptt.models import MPTTModel, TreeForeignKey +from mptt.models import MPTTModel from dcim.choices import LinkStatusChoices from dcim.constants import WIRELESS_IFACE_TYPES -from netbox.models import NestedGroupModel, NetBoxModel +from netbox.models import NestedGroupModel, PrimaryModel from .choices import * from .constants import * @@ -69,7 +69,7 @@ class WirelessLANGroup(NestedGroupModel): return reverse('wireless:wirelesslangroup', args=[self.pk]) -class WirelessLAN(WirelessAuthenticationBase, NetBoxModel): +class WirelessLAN(WirelessAuthenticationBase, PrimaryModel): """ A wireless network formed among an arbitrary number of access point and clients. """ @@ -98,10 +98,6 @@ class WirelessLAN(WirelessAuthenticationBase, NetBoxModel): blank=True, null=True ) - description = models.CharField( - max_length=200, - blank=True - ) clone_fields = ('ssid', 'group', 'tenant', 'description') @@ -122,7 +118,7 @@ def get_wireless_interface_types(): return {'type__in': WIRELESS_IFACE_TYPES} -class WirelessLink(WirelessAuthenticationBase, NetBoxModel): +class WirelessLink(WirelessAuthenticationBase, PrimaryModel): """ A point-to-point connection between two wireless Interfaces. """ @@ -157,10 +153,6 @@ class WirelessLink(WirelessAuthenticationBase, NetBoxModel): blank=True, null=True ) - description = models.CharField( - max_length=200, - blank=True - ) # Cache the associated device for the A and B interfaces. This enables filtering of WirelessLinks by their # associated Devices. diff --git a/netbox/wireless/tables/wirelesslan.py b/netbox/wireless/tables/wirelesslan.py index af0cdae88..4aa5cc1fd 100644 --- a/netbox/wireless/tables/wirelesslan.py +++ b/netbox/wireless/tables/wirelesslan.py @@ -21,6 +21,7 @@ class WirelessLANGroupTable(NetBoxTable): url_params={'group_id': 'pk'}, verbose_name='Wireless LANs' ) + comments = columns.MarkdownColumn() tags = columns.TagColumn( url_name='wireless:wirelesslangroup_list' ) @@ -28,7 +29,8 @@ class WirelessLANGroupTable(NetBoxTable): class Meta(NetBoxTable.Meta): model = WirelessLANGroup fields = ( - 'pk', 'name', 'wirelesslan_count', 'description', 'slug', 'tags', 'created', 'last_updated', 'actions', + 'pk', 'name', 'wirelesslan_count', 'slug', 'description', 'comments', 'tags', 'created', 'last_updated', + 'actions', ) default_columns = ('pk', 'name', 'wirelesslan_count', 'description') @@ -43,6 +45,7 @@ class WirelessLANTable(TenancyColumnsMixin, NetBoxTable): interface_count = tables.Column( verbose_name='Interfaces' ) + comments = columns.MarkdownColumn() tags = columns.TagColumn( url_name='wireless:wirelesslan_list' ) @@ -50,8 +53,8 @@ class WirelessLANTable(TenancyColumnsMixin, NetBoxTable): class Meta(NetBoxTable.Meta): model = WirelessLAN fields = ( - 'pk', 'ssid', 'group', 'tenant', 'tenant_group', 'description', 'vlan', 'interface_count', 'auth_type', - 'auth_cipher', 'auth_psk', 'tags', 'created', 'last_updated', + 'pk', 'ssid', 'group', 'tenant', 'tenant_group', 'vlan', 'interface_count', 'auth_type', 'auth_cipher', + 'auth_psk', 'description', 'comments', 'tags', 'created', 'last_updated', ) default_columns = ('pk', 'ssid', 'group', 'description', 'vlan', 'auth_type', 'interface_count') From cdeb65e2fb18fe473cffd493133ff13848fef996 Mon Sep 17 00:00:00 2001 From: Arthur Hanson Date: Fri, 4 Nov 2022 07:50:43 -0700 Subject: [PATCH 158/162] 7376 csv tags (#10802) * 7376 add tags to CSV import * 7376 change help text * 7376 validate tags * 7376 fix tests * 7376 add tag validation tests * Introduce CSVModelMultipleChoiceField for CSV import tag assignment * Clean up CSVImportTestCase Co-authored-by: jeremystretch --- netbox/circuits/forms/bulk_import.py | 8 +-- netbox/dcim/forms/bulk_import.py | 52 +++++++------- netbox/ipam/forms/bulk_import.py | 33 +++++---- netbox/netbox/forms/base.py | 10 ++- netbox/netbox/tests/test_import.py | 84 ++++++++++++++++++++++ netbox/tenancy/forms/bulk_import.py | 8 +-- netbox/utilities/forms/fields/csv.py | 16 ++++- netbox/virtualization/forms/bulk_import.py | 10 +-- netbox/wireless/forms/bulk_import.py | 5 +- 9 files changed, 165 insertions(+), 61 deletions(-) create mode 100644 netbox/netbox/tests/test_import.py diff --git a/netbox/circuits/forms/bulk_import.py b/netbox/circuits/forms/bulk_import.py index d0bdb09a7..4976e2d9b 100644 --- a/netbox/circuits/forms/bulk_import.py +++ b/netbox/circuits/forms/bulk_import.py @@ -18,7 +18,7 @@ class ProviderCSVForm(NetBoxModelCSVForm): class Meta: model = Provider fields = ( - 'name', 'slug', 'account', 'description', 'comments', + 'name', 'slug', 'account', 'description', 'comments', 'tags', ) @@ -32,7 +32,7 @@ class ProviderNetworkCSVForm(NetBoxModelCSVForm): class Meta: model = ProviderNetwork fields = [ - 'provider', 'name', 'service_id', 'description', 'comments', + 'provider', 'name', 'service_id', 'description', 'comments', 'tags' ] @@ -41,7 +41,7 @@ class CircuitTypeCSVForm(NetBoxModelCSVForm): class Meta: model = CircuitType - fields = ('name', 'slug', 'description') + fields = ('name', 'slug', 'description', 'tags') help_texts = { 'name': 'Name of circuit type', } @@ -73,5 +73,5 @@ class CircuitCSVForm(NetBoxModelCSVForm): model = Circuit fields = [ 'cid', 'provider', 'type', 'status', 'tenant', 'install_date', 'termination_date', 'commit_rate', - 'description', 'comments', + 'description', 'comments', 'tags' ] diff --git a/netbox/dcim/forms/bulk_import.py b/netbox/dcim/forms/bulk_import.py index 4c90c9c02..2b77ef5a9 100644 --- a/netbox/dcim/forms/bulk_import.py +++ b/netbox/dcim/forms/bulk_import.py @@ -56,7 +56,7 @@ class RegionCSVForm(NetBoxModelCSVForm): class Meta: model = Region - fields = ('name', 'slug', 'parent', 'description') + fields = ('name', 'slug', 'parent', 'description', 'tags') class SiteGroupCSVForm(NetBoxModelCSVForm): @@ -100,7 +100,7 @@ class SiteCSVForm(NetBoxModelCSVForm): model = Site fields = ( 'name', 'slug', 'status', 'region', 'group', 'tenant', 'facility', 'time_zone', 'description', - 'physical_address', 'shipping_address', 'latitude', 'longitude', 'comments', + 'physical_address', 'shipping_address', 'latitude', 'longitude', 'comments', 'tags' ) help_texts = { 'time_zone': mark_safe( @@ -137,7 +137,7 @@ class LocationCSVForm(NetBoxModelCSVForm): class Meta: model = Location - fields = ('site', 'parent', 'name', 'slug', 'status', 'tenant', 'description') + fields = ('site', 'parent', 'name', 'slug', 'status', 'tenant', 'description', 'tags') class RackRoleCSVForm(NetBoxModelCSVForm): @@ -145,7 +145,7 @@ class RackRoleCSVForm(NetBoxModelCSVForm): class Meta: model = RackRole - fields = ('name', 'slug', 'color', 'description') + fields = ('name', 'slug', 'color', 'description', 'tags') help_texts = { 'color': mark_safe('RGB color in hexadecimal (e.g. 00ff00)'), } @@ -197,7 +197,7 @@ class RackCSVForm(NetBoxModelCSVForm): fields = ( 'site', 'location', 'name', 'facility_id', 'tenant', 'status', 'role', 'type', 'serial', 'asset_tag', 'width', 'u_height', 'desc_units', 'outer_width', 'outer_depth', 'outer_unit', 'mounting_depth', - 'description', 'comments', + 'description', 'comments', 'tags', ) def __init__(self, data=None, *args, **kwargs): @@ -241,7 +241,7 @@ class RackReservationCSVForm(NetBoxModelCSVForm): class Meta: model = RackReservation - fields = ('site', 'location', 'rack', 'units', 'tenant', 'description', 'comments') + fields = ('site', 'location', 'rack', 'units', 'tenant', 'description', 'comments', 'tags') def __init__(self, data=None, *args, **kwargs): super().__init__(data, *args, **kwargs) @@ -264,7 +264,7 @@ class ManufacturerCSVForm(NetBoxModelCSVForm): class Meta: model = Manufacturer - fields = ('name', 'slug', 'description') + fields = ('name', 'slug', 'description', 'tags') class DeviceRoleCSVForm(NetBoxModelCSVForm): @@ -272,7 +272,7 @@ class DeviceRoleCSVForm(NetBoxModelCSVForm): class Meta: model = DeviceRole - fields = ('name', 'slug', 'color', 'vm_role', 'description') + fields = ('name', 'slug', 'color', 'vm_role', 'description', 'tags') help_texts = { 'color': mark_safe('RGB color in hexadecimal (e.g. 00ff00)'), } @@ -289,7 +289,7 @@ class PlatformCSVForm(NetBoxModelCSVForm): class Meta: model = Platform - fields = ('name', 'slug', 'manufacturer', 'napalm_driver', 'napalm_args', 'description') + fields = ('name', 'slug', 'manufacturer', 'napalm_driver', 'napalm_args', 'description', 'tags') class BaseDeviceCSVForm(NetBoxModelCSVForm): @@ -388,7 +388,7 @@ class DeviceCSVForm(BaseDeviceCSVForm): fields = [ 'name', 'device_role', 'tenant', 'manufacturer', 'device_type', 'platform', 'serial', 'asset_tag', 'status', 'site', 'location', 'rack', 'position', 'face', 'airflow', 'virtual_chassis', 'vc_position', 'vc_priority', - 'cluster', 'description', 'comments', + 'cluster', 'description', 'comments', 'tags', ] def __init__(self, data=None, *args, **kwargs): @@ -425,7 +425,7 @@ class ModuleCSVForm(NetBoxModelCSVForm): class Meta: model = Module fields = ( - 'device', 'module_bay', 'module_type', 'serial', 'asset_tag', 'description', 'comments', + 'device', 'module_bay', 'module_type', 'serial', 'asset_tag', 'description', 'comments', 'tags', ) def __init__(self, data=None, *args, **kwargs): @@ -452,7 +452,7 @@ class ChildDeviceCSVForm(BaseDeviceCSVForm): class Meta(BaseDeviceCSVForm.Meta): fields = [ 'name', 'device_role', 'tenant', 'manufacturer', 'device_type', 'platform', 'serial', 'asset_tag', 'status', - 'parent', 'device_bay', 'virtual_chassis', 'vc_position', 'vc_priority', 'cluster', 'comments', + 'parent', 'device_bay', 'virtual_chassis', 'vc_position', 'vc_priority', 'cluster', 'comments', 'tags' ] def __init__(self, data=None, *args, **kwargs): @@ -503,7 +503,7 @@ class ConsolePortCSVForm(NetBoxModelCSVForm): class Meta: model = ConsolePort - fields = ('device', 'name', 'label', 'type', 'speed', 'mark_connected', 'description') + fields = ('device', 'name', 'label', 'type', 'speed', 'mark_connected', 'description', 'tags') class ConsoleServerPortCSVForm(NetBoxModelCSVForm): @@ -526,7 +526,7 @@ class ConsoleServerPortCSVForm(NetBoxModelCSVForm): class Meta: model = ConsoleServerPort - fields = ('device', 'name', 'label', 'type', 'speed', 'mark_connected', 'description') + fields = ('device', 'name', 'label', 'type', 'speed', 'mark_connected', 'description', 'tags') class PowerPortCSVForm(NetBoxModelCSVForm): @@ -543,7 +543,7 @@ class PowerPortCSVForm(NetBoxModelCSVForm): class Meta: model = PowerPort fields = ( - 'device', 'name', 'label', 'type', 'mark_connected', 'maximum_draw', 'allocated_draw', 'description', + 'device', 'name', 'label', 'type', 'mark_connected', 'maximum_draw', 'allocated_draw', 'description', 'tags' ) @@ -571,7 +571,7 @@ class PowerOutletCSVForm(NetBoxModelCSVForm): class Meta: model = PowerOutlet - fields = ('device', 'name', 'label', 'type', 'mark_connected', 'power_port', 'feed_leg', 'description') + fields = ('device', 'name', 'label', 'type', 'mark_connected', 'power_port', 'feed_leg', 'description', 'tags') def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) @@ -659,7 +659,7 @@ class InterfaceCSVForm(NetBoxModelCSVForm): fields = ( 'device', 'name', 'label', 'parent', 'bridge', 'lag', 'type', 'speed', 'duplex', 'enabled', 'mark_connected', 'mac_address', 'wwn', 'mtu', 'mgmt_only', 'description', 'poe_mode', 'poe_type', 'mode', - 'vrf', 'rf_role', 'rf_channel', 'rf_channel_frequency', 'rf_channel_width', 'tx_power', + 'vrf', 'rf_role', 'rf_channel', 'rf_channel_frequency', 'rf_channel_width', 'tx_power', 'tags' ) def __init__(self, data=None, *args, **kwargs): @@ -702,7 +702,7 @@ class FrontPortCSVForm(NetBoxModelCSVForm): model = FrontPort fields = ( 'device', 'name', 'label', 'type', 'color', 'mark_connected', 'rear_port', 'rear_port_position', - 'description', + 'description', 'tags' ) help_texts = { 'rear_port_position': 'Mapped position on corresponding rear port', @@ -743,7 +743,7 @@ class RearPortCSVForm(NetBoxModelCSVForm): class Meta: model = RearPort - fields = ('device', 'name', 'label', 'type', 'color', 'mark_connected', 'positions', 'description') + fields = ('device', 'name', 'label', 'type', 'color', 'mark_connected', 'positions', 'description', 'tags') help_texts = { 'positions': 'Number of front ports which may be mapped' } @@ -757,7 +757,7 @@ class ModuleBayCSVForm(NetBoxModelCSVForm): class Meta: model = ModuleBay - fields = ('device', 'name', 'label', 'position', 'description') + fields = ('device', 'name', 'label', 'position', 'description', 'tags') class DeviceBayCSVForm(NetBoxModelCSVForm): @@ -777,7 +777,7 @@ class DeviceBayCSVForm(NetBoxModelCSVForm): class Meta: model = DeviceBay - fields = ('device', 'name', 'label', 'installed_device', 'description') + fields = ('device', 'name', 'label', 'installed_device', 'description', 'tags') def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) @@ -832,7 +832,7 @@ class InventoryItemCSVForm(NetBoxModelCSVForm): model = InventoryItem fields = ( 'device', 'name', 'label', 'role', 'manufacturer', 'part_id', 'serial', 'asset_tag', 'discovered', - 'description', + 'description', 'tags' ) def __init__(self, *args, **kwargs): @@ -928,7 +928,7 @@ class CableCSVForm(NetBoxModelCSVForm): model = Cable fields = [ 'side_a_device', 'side_a_type', 'side_a_name', 'side_b_device', 'side_b_type', 'side_b_name', 'type', - 'status', 'tenant', 'label', 'color', 'length', 'length_unit', 'description', 'comments', + 'status', 'tenant', 'label', 'color', 'length', 'length_unit', 'description', 'comments', 'tags', ] help_texts = { 'color': mark_safe('RGB color in hexadecimal (e.g. 00ff00)'), @@ -985,7 +985,7 @@ class VirtualChassisCSVForm(NetBoxModelCSVForm): class Meta: model = VirtualChassis - fields = ('name', 'domain', 'master', 'description') + fields = ('name', 'domain', 'master', 'description', 'comments', 'tags') # @@ -1006,7 +1006,7 @@ class PowerPanelCSVForm(NetBoxModelCSVForm): class Meta: model = PowerPanel - fields = ('site', 'location', 'name', 'description', 'comments') + fields = ('site', 'location', 'name', 'description', 'comments', 'tags') def __init__(self, data=None, *args, **kwargs): super().__init__(data, *args, **kwargs) @@ -1062,7 +1062,7 @@ class PowerFeedCSVForm(NetBoxModelCSVForm): model = PowerFeed fields = ( 'site', 'power_panel', 'location', 'rack', 'name', 'status', 'type', 'mark_connected', 'supply', 'phase', - 'voltage', 'amperage', 'max_utilization', 'description', 'comments', + 'voltage', 'amperage', 'max_utilization', 'description', 'comments', 'tags', ) def __init__(self, data=None, *args, **kwargs): diff --git a/netbox/ipam/forms/bulk_import.py b/netbox/ipam/forms/bulk_import.py index 3a31b6757..4cd0bb69f 100644 --- a/netbox/ipam/forms/bulk_import.py +++ b/netbox/ipam/forms/bulk_import.py @@ -41,7 +41,7 @@ class VRFCSVForm(NetBoxModelCSVForm): class Meta: model = VRF - fields = ('name', 'rd', 'tenant', 'enforce_unique', 'description', 'comments') + fields = ('name', 'rd', 'tenant', 'enforce_unique', 'description', 'comments', 'tags') class RouteTargetCSVForm(NetBoxModelCSVForm): @@ -54,7 +54,7 @@ class RouteTargetCSVForm(NetBoxModelCSVForm): class Meta: model = RouteTarget - fields = ('name', 'tenant', 'description', 'comments') + fields = ('name', 'tenant', 'description', 'comments', 'tags') class RIRCSVForm(NetBoxModelCSVForm): @@ -62,7 +62,7 @@ class RIRCSVForm(NetBoxModelCSVForm): class Meta: model = RIR - fields = ('name', 'slug', 'is_private', 'description') + fields = ('name', 'slug', 'is_private', 'description', 'tags') help_texts = { 'name': 'RIR name', } @@ -83,7 +83,7 @@ class AggregateCSVForm(NetBoxModelCSVForm): class Meta: model = Aggregate - fields = ('prefix', 'rir', 'tenant', 'date_added', 'description', 'comments') + fields = ('prefix', 'rir', 'tenant', 'date_added', 'description', 'comments', 'tags') class ASNCSVForm(NetBoxModelCSVForm): @@ -101,8 +101,7 @@ class ASNCSVForm(NetBoxModelCSVForm): class Meta: model = ASN - fields = ('asn', 'rir', 'tenant', 'description', 'comments') - help_texts = {} + fields = ('asn', 'rir', 'tenant', 'description', 'comments', 'tags') class RoleCSVForm(NetBoxModelCSVForm): @@ -110,7 +109,7 @@ class RoleCSVForm(NetBoxModelCSVForm): class Meta: model = Role - fields = ('name', 'slug', 'weight', 'description') + fields = ('name', 'slug', 'weight', 'description', 'tags') class PrefixCSVForm(NetBoxModelCSVForm): @@ -159,7 +158,7 @@ class PrefixCSVForm(NetBoxModelCSVForm): model = Prefix fields = ( 'prefix', 'vrf', 'tenant', 'site', 'vlan_group', 'vlan', 'status', 'role', 'is_pool', 'mark_utilized', - 'description', 'comments', + 'description', 'comments', 'tags', ) def __init__(self, data=None, *args, **kwargs): @@ -204,7 +203,7 @@ class IPRangeCSVForm(NetBoxModelCSVForm): class Meta: model = IPRange fields = ( - 'start_address', 'end_address', 'vrf', 'tenant', 'status', 'role', 'description', 'comments', + 'start_address', 'end_address', 'vrf', 'tenant', 'status', 'role', 'description', 'comments', 'tags', ) @@ -257,7 +256,7 @@ class IPAddressCSVForm(NetBoxModelCSVForm): model = IPAddress fields = [ 'address', 'vrf', 'tenant', 'status', 'role', 'device', 'virtual_machine', 'interface', 'is_primary', - 'dns_name', 'description', 'comments', + 'dns_name', 'description', 'comments', 'tags', ] def __init__(self, data=None, *args, **kwargs): @@ -326,7 +325,7 @@ class FHRPGroupCSVForm(NetBoxModelCSVForm): class Meta: model = FHRPGroup - fields = ('protocol', 'group_id', 'auth_type', 'auth_key', 'name', 'description', 'comments') + fields = ('protocol', 'group_id', 'auth_type', 'auth_key', 'name', 'description', 'comments', 'tags') class VLANGroupCSVForm(NetBoxModelCSVForm): @@ -351,7 +350,7 @@ class VLANGroupCSVForm(NetBoxModelCSVForm): class Meta: model = VLANGroup - fields = ('name', 'slug', 'scope_type', 'scope_id', 'min_vid', 'max_vid', 'description') + fields = ('name', 'slug', 'scope_type', 'scope_id', 'min_vid', 'max_vid', 'description', 'tags') labels = { 'scope_id': 'Scope ID', } @@ -389,7 +388,7 @@ class VLANCSVForm(NetBoxModelCSVForm): class Meta: model = VLAN - fields = ('site', 'group', 'vid', 'name', 'tenant', 'status', 'role', 'description', 'comments') + fields = ('site', 'group', 'vid', 'name', 'tenant', 'status', 'role', 'description', 'comments', 'tags') help_texts = { 'vid': 'Numeric VLAN ID (1-4094)', 'name': 'VLAN name', @@ -404,7 +403,7 @@ class ServiceTemplateCSVForm(NetBoxModelCSVForm): class Meta: model = ServiceTemplate - fields = ('name', 'protocol', 'ports', 'description', 'comments') + fields = ('name', 'protocol', 'ports', 'description', 'comments', 'tags') class ServiceCSVForm(NetBoxModelCSVForm): @@ -427,7 +426,7 @@ class ServiceCSVForm(NetBoxModelCSVForm): class Meta: model = Service - fields = ('device', 'virtual_machine', 'name', 'protocol', 'ports', 'description', 'comments') + fields = ('device', 'virtual_machine', 'name', 'protocol', 'ports', 'description', 'comments', 'tags') class L2VPNCSVForm(NetBoxModelCSVForm): @@ -443,7 +442,7 @@ class L2VPNCSVForm(NetBoxModelCSVForm): class Meta: model = L2VPN - fields = ('identifier', 'name', 'slug', 'type', 'description', 'comments') + fields = ('identifier', 'name', 'slug', 'type', 'description', 'comments', 'tags') class L2VPNTerminationCSVForm(NetBoxModelCSVForm): @@ -480,7 +479,7 @@ class L2VPNTerminationCSVForm(NetBoxModelCSVForm): class Meta: model = L2VPNTermination - fields = ('l2vpn', 'device', 'virtual_machine', 'interface', 'vlan') + fields = ('l2vpn', 'device', 'virtual_machine', 'interface', 'vlan', 'tags') def __init__(self, data=None, *args, **kwargs): super().__init__(data, *args, **kwargs) diff --git a/netbox/netbox/forms/base.py b/netbox/netbox/forms/base.py index 564e254a3..4a4368a65 100644 --- a/netbox/netbox/forms/base.py +++ b/netbox/netbox/forms/base.py @@ -1,12 +1,13 @@ from django import forms from django.contrib.contenttypes.models import ContentType +from django.core.exceptions import ValidationError from django.db.models import Q from extras.choices import CustomFieldFilterLogicChoices, CustomFieldTypeChoices, CustomFieldVisibilityChoices from extras.forms.mixins import CustomFieldsMixin, SavedFiltersMixin from extras.models import CustomField, Tag from utilities.forms import BootstrapMixin, CSVModelForm -from utilities.forms.fields import DynamicModelMultipleChoiceField +from utilities.forms.fields import CSVModelMultipleChoiceField, DynamicModelMultipleChoiceField __all__ = ( 'NetBoxModelForm', @@ -61,7 +62,12 @@ class NetBoxModelCSVForm(CSVModelForm, NetBoxModelForm): """ Base form for creating a NetBox objects from CSV data. Used for bulk importing. """ - tags = None # Temporary fix in lieu of tag import support (see #9158) + tags = CSVModelMultipleChoiceField( + queryset=Tag.objects.all(), + required=False, + to_field_name='slug', + help_text='Tag slugs separated by commas, encased with double quotes (e.g. "tag1,tag2,tag3")' + ) def _get_custom_fields(self, content_type): return CustomField.objects.filter(content_types=content_type).filter( diff --git a/netbox/netbox/tests/test_import.py b/netbox/netbox/tests/test_import.py new file mode 100644 index 000000000..73f2e0e27 --- /dev/null +++ b/netbox/netbox/tests/test_import.py @@ -0,0 +1,84 @@ +from django.contrib.contenttypes.models import ContentType +from django.test import override_settings + +from dcim.models import * +from users.models import ObjectPermission +from utilities.testing import ModelViewTestCase, create_tags + + +class CSVImportTestCase(ModelViewTestCase): + model = Region + + @classmethod + def setUpTestData(cls): + create_tags('Alpha', 'Bravo', 'Charlie', 'Delta', 'Echo') + + def _get_csv_data(self, csv_data): + return '\n'.join(csv_data) + + @override_settings(EXEMPT_VIEW_PERMISSIONS=['*']) + def test_valid_tags(self): + csv_data = ( + 'name,slug,tags', + 'Region 1,region-1,"alpha,bravo"', + 'Region 2,region-2,"charlie,delta"', + 'Region 3,region-3,echo', + 'Region 4,region-4,', + ) + + data = { + 'csv': self._get_csv_data(csv_data), + } + + # Assign model-level permission + obj_perm = ObjectPermission(name='Test permission', actions=['add']) + obj_perm.save() + obj_perm.users.add(self.user) + obj_perm.object_types.add(ContentType.objects.get_for_model(self.model)) + + # Try GET with model-level permission + self.assertHttpStatus(self.client.get(self._get_url('import')), 200) + + # Test POST with permission + self.assertHttpStatus(self.client.post(self._get_url('import'), data), 200) + regions = Region.objects.all() + self.assertEqual(regions.count(), 4) + region = Region.objects.get(slug="region-4") + self.assertEqual( + list(regions[0].tags.values_list('name', flat=True)), + ['Alpha', 'Bravo'] + ) + self.assertEqual( + list(regions[1].tags.values_list('name', flat=True)), + ['Charlie', 'Delta'] + ) + self.assertEqual( + list(regions[2].tags.values_list('name', flat=True)), + ['Echo'] + ) + self.assertEqual(regions[3].tags.count(), 0) + + @override_settings(EXEMPT_VIEW_PERMISSIONS=['*']) + def test_invalid_tags(self): + csv_data = ( + 'name,slug,tags', + 'Region 1,region-1,"Alpha,Bravo"', # Valid + 'Region 2,region-2,"Alpha,Tango"', # Invalid + ) + + data = { + 'csv': self._get_csv_data(csv_data), + } + + # Assign model-level permission + obj_perm = ObjectPermission(name='Test permission', actions=['add']) + obj_perm.save() + obj_perm.users.add(self.user) + obj_perm.object_types.add(ContentType.objects.get_for_model(self.model)) + + # Try GET with model-level permission + self.assertHttpStatus(self.client.get(self._get_url('import')), 200) + + # Test POST with permission + self.assertHttpStatus(self.client.post(self._get_url('import'), data), 200) + self.assertEqual(Region.objects.count(), 0) diff --git a/netbox/tenancy/forms/bulk_import.py b/netbox/tenancy/forms/bulk_import.py index a465230c5..137f79d42 100644 --- a/netbox/tenancy/forms/bulk_import.py +++ b/netbox/tenancy/forms/bulk_import.py @@ -26,7 +26,7 @@ class TenantGroupCSVForm(NetBoxModelCSVForm): class Meta: model = TenantGroup - fields = ('name', 'slug', 'parent', 'description') + fields = ('name', 'slug', 'parent', 'description', 'tags') class TenantCSVForm(NetBoxModelCSVForm): @@ -40,7 +40,7 @@ class TenantCSVForm(NetBoxModelCSVForm): class Meta: model = Tenant - fields = ('name', 'slug', 'group', 'description', 'comments') + fields = ('name', 'slug', 'group', 'description', 'comments', 'tags') # @@ -58,7 +58,7 @@ class ContactGroupCSVForm(NetBoxModelCSVForm): class Meta: model = ContactGroup - fields = ('name', 'slug', 'parent', 'description') + fields = ('name', 'slug', 'parent', 'description', 'tags') class ContactRoleCSVForm(NetBoxModelCSVForm): @@ -79,4 +79,4 @@ class ContactCSVForm(NetBoxModelCSVForm): class Meta: model = Contact - fields = ('name', 'title', 'phone', 'email', 'address', 'link', 'group', 'description', 'comments') + fields = ('name', 'title', 'phone', 'email', 'address', 'link', 'group', 'description', 'comments', 'tags') diff --git a/netbox/utilities/forms/fields/csv.py b/netbox/utilities/forms/fields/csv.py index 275c8084c..59765cae8 100644 --- a/netbox/utilities/forms/fields/csv.py +++ b/netbox/utilities/forms/fields/csv.py @@ -16,6 +16,7 @@ __all__ = ( 'CSVDataField', 'CSVFileField', 'CSVModelChoiceField', + 'CSVModelMultipleChoiceField', 'CSVMultipleChoiceField', 'CSVMultipleContentTypeField', 'CSVTypedChoiceField', @@ -142,7 +143,7 @@ class CSVModelChoiceField(forms.ModelChoiceField): Extends Django's `ModelChoiceField` to provide additional validation for CSV values. """ default_error_messages = { - 'invalid_choice': 'Object not found.', + 'invalid_choice': 'Object not found: %(value)s', } def to_python(self, value): @@ -154,6 +155,19 @@ class CSVModelChoiceField(forms.ModelChoiceField): ) +class CSVModelMultipleChoiceField(forms.ModelMultipleChoiceField): + """ + Extends Django's `ModelMultipleChoiceField` to support comma-separated values. + """ + default_error_messages = { + 'invalid_choice': 'Object not found: %(value)s', + } + + def clean(self, value): + value = value.split(',') if value else [] + return super().clean(value) + + class CSVContentTypeField(CSVModelChoiceField): """ CSV field for referencing a single content type, in the form `.`. diff --git a/netbox/virtualization/forms/bulk_import.py b/netbox/virtualization/forms/bulk_import.py index d140197dd..6fc704ae4 100644 --- a/netbox/virtualization/forms/bulk_import.py +++ b/netbox/virtualization/forms/bulk_import.py @@ -21,7 +21,7 @@ class ClusterTypeCSVForm(NetBoxModelCSVForm): class Meta: model = ClusterType - fields = ('name', 'slug', 'description') + fields = ('name', 'slug', 'description', 'tags') class ClusterGroupCSVForm(NetBoxModelCSVForm): @@ -29,7 +29,7 @@ class ClusterGroupCSVForm(NetBoxModelCSVForm): class Meta: model = ClusterGroup - fields = ('name', 'slug', 'description') + fields = ('name', 'slug', 'description', 'tags') class ClusterCSVForm(NetBoxModelCSVForm): @@ -63,7 +63,7 @@ class ClusterCSVForm(NetBoxModelCSVForm): class Meta: model = Cluster - fields = ('name', 'type', 'group', 'status', 'site', 'description', 'comments') + fields = ('name', 'type', 'group', 'status', 'site', 'description', 'comments', 'tags') class VirtualMachineCSVForm(NetBoxModelCSVForm): @@ -114,7 +114,7 @@ class VirtualMachineCSVForm(NetBoxModelCSVForm): model = VirtualMachine fields = ( 'name', 'status', 'role', 'site', 'cluster', 'device', 'tenant', 'platform', 'vcpus', 'memory', 'disk', - 'description', 'comments', + 'description', 'comments', 'tags', ) @@ -151,7 +151,7 @@ class VMInterfaceCSVForm(NetBoxModelCSVForm): model = VMInterface fields = ( 'virtual_machine', 'name', 'parent', 'bridge', 'enabled', 'mac_address', 'mtu', 'description', 'mode', - 'vrf', + 'vrf', 'tags' ) def __init__(self, data=None, *args, **kwargs): diff --git a/netbox/wireless/forms/bulk_import.py b/netbox/wireless/forms/bulk_import.py index 03ac997a3..00078c8eb 100644 --- a/netbox/wireless/forms/bulk_import.py +++ b/netbox/wireless/forms/bulk_import.py @@ -25,7 +25,7 @@ class WirelessLANGroupCSVForm(NetBoxModelCSVForm): class Meta: model = WirelessLANGroup - fields = ('name', 'slug', 'parent', 'description') + fields = ('name', 'slug', 'parent', 'description', 'tags') class WirelessLANCSVForm(NetBoxModelCSVForm): @@ -62,6 +62,7 @@ class WirelessLANCSVForm(NetBoxModelCSVForm): model = WirelessLAN fields = ( 'ssid', 'group', 'vlan', 'tenant', 'auth_type', 'auth_cipher', 'auth_psk', 'description', 'comments', + 'tags', ) @@ -97,5 +98,5 @@ class WirelessLinkCSVForm(NetBoxModelCSVForm): model = WirelessLink fields = ( 'interface_a', 'interface_b', 'ssid', 'tenant', 'auth_type', 'auth_cipher', 'auth_psk', 'description', - 'comments', + 'comments', 'tags', ) From ad40d42dc467940b27021104a8beaee3cce1afaa Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Fri, 4 Nov 2022 13:40:39 -0400 Subject: [PATCH 159/162] Closes #10710: Add status field to WirelessLAN --- docs/models/wireless/wirelesslan.md | 7 +++ netbox/templates/wireless/wirelesslan.html | 4 ++ netbox/wireless/api/serializers.py | 5 +- netbox/wireless/choices.py | 18 +++++++ netbox/wireless/filtersets.py | 3 ++ netbox/wireless/forms/bulk_edit.py | 6 ++- netbox/wireless/forms/bulk_import.py | 8 ++- netbox/wireless/forms/filtersets.py | 7 ++- netbox/wireless/forms/model_forms.py | 6 +-- .../migrations/0008_wirelesslan_status.py | 18 +++++++ netbox/wireless/models.py | 8 +++ netbox/wireless/tables/wirelesslan.py | 7 +-- netbox/wireless/tests/test_api.py | 10 ++-- netbox/wireless/tests/test_filtersets.py | 52 ++++++++++++++++--- netbox/wireless/tests/test_views.py | 31 ++++++++--- 15 files changed, 162 insertions(+), 28 deletions(-) create mode 100644 netbox/wireless/migrations/0008_wirelesslan_status.py diff --git a/docs/models/wireless/wirelesslan.md b/docs/models/wireless/wirelesslan.md index 5bb3dbd65..0f50fa75f 100644 --- a/docs/models/wireless/wirelesslan.md +++ b/docs/models/wireless/wirelesslan.md @@ -12,6 +12,13 @@ The service set identifier (SSID) for the wireless network. The [wireless LAN group](./wirelesslangroup.md) to which this wireless LAN is assigned (if any). +### Status + +The operational status of the wireless network. + +!!! tip + Additional statuses may be defined by setting `WirelessLAN.status` under the [`FIELD_CHOICES`](../../configuration/data-validation.md#field_choices) configuration parameter. + ### VLAN Each wireless LAN can optionally be mapped to a [VLAN](../ipam/vlan.md), to model a bridge between wired and wireless segments. diff --git a/netbox/templates/wireless/wirelesslan.html b/netbox/templates/wireless/wirelesslan.html index 19e8b930d..ad76f9c07 100644 --- a/netbox/templates/wireless/wirelesslan.html +++ b/netbox/templates/wireless/wirelesslan.html @@ -18,6 +18,10 @@ Group {{ object.group|linkify|placeholder }} + + Status + {% badge object.get_status_display bg_color=object.get_status_color %} + Description {{ object.description|placeholder }} diff --git a/netbox/wireless/api/serializers.py b/netbox/wireless/api/serializers.py index 109c3a341..cc2c8701c 100644 --- a/netbox/wireless/api/serializers.py +++ b/netbox/wireless/api/serializers.py @@ -33,6 +33,7 @@ class WirelessLANGroupSerializer(NestedGroupModelSerializer): class WirelessLANSerializer(NetBoxModelSerializer): url = serializers.HyperlinkedIdentityField(view_name='wireless-api:wirelesslan-detail') group = NestedWirelessLANGroupSerializer(required=False, allow_null=True) + status = ChoiceField(choices=WirelessLANStatusChoices, required=False, allow_blank=True) vlan = NestedVLANSerializer(required=False, allow_null=True) tenant = NestedTenantSerializer(required=False, allow_null=True) auth_type = ChoiceField(choices=WirelessAuthTypeChoices, required=False, allow_blank=True) @@ -41,8 +42,8 @@ class WirelessLANSerializer(NetBoxModelSerializer): class Meta: model = WirelessLAN fields = [ - 'id', 'url', 'display', 'ssid', 'description', 'group', 'vlan', 'tenant', 'auth_type', 'auth_cipher', - 'auth_psk', 'description', 'comments', 'tags', 'custom_fields', 'created', 'last_updated', + 'id', 'url', 'display', 'ssid', 'description', 'group', 'status', 'vlan', 'tenant', 'auth_type', + 'auth_cipher', 'auth_psk', 'description', 'comments', 'tags', 'custom_fields', 'created', 'last_updated', ] diff --git a/netbox/wireless/choices.py b/netbox/wireless/choices.py index 135fa1b0c..b1f283620 100644 --- a/netbox/wireless/choices.py +++ b/netbox/wireless/choices.py @@ -1,3 +1,5 @@ +from django.utils.translation import gettext as _ + from utilities.choices import ChoiceSet @@ -11,6 +13,22 @@ class WirelessRoleChoices(ChoiceSet): ) +class WirelessLANStatusChoices(ChoiceSet): + key = 'WirelessLANS.status' + + STATUS_ACTIVE = 'active' + STATUS_RESERVED = 'reserved' + STATUS_DISABLED = 'disabled' + STATUS_DEPRECATED = 'deprecated' + + CHOICES = [ + (STATUS_ACTIVE, _('Active'), 'green'), + (STATUS_RESERVED, _('Reserved'), 'cyan'), + (STATUS_DISABLED, _('Disabled'), 'orange'), + (STATUS_DEPRECATED, _('Deprecated'), 'red'), + ] + + class WirelessChannelChoices(ChoiceSet): # 2.4 GHz diff --git a/netbox/wireless/filtersets.py b/netbox/wireless/filtersets.py index 60c4f935b..6ffb9cb91 100644 --- a/netbox/wireless/filtersets.py +++ b/netbox/wireless/filtersets.py @@ -43,6 +43,9 @@ class WirelessLANFilterSet(NetBoxModelFilterSet, TenancyFilterSet): lookup_expr='in', to_field_name='slug' ) + status = django_filters.MultipleChoiceFilter( + choices=WirelessLANStatusChoices + ) vlan_id = django_filters.ModelMultipleChoiceFilter( queryset=VLAN.objects.all() ) diff --git a/netbox/wireless/forms/bulk_edit.py b/netbox/wireless/forms/bulk_edit.py index 543e7e0b3..7544327a5 100644 --- a/netbox/wireless/forms/bulk_edit.py +++ b/netbox/wireless/forms/bulk_edit.py @@ -34,6 +34,10 @@ class WirelessLANGroupBulkEditForm(NetBoxModelBulkEditForm): class WirelessLANBulkEditForm(NetBoxModelBulkEditForm): + status = forms.ChoiceField( + choices=add_blank_choice(WirelessLANStatusChoices), + required=False + ) group = DynamicModelChoiceField( queryset=WirelessLANGroup.objects.all(), required=False @@ -75,7 +79,7 @@ class WirelessLANBulkEditForm(NetBoxModelBulkEditForm): model = WirelessLAN fieldsets = ( - (None, ('group', 'ssid', 'vlan', 'tenant', 'description')), + (None, ('group', 'ssid', 'status', 'vlan', 'tenant', 'description')), ('Authentication', ('auth_type', 'auth_cipher', 'auth_psk')), ) nullable_fields = ( diff --git a/netbox/wireless/forms/bulk_import.py b/netbox/wireless/forms/bulk_import.py index 00078c8eb..4d96f60ad 100644 --- a/netbox/wireless/forms/bulk_import.py +++ b/netbox/wireless/forms/bulk_import.py @@ -35,6 +35,10 @@ class WirelessLANCSVForm(NetBoxModelCSVForm): to_field_name='name', help_text='Assigned group' ) + status = CSVChoiceField( + choices=WirelessLANStatusChoices, + help_text='Operational status' + ) vlan = CSVModelChoiceField( queryset=VLAN.objects.all(), required=False, @@ -61,8 +65,8 @@ class WirelessLANCSVForm(NetBoxModelCSVForm): class Meta: model = WirelessLAN fields = ( - 'ssid', 'group', 'vlan', 'tenant', 'auth_type', 'auth_cipher', 'auth_psk', 'description', 'comments', - 'tags', + 'ssid', 'group', 'status', 'vlan', 'tenant', 'auth_type', 'auth_cipher', 'auth_psk', 'description', + 'comments', 'tags', ) diff --git a/netbox/wireless/forms/filtersets.py b/netbox/wireless/forms/filtersets.py index d7a6aac6e..c3e63687d 100644 --- a/netbox/wireless/forms/filtersets.py +++ b/netbox/wireless/forms/filtersets.py @@ -29,7 +29,7 @@ class WirelessLANFilterForm(TenancyFilterForm, NetBoxModelFilterSetForm): model = WirelessLAN fieldsets = ( (None, ('q', 'filter', 'tag')), - ('Attributes', ('ssid', 'group_id',)), + ('Attributes', ('ssid', 'group_id', 'status')), ('Tenant', ('tenant_group_id', 'tenant_id')), ('Authentication', ('auth_type', 'auth_cipher', 'auth_psk')), ) @@ -43,6 +43,11 @@ class WirelessLANFilterForm(TenancyFilterForm, NetBoxModelFilterSetForm): null_option='None', label=_('Group') ) + status = forms.ChoiceField( + required=False, + choices=add_blank_choice(WirelessLANStatusChoices), + widget=StaticSelect() + ) auth_type = forms.ChoiceField( required=False, choices=add_blank_choice(WirelessAuthTypeChoices), diff --git a/netbox/wireless/forms/model_forms.py b/netbox/wireless/forms/model_forms.py index d57c74575..e59c36696 100644 --- a/netbox/wireless/forms/model_forms.py +++ b/netbox/wireless/forms/model_forms.py @@ -37,7 +37,6 @@ class WirelessLANForm(TenancyForm, NetBoxModelForm): queryset=WirelessLANGroup.objects.all(), required=False ) - region = DynamicModelChoiceField( queryset=Region.objects.all(), required=False, @@ -85,7 +84,7 @@ class WirelessLANForm(TenancyForm, NetBoxModelForm): comments = CommentField() fieldsets = ( - ('Wireless LAN', ('ssid', 'group', 'description', 'tags')), + ('Wireless LAN', ('ssid', 'group', 'status', 'description', 'tags')), ('VLAN', ('region', 'site_group', 'site', 'vlan_group', 'vlan',)), ('Tenancy', ('tenant_group', 'tenant')), ('Authentication', ('auth_type', 'auth_cipher', 'auth_psk')), @@ -94,10 +93,11 @@ class WirelessLANForm(TenancyForm, NetBoxModelForm): class Meta: model = WirelessLAN fields = [ - 'ssid', 'group', 'region', 'site_group', 'site', 'vlan_group', 'vlan', 'tenant_group', 'tenant', + 'ssid', 'group', 'region', 'site_group', 'site', 'status', 'vlan_group', 'vlan', 'tenant_group', 'tenant', 'auth_type', 'auth_cipher', 'auth_psk', 'description', 'comments', 'tags', ] widgets = { + 'status': StaticSelect, 'auth_type': StaticSelect, 'auth_cipher': StaticSelect, } diff --git a/netbox/wireless/migrations/0008_wirelesslan_status.py b/netbox/wireless/migrations/0008_wirelesslan_status.py new file mode 100644 index 000000000..e7832aba2 --- /dev/null +++ b/netbox/wireless/migrations/0008_wirelesslan_status.py @@ -0,0 +1,18 @@ +# Generated by Django 4.1.2 on 2022-11-04 17:07 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('wireless', '0007_standardize_description_comments'), + ] + + operations = [ + migrations.AddField( + model_name='wirelesslan', + name='status', + field=models.CharField(default='active', max_length=50), + ), + ] diff --git a/netbox/wireless/models.py b/netbox/wireless/models.py index 96764b53c..5858e641c 100644 --- a/netbox/wireless/models.py +++ b/netbox/wireless/models.py @@ -84,6 +84,11 @@ class WirelessLAN(WirelessAuthenticationBase, PrimaryModel): blank=True, null=True ) + status = models.CharField( + max_length=50, + choices=WirelessLANStatusChoices, + default=WirelessLANStatusChoices.STATUS_ACTIVE + ) vlan = models.ForeignKey( to='ipam.VLAN', on_delete=models.PROTECT, @@ -111,6 +116,9 @@ class WirelessLAN(WirelessAuthenticationBase, PrimaryModel): def get_absolute_url(self): return reverse('wireless:wirelesslan', args=[self.pk]) + def get_status_color(self): + return WirelessLANStatusChoices.colors.get(self.status) + def get_wireless_interface_types(): # Wrap choices in a callable to avoid generating dummy migrations diff --git a/netbox/wireless/tables/wirelesslan.py b/netbox/wireless/tables/wirelesslan.py index 4aa5cc1fd..5d17465f0 100644 --- a/netbox/wireless/tables/wirelesslan.py +++ b/netbox/wireless/tables/wirelesslan.py @@ -42,6 +42,7 @@ class WirelessLANTable(TenancyColumnsMixin, NetBoxTable): group = tables.Column( linkify=True ) + status = columns.ChoiceFieldColumn() interface_count = tables.Column( verbose_name='Interfaces' ) @@ -53,10 +54,10 @@ class WirelessLANTable(TenancyColumnsMixin, NetBoxTable): class Meta(NetBoxTable.Meta): model = WirelessLAN fields = ( - 'pk', 'ssid', 'group', 'tenant', 'tenant_group', 'vlan', 'interface_count', 'auth_type', 'auth_cipher', - 'auth_psk', 'description', 'comments', 'tags', 'created', 'last_updated', + 'pk', 'ssid', 'group', 'status', 'tenant', 'tenant_group', 'vlan', 'interface_count', 'auth_type', + 'auth_cipher', 'auth_psk', 'description', 'comments', 'tags', 'created', 'last_updated', ) - default_columns = ('pk', 'ssid', 'group', 'description', 'vlan', 'auth_type', 'interface_count') + default_columns = ('pk', 'ssid', 'group', 'status', 'description', 'vlan', 'auth_type', 'interface_count') class WirelessLANInterfacesTable(NetBoxTable): diff --git a/netbox/wireless/tests/test_api.py b/netbox/wireless/tests/test_api.py index 9ef552eb7..cfc17c660 100644 --- a/netbox/wireless/tests/test_api.py +++ b/netbox/wireless/tests/test_api.py @@ -68,9 +68,9 @@ class WirelessLANTest(APIViewTestCases.APIViewTestCase): group.save() wireless_lans = ( - WirelessLAN(ssid='WLAN1'), - WirelessLAN(ssid='WLAN2'), - WirelessLAN(ssid='WLAN3'), + WirelessLAN(ssid='WLAN1', status=WirelessLANStatusChoices.STATUS_ACTIVE), + WirelessLAN(ssid='WLAN2', status=WirelessLANStatusChoices.STATUS_ACTIVE), + WirelessLAN(ssid='WLAN3', status=WirelessLANStatusChoices.STATUS_ACTIVE), ) WirelessLAN.objects.bulk_create(wireless_lans) @@ -78,23 +78,27 @@ class WirelessLANTest(APIViewTestCases.APIViewTestCase): { 'ssid': 'WLAN4', 'group': groups[0].pk, + 'status': WirelessLANStatusChoices.STATUS_DISABLED, 'tenant': tenants[0].pk, 'auth_type': WirelessAuthTypeChoices.TYPE_OPEN, }, { 'ssid': 'WLAN5', 'group': groups[1].pk, + 'status': WirelessLANStatusChoices.STATUS_DISABLED, 'tenant': tenants[0].pk, 'auth_type': WirelessAuthTypeChoices.TYPE_WPA_PERSONAL, }, { 'ssid': 'WLAN6', + 'status': WirelessLANStatusChoices.STATUS_DISABLED, 'tenant': tenants[0].pk, 'auth_type': WirelessAuthTypeChoices.TYPE_WPA_ENTERPRISE, }, ] cls.bulk_update_data = { + 'status': WirelessLANStatusChoices.STATUS_DEPRECATED, 'group': groups[2].pk, 'tenant': tenants[1].pk, 'description': 'New description', diff --git a/netbox/wireless/tests/test_filtersets.py b/netbox/wireless/tests/test_filtersets.py index ffe919c32..0629fea07 100644 --- a/netbox/wireless/tests/test_filtersets.py +++ b/netbox/wireless/tests/test_filtersets.py @@ -64,9 +64,18 @@ class WirelessLANTestCase(TestCase, ChangeLoggedFilterSetTests): def setUpTestData(cls): groups = ( - WirelessLANGroup(name='Wireless LAN Group 1', slug='wireless-lan-group-1'), - WirelessLANGroup(name='Wireless LAN Group 2', slug='wireless-lan-group-2'), - WirelessLANGroup(name='Wireless LAN Group 3', slug='wireless-lan-group-3'), + WirelessLANGroup( + name='Wireless LAN Group 1', + slug='wireless-lan-group-1' + ), + WirelessLANGroup( + name='Wireless LAN Group 2', + slug='wireless-lan-group-2' + ), + WirelessLANGroup( + name='Wireless LAN Group 3', + slug='wireless-lan-group-3' + ), ) for group in groups: group.save() @@ -86,9 +95,36 @@ class WirelessLANTestCase(TestCase, ChangeLoggedFilterSetTests): Tenant.objects.bulk_create(tenants) wireless_lans = ( - WirelessLAN(ssid='WLAN1', group=groups[0], vlan=vlans[0], tenant=tenants[0], auth_type=WirelessAuthTypeChoices.TYPE_OPEN, auth_cipher=WirelessAuthCipherChoices.CIPHER_AUTO, auth_psk='PSK1'), - WirelessLAN(ssid='WLAN2', group=groups[1], vlan=vlans[1], tenant=tenants[1], auth_type=WirelessAuthTypeChoices.TYPE_WEP, auth_cipher=WirelessAuthCipherChoices.CIPHER_TKIP, auth_psk='PSK2'), - WirelessLAN(ssid='WLAN3', group=groups[2], vlan=vlans[2], tenant=tenants[2], auth_type=WirelessAuthTypeChoices.TYPE_WPA_PERSONAL, auth_cipher=WirelessAuthCipherChoices.CIPHER_AES, auth_psk='PSK3'), + WirelessLAN( + ssid='WLAN1', + group=groups[0], + status=WirelessLANStatusChoices.STATUS_ACTIVE, + vlan=vlans[0], + tenant=tenants[0], + auth_type=WirelessAuthTypeChoices.TYPE_OPEN, + auth_cipher=WirelessAuthCipherChoices.CIPHER_AUTO, + auth_psk='PSK1' + ), + WirelessLAN( + ssid='WLAN2', + group=groups[1], + status=WirelessLANStatusChoices.STATUS_DISABLED, + vlan=vlans[1], + tenant=tenants[1], + auth_type=WirelessAuthTypeChoices.TYPE_WEP, + auth_cipher=WirelessAuthCipherChoices.CIPHER_TKIP, + auth_psk='PSK2' + ), + WirelessLAN( + ssid='WLAN3', + group=groups[2], + status=WirelessLANStatusChoices.STATUS_RESERVED, + vlan=vlans[2], + tenant=tenants[2], + auth_type=WirelessAuthTypeChoices.TYPE_WPA_PERSONAL, + auth_cipher=WirelessAuthCipherChoices.CIPHER_AES, + auth_psk='PSK3' + ), ) WirelessLAN.objects.bulk_create(wireless_lans) @@ -103,6 +139,10 @@ class WirelessLANTestCase(TestCase, ChangeLoggedFilterSetTests): params = {'group': [groups[0].slug, groups[1].slug]} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) + def test_status(self): + params = {'status': [WirelessLANStatusChoices.STATUS_ACTIVE, WirelessLANStatusChoices.STATUS_DISABLED]} + self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) + def test_vlan(self): vlans = VLAN.objects.all()[:2] params = {'vlan_id': [vlans[0].pk, vlans[1].pk]} diff --git a/netbox/wireless/tests/test_views.py b/netbox/wireless/tests/test_views.py index 615678a62..62c3b451f 100644 --- a/netbox/wireless/tests/test_views.py +++ b/netbox/wireless/tests/test_views.py @@ -70,9 +70,24 @@ class WirelessLANTestCase(ViewTestCases.PrimaryObjectViewTestCase): group.save() wireless_lans = ( - WirelessLAN(group=groups[0], ssid='WLAN1', tenant=tenants[0]), - WirelessLAN(group=groups[0], ssid='WLAN2', tenant=tenants[0]), - WirelessLAN(group=groups[0], ssid='WLAN3', tenant=tenants[0]), + WirelessLAN( + group=groups[0], + ssid='WLAN1', + status=WirelessLANStatusChoices.STATUS_ACTIVE, + tenant=tenants[0] + ), + WirelessLAN( + group=groups[0], + ssid='WLAN2', + status=WirelessLANStatusChoices.STATUS_ACTIVE, + tenant=tenants[0] + ), + WirelessLAN( + group=groups[0], + ssid='WLAN3', + status=WirelessLANStatusChoices.STATUS_ACTIVE, + tenant=tenants[0] + ), ) WirelessLAN.objects.bulk_create(wireless_lans) @@ -81,15 +96,16 @@ class WirelessLANTestCase(ViewTestCases.PrimaryObjectViewTestCase): cls.form_data = { 'ssid': 'WLAN2', 'group': groups[1].pk, + 'status': WirelessLANStatusChoices.STATUS_DISABLED, 'tenant': tenants[1].pk, 'tags': [t.pk for t in tags], } cls.csv_data = ( - f"group,ssid,tenant", - f"Wireless LAN Group 2,WLAN4,{tenants[0].name}", - f"Wireless LAN Group 2,WLAN5,{tenants[1].name}", - f"Wireless LAN Group 2,WLAN6,{tenants[2].name}", + f"group,ssid,status,tenant", + f"Wireless LAN Group 2,WLAN4,{WirelessLANStatusChoices.STATUS_ACTIVE},{tenants[0].name}", + f"Wireless LAN Group 2,WLAN5,{WirelessLANStatusChoices.STATUS_DISABLED},{tenants[1].name}", + f"Wireless LAN Group 2,WLAN6,{WirelessLANStatusChoices.STATUS_RESERVED},{tenants[2].name}", ) cls.csv_update_data = ( @@ -100,6 +116,7 @@ class WirelessLANTestCase(ViewTestCases.PrimaryObjectViewTestCase): ) cls.bulk_edit_data = { + 'status': WirelessLANStatusChoices.STATUS_DISABLED, 'description': 'New description', } From f68c7fb18830dce03df92aa7f36a42230f9565dd Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Fri, 4 Nov 2022 13:46:15 -0400 Subject: [PATCH 160/162] Changelog for #7376, #10710 --- docs/release-notes/version-3.4.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/release-notes/version-3.4.md b/docs/release-notes/version-3.4.md index 158e7a77f..69009ea8d 100644 --- a/docs/release-notes/version-3.4.md +++ b/docs/release-notes/version-3.4.md @@ -26,6 +26,7 @@ A new `PluginMenu` class has been introduced, which enables a plugin to inject a ### Enhancements +* [#7376](https://github.com/netbox-community/netbox/issues/7376) - Enable the assignment of tags during CSV import * [#8245](https://github.com/netbox-community/netbox/issues/8245) - Enable GraphQL filtering of related objects * [#8274](https://github.com/netbox-community/netbox/issues/8274) - Enable associating a custom link with multiple object types * [#8485](https://github.com/netbox-community/netbox/issues/8485) - Enable journaling for all organizational models @@ -40,6 +41,7 @@ A new `PluginMenu` class has been introduced, which enables a plugin to inject a * [#10556](https://github.com/netbox-community/netbox/issues/10556) - Include a `display` field in all GraphQL object types * [#10595](https://github.com/netbox-community/netbox/issues/10595) - Add GraphQL relationships for additional generic foreign key fields * [#10698](https://github.com/netbox-community/netbox/issues/10698) - Omit app label from content type in table columns +* [#10710](https://github.com/netbox-community/netbox/issues/10710) - Add `status` field to WirelessLAN * [#10761](https://github.com/netbox-community/netbox/issues/10761) - Enable associating an export template with multiple object types * [#10781](https://github.com/netbox-community/netbox/issues/10781) - Add support for Python v3.11 @@ -129,6 +131,7 @@ A new `PluginMenu` class has been introduced, which enables a plugin to inject a * virtualization.VirtualMachine * Added a `description` field * wireless.WirelessLAN + * Added a required `status` choice field * Added a `comments` field * wireless.WirelessLink * Added a `comments` field From fe73e90b7b19637be39e5001c35d38099a8dbc6a Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Fri, 4 Nov 2022 13:49:31 -0400 Subject: [PATCH 161/162] Reorganize virtualization models --- netbox/virtualization/models/__init__.py | 2 + netbox/virtualization/models/clusters.py | 135 ++++++++++++++++ .../{models.py => models/virtualmachines.py} | 151 +----------------- 3 files changed, 141 insertions(+), 147 deletions(-) create mode 100644 netbox/virtualization/models/__init__.py create mode 100644 netbox/virtualization/models/clusters.py rename netbox/virtualization/{models.py => models/virtualmachines.py} (75%) diff --git a/netbox/virtualization/models/__init__.py b/netbox/virtualization/models/__init__.py new file mode 100644 index 000000000..dc1e7eb20 --- /dev/null +++ b/netbox/virtualization/models/__init__.py @@ -0,0 +1,2 @@ +from .clusters import * +from .virtualmachines import * diff --git a/netbox/virtualization/models/clusters.py b/netbox/virtualization/models/clusters.py new file mode 100644 index 000000000..e7c1294c2 --- /dev/null +++ b/netbox/virtualization/models/clusters.py @@ -0,0 +1,135 @@ +from django.contrib.contenttypes.fields import GenericRelation +from django.core.exceptions import ValidationError +from django.db import models +from django.urls import reverse + +from dcim.models import Device +from netbox.models import OrganizationalModel, PrimaryModel +from virtualization.choices import * + +__all__ = ( + 'Cluster', + 'ClusterGroup', + 'ClusterType', +) + + +class ClusterType(OrganizationalModel): + """ + A type of Cluster. + """ + def get_absolute_url(self): + return reverse('virtualization:clustertype', args=[self.pk]) + + +class ClusterGroup(OrganizationalModel): + """ + An organizational group of Clusters. + """ + # Generic relations + vlan_groups = GenericRelation( + to='ipam.VLANGroup', + content_type_field='scope_type', + object_id_field='scope_id', + related_query_name='cluster_group' + ) + contacts = GenericRelation( + to='tenancy.ContactAssignment' + ) + + def get_absolute_url(self): + return reverse('virtualization:clustergroup', args=[self.pk]) + + +class Cluster(PrimaryModel): + """ + A cluster of VirtualMachines. Each Cluster may optionally be associated with one or more Devices. + """ + name = models.CharField( + max_length=100 + ) + type = models.ForeignKey( + to=ClusterType, + on_delete=models.PROTECT, + related_name='clusters' + ) + group = models.ForeignKey( + to=ClusterGroup, + on_delete=models.PROTECT, + related_name='clusters', + blank=True, + null=True + ) + status = models.CharField( + max_length=50, + choices=ClusterStatusChoices, + default=ClusterStatusChoices.STATUS_ACTIVE + ) + tenant = models.ForeignKey( + to='tenancy.Tenant', + on_delete=models.PROTECT, + related_name='clusters', + blank=True, + null=True + ) + site = models.ForeignKey( + to='dcim.Site', + on_delete=models.PROTECT, + related_name='clusters', + blank=True, + null=True + ) + + # Generic relations + vlan_groups = GenericRelation( + to='ipam.VLANGroup', + content_type_field='scope_type', + object_id_field='scope_id', + related_query_name='cluster' + ) + contacts = GenericRelation( + to='tenancy.ContactAssignment' + ) + + clone_fields = ( + 'type', 'group', 'status', 'tenant', 'site', + ) + + class Meta: + ordering = ['name'] + constraints = ( + models.UniqueConstraint( + fields=('group', 'name'), + name='%(app_label)s_%(class)s_unique_group_name' + ), + models.UniqueConstraint( + fields=('site', 'name'), + name='%(app_label)s_%(class)s_unique_site_name' + ), + ) + + def __str__(self): + return self.name + + @classmethod + def get_prerequisite_models(cls): + return [ClusterType, ] + + def get_absolute_url(self): + return reverse('virtualization:cluster', args=[self.pk]) + + def get_status_color(self): + return ClusterStatusChoices.colors.get(self.status) + + def clean(self): + super().clean() + + # If the Cluster is assigned to a Site, verify that all host Devices belong to that Site. + if self.pk and self.site: + nonsite_devices = Device.objects.filter(cluster=self).exclude(site=self.site).count() + if nonsite_devices: + raise ValidationError({ + 'site': "{} devices are assigned as hosts for this cluster but are not in site {}".format( + nonsite_devices, self.site + ) + }) diff --git a/netbox/virtualization/models.py b/netbox/virtualization/models/virtualmachines.py similarity index 75% rename from netbox/virtualization/models.py rename to netbox/virtualization/models/virtualmachines.py index b5129d581..d64289eb2 100644 --- a/netbox/virtualization/models.py +++ b/netbox/virtualization/models/virtualmachines.py @@ -6,162 +6,23 @@ from django.db.models import Q from django.db.models.functions import Lower from django.urls import reverse -from dcim.models import BaseInterface, Device +from dcim.models import BaseInterface from extras.models import ConfigContextModel from extras.querysets import ConfigContextModelQuerySet from netbox.config import get_config -from netbox.models import NetBoxModel, OrganizationalModel, PrimaryModel +from netbox.models import NetBoxModel, PrimaryModel from utilities.fields import NaturalOrderingField from utilities.ordering import naturalize_interface from utilities.query_functions import CollateAsChar -from .choices import * +from virtualization.choices import * +from .clusters import Cluster __all__ = ( - 'Cluster', - 'ClusterGroup', - 'ClusterType', 'VirtualMachine', 'VMInterface', ) -# -# Cluster types -# - -class ClusterType(OrganizationalModel): - """ - A type of Cluster. - """ - def get_absolute_url(self): - return reverse('virtualization:clustertype', args=[self.pk]) - - -# -# Cluster groups -# - -class ClusterGroup(OrganizationalModel): - """ - An organizational group of Clusters. - """ - # Generic relations - vlan_groups = GenericRelation( - to='ipam.VLANGroup', - content_type_field='scope_type', - object_id_field='scope_id', - related_query_name='cluster_group' - ) - contacts = GenericRelation( - to='tenancy.ContactAssignment' - ) - - def get_absolute_url(self): - return reverse('virtualization:clustergroup', args=[self.pk]) - - -# -# Clusters -# - -class Cluster(PrimaryModel): - """ - A cluster of VirtualMachines. Each Cluster may optionally be associated with one or more Devices. - """ - name = models.CharField( - max_length=100 - ) - type = models.ForeignKey( - to=ClusterType, - on_delete=models.PROTECT, - related_name='clusters' - ) - group = models.ForeignKey( - to=ClusterGroup, - on_delete=models.PROTECT, - related_name='clusters', - blank=True, - null=True - ) - status = models.CharField( - max_length=50, - choices=ClusterStatusChoices, - default=ClusterStatusChoices.STATUS_ACTIVE - ) - tenant = models.ForeignKey( - to='tenancy.Tenant', - on_delete=models.PROTECT, - related_name='clusters', - blank=True, - null=True - ) - site = models.ForeignKey( - to='dcim.Site', - on_delete=models.PROTECT, - related_name='clusters', - blank=True, - null=True - ) - - # Generic relations - vlan_groups = GenericRelation( - to='ipam.VLANGroup', - content_type_field='scope_type', - object_id_field='scope_id', - related_query_name='cluster' - ) - contacts = GenericRelation( - to='tenancy.ContactAssignment' - ) - - clone_fields = ( - 'type', 'group', 'status', 'tenant', 'site', - ) - - class Meta: - ordering = ['name'] - constraints = ( - models.UniqueConstraint( - fields=('group', 'name'), - name='%(app_label)s_%(class)s_unique_group_name' - ), - models.UniqueConstraint( - fields=('site', 'name'), - name='%(app_label)s_%(class)s_unique_site_name' - ), - ) - - def __str__(self): - return self.name - - @classmethod - def get_prerequisite_models(cls): - return [ClusterType, ] - - def get_absolute_url(self): - return reverse('virtualization:cluster', args=[self.pk]) - - def get_status_color(self): - return ClusterStatusChoices.colors.get(self.status) - - def clean(self): - super().clean() - - # If the Cluster is assigned to a Site, verify that all host Devices belong to that Site. - if self.pk and self.site: - nonsite_devices = Device.objects.filter(cluster=self).exclude(site=self.site).count() - if nonsite_devices: - raise ValidationError({ - 'site': "{} devices are assigned as hosts for this cluster but are not in site {}".format( - nonsite_devices, self.site - ) - }) - - -# -# Virtual machines -# - class VirtualMachine(PrimaryModel, ConfigContextModel): """ A virtual machine which runs inside a Cluster. @@ -357,10 +218,6 @@ class VirtualMachine(PrimaryModel, ConfigContextModel): return None -# -# Interfaces -# - class VMInterface(NetBoxModel, BaseInterface): virtual_machine = models.ForeignKey( to='virtualization.VirtualMachine', From ea6d86e6c4bb6037465410db6205a7471bc81a6c Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Fri, 4 Nov 2022 14:53:18 -0400 Subject: [PATCH 162/162] Closes #10052: The cf attribute now returns deserialized custom field data --- docs/release-notes/version-3.4.md | 2 + netbox/extras/tests/test_customfields.py | 12 ++--- netbox/netbox/models/features.py | 57 +++++++++++++++++++----- netbox/netbox/search/__init__.py | 2 +- 4 files changed, 56 insertions(+), 17 deletions(-) diff --git a/docs/release-notes/version-3.4.md b/docs/release-notes/version-3.4.md index 69009ea8d..ce3edc07c 100644 --- a/docs/release-notes/version-3.4.md +++ b/docs/release-notes/version-3.4.md @@ -9,6 +9,7 @@ * The `asn` field has been removed from the provider model. Please replicate any provider ASN assignments to the ASN model introduced in NetBox v3.1 prior to upgrading. * The `noc_contact`, `admin_contact`, and `portal_url` fields have been removed from the provider model. Please replicate any data remaining in these fields to the contact model introduced in NetBox v3.1 prior to upgrading. * The `content_type` field on the CustomLink and ExportTemplate models have been renamed to `content_types` and now supports the assignment of multiple content types. +* The `cf` property on an object with custom fields now returns deserialized values. For example, a custom field referencing an object will return the object instance rather than its numeric ID. To access the raw serialized values, use `custom_field_data` instead. ### New Features @@ -37,6 +38,7 @@ A new `PluginMenu` class has been introduced, which enables a plugin to inject a * [#9817](https://github.com/netbox-community/netbox/issues/9817) - Add `assigned_object` field to GraphQL type for IP addresses and L2VPN terminations * [#9832](https://github.com/netbox-community/netbox/issues/9832) - Add `mounting_depth` field to rack model * [#9892](https://github.com/netbox-community/netbox/issues/9892) - Add optional `name` field for FHRP groups +* [#10052](https://github.com/netbox-community/netbox/issues/10052) - The `cf` attribute now returns deserialized custom field data * [#10348](https://github.com/netbox-community/netbox/issues/10348) - Add decimal custom field type * [#10556](https://github.com/netbox-community/netbox/issues/10556) - Include a `display` field in all GraphQL object types * [#10595](https://github.com/netbox-community/netbox/issues/10595) - Add GraphQL relationships for additional generic foreign key fields diff --git a/netbox/extras/tests/test_customfields.py b/netbox/extras/tests/test_customfields.py index c6ba96a82..7e7eaeda0 100644 --- a/netbox/extras/tests/test_customfields.py +++ b/netbox/extras/tests/test_customfields.py @@ -1022,7 +1022,7 @@ class CustomFieldModelTest(TestCase): site = Site(name='Test Site', slug='test-site') # Check custom field data on new instance - site.cf['foo'] = 'abc' + site.custom_field_data['foo'] = 'abc' self.assertEqual(site.cf['foo'], 'abc') # Check custom field data from database @@ -1037,12 +1037,12 @@ class CustomFieldModelTest(TestCase): site = Site(name='Test Site', slug='test-site') # Set custom field data - site.cf['foo'] = 'abc' - site.cf['bar'] = 'def' + site.custom_field_data['foo'] = 'abc' + site.custom_field_data['bar'] = 'def' with self.assertRaises(ValidationError): site.clean() - del site.cf['bar'] + del site.custom_field_data['bar'] site.clean() def test_missing_required_field(self): @@ -1056,11 +1056,11 @@ class CustomFieldModelTest(TestCase): site = Site(name='Test Site', slug='test-site') # Set custom field data with a required field omitted - site.cf['foo'] = 'abc' + site.custom_field_data['foo'] = 'abc' with self.assertRaises(ValidationError): site.clean() - site.cf['baz'] = 'def' + site.custom_field_data['baz'] = 'def' site.clean() diff --git a/netbox/netbox/models/features.py b/netbox/netbox/models/features.py index f59e72c14..8e5af0ab5 100644 --- a/netbox/netbox/models/features.py +++ b/netbox/netbox/models/features.py @@ -1,4 +1,5 @@ from collections import defaultdict +from functools import cached_property from django.contrib.contenttypes.fields import GenericRelation from django.db.models.signals import class_prepared @@ -133,18 +134,35 @@ class CustomFieldsMixin(models.Model): class Meta: abstract = True - @property + @cached_property def cf(self): """ - A pass-through convenience alias for accessing `custom_field_data` (read-only). + Return a dictionary mapping each custom field for this instance to its deserialized value. ```python >>> tenant = Tenant.objects.first() >>> tenant.cf - {'cust_id': 'CYB01'} + {'primary_site': , 'cust_id': 'DMI01', 'is_active': True} ``` """ - return self.custom_field_data + return { + cf.name: cf.deserialize(self.custom_field_data.get(cf.name)) + for cf in self.custom_fields + } + + @cached_property + def custom_fields(self): + """ + Return the QuerySet of CustomFields assigned to this model. + + ```python + >>> tenant = Tenant.objects.first() + >>> tenant.custom_fields + , , ]> + ``` + """ + from extras.models import CustomField + return CustomField.objects.get_for_model(self) def get_custom_fields(self, omit_hidden=False): """ @@ -155,10 +173,13 @@ class CustomFieldsMixin(models.Model): >>> tenant.get_custom_fields() {: 'CYB01'} ``` + + Args: + omit_hidden: If True, custom fields with no UI visibility will be omitted. """ from extras.models import CustomField - data = {} + for field in CustomField.objects.get_for_model(self): # Skip fields that are hidden if 'omit_hidden' is set if omit_hidden and field.ui_visibility == CustomFieldVisibilityChoices.VISIBILITY_HIDDEN: @@ -172,12 +193,28 @@ class CustomFieldsMixin(models.Model): def get_custom_fields_by_group(self): """ Return a dictionary of custom field/value mappings organized by group. Hidden fields are omitted. - """ - grouped_custom_fields = defaultdict(dict) - for cf, value in self.get_custom_fields(omit_hidden=True).items(): - grouped_custom_fields[cf.group_name][cf] = value - return dict(grouped_custom_fields) + ```python + >>> tenant = Tenant.objects.first() + >>> tenant.get_custom_fields_by_group() + { + '': {: }, + 'Billing': {: 'DMI01', : True} + } + ``` + """ + from extras.models import CustomField + groups = defaultdict(dict) + visible_custom_fields = CustomField.objects.get_for_model(self).exclude( + ui_visibility=CustomFieldVisibilityChoices.VISIBILITY_HIDDEN + ) + + for cf in visible_custom_fields: + value = self.custom_field_data.get(cf.name) + value = cf.deserialize(value) + groups[cf.group_name][cf] = value + + return dict(groups) def clean(self): super().clean() diff --git a/netbox/netbox/search/__init__.py b/netbox/netbox/search/__init__.py index c05a2492b..82fff68c6 100644 --- a/netbox/netbox/search/__init__.py +++ b/netbox/netbox/search/__init__.py @@ -82,7 +82,7 @@ class SearchIndex: # Capture custom fields if getattr(instance, 'custom_field_data', None): if custom_fields is None: - custom_fields = instance.get_custom_fields().keys() + custom_fields = instance.custom_fields for cf in custom_fields: type_ = cf.search_type value = instance.custom_field_data.get(cf.name)