Skip to content

Fixes #19444: Fix changeloggin for contact group assignments #19456

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
71 changes: 71 additions & 0 deletions netbox/tenancy/migrations/0020_remove_contactgroupmembership.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
from django.db import migrations, models


class Migration(migrations.Migration):

dependencies = [
('tenancy', '0019_contactgroup_comments_tenantgroup_comments'),
]

operations = [
migrations.SeparateDatabaseAndState(
state_operations=[
# Remove the "through" models from the M2M field
migrations.AlterField(
model_name='contact',
name='groups',
field=models.ManyToManyField(
blank=True,
related_name='contacts',
related_query_name='contact',
to='tenancy.contactgroup'
),
),
# Remove the ContactGroupMembership model
migrations.DeleteModel(
name='ContactGroupMembership',
),
],
database_operations=[
# Rename ContactGroupMembership table
migrations.AlterModelTable(
name='ContactGroupMembership',
table='tenancy_contact_groups',
),
# Rename the 'group' column (also renames its FK constraint)
migrations.RenameField(
model_name='contactgroupmembership',
old_name='group',
new_name='contactgroup',
),
# Rename PK sequence
migrations.RunSQL(
'ALTER TABLE tenancy_contactgroupmembership_id_seq '
'RENAME TO tenancy_contact_groups_id_seq'
),
# Rename indexes
migrations.RunSQL(
'ALTER INDEX tenancy_contactgroupmembership_pkey '
'RENAME TO tenancy_contact_groups_pkey'
),
migrations.RunSQL(
'ALTER INDEX tenancy_contactgroupmembership_contact_id_04a138a7 '
'RENAME TO tenancy_contact_groups_contact_id_84c9d84f'
),
migrations.RunSQL(
'ALTER INDEX tenancy_contactgroupmembership_group_id_bc712dd0 '
'RENAME TO tenancy_contact_groups_contactgroup_id_5c8d6c5a'
),
migrations.RunSQL(
'ALTER INDEX unique_group_name '
'RENAME TO tenancy_contact_groups_contact_id_contactgroup_id_f4434f2c_uniq'
),
# Rename foreign key constraint for contact_id
migrations.RunSQL(
'ALTER TABLE tenancy_contact_groups '
'RENAME CONSTRAINT tenancy_contactgroup_contact_id_04a138a7_fk_tenancy_c '
'TO tenancy_contact_grou_contact_id_84c9d84f_fk_tenancy_c'
),
],
),
]
14 changes: 0 additions & 14 deletions netbox/tenancy/models/contacts.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@
'ContactAssignment',
'Contact',
'ContactGroup',
'ContactGroupMembership',
'ContactRole',
)

Expand Down Expand Up @@ -51,7 +50,6 @@ class Contact(PrimaryModel):
groups = models.ManyToManyField(
to='tenancy.ContactGroup',
related_name='contacts',
through='tenancy.ContactGroupMembership',
related_query_name='contact',
blank=True
)
Expand Down Expand Up @@ -97,18 +95,6 @@ def __str__(self):
return self.name


class ContactGroupMembership(models.Model):
group = models.ForeignKey(ContactGroup, related_name="+", on_delete=models.CASCADE)
contact = models.ForeignKey(Contact, related_name="+", on_delete=models.CASCADE)

class Meta:
constraints = [
models.UniqueConstraint(fields=['group', 'contact'], name='unique_group_name')
]
verbose_name = _('contact group membership')
verbose_name_plural = _('contact group memberships')


class ContactAssignment(CustomFieldsMixin, ExportTemplatesMixin, TagsMixin, ChangeLoggedModel):
object_type = models.ForeignKey(
to='contenttypes.ContentType',
Expand Down