From 05d4c4a94d14b50ded5b336b88825c8e9767c26c Mon Sep 17 00:00:00 2001 From: Jon Date: Sun, 9 Feb 2025 20:40:25 +0930 Subject: [PATCH] refactor: Squash migrations so there is less of them for model notes ref: #525 #389 --- ...ter_team_organization_organizationnotes.py | 21 ---- ...rganization_organizationnotes_teamnotes.py | 49 ++++++++ .../migrations/0004_organizationnotes.py | 29 ----- app/access/migrations/0005_teamnotes.py | 29 ----- .../0006_alter_team_organization.py | 20 --- ...ter_knowledgebase_organization_and_more.py | 32 ++++- .../migrations/0005_knowledgebasenotes.py | 29 ----- ...ter_knowledgebasenotes_options_and_more.py | 33 ----- ...lter_knowledgecategorybasenotes_options.py | 17 --- .../migrations/0006_configgroupnotes.py | 4 +- ...gsystem_and_more.py => 0012_modelnotes.py} | 27 +--- ...lter_manufacturer_organization_and_more.py | 48 +++++++- .../0014_alter_notes_config_group.py | 20 --- app/core/migrations/0015_manufacturernotes.py | 28 ----- ...0008_alter_device_organization_and_more.py | 116 +++++++++++++++++- app/itam/migrations/0009_devicenotes.py | 29 ----- .../migrations/0010_operatingsystemnotes.py | 29 ----- app/itam/migrations/0011_softwarenotes.py | 29 ----- app/itam/migrations/0012_devicetypenotes.py | 29 ----- app/itam/migrations/0013_devicemodelnotes.py | 29 ----- .../0014_operatingsystemversionnotes.py | 29 ----- .../migrations/0015_softwarecategorynotes.py | 29 ----- .../migrations/0016_softwareversionnotes.py | 29 ----- app/itim/migrations/0007_clusternotes.py | 29 ----- ...clustertypenotes_portnotes_servicenotes.py | 71 +++++++++++ app/itim/migrations/0008_servicenotes.py | 29 ----- app/itim/migrations/0009_clustertypenotes.py | 29 ----- app/itim/migrations/0010_portnotes.py | 29 ----- ...projectnotes_projectstatenotes_and_more.py | 71 +++++++++++ .../migrations/0004_projectnotes.py | 29 ----- .../migrations/0005_projectmilestonenotes.py | 29 ----- .../migrations/0006_projectstatenotes.py | 29 ----- .../migrations/0007_projecttypenotes.py | 29 ----- .../0008_alter_externallink_organization.py | 20 --- ...nallink_organization_externallinknotes.py} | 13 +- 35 files changed, 393 insertions(+), 748 deletions(-) delete mode 100644 app/access/migrations/0003_alter_team_organization_organizationnotes.py create mode 100644 app/access/migrations/0003_alter_team_organization_organizationnotes_teamnotes.py delete mode 100644 app/access/migrations/0004_organizationnotes.py delete mode 100644 app/access/migrations/0005_teamnotes.py delete mode 100644 app/access/migrations/0006_alter_team_organization.py delete mode 100644 app/assistance/migrations/0005_knowledgebasenotes.py delete mode 100644 app/assistance/migrations/0006_alter_knowledgebasenotes_options_and_more.py delete mode 100644 app/assistance/migrations/0007_alter_knowledgecategorybasenotes_options.py rename app/core/migrations/{0012_alter_notes_device_alter_notes_operatingsystem_and_more.py => 0012_modelnotes.py} (59%) delete mode 100644 app/core/migrations/0014_alter_notes_config_group.py delete mode 100644 app/core/migrations/0015_manufacturernotes.py delete mode 100644 app/itam/migrations/0009_devicenotes.py delete mode 100644 app/itam/migrations/0010_operatingsystemnotes.py delete mode 100644 app/itam/migrations/0011_softwarenotes.py delete mode 100644 app/itam/migrations/0012_devicetypenotes.py delete mode 100644 app/itam/migrations/0013_devicemodelnotes.py delete mode 100644 app/itam/migrations/0014_operatingsystemversionnotes.py delete mode 100644 app/itam/migrations/0015_softwarecategorynotes.py delete mode 100644 app/itam/migrations/0016_softwareversionnotes.py delete mode 100644 app/itim/migrations/0007_clusternotes.py create mode 100644 app/itim/migrations/0007_clusternotes_clustertypenotes_portnotes_servicenotes.py delete mode 100644 app/itim/migrations/0008_servicenotes.py delete mode 100644 app/itim/migrations/0009_clustertypenotes.py delete mode 100644 app/itim/migrations/0010_portnotes.py create mode 100644 app/project_management/migrations/0004_projectmilestonenotes_projectnotes_projectstatenotes_and_more.py delete mode 100644 app/project_management/migrations/0004_projectnotes.py delete mode 100644 app/project_management/migrations/0005_projectmilestonenotes.py delete mode 100644 app/project_management/migrations/0006_projectstatenotes.py delete mode 100644 app/project_management/migrations/0007_projecttypenotes.py delete mode 100644 app/settings/migrations/0008_alter_externallink_organization.py rename app/settings/migrations/{0009_externallinknotes.py => 0008_alter_externallink_organization_externallinknotes.py} (59%) diff --git a/app/access/migrations/0003_alter_team_organization_organizationnotes.py b/app/access/migrations/0003_alter_team_organization_organizationnotes.py deleted file mode 100644 index ee8652a5..00000000 --- a/app/access/migrations/0003_alter_team_organization_organizationnotes.py +++ /dev/null @@ -1,21 +0,0 @@ -# Generated by Django 5.1.5 on 2025-02-07 07:38 - -import access.models -import django.db.models.deletion -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('access', '0002_alter_organization_options_alter_team_options_and_more'), - ('core', '0012_alter_notes_device_alter_notes_operatingsystem_and_more'), - ] - - operations = [ - migrations.AlterField( - model_name='team', - name='organization', - field=models.ForeignKey(help_text='Organization this belongs to', on_delete=django.db.models.deletion.CASCADE, related_name='+', to='access.organization', validators=[access.models.TenancyObject.validatate_organization_exists], verbose_name='Organization'), - ) - ] diff --git a/app/access/migrations/0003_alter_team_organization_organizationnotes_teamnotes.py b/app/access/migrations/0003_alter_team_organization_organizationnotes_teamnotes.py new file mode 100644 index 00000000..5beead30 --- /dev/null +++ b/app/access/migrations/0003_alter_team_organization_organizationnotes_teamnotes.py @@ -0,0 +1,49 @@ +# Generated by Django 5.1.5 on 2025-02-09 11:07 + +import access.models +import django.db.models.deletion +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('access', '0002_alter_organization_options_alter_team_options_and_more'), + ('core', '0012_modelnotes'), + ] + + operations = [ + migrations.AlterField( + model_name='team', + name='organization', + field=models.ForeignKey(help_text='Organization this belongs to', on_delete=django.db.models.deletion.CASCADE, to='access.organization', validators=[access.models.Team.validatate_organization_exists], verbose_name='Organization'), + ), + migrations.CreateModel( + name='OrganizationNotes', + fields=[ + ('modelnotes_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='core.modelnotes')), + ('model', models.ForeignKey(help_text='Model this note belongs to', on_delete=django.db.models.deletion.CASCADE, related_name='notes', to='access.organization', verbose_name='Model')), + ], + options={ + 'verbose_name': 'Organization Note', + 'verbose_name_plural': 'Organization Notes', + 'db_table': 'access_organization_notes', + 'ordering': ['-created'], + }, + bases=('core.modelnotes',), + ), + migrations.CreateModel( + name='TeamNotes', + fields=[ + ('modelnotes_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='core.modelnotes')), + ('model', models.ForeignKey(help_text='Model this note belongs to', on_delete=django.db.models.deletion.CASCADE, related_name='notes', to='access.team', verbose_name='Model')), + ], + options={ + 'verbose_name': 'Team Note', + 'verbose_name_plural': 'Team Notes', + 'db_table': 'access_team_notes', + 'ordering': ['-created'], + }, + bases=('core.modelnotes',), + ), + ] diff --git a/app/access/migrations/0004_organizationnotes.py b/app/access/migrations/0004_organizationnotes.py deleted file mode 100644 index 58dc2927..00000000 --- a/app/access/migrations/0004_organizationnotes.py +++ /dev/null @@ -1,29 +0,0 @@ -# Generated by Django 5.1.5 on 2025-02-07 07:41 - -import django.db.models.deletion -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('access', '0003_alter_team_organization_organizationnotes'), - ('core', '0013_alter_manufacturer_organization_and_more'), - ] - - operations = [ - migrations.CreateModel( - name='OrganizationNotes', - fields=[ - ('modelnotes_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='core.modelnotes')), - ('model', models.ForeignKey(help_text='Model this note belongs to', on_delete=django.db.models.deletion.CASCADE, related_name='notes', to='access.organization', verbose_name='Model')), - ], - options={ - 'verbose_name': 'Organization Note', - 'verbose_name_plural': 'Organization Notes', - 'db_table': 'access_organization_notes', - 'ordering': ['-created'], - }, - bases=('core.modelnotes',), - ), - ] diff --git a/app/access/migrations/0005_teamnotes.py b/app/access/migrations/0005_teamnotes.py deleted file mode 100644 index d2a4a32e..00000000 --- a/app/access/migrations/0005_teamnotes.py +++ /dev/null @@ -1,29 +0,0 @@ -# Generated by Django 5.1.5 on 2025-02-07 08:56 - -import django.db.models.deletion -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('access', '0004_organizationnotes'), - ('core', '0013_alter_manufacturer_organization_and_more'), - ] - - operations = [ - migrations.CreateModel( - name='TeamNotes', - fields=[ - ('modelnotes_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='core.modelnotes')), - ('model', models.ForeignKey(help_text='Model this note belongs to', on_delete=django.db.models.deletion.CASCADE, related_name='notes', to='access.team', verbose_name='Model')), - ], - options={ - 'verbose_name': 'Team Note', - 'verbose_name_plural': 'Team Notes', - 'db_table': 'access_team_notes', - 'ordering': ['-created'], - }, - bases=('core.modelnotes',), - ), - ] diff --git a/app/access/migrations/0006_alter_team_organization.py b/app/access/migrations/0006_alter_team_organization.py deleted file mode 100644 index e853a46a..00000000 --- a/app/access/migrations/0006_alter_team_organization.py +++ /dev/null @@ -1,20 +0,0 @@ -# Generated by Django 5.1.5 on 2025-02-07 11:52 - -import access.models -import django.db.models.deletion -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('access', '0005_teamnotes'), - ] - - operations = [ - migrations.AlterField( - model_name='team', - name='organization', - field=models.ForeignKey(help_text='Organization this belongs to', on_delete=django.db.models.deletion.CASCADE, to='access.organization', validators=[access.models.Team.validatate_organization_exists], verbose_name='Organization'), - ), - ] diff --git a/app/assistance/migrations/0004_alter_knowledgebase_organization_and_more.py b/app/assistance/migrations/0004_alter_knowledgebase_organization_and_more.py index 8576a407..c7c6f8fc 100644 --- a/app/assistance/migrations/0004_alter_knowledgebase_organization_and_more.py +++ b/app/assistance/migrations/0004_alter_knowledgebase_organization_and_more.py @@ -1,4 +1,4 @@ -# Generated by Django 5.1.5 on 2025-02-07 07:38 +# Generated by Django 5.1.5 on 2025-02-09 11:07 import access.models import django.db.models.deletion @@ -8,7 +8,9 @@ from django.db import migrations, models class Migration(migrations.Migration): dependencies = [ + ('access', '0003_alter_team_organization_organizationnotes_teamnotes'), ('assistance', '0003_modelknowledgebasearticle'), + ('core', '0012_modelnotes'), ] operations = [ @@ -27,4 +29,32 @@ class Migration(migrations.Migration): name='organization', field=models.ForeignKey(help_text='Organization this belongs to', on_delete=django.db.models.deletion.CASCADE, related_name='+', to='access.organization', validators=[access.models.TenancyObject.validatate_organization_exists], verbose_name='Organization'), ), + migrations.CreateModel( + name='KnowledgeBaseNotes', + fields=[ + ('modelnotes_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='core.modelnotes')), + ('model', models.ForeignKey(help_text='Model this note belongs to', on_delete=django.db.models.deletion.CASCADE, related_name='notes', to='assistance.knowledgebase', verbose_name='Model')), + ], + options={ + 'verbose_name': 'Knowledge Base Note', + 'verbose_name_plural': 'Knowledge Base Notes', + 'db_table': 'assistance_knowledge_base_notes', + 'ordering': ['-created'], + }, + bases=('core.modelnotes',), + ), + migrations.CreateModel( + name='KnowledgeCategoryBaseNotes', + fields=[ + ('modelnotes_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='core.modelnotes')), + ('model', models.ForeignKey(help_text='Model this note belongs to', on_delete=django.db.models.deletion.CASCADE, related_name='notes', to='assistance.knowledgebasecategory', verbose_name='Model')), + ], + options={ + 'verbose_name': 'Knowledge Base Category Note', + 'verbose_name_plural': 'Knowledge Base Category Notes', + 'db_table': 'assistance_knowledge_base_category_notes', + 'ordering': ['-created'], + }, + bases=('core.modelnotes',), + ), ] diff --git a/app/assistance/migrations/0005_knowledgebasenotes.py b/app/assistance/migrations/0005_knowledgebasenotes.py deleted file mode 100644 index dc4b83b2..00000000 --- a/app/assistance/migrations/0005_knowledgebasenotes.py +++ /dev/null @@ -1,29 +0,0 @@ -# Generated by Django 5.1.5 on 2025-02-07 09:18 - -import django.db.models.deletion -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('assistance', '0004_alter_knowledgebase_organization_and_more'), - ('core', '0013_alter_manufacturer_organization_and_more'), - ] - - operations = [ - migrations.CreateModel( - name='KnowledgeBaseNotes', - fields=[ - ('modelnotes_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='core.modelnotes')), - ('model', models.ForeignKey(help_text='Model this note belongs to', on_delete=django.db.models.deletion.CASCADE, related_name='notes', to='assistance.knowledgebase', verbose_name='Model')), - ], - options={ - 'verbose_name': 'Knowledge Base Article Note', - 'verbose_name_plural': 'Knowledge Base Article Notes', - 'db_table': 'assistance_knowledge_base_notes', - 'ordering': ['-created'], - }, - bases=('core.modelnotes',), - ), - ] diff --git a/app/assistance/migrations/0006_alter_knowledgebasenotes_options_and_more.py b/app/assistance/migrations/0006_alter_knowledgebasenotes_options_and_more.py deleted file mode 100644 index cbf7d81f..00000000 --- a/app/assistance/migrations/0006_alter_knowledgebasenotes_options_and_more.py +++ /dev/null @@ -1,33 +0,0 @@ -# Generated by Django 5.1.5 on 2025-02-08 08:12 - -import django.db.models.deletion -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('assistance', '0005_knowledgebasenotes'), - ('core', '0015_manufacturernotes'), - ] - - operations = [ - migrations.AlterModelOptions( - name='knowledgebasenotes', - options={'ordering': ['-created'], 'verbose_name': 'Knowledge Base Note', 'verbose_name_plural': 'Knowledge Base Notes'}, - ), - migrations.CreateModel( - name='KnowledgeCategoryBaseNotes', - fields=[ - ('modelnotes_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='core.modelnotes')), - ('model', models.ForeignKey(help_text='Model this note belongs to', on_delete=django.db.models.deletion.CASCADE, related_name='notes', to='assistance.knowledgebasecategory', verbose_name='Model')), - ], - options={ - 'verbose_name': 'Knowledge Base CategoryNote', - 'verbose_name_plural': 'Knowledge Base CategoryNotes', - 'db_table': 'assistance_knowledge_base_category_notes', - 'ordering': ['-created'], - }, - bases=('core.modelnotes',), - ), - ] diff --git a/app/assistance/migrations/0007_alter_knowledgecategorybasenotes_options.py b/app/assistance/migrations/0007_alter_knowledgecategorybasenotes_options.py deleted file mode 100644 index f68ae38e..00000000 --- a/app/assistance/migrations/0007_alter_knowledgecategorybasenotes_options.py +++ /dev/null @@ -1,17 +0,0 @@ -# Generated by Django 5.1.5 on 2025-02-08 08:23 - -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('assistance', '0006_alter_knowledgebasenotes_options_and_more'), - ] - - operations = [ - migrations.AlterModelOptions( - name='knowledgecategorybasenotes', - options={'ordering': ['-created'], 'verbose_name': 'Knowledge Base Category Note', 'verbose_name_plural': 'Knowledge Base Category Notes'}, - ), - ] diff --git a/app/config_management/migrations/0006_configgroupnotes.py b/app/config_management/migrations/0006_configgroupnotes.py index 2244129e..53b71710 100644 --- a/app/config_management/migrations/0006_configgroupnotes.py +++ b/app/config_management/migrations/0006_configgroupnotes.py @@ -1,4 +1,4 @@ -# Generated by Django 5.1.5 on 2025-02-07 09:32 +# Generated by Django 5.1.5 on 2025-02-09 11:07 import django.db.models.deletion from django.db import migrations, models @@ -8,7 +8,7 @@ class Migration(migrations.Migration): dependencies = [ ('config_management', '0005_alter_configgrouphosts_organization_and_more'), - ('core', '0013_alter_manufacturer_organization_and_more'), + ('core', '0012_modelnotes'), ] operations = [ diff --git a/app/core/migrations/0012_alter_notes_device_alter_notes_operatingsystem_and_more.py b/app/core/migrations/0012_modelnotes.py similarity index 59% rename from app/core/migrations/0012_alter_notes_device_alter_notes_operatingsystem_and_more.py rename to app/core/migrations/0012_modelnotes.py index 0918aeaf..0f6a3a02 100644 --- a/app/core/migrations/0012_alter_notes_device_alter_notes_operatingsystem_and_more.py +++ b/app/core/migrations/0012_modelnotes.py @@ -1,4 +1,4 @@ -# Generated by Django 5.1.5 on 2025-02-07 06:09 +# Generated by Django 5.1.5 on 2025-02-09 10:40 import access.fields import access.models @@ -11,35 +11,12 @@ from django.db import migrations, models class Migration(migrations.Migration): dependencies = [ - ('access', '0002_alter_organization_options_alter_team_options_and_more'), ('contenttypes', '0002_remove_content_type_name'), ('core', '0011_ticket_parent_ticket'), - ('itam', '0007_alter_device_uuid'), - ('itim', '0005_alter_port_options_alter_cluster_cluster_type_and_more'), migrations.swappable_dependency(settings.AUTH_USER_MODEL), ] operations = [ - migrations.AlterField( - model_name='notes', - name='device', - field=models.ForeignKey(blank=True, default=None, help_text='Device this note belongs to', null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='itam.device', verbose_name='Device'), - ), - migrations.AlterField( - model_name='notes', - name='operatingsystem', - field=models.ForeignKey(blank=True, default=None, help_text='Operating system this note belongs to', null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='itam.operatingsystem', verbose_name='Operating System'), - ), - migrations.AlterField( - model_name='notes', - name='service', - field=models.ForeignKey(blank=True, default=None, help_text='Service this note belongs to', null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='itim.service', verbose_name='Service'), - ), - migrations.AlterField( - model_name='notes', - name='software', - field=models.ForeignKey(blank=True, default=None, help_text='Software this note belongs to', null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='itam.software', verbose_name='Software'), - ), migrations.CreateModel( name='ModelNotes', fields=[ @@ -52,7 +29,7 @@ class Migration(migrations.Migration): ('content_type', models.ForeignKey(blank=True, help_text='Model this note is for', on_delete=django.db.models.deletion.CASCADE, to='contenttypes.contenttype', verbose_name='Content Model')), ('created_by', models.ForeignKey(blank=True, help_text='User whom added the Note', on_delete=django.db.models.deletion.DO_NOTHING, related_name='created_notes', to=settings.AUTH_USER_MODEL, verbose_name='Created By')), ('modified_by', models.ForeignKey(blank=True, default=None, help_text='User whom modified the note', null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='modified_notes', to=settings.AUTH_USER_MODEL, verbose_name='Edited By')), - ('organization', models.ForeignKey(help_text='Organization this belongs to', on_delete=django.db.models.deletion.CASCADE, to='access.organization', validators=[access.models.TenancyObject.validatate_organization_exists], verbose_name='Organization')), + ('organization', models.ForeignKey(help_text='Organization this belongs to', on_delete=django.db.models.deletion.CASCADE, related_name='+', to='access.organization', validators=[access.models.TenancyObject.validatate_organization_exists], verbose_name='Organization')), ], options={ 'verbose_name': 'Model Note', diff --git a/app/core/migrations/0013_alter_manufacturer_organization_and_more.py b/app/core/migrations/0013_alter_manufacturer_organization_and_more.py index b1ed151d..d60b393b 100644 --- a/app/core/migrations/0013_alter_manufacturer_organization_and_more.py +++ b/app/core/migrations/0013_alter_manufacturer_organization_and_more.py @@ -1,4 +1,4 @@ -# Generated by Django 5.1.5 on 2025-02-07 07:38 +# Generated by Django 5.1.5 on 2025-02-09 11:07 import access.models import django.db.models.deletion @@ -8,7 +8,11 @@ from django.db import migrations, models class Migration(migrations.Migration): dependencies = [ - ('core', '0012_alter_notes_device_alter_notes_operatingsystem_and_more'), + ('access', '0003_alter_team_organization_organizationnotes_teamnotes'), + ('config_management', '0006_configgroupnotes'), + ('core', '0012_modelnotes'), + ('itam', '0007_alter_device_uuid'), + ('itim', '0006_alter_cluster_organization_and_more'), ] operations = [ @@ -18,15 +22,35 @@ class Migration(migrations.Migration): field=models.ForeignKey(help_text='Organization this belongs to', on_delete=django.db.models.deletion.CASCADE, related_name='+', to='access.organization', validators=[access.models.TenancyObject.validatate_organization_exists], verbose_name='Organization'), ), migrations.AlterField( - model_name='modelnotes', - name='organization', - field=models.ForeignKey(help_text='Organization this belongs to', on_delete=django.db.models.deletion.CASCADE, related_name='+', to='access.organization', validators=[access.models.TenancyObject.validatate_organization_exists], verbose_name='Organization'), + model_name='notes', + name='config_group', + field=models.ForeignKey(blank=True, default=None, help_text='Config group this note belongs to', null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='config_management.configgroups', verbose_name='Config Group'), + ), + migrations.AlterField( + model_name='notes', + name='device', + field=models.ForeignKey(blank=True, default=None, help_text='Device this note belongs to', null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='itam.device', verbose_name='Device'), + ), + migrations.AlterField( + model_name='notes', + name='operatingsystem', + field=models.ForeignKey(blank=True, default=None, help_text='Operating system this note belongs to', null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='itam.operatingsystem', verbose_name='Operating System'), ), migrations.AlterField( model_name='notes', name='organization', field=models.ForeignKey(help_text='Organization this belongs to', on_delete=django.db.models.deletion.CASCADE, related_name='+', to='access.organization', validators=[access.models.TenancyObject.validatate_organization_exists], verbose_name='Organization'), ), + migrations.AlterField( + model_name='notes', + name='service', + field=models.ForeignKey(blank=True, default=None, help_text='Service this note belongs to', null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='itim.service', verbose_name='Service'), + ), + migrations.AlterField( + model_name='notes', + name='software', + field=models.ForeignKey(blank=True, default=None, help_text='Software this note belongs to', null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='itam.software', verbose_name='Software'), + ), migrations.AlterField( model_name='relatedtickets', name='organization', @@ -57,4 +81,18 @@ class Migration(migrations.Migration): name='organization', field=models.ForeignKey(help_text='Organization this belongs to', on_delete=django.db.models.deletion.CASCADE, related_name='+', to='access.organization', validators=[access.models.TenancyObject.validatate_organization_exists], verbose_name='Organization'), ), + migrations.CreateModel( + name='ManufacturerNotes', + fields=[ + ('modelnotes_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='core.modelnotes')), + ('model', models.ForeignKey(help_text='Model this note belongs to', on_delete=django.db.models.deletion.CASCADE, related_name='notes', to='core.manufacturer', verbose_name='Model')), + ], + options={ + 'verbose_name': 'Manufacturer Note', + 'verbose_name_plural': 'Manufacturer Notes', + 'db_table': 'core_manufacturer_notes', + 'ordering': ['-created'], + }, + bases=('core.modelnotes',), + ), ] diff --git a/app/core/migrations/0014_alter_notes_config_group.py b/app/core/migrations/0014_alter_notes_config_group.py deleted file mode 100644 index f1620e28..00000000 --- a/app/core/migrations/0014_alter_notes_config_group.py +++ /dev/null @@ -1,20 +0,0 @@ -# Generated by Django 5.1.5 on 2025-02-07 09:32 - -import django.db.models.deletion -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('config_management', '0006_configgroupnotes'), - ('core', '0013_alter_manufacturer_organization_and_more'), - ] - - operations = [ - migrations.AlterField( - model_name='notes', - name='config_group', - field=models.ForeignKey(blank=True, default=None, help_text='Config group this note belongs to', null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='config_management.configgroups', verbose_name='Config Group'), - ), - ] diff --git a/app/core/migrations/0015_manufacturernotes.py b/app/core/migrations/0015_manufacturernotes.py deleted file mode 100644 index 186d9505..00000000 --- a/app/core/migrations/0015_manufacturernotes.py +++ /dev/null @@ -1,28 +0,0 @@ -# Generated by Django 5.1.5 on 2025-02-07 09:45 - -import django.db.models.deletion -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('core', '0014_alter_notes_config_group'), - ] - - operations = [ - migrations.CreateModel( - name='ManufacturerNotes', - fields=[ - ('modelnotes_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='core.modelnotes')), - ('model', models.ForeignKey(help_text='Model this note belongs to', on_delete=django.db.models.deletion.CASCADE, related_name='notes', to='core.manufacturer', verbose_name='Model')), - ], - options={ - 'verbose_name': 'Manufacturer Note', - 'verbose_name_plural': 'Manufacturer Notes', - 'db_table': 'core_manufacturer_notes', - 'ordering': ['-created'], - }, - bases=('core.modelnotes',), - ), - ] diff --git a/app/itam/migrations/0008_alter_device_organization_and_more.py b/app/itam/migrations/0008_alter_device_organization_and_more.py index 4a2a8140..5d90fa0a 100644 --- a/app/itam/migrations/0008_alter_device_organization_and_more.py +++ b/app/itam/migrations/0008_alter_device_organization_and_more.py @@ -1,4 +1,4 @@ -# Generated by Django 5.1.5 on 2025-02-07 08:39 +# Generated by Django 5.1.5 on 2025-02-09 11:07 import access.models import django.db.models.deletion @@ -8,7 +8,7 @@ from django.db import migrations, models class Migration(migrations.Migration): dependencies = [ - ('access', '0004_organizationnotes'), + ('access', '0003_alter_team_organization_organizationnotes_teamnotes'), ('core', '0013_alter_manufacturer_organization_and_more'), ('itam', '0007_alter_device_uuid'), ] @@ -64,4 +64,116 @@ class Migration(migrations.Migration): name='organization', field=models.ForeignKey(help_text='Organization this belongs to', on_delete=django.db.models.deletion.CASCADE, related_name='+', to='access.organization', validators=[access.models.TenancyObject.validatate_organization_exists], verbose_name='Organization'), ), + migrations.CreateModel( + name='DeviceModelNotes', + fields=[ + ('modelnotes_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='core.modelnotes')), + ('model', models.ForeignKey(help_text='Model this note belongs to', on_delete=django.db.models.deletion.CASCADE, related_name='notes', to='itam.devicemodel', verbose_name='Model')), + ], + options={ + 'verbose_name': 'Device Model Note', + 'verbose_name_plural': 'Device Model Notes', + 'db_table': 'itam_device_mdel_notes', + 'ordering': ['-created'], + }, + bases=('core.modelnotes',), + ), + migrations.CreateModel( + name='DeviceNotes', + fields=[ + ('modelnotes_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='core.modelnotes')), + ('model', models.ForeignKey(help_text='Model this note belongs to', on_delete=django.db.models.deletion.CASCADE, related_name='notes', to='itam.device', verbose_name='Model')), + ], + options={ + 'verbose_name': 'Device Note', + 'verbose_name_plural': 'Device Notes', + 'db_table': 'itam_device_notes', + 'ordering': ['-created'], + }, + bases=('core.modelnotes',), + ), + migrations.CreateModel( + name='DeviceTypeNotes', + fields=[ + ('modelnotes_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='core.modelnotes')), + ('model', models.ForeignKey(help_text='Model this note belongs to', on_delete=django.db.models.deletion.CASCADE, related_name='notes', to='itam.devicetype', verbose_name='Model')), + ], + options={ + 'verbose_name': 'Device Type Note', + 'verbose_name_plural': 'Device TypeNotes', + 'db_table': 'itam_device_type_notes', + 'ordering': ['-created'], + }, + bases=('core.modelnotes',), + ), + migrations.CreateModel( + name='OperatingSystemNotes', + fields=[ + ('modelnotes_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='core.modelnotes')), + ('model', models.ForeignKey(help_text='Model this note belongs to', on_delete=django.db.models.deletion.CASCADE, related_name='notes', to='itam.operatingsystem', verbose_name='Model')), + ], + options={ + 'verbose_name': 'Operating System Note', + 'verbose_name_plural': 'Operating System Notes', + 'db_table': 'itam_operating_system_notes', + 'ordering': ['-created'], + }, + bases=('core.modelnotes',), + ), + migrations.CreateModel( + name='OperatingSystemVersionNotes', + fields=[ + ('modelnotes_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='core.modelnotes')), + ('model', models.ForeignKey(help_text='Model this note belongs to', on_delete=django.db.models.deletion.CASCADE, related_name='notes', to='itam.operatingsystemversion', verbose_name='Model')), + ], + options={ + 'verbose_name': 'Operating System Version Note', + 'verbose_name_plural': 'Operating System Version Notes', + 'db_table': 'itam_operating_system_version_notes', + 'ordering': ['-created'], + }, + bases=('core.modelnotes',), + ), + migrations.CreateModel( + name='SoftwareCategoryNotes', + fields=[ + ('modelnotes_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='core.modelnotes')), + ('model', models.ForeignKey(help_text='Model this note belongs to', on_delete=django.db.models.deletion.CASCADE, related_name='notes', to='itam.softwarecategory', verbose_name='Model')), + ], + options={ + 'verbose_name': 'Software Category Note', + 'verbose_name_plural': 'Software Category Notes', + 'db_table': 'itam_software_category_notes', + 'ordering': ['-created'], + }, + bases=('core.modelnotes',), + ), + migrations.CreateModel( + name='SoftwareNotes', + fields=[ + ('modelnotes_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='core.modelnotes')), + ('model', models.ForeignKey(help_text='Model this note belongs to', on_delete=django.db.models.deletion.CASCADE, related_name='notes', to='itam.software', verbose_name='Model')), + ], + options={ + 'verbose_name': 'Software Note', + 'verbose_name_plural': 'Software Notes', + 'db_table': 'itam_software_notes', + 'ordering': ['-created'], + }, + bases=('core.modelnotes',), + ), + migrations.CreateModel( + name='SoftwareVersionNotes', + fields=[ + ('modelnotes_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='core.modelnotes')), + ('model', models.ForeignKey(help_text='Model this note belongs to', on_delete=django.db.models.deletion.CASCADE, related_name='notes', to='itam.softwareversion', verbose_name='Model')), + ], + options={ + 'verbose_name': 'Software Version Note', + 'verbose_name_plural': 'Software Version Notes', + 'db_table': 'itam_software_version_notes', + 'ordering': ['-created'], + }, + bases=('core.modelnotes',), + ), ] diff --git a/app/itam/migrations/0009_devicenotes.py b/app/itam/migrations/0009_devicenotes.py deleted file mode 100644 index 258a997e..00000000 --- a/app/itam/migrations/0009_devicenotes.py +++ /dev/null @@ -1,29 +0,0 @@ -# Generated by Django 5.1.5 on 2025-02-07 08:39 - -import django.db.models.deletion -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('core', '0013_alter_manufacturer_organization_and_more'), - ('itam', '0008_alter_device_organization_and_more'), - ] - - operations = [ - migrations.CreateModel( - name='DeviceNotes', - fields=[ - ('modelnotes_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='core.modelnotes')), - ('model', models.ForeignKey(help_text='Model this note belongs to', on_delete=django.db.models.deletion.CASCADE, related_name='notes', to='itam.device', verbose_name='Model')), - ], - options={ - 'verbose_name': 'Device Note', - 'verbose_name_plural': 'Device Notes', - 'db_table': 'itam_device_notes', - 'ordering': ['-created'], - }, - bases=('core.modelnotes',), - ), - ] diff --git a/app/itam/migrations/0010_operatingsystemnotes.py b/app/itam/migrations/0010_operatingsystemnotes.py deleted file mode 100644 index 8fcae985..00000000 --- a/app/itam/migrations/0010_operatingsystemnotes.py +++ /dev/null @@ -1,29 +0,0 @@ -# Generated by Django 5.1.5 on 2025-02-07 10:05 - -import django.db.models.deletion -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('core', '0015_manufacturernotes'), - ('itam', '0009_devicenotes'), - ] - - operations = [ - migrations.CreateModel( - name='OperatingSystemNotes', - fields=[ - ('modelnotes_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='core.modelnotes')), - ('model', models.ForeignKey(help_text='Model this note belongs to', on_delete=django.db.models.deletion.CASCADE, related_name='notes', to='itam.operatingsystem', verbose_name='Model')), - ], - options={ - 'verbose_name': 'Operating System Note', - 'verbose_name_plural': 'Operating System Notes', - 'db_table': 'itam_operating_system_notes', - 'ordering': ['-created'], - }, - bases=('core.modelnotes',), - ), - ] diff --git a/app/itam/migrations/0011_softwarenotes.py b/app/itam/migrations/0011_softwarenotes.py deleted file mode 100644 index 393789dd..00000000 --- a/app/itam/migrations/0011_softwarenotes.py +++ /dev/null @@ -1,29 +0,0 @@ -# Generated by Django 5.1.5 on 2025-02-07 10:16 - -import django.db.models.deletion -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('core', '0015_manufacturernotes'), - ('itam', '0010_operatingsystemnotes'), - ] - - operations = [ - migrations.CreateModel( - name='SoftwareNotes', - fields=[ - ('modelnotes_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='core.modelnotes')), - ('model', models.ForeignKey(help_text='Model this note belongs to', on_delete=django.db.models.deletion.CASCADE, related_name='notes', to='itam.software', verbose_name='Model')), - ], - options={ - 'verbose_name': 'Software Note', - 'verbose_name_plural': 'Software Notes', - 'db_table': 'itam_software_notes', - 'ordering': ['-created'], - }, - bases=('core.modelnotes',), - ), - ] diff --git a/app/itam/migrations/0012_devicetypenotes.py b/app/itam/migrations/0012_devicetypenotes.py deleted file mode 100644 index 2f4835e1..00000000 --- a/app/itam/migrations/0012_devicetypenotes.py +++ /dev/null @@ -1,29 +0,0 @@ -# Generated by Django 5.1.5 on 2025-02-07 11:37 - -import django.db.models.deletion -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('core', '0015_manufacturernotes'), - ('itam', '0011_softwarenotes'), - ] - - operations = [ - migrations.CreateModel( - name='DeviceTypeNotes', - fields=[ - ('modelnotes_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='core.modelnotes')), - ('model', models.ForeignKey(help_text='Model this note belongs to', on_delete=django.db.models.deletion.CASCADE, related_name='notes', to='itam.devicetype', verbose_name='Model')), - ], - options={ - 'verbose_name': 'Device Type Note', - 'verbose_name_plural': 'Device TypeNotes', - 'db_table': 'itam_device_type_notes', - 'ordering': ['-created'], - }, - bases=('core.modelnotes',), - ), - ] diff --git a/app/itam/migrations/0013_devicemodelnotes.py b/app/itam/migrations/0013_devicemodelnotes.py deleted file mode 100644 index 8178daf0..00000000 --- a/app/itam/migrations/0013_devicemodelnotes.py +++ /dev/null @@ -1,29 +0,0 @@ -# Generated by Django 5.1.5 on 2025-02-07 12:00 - -import django.db.models.deletion -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('core', '0015_manufacturernotes'), - ('itam', '0012_devicetypenotes'), - ] - - operations = [ - migrations.CreateModel( - name='DeviceModelNotes', - fields=[ - ('modelnotes_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='core.modelnotes')), - ('model', models.ForeignKey(help_text='Model this note belongs to', on_delete=django.db.models.deletion.CASCADE, related_name='notes', to='itam.devicemodel', verbose_name='Model')), - ], - options={ - 'verbose_name': 'Device Model Note', - 'verbose_name_plural': 'Device Model Notes', - 'db_table': 'itam_device_mdel_notes', - 'ordering': ['-created'], - }, - bases=('core.modelnotes',), - ), - ] diff --git a/app/itam/migrations/0014_operatingsystemversionnotes.py b/app/itam/migrations/0014_operatingsystemversionnotes.py deleted file mode 100644 index 351aca0a..00000000 --- a/app/itam/migrations/0014_operatingsystemversionnotes.py +++ /dev/null @@ -1,29 +0,0 @@ -# Generated by Django 5.1.5 on 2025-02-07 12:36 - -import django.db.models.deletion -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('core', '0015_manufacturernotes'), - ('itam', '0013_devicemodelnotes'), - ] - - operations = [ - migrations.CreateModel( - name='OperatingSystemVersionNotes', - fields=[ - ('modelnotes_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='core.modelnotes')), - ('model', models.ForeignKey(help_text='Model this note belongs to', on_delete=django.db.models.deletion.CASCADE, related_name='notes', to='itam.operatingsystemversion', verbose_name='Model')), - ], - options={ - 'verbose_name': 'Operating System Version Note', - 'verbose_name_plural': 'Operating System Version Notes', - 'db_table': 'itam_operating_system_version_notes', - 'ordering': ['-created'], - }, - bases=('core.modelnotes',), - ), - ] diff --git a/app/itam/migrations/0015_softwarecategorynotes.py b/app/itam/migrations/0015_softwarecategorynotes.py deleted file mode 100644 index 4a8f3301..00000000 --- a/app/itam/migrations/0015_softwarecategorynotes.py +++ /dev/null @@ -1,29 +0,0 @@ -# Generated by Django 5.1.5 on 2025-02-07 13:00 - -import django.db.models.deletion -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('core', '0015_manufacturernotes'), - ('itam', '0014_operatingsystemversionnotes'), - ] - - operations = [ - migrations.CreateModel( - name='SoftwareCategoryNotes', - fields=[ - ('modelnotes_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='core.modelnotes')), - ('model', models.ForeignKey(help_text='Model this note belongs to', on_delete=django.db.models.deletion.CASCADE, related_name='notes', to='itam.softwarecategory', verbose_name='Model')), - ], - options={ - 'verbose_name': 'Software Category Note', - 'verbose_name_plural': 'Software Category Notes', - 'db_table': 'itam_software_category_notes', - 'ordering': ['-created'], - }, - bases=('core.modelnotes',), - ), - ] diff --git a/app/itam/migrations/0016_softwareversionnotes.py b/app/itam/migrations/0016_softwareversionnotes.py deleted file mode 100644 index 21dd2d9b..00000000 --- a/app/itam/migrations/0016_softwareversionnotes.py +++ /dev/null @@ -1,29 +0,0 @@ -# Generated by Django 5.1.5 on 2025-02-07 13:09 - -import django.db.models.deletion -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('core', '0015_manufacturernotes'), - ('itam', '0015_softwarecategorynotes'), - ] - - operations = [ - migrations.CreateModel( - name='SoftwareVersionNotes', - fields=[ - ('modelnotes_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='core.modelnotes')), - ('model', models.ForeignKey(help_text='Model this note belongs to', on_delete=django.db.models.deletion.CASCADE, related_name='notes', to='itam.softwareversion', verbose_name='Model')), - ], - options={ - 'verbose_name': 'Software Version Note', - 'verbose_name_plural': 'Software Version Notes', - 'db_table': 'itam_software_version_notes', - 'ordering': ['-created'], - }, - bases=('core.modelnotes',), - ), - ] diff --git a/app/itim/migrations/0007_clusternotes.py b/app/itim/migrations/0007_clusternotes.py deleted file mode 100644 index 7744707b..00000000 --- a/app/itim/migrations/0007_clusternotes.py +++ /dev/null @@ -1,29 +0,0 @@ -# Generated by Django 5.1.5 on 2025-02-07 10:28 - -import django.db.models.deletion -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('core', '0015_manufacturernotes'), - ('itim', '0006_alter_cluster_organization_and_more'), - ] - - operations = [ - migrations.CreateModel( - name='ClusterNotes', - fields=[ - ('modelnotes_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='core.modelnotes')), - ('model', models.ForeignKey(help_text='Model this note belongs to', on_delete=django.db.models.deletion.CASCADE, related_name='notes', to='itim.cluster', verbose_name='Model')), - ], - options={ - 'verbose_name': 'Cluster Note', - 'verbose_name_plural': 'Cluster Notes', - 'db_table': 'itim_cluster_notes', - 'ordering': ['-created'], - }, - bases=('core.modelnotes',), - ), - ] diff --git a/app/itim/migrations/0007_clusternotes_clustertypenotes_portnotes_servicenotes.py b/app/itim/migrations/0007_clusternotes_clustertypenotes_portnotes_servicenotes.py new file mode 100644 index 00000000..27c89f4f --- /dev/null +++ b/app/itim/migrations/0007_clusternotes_clustertypenotes_portnotes_servicenotes.py @@ -0,0 +1,71 @@ +# Generated by Django 5.1.5 on 2025-02-09 11:07 + +import django.db.models.deletion +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('core', '0013_alter_manufacturer_organization_and_more'), + ('itim', '0006_alter_cluster_organization_and_more'), + ] + + operations = [ + migrations.CreateModel( + name='ClusterNotes', + fields=[ + ('modelnotes_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='core.modelnotes')), + ('model', models.ForeignKey(help_text='Model this note belongs to', on_delete=django.db.models.deletion.CASCADE, related_name='notes', to='itim.cluster', verbose_name='Model')), + ], + options={ + 'verbose_name': 'Cluster Note', + 'verbose_name_plural': 'Cluster Notes', + 'db_table': 'itim_cluster_notes', + 'ordering': ['-created'], + }, + bases=('core.modelnotes',), + ), + migrations.CreateModel( + name='ClusterTypeNotes', + fields=[ + ('modelnotes_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='core.modelnotes')), + ('model', models.ForeignKey(help_text='Model this note belongs to', on_delete=django.db.models.deletion.CASCADE, related_name='notes', to='itim.clustertype', verbose_name='Model')), + ], + options={ + 'verbose_name': 'Cluster Type Note', + 'verbose_name_plural': 'Cluster Type Notes', + 'db_table': 'itim_cluster_type_notes', + 'ordering': ['-created'], + }, + bases=('core.modelnotes',), + ), + migrations.CreateModel( + name='PortNotes', + fields=[ + ('modelnotes_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='core.modelnotes')), + ('model', models.ForeignKey(help_text='Model this note belongs to', on_delete=django.db.models.deletion.CASCADE, related_name='notes', to='itim.port', verbose_name='Model')), + ], + options={ + 'verbose_name': 'Port Note', + 'verbose_name_plural': 'Port Notes', + 'db_table': 'itim_port_notes', + 'ordering': ['-created'], + }, + bases=('core.modelnotes',), + ), + migrations.CreateModel( + name='ServiceNotes', + fields=[ + ('modelnotes_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='core.modelnotes')), + ('model', models.ForeignKey(help_text='Model this note belongs to', on_delete=django.db.models.deletion.CASCADE, related_name='notes', to='itim.service', verbose_name='Model')), + ], + options={ + 'verbose_name': 'Service Note', + 'verbose_name_plural': 'Service Notes', + 'db_table': 'itim_service_notes', + 'ordering': ['-created'], + }, + bases=('core.modelnotes',), + ), + ] diff --git a/app/itim/migrations/0008_servicenotes.py b/app/itim/migrations/0008_servicenotes.py deleted file mode 100644 index ef20312c..00000000 --- a/app/itim/migrations/0008_servicenotes.py +++ /dev/null @@ -1,29 +0,0 @@ -# Generated by Django 5.1.5 on 2025-02-07 10:41 - -import django.db.models.deletion -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('core', '0015_manufacturernotes'), - ('itim', '0007_clusternotes'), - ] - - operations = [ - migrations.CreateModel( - name='ServiceNotes', - fields=[ - ('modelnotes_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='core.modelnotes')), - ('model', models.ForeignKey(help_text='Model this note belongs to', on_delete=django.db.models.deletion.CASCADE, related_name='notes', to='itim.service', verbose_name='Model')), - ], - options={ - 'verbose_name': 'Service Note', - 'verbose_name_plural': 'Service Notes', - 'db_table': 'itim_service_notes', - 'ordering': ['-created'], - }, - bases=('core.modelnotes',), - ), - ] diff --git a/app/itim/migrations/0009_clustertypenotes.py b/app/itim/migrations/0009_clustertypenotes.py deleted file mode 100644 index e2573508..00000000 --- a/app/itim/migrations/0009_clustertypenotes.py +++ /dev/null @@ -1,29 +0,0 @@ -# Generated by Django 5.1.5 on 2025-02-07 10:57 - -import django.db.models.deletion -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('core', '0015_manufacturernotes'), - ('itim', '0008_servicenotes'), - ] - - operations = [ - migrations.CreateModel( - name='ClusterTypeNotes', - fields=[ - ('modelnotes_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='core.modelnotes')), - ('model', models.ForeignKey(help_text='Model this note belongs to', on_delete=django.db.models.deletion.CASCADE, related_name='notes', to='itim.clustertype', verbose_name='Model')), - ], - options={ - 'verbose_name': 'Cluster Type Note', - 'verbose_name_plural': 'Cluster Type Notes', - 'db_table': 'itim_cluster_type_notes', - 'ordering': ['-created'], - }, - bases=('core.modelnotes',), - ), - ] diff --git a/app/itim/migrations/0010_portnotes.py b/app/itim/migrations/0010_portnotes.py deleted file mode 100644 index f3a3a281..00000000 --- a/app/itim/migrations/0010_portnotes.py +++ /dev/null @@ -1,29 +0,0 @@ -# Generated by Django 5.1.5 on 2025-02-07 11:04 - -import django.db.models.deletion -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('core', '0015_manufacturernotes'), - ('itim', '0009_clustertypenotes'), - ] - - operations = [ - migrations.CreateModel( - name='PortNotes', - fields=[ - ('modelnotes_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='core.modelnotes')), - ('model', models.ForeignKey(help_text='Model this note belongs to', on_delete=django.db.models.deletion.CASCADE, related_name='notes', to='itim.port', verbose_name='Model')), - ], - options={ - 'verbose_name': 'Port Note', - 'verbose_name_plural': 'Port Notes', - 'db_table': 'itim_port_notes', - 'ordering': ['-created'], - }, - bases=('core.modelnotes',), - ), - ] diff --git a/app/project_management/migrations/0004_projectmilestonenotes_projectnotes_projectstatenotes_and_more.py b/app/project_management/migrations/0004_projectmilestonenotes_projectnotes_projectstatenotes_and_more.py new file mode 100644 index 00000000..fd7b5868 --- /dev/null +++ b/app/project_management/migrations/0004_projectmilestonenotes_projectnotes_projectstatenotes_and_more.py @@ -0,0 +1,71 @@ +# Generated by Django 5.1.5 on 2025-02-09 11:07 + +import django.db.models.deletion +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('core', '0013_alter_manufacturer_organization_and_more'), + ('project_management', '0003_alter_project_organization_and_more'), + ] + + operations = [ + migrations.CreateModel( + name='ProjectMilestoneNotes', + fields=[ + ('modelnotes_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='core.modelnotes')), + ('model', models.ForeignKey(help_text='Model this note belongs to', on_delete=django.db.models.deletion.CASCADE, related_name='notes', to='project_management.projectmilestone', verbose_name='Model')), + ], + options={ + 'verbose_name': 'Project Milestone Note', + 'verbose_name_plural': 'Project Milestone Notes', + 'db_table': 'project_management_project_milestone_notes', + 'ordering': ['-created'], + }, + bases=('core.modelnotes',), + ), + migrations.CreateModel( + name='ProjectNotes', + fields=[ + ('modelnotes_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='core.modelnotes')), + ('model', models.ForeignKey(help_text='Model this note belongs to', on_delete=django.db.models.deletion.CASCADE, related_name='notes', to='project_management.project', verbose_name='Model')), + ], + options={ + 'verbose_name': 'Project Note', + 'verbose_name_plural': 'Project Notes', + 'db_table': 'project_management_notes', + 'ordering': ['-created'], + }, + bases=('core.modelnotes',), + ), + migrations.CreateModel( + name='ProjectStateNotes', + fields=[ + ('modelnotes_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='core.modelnotes')), + ('model', models.ForeignKey(help_text='Model this note belongs to', on_delete=django.db.models.deletion.CASCADE, related_name='notes', to='project_management.projectstate', verbose_name='Model')), + ], + options={ + 'verbose_name': 'Project State Note', + 'verbose_name_plural': 'Project State Notes', + 'db_table': 'project_management_project_state_notes', + 'ordering': ['-created'], + }, + bases=('core.modelnotes',), + ), + migrations.CreateModel( + name='ProjectTypeNotes', + fields=[ + ('modelnotes_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='core.modelnotes')), + ('model', models.ForeignKey(help_text='Model this note belongs to', on_delete=django.db.models.deletion.CASCADE, related_name='notes', to='project_management.projecttype', verbose_name='Model')), + ], + options={ + 'verbose_name': 'Project Type Note', + 'verbose_name_plural': 'Project Type Notes', + 'db_table': 'project_management_project_type_notes', + 'ordering': ['-created'], + }, + bases=('core.modelnotes',), + ), + ] diff --git a/app/project_management/migrations/0004_projectnotes.py b/app/project_management/migrations/0004_projectnotes.py deleted file mode 100644 index 04e2b10d..00000000 --- a/app/project_management/migrations/0004_projectnotes.py +++ /dev/null @@ -1,29 +0,0 @@ -# Generated by Django 5.1.5 on 2025-02-07 10:48 - -import django.db.models.deletion -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('core', '0015_manufacturernotes'), - ('project_management', '0003_alter_project_organization_and_more'), - ] - - operations = [ - migrations.CreateModel( - name='ProjectNotes', - fields=[ - ('modelnotes_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='core.modelnotes')), - ('model', models.ForeignKey(help_text='Model this note belongs to', on_delete=django.db.models.deletion.CASCADE, related_name='notes', to='project_management.project', verbose_name='Model')), - ], - options={ - 'verbose_name': 'Project Note', - 'verbose_name_plural': 'Project Notes', - 'db_table': 'project_management_notes', - 'ordering': ['-created'], - }, - bases=('core.modelnotes',), - ), - ] diff --git a/app/project_management/migrations/0005_projectmilestonenotes.py b/app/project_management/migrations/0005_projectmilestonenotes.py deleted file mode 100644 index 581b261d..00000000 --- a/app/project_management/migrations/0005_projectmilestonenotes.py +++ /dev/null @@ -1,29 +0,0 @@ -# Generated by Django 5.1.5 on 2025-02-07 13:20 - -import django.db.models.deletion -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('core', '0015_manufacturernotes'), - ('project_management', '0004_projectnotes'), - ] - - operations = [ - migrations.CreateModel( - name='ProjectMilestoneNotes', - fields=[ - ('modelnotes_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='core.modelnotes')), - ('model', models.ForeignKey(help_text='Model this note belongs to', on_delete=django.db.models.deletion.CASCADE, related_name='notes', to='project_management.projectmilestone', verbose_name='Model')), - ], - options={ - 'verbose_name': 'Project Milestone Note', - 'verbose_name_plural': 'Project Milestone Notes', - 'db_table': 'project_management_project_milestone_notes', - 'ordering': ['-created'], - }, - bases=('core.modelnotes',), - ), - ] diff --git a/app/project_management/migrations/0006_projectstatenotes.py b/app/project_management/migrations/0006_projectstatenotes.py deleted file mode 100644 index 81dfadce..00000000 --- a/app/project_management/migrations/0006_projectstatenotes.py +++ /dev/null @@ -1,29 +0,0 @@ -# Generated by Django 5.1.5 on 2025-02-07 13:28 - -import django.db.models.deletion -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('core', '0015_manufacturernotes'), - ('project_management', '0005_projectmilestonenotes'), - ] - - operations = [ - migrations.CreateModel( - name='ProjectStateNotes', - fields=[ - ('modelnotes_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='core.modelnotes')), - ('model', models.ForeignKey(help_text='Model this note belongs to', on_delete=django.db.models.deletion.CASCADE, related_name='notes', to='project_management.projectstate', verbose_name='Model')), - ], - options={ - 'verbose_name': 'Project State Note', - 'verbose_name_plural': 'Project State Notes', - 'db_table': 'project_management_project_state_notes', - 'ordering': ['-created'], - }, - bases=('core.modelnotes',), - ), - ] diff --git a/app/project_management/migrations/0007_projecttypenotes.py b/app/project_management/migrations/0007_projecttypenotes.py deleted file mode 100644 index 5cae7898..00000000 --- a/app/project_management/migrations/0007_projecttypenotes.py +++ /dev/null @@ -1,29 +0,0 @@ -# Generated by Django 5.1.5 on 2025-02-07 13:37 - -import django.db.models.deletion -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('core', '0015_manufacturernotes'), - ('project_management', '0006_projectstatenotes'), - ] - - operations = [ - migrations.CreateModel( - name='ProjectTypeNotes', - fields=[ - ('modelnotes_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='core.modelnotes')), - ('model', models.ForeignKey(help_text='Model this note belongs to', on_delete=django.db.models.deletion.CASCADE, related_name='notes', to='project_management.projecttype', verbose_name='Model')), - ], - options={ - 'verbose_name': 'Project Type Note', - 'verbose_name_plural': 'Project Type Notes', - 'db_table': 'project_management_project_type_notes', - 'ordering': ['-created'], - }, - bases=('core.modelnotes',), - ), - ] diff --git a/app/settings/migrations/0008_alter_externallink_organization.py b/app/settings/migrations/0008_alter_externallink_organization.py deleted file mode 100644 index 12176eb7..00000000 --- a/app/settings/migrations/0008_alter_externallink_organization.py +++ /dev/null @@ -1,20 +0,0 @@ -# Generated by Django 5.1.5 on 2025-02-07 07:38 - -import access.models -import django.db.models.deletion -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('settings', '0007_externallink_button_text_alter_externallink_name'), - ] - - operations = [ - migrations.AlterField( - model_name='externallink', - name='organization', - field=models.ForeignKey(help_text='Organization this belongs to', on_delete=django.db.models.deletion.CASCADE, related_name='+', to='access.organization', validators=[access.models.TenancyObject.validatate_organization_exists], verbose_name='Organization'), - ), - ] diff --git a/app/settings/migrations/0009_externallinknotes.py b/app/settings/migrations/0008_alter_externallink_organization_externallinknotes.py similarity index 59% rename from app/settings/migrations/0009_externallinknotes.py rename to app/settings/migrations/0008_alter_externallink_organization_externallinknotes.py index 48dbde51..0a426771 100644 --- a/app/settings/migrations/0009_externallinknotes.py +++ b/app/settings/migrations/0008_alter_externallink_organization_externallinknotes.py @@ -1,5 +1,6 @@ -# Generated by Django 5.1.5 on 2025-02-07 12:10 +# Generated by Django 5.1.5 on 2025-02-09 11:07 +import access.models import django.db.models.deletion from django.db import migrations, models @@ -7,11 +8,17 @@ from django.db import migrations, models class Migration(migrations.Migration): dependencies = [ - ('core', '0015_manufacturernotes'), - ('settings', '0008_alter_externallink_organization'), + ('access', '0003_alter_team_organization_organizationnotes_teamnotes'), + ('core', '0013_alter_manufacturer_organization_and_more'), + ('settings', '0007_externallink_button_text_alter_externallink_name'), ] operations = [ + migrations.AlterField( + model_name='externallink', + name='organization', + field=models.ForeignKey(help_text='Organization this belongs to', on_delete=django.db.models.deletion.CASCADE, related_name='+', to='access.organization', validators=[access.models.TenancyObject.validatate_organization_exists], verbose_name='Organization'), + ), migrations.CreateModel( name='ExternalLinkNotes', fields=[