From e910d461ea9e4af7e54ad81871c2a9f1758aac88 Mon Sep 17 00:00:00 2001 From: Arthur Date: Mon, 8 Dec 2025 09:46:38 -0800 Subject: [PATCH] Add comments to OrganizationalModel --- ...055_add_comments_to_organizationalmodel.py | 28 ++++++++++++++++ ...222_add_comments_to_organizationalmodel.py | 28 ++++++++++++++++ ...085_add_comments_to_organizationalmodel.py | 33 +++++++++++++++++++ netbox/netbox/forms/bulk_edit.py | 1 + netbox/netbox/forms/model_forms.py | 1 + netbox/netbox/graphql/filter_mixins.py | 1 + netbox/netbox/models/__init__.py | 4 +++ netbox/netbox/tables/tables.py | 3 ++ ...022_add_comments_to_organizationalmodel.py | 18 ++++++++++ ...051_add_comments_to_organizationalmodel.py | 23 +++++++++++++ ...011_add_comments_to_organizationalmodel.py | 18 ++++++++++ 11 files changed, 158 insertions(+) create mode 100644 netbox/circuits/migrations/0055_add_comments_to_organizationalmodel.py create mode 100644 netbox/dcim/migrations/0222_add_comments_to_organizationalmodel.py create mode 100644 netbox/ipam/migrations/0085_add_comments_to_organizationalmodel.py create mode 100644 netbox/tenancy/migrations/0022_add_comments_to_organizationalmodel.py create mode 100644 netbox/virtualization/migrations/0051_add_comments_to_organizationalmodel.py create mode 100644 netbox/vpn/migrations/0011_add_comments_to_organizationalmodel.py diff --git a/netbox/circuits/migrations/0055_add_comments_to_organizationalmodel.py b/netbox/circuits/migrations/0055_add_comments_to_organizationalmodel.py new file mode 100644 index 000000000..5e67aabc0 --- /dev/null +++ b/netbox/circuits/migrations/0055_add_comments_to_organizationalmodel.py @@ -0,0 +1,28 @@ +# Generated by Django 5.2.8 on 2025-12-08 17:38 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('circuits', '0054_cable_position'), + ] + + operations = [ + migrations.AddField( + model_name='circuitgroup', + name='comments', + field=models.TextField(blank=True), + ), + migrations.AddField( + model_name='circuittype', + name='comments', + field=models.TextField(blank=True), + ), + migrations.AddField( + model_name='virtualcircuittype', + name='comments', + field=models.TextField(blank=True), + ), + ] diff --git a/netbox/dcim/migrations/0222_add_comments_to_organizationalmodel.py b/netbox/dcim/migrations/0222_add_comments_to_organizationalmodel.py new file mode 100644 index 000000000..ff65ba728 --- /dev/null +++ b/netbox/dcim/migrations/0222_add_comments_to_organizationalmodel.py @@ -0,0 +1,28 @@ +# Generated by Django 5.2.8 on 2025-12-08 17:38 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('dcim', '0221_cable_position'), + ] + + operations = [ + migrations.AddField( + model_name='inventoryitemrole', + name='comments', + field=models.TextField(blank=True), + ), + migrations.AddField( + model_name='manufacturer', + name='comments', + field=models.TextField(blank=True), + ), + migrations.AddField( + model_name='rackrole', + name='comments', + field=models.TextField(blank=True), + ), + ] diff --git a/netbox/ipam/migrations/0085_add_comments_to_organizationalmodel.py b/netbox/ipam/migrations/0085_add_comments_to_organizationalmodel.py new file mode 100644 index 000000000..b7d947350 --- /dev/null +++ b/netbox/ipam/migrations/0085_add_comments_to_organizationalmodel.py @@ -0,0 +1,33 @@ +# Generated by Django 5.2.8 on 2025-12-08 17:38 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('ipam', '0084_owner'), + ] + + operations = [ + migrations.AddField( + model_name='asnrange', + name='comments', + field=models.TextField(blank=True), + ), + migrations.AddField( + model_name='rir', + name='comments', + field=models.TextField(blank=True), + ), + migrations.AddField( + model_name='role', + name='comments', + field=models.TextField(blank=True), + ), + migrations.AddField( + model_name='vlangroup', + name='comments', + field=models.TextField(blank=True), + ), + ] diff --git a/netbox/netbox/forms/bulk_edit.py b/netbox/netbox/forms/bulk_edit.py index 5ad95b150..182342106 100644 --- a/netbox/netbox/forms/bulk_edit.py +++ b/netbox/netbox/forms/bulk_edit.py @@ -91,6 +91,7 @@ class OrganizationalModelBulkEditForm(OwnerMixin, NetBoxModelBulkEditForm): max_length=200, required=False ) + comments = CommentField() class NestedGroupModelBulkEditForm(OwnerMixin, NetBoxModelBulkEditForm): diff --git a/netbox/netbox/forms/model_forms.py b/netbox/netbox/forms/model_forms.py index c76dbd77b..49a724201 100644 --- a/netbox/netbox/forms/model_forms.py +++ b/netbox/netbox/forms/model_forms.py @@ -91,6 +91,7 @@ class OrganizationalModelForm(OwnerMixin, NetBoxModelForm): Form for models which inherit from OrganizationalModel. """ slug = SlugField() + comments = CommentField() class NestedGroupModelForm(OwnerMixin, NetBoxModelForm): diff --git a/netbox/netbox/graphql/filter_mixins.py b/netbox/netbox/graphql/filter_mixins.py index cb9fcffe7..9f3122a68 100644 --- a/netbox/netbox/graphql/filter_mixins.py +++ b/netbox/netbox/graphql/filter_mixins.py @@ -58,6 +58,7 @@ class OrganizationalModelFilterMixin( name: FilterLookup[str] | None = strawberry_django.filter_field() slug: FilterLookup[str] | None = strawberry_django.filter_field() description: FilterLookup[str] | None = strawberry_django.filter_field() + comments: FilterLookup[str] | None = strawberry_django.filter_field() @dataclass diff --git a/netbox/netbox/models/__init__.py b/netbox/netbox/models/__init__.py index 1e2846748..496b4c4db 100644 --- a/netbox/netbox/models/__init__.py +++ b/netbox/netbox/models/__init__.py @@ -215,6 +215,10 @@ class OrganizationalModel(OwnerMixin, NetBoxModel): max_length=200, blank=True ) + comments = models.TextField( + verbose_name=_('comments'), + blank=True + ) class Meta: abstract = True diff --git a/netbox/netbox/tables/tables.py b/netbox/netbox/tables/tables.py index 9376c7d64..a2ba13480 100644 --- a/netbox/netbox/tables/tables.py +++ b/netbox/netbox/tables/tables.py @@ -285,6 +285,9 @@ class OrganizationalModelTable(NetBoxTable): linkify=True, verbose_name=_('Owner') ) + comments = columns.MarkdownColumn( + verbose_name=_('Comments'), + ) class NestedGroupModelTable(NetBoxTable): diff --git a/netbox/tenancy/migrations/0022_add_comments_to_organizationalmodel.py b/netbox/tenancy/migrations/0022_add_comments_to_organizationalmodel.py new file mode 100644 index 000000000..732942797 --- /dev/null +++ b/netbox/tenancy/migrations/0022_add_comments_to_organizationalmodel.py @@ -0,0 +1,18 @@ +# Generated by Django 5.2.8 on 2025-12-08 17:38 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('tenancy', '0021_owner'), + ] + + operations = [ + migrations.AddField( + model_name='contactrole', + name='comments', + field=models.TextField(blank=True), + ), + ] diff --git a/netbox/virtualization/migrations/0051_add_comments_to_organizationalmodel.py b/netbox/virtualization/migrations/0051_add_comments_to_organizationalmodel.py new file mode 100644 index 000000000..977212ecc --- /dev/null +++ b/netbox/virtualization/migrations/0051_add_comments_to_organizationalmodel.py @@ -0,0 +1,23 @@ +# Generated by Django 5.2.8 on 2025-12-08 17:38 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('virtualization', '0050_virtualmachine_start_on_boot'), + ] + + operations = [ + migrations.AddField( + model_name='clustergroup', + name='comments', + field=models.TextField(blank=True), + ), + migrations.AddField( + model_name='clustertype', + name='comments', + field=models.TextField(blank=True), + ), + ] diff --git a/netbox/vpn/migrations/0011_add_comments_to_organizationalmodel.py b/netbox/vpn/migrations/0011_add_comments_to_organizationalmodel.py new file mode 100644 index 000000000..2f596bdeb --- /dev/null +++ b/netbox/vpn/migrations/0011_add_comments_to_organizationalmodel.py @@ -0,0 +1,18 @@ +# Generated by Django 5.2.8 on 2025-12-08 17:38 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('vpn', '0010_owner'), + ] + + operations = [ + migrations.AddField( + model_name='tunnelgroup', + name='comments', + field=models.TextField(blank=True), + ), + ]