From 48adbd70219a7c1e2f7a62d3ffb10835748b6b78 Mon Sep 17 00:00:00 2001 From: Jon Date: Fri, 15 Aug 2025 13:51:44 +0930 Subject: [PATCH] chore: squash migrations ref: #764 #738 --- .../0011_remove_entitynotes_model_and_more.py | 526 +++++++ ...ove_team_is_global_model_notes_and_more.py | 110 -- ...model_notes_alter_teamusers_id_and_more.py | 102 -- .../0013_delete_teamusersaudithistory.py | 16 - ...0014_delete_teamuserscenturionmodelnote.py | 16 - ...delnote_centurionmodelnote_ptr_and_more.py | 75 - ...nant_slug_alter_tenant_manager_and_more.py | 112 -- .../0017_remove_entitynotes_model_and_more.py | 19 - ...tity_is_global_alter_entity_id_and_more.py | 253 ---- ...yaudithistory_companycenturionmodelnote.py | 81 -- .../0020_remove_rolenotes_model_and_more.py | 56 - ...roleaudithistory_rolecenturionmodelnote.py | 81 -- ...2_remove_assetbasenotes_model_and_more.py} | 12 +- ...03_remove_assetbasenotes_model_and_more.py | 19 - ...remove_knowledgebase_is_global_and_more.py | 295 +++- ...0008_knowledgebaseaudithistory_and_more.py | 81 -- ...wledgebasecategoryaudithistory_and_more.py | 81 -- ...0_alter_knowledgebase_category_and_more.py | 114 -- .../0011_knowledgebase_model_notes.py | 23 - ...gebasecategory_parent_category_and_more.py | 51 - ...3_alter_modelknowledgebasearticle_model.py | 24 - ...14_alter_knowledgebase_responsible_user.py | 29 - ...ove_configgrouphosts_is_global_and_more.py | 359 +++++ ..._remove_configgroups_is_global_and_more.py | 122 -- ..._configgroupsoftware_is_global_and_more.py | 122 -- ..._configgroupsoftware_is_global_and_more.py | 122 -- ...groups_config_alter_configgroups_parent.py | 40 - ...ter_configgroupsoftware_action_and_more.py | 61 - ...4_alter_configgrouphosts_group_and_more.py | 39 - ...delnote_centurionmodelnote_ptr_and_more.py | 27 - app/core/migrations/0024_centurionaudit.py | 42 - ...turionaudit_centurionmodelnote_and_more.py | 662 +++++++++ ...25_alter_centurionaudit_action_and_more.py | 38 - .../0026_remove_centurionaudit_model_notes.py | 17 - .../migrations/0027_centurionmodelnote.py | 112 -- app/core/migrations/0028_delete_history.py | 16 - ..._remove_manufacturer_is_global_and_more.py | 114 -- ...icketcommentcategory_is_global_and_more.py | 121 -- ...emove_ticketcategory_is_global_and_more.py | 121 -- ...32_alter_ticketcategory_parent_and_more.py | 39 - ...r_ticketcommentcategory_parent_and_more.py | 39 - ...etbase_id_alter_ticketbase_organization.py | 41 - ...035_alter_ticketcommentbase_id_and_more.py | 41 - ..._alter_ticketbase_external_ref_and_more.py | 46 - ...enturionmodelnote_content_type_and_more.py | 42 - ..._id_alter_checkin_organization_and_more.py | 526 +++++++ ..._id_alter_gitgroup_model_notes_and_more.py | 46 - .../0014_alter_gitgroup_parent_group.py | 27 - .../0015_gitgroupcenturionmodelnote.py | 48 - ...scription_alter_featureflag_id_and_more.py | 129 -- ...r_checkin_id_alter_checkin_organization.py | 41 - ...0018_gitrepositoryaudithistory_and_more.py | 118 -- ...9_githubrepositoryaudithistory_and_more.py | 81 -- ...0_gitlabrepositoryaudithistory_and_more.py | 81 -- ...r_softwareenablefeatureflag_id_and_more.py | 41 - ...audithistory_employeecenturionmodelnote.py | 4 +- ...e_is_global_remove_device_slug_and_more.py | 1209 +++++++++++++++++ ...global_remove_devicemodel_slug_and_more.py | 126 -- ..._global_remove_devicetype_slug_and_more.py | 126 -- ...e_is_global_remove_device_slug_and_more.py | 126 -- ...nfig_alter_device_device_model_and_more.py | 76 -- .../0016_alter_devicemodel_manufacturer.py | 27 - ...eviceoperatingsystem_is_global_and_more.py | 69 - ...emove_devicesoftware_is_global_and_more.py | 101 -- ...move_operatingsystem_is_global_and_more.py | 138 -- ...eratingsystemversion_is_global_and_more.py | 132 -- ...is_global_remove_software_slug_and_more.py | 150 -- ...ove_softwarecategory_is_global_and_more.py | 126 -- ...move_softwareversion_is_global_and_more.py | 126 -- .../0024_alter_software_organization.py | 30 - ...0025_itamassetbaseaudithistory_and_more.py | 81 -- ..._is_global_remove_cluster_slug_and_more.py | 405 +++++- ...global_remove_clustertype_slug_and_more.py | 136 -- ..._global_alter_port_description_and_more.py | 133 -- ...s_global_alter_service_cluster_and_more.py | 180 --- ..._is_global_remove_project_slug_and_more.py | 338 ++++- ...ove_projectmilestone_is_global_and_more.py | 129 -- ...s_global_alter_projectstate_id_and_more.py | 135 -- ...is_global_alter_projecttype_id_and_more.py | 125 -- ...ppsettings_global_organization_and_more.py | 85 -- ...remove_externallink_is_global_and_more.py} | 100 +- ...rsettings_default_organization_and_more.py | 38 - 82 files changed, 4416 insertions(+), 5732 deletions(-) create mode 100644 app/access/migrations/0011_remove_entitynotes_model_and_more.py delete mode 100644 app/access/migrations/0011_remove_team_is_global_model_notes_and_more.py delete mode 100644 app/access/migrations/0012_teamusers_model_notes_alter_teamusers_id_and_more.py delete mode 100644 app/access/migrations/0013_delete_teamusersaudithistory.py delete mode 100644 app/access/migrations/0014_delete_teamuserscenturionmodelnote.py delete mode 100644 app/access/migrations/0015_remove_teamcenturionmodelnote_centurionmodelnote_ptr_and_more.py delete mode 100644 app/access/migrations/0016_remove_tenant_slug_alter_tenant_manager_and_more.py delete mode 100644 app/access/migrations/0017_remove_entitynotes_model_and_more.py delete mode 100644 app/access/migrations/0018_remove_entity_is_global_alter_entity_id_and_more.py delete mode 100644 app/access/migrations/0019_companyaudithistory_companycenturionmodelnote.py delete mode 100644 app/access/migrations/0020_remove_rolenotes_model_and_more.py delete mode 100644 app/access/migrations/0021_roleaudithistory_rolecenturionmodelnote.py rename app/accounting/migrations/{0002_alter_assetbase_id_alter_assetbase_model_notes_and_more.py => 0002_remove_assetbasenotes_model_and_more.py} (92%) delete mode 100644 app/accounting/migrations/0003_remove_assetbasenotes_model_and_more.py delete mode 100644 app/assistance/migrations/0008_knowledgebaseaudithistory_and_more.py delete mode 100644 app/assistance/migrations/0009_knowledgebasecategoryaudithistory_and_more.py delete mode 100644 app/assistance/migrations/0010_alter_knowledgebase_category_and_more.py delete mode 100644 app/assistance/migrations/0011_knowledgebase_model_notes.py delete mode 100644 app/assistance/migrations/0012_alter_knowledgebasecategory_parent_category_and_more.py delete mode 100644 app/assistance/migrations/0013_alter_modelknowledgebasearticle_model.py delete mode 100644 app/assistance/migrations/0014_alter_knowledgebase_responsible_user.py create mode 100644 app/config_management/migrations/0009_remove_configgrouphosts_is_global_and_more.py delete mode 100644 app/config_management/migrations/0009_remove_configgroups_is_global_and_more.py delete mode 100644 app/config_management/migrations/0010_remove_configgroupsoftware_is_global_and_more.py delete mode 100644 app/config_management/migrations/0011_remove_configgroupsoftware_is_global_and_more.py delete mode 100644 app/config_management/migrations/0012_alter_configgroups_config_alter_configgroups_parent.py delete mode 100644 app/config_management/migrations/0013_alter_configgroupsoftware_action_and_more.py delete mode 100644 app/config_management/migrations/0014_alter_configgrouphosts_group_and_more.py delete mode 100644 app/config_management/migrations/0015_remove_configgroupsoftwarecenturionmodelnote_centurionmodelnote_ptr_and_more.py delete mode 100644 app/core/migrations/0024_centurionaudit.py create mode 100644 app/core/migrations/0024_centurionaudit_centurionmodelnote_and_more.py delete mode 100644 app/core/migrations/0025_alter_centurionaudit_action_and_more.py delete mode 100644 app/core/migrations/0026_remove_centurionaudit_model_notes.py delete mode 100644 app/core/migrations/0027_centurionmodelnote.py delete mode 100644 app/core/migrations/0028_delete_history.py delete mode 100644 app/core/migrations/0029_remove_manufacturer_is_global_and_more.py delete mode 100644 app/core/migrations/0030_remove_ticketcommentcategory_is_global_and_more.py delete mode 100644 app/core/migrations/0031_remove_ticketcategory_is_global_and_more.py delete mode 100644 app/core/migrations/0032_alter_ticketcategory_parent_and_more.py delete mode 100644 app/core/migrations/0033_alter_ticketcommentcategory_parent_and_more.py delete mode 100644 app/core/migrations/0034_alter_ticketbase_id_alter_ticketbase_organization.py delete mode 100644 app/core/migrations/0035_alter_ticketcommentbase_id_and_more.py delete mode 100644 app/core/migrations/0036_alter_ticketbase_external_ref_and_more.py delete mode 100644 app/core/migrations/0037_alter_centurionmodelnote_content_type_and_more.py create mode 100644 app/devops/migrations/0013_alter_checkin_id_alter_checkin_organization_and_more.py delete mode 100644 app/devops/migrations/0013_alter_gitgroup_id_alter_gitgroup_model_notes_and_more.py delete mode 100644 app/devops/migrations/0014_alter_gitgroup_parent_group.py delete mode 100644 app/devops/migrations/0015_gitgroupcenturionmodelnote.py delete mode 100644 app/devops/migrations/0016_alter_featureflag_description_alter_featureflag_id_and_more.py delete mode 100644 app/devops/migrations/0017_alter_checkin_id_alter_checkin_organization.py delete mode 100644 app/devops/migrations/0018_gitrepositoryaudithistory_and_more.py delete mode 100644 app/devops/migrations/0019_githubrepositoryaudithistory_and_more.py delete mode 100644 app/devops/migrations/0020_gitlabrepositoryaudithistory_and_more.py delete mode 100644 app/devops/migrations/0021_alter_softwareenablefeatureflag_id_and_more.py create mode 100644 app/itam/migrations/0012_remove_device_is_global_remove_device_slug_and_more.py delete mode 100644 app/itam/migrations/0012_remove_devicemodel_is_global_remove_devicemodel_slug_and_more.py delete mode 100644 app/itam/migrations/0013_remove_devicetype_is_global_remove_devicetype_slug_and_more.py delete mode 100644 app/itam/migrations/0014_remove_device_is_global_remove_device_slug_and_more.py delete mode 100644 app/itam/migrations/0015_alter_device_config_alter_device_device_model_and_more.py delete mode 100644 app/itam/migrations/0016_alter_devicemodel_manufacturer.py delete mode 100644 app/itam/migrations/0017_remove_deviceoperatingsystem_is_global_and_more.py delete mode 100644 app/itam/migrations/0018_remove_devicesoftware_is_global_and_more.py delete mode 100644 app/itam/migrations/0019_remove_operatingsystem_is_global_and_more.py delete mode 100644 app/itam/migrations/0020_remove_operatingsystemversion_is_global_and_more.py delete mode 100644 app/itam/migrations/0021_remove_software_is_global_remove_software_slug_and_more.py delete mode 100644 app/itam/migrations/0022_remove_softwarecategory_is_global_and_more.py delete mode 100644 app/itam/migrations/0023_remove_softwareversion_is_global_and_more.py delete mode 100644 app/itam/migrations/0024_alter_software_organization.py delete mode 100644 app/itam/migrations/0025_itamassetbaseaudithistory_and_more.py delete mode 100644 app/itim/migrations/0012_remove_clustertype_is_global_remove_clustertype_slug_and_more.py delete mode 100644 app/itim/migrations/0013_remove_port_is_global_alter_port_description_and_more.py delete mode 100644 app/itim/migrations/0014_remove_service_is_global_alter_service_cluster_and_more.py delete mode 100644 app/project_management/migrations/0008_remove_projectmilestone_is_global_and_more.py delete mode 100644 app/project_management/migrations/0009_remove_projectstate_is_global_alter_projectstate_id_and_more.py delete mode 100644 app/project_management/migrations/0010_remove_projecttype_is_global_alter_projecttype_id_and_more.py delete mode 100644 app/settings/migrations/0013_alter_appsettings_global_organization_and_more.py rename app/settings/migrations/{0014_remove_externallink_is_global_and_more.py => 0013_remove_externallink_is_global_and_more.py} (55%) delete mode 100644 app/settings/migrations/0015_alter_usersettings_default_organization_and_more.py diff --git a/app/access/migrations/0011_remove_entitynotes_model_and_more.py b/app/access/migrations/0011_remove_entitynotes_model_and_more.py new file mode 100644 index 00000000..7c45eebc --- /dev/null +++ b/app/access/migrations/0011_remove_entitynotes_model_and_more.py @@ -0,0 +1,526 @@ +# Generated by Django 5.1.10 on 2025-08-15 03:21 + +import access.models.tenancy_abstract +import django.db.models.deletion +from django.conf import settings +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ("access", "0010_company_alter_entity_entity_type_alter_person_dob_and_more"), + ("core", "0024_centurionaudit_centurionmodelnote_and_more"), + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ] + + operations = [ + migrations.RemoveField( + model_name="entity", + name="is_global", + ), + migrations.RemoveField( + model_name="tenant", + name="slug", + ), + migrations.AlterField( + model_name="entity", + name="id", + field=models.AutoField( + help_text="ID of the item", + primary_key=True, + serialize=False, + unique=True, + verbose_name="ID", + ), + ), + migrations.AlterField( + model_name="entity", + name="model_notes", + field=models.TextField( + blank=True, + help_text="Tid bits of information", + null=True, + verbose_name="Notes", + ), + ), + migrations.AlterField( + model_name="entity", + name="organization", + field=models.ForeignKey( + help_text="Tenant this belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="+", + to="access.tenant", + validators=[ + access.models.tenancy_abstract.TenancyAbstractModel.validatate_organization_exists + ], + verbose_name="Tenant", + ), + ), + migrations.AlterField( + model_name="role", + name="id", + field=models.AutoField( + help_text="ID of the item", + primary_key=True, + serialize=False, + unique=True, + verbose_name="ID", + ), + ), + migrations.AlterField( + model_name="role", + name="model_notes", + field=models.TextField( + blank=True, + help_text="Tid bits of information", + null=True, + verbose_name="Notes", + ), + ), + migrations.AlterField( + model_name="role", + name="organization", + field=models.ForeignKey( + help_text="Tenant this belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="+", + to="access.tenant", + validators=[ + access.models.tenancy_abstract.TenancyAbstractModel.validatate_organization_exists + ], + verbose_name="Tenant", + ), + ), + migrations.AlterField( + model_name="tenant", + name="manager", + field=models.ForeignKey( + blank=True, + help_text="Manager for this Tenancy", + null=True, + on_delete=django.db.models.deletion.PROTECT, + to=settings.AUTH_USER_MODEL, + verbose_name="Manager", + ), + ), + migrations.AlterField( + model_name="tenant", + name="model_notes", + field=models.TextField( + blank=True, + help_text="Tid bits of information", + null=True, + verbose_name="Notes", + ), + ), + migrations.CreateModel( + name="CompanyAuditHistory", + fields=[ + ( + "centurionaudit_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="core.centurionaudit", + ), + ), + ( + "model", + models.ForeignKey( + help_text="Model this history belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="+", + to="access.company", + verbose_name="Model", + ), + ), + ], + options={ + "verbose_name": "Company History", + "verbose_name_plural": "Company Histories", + "db_table": "access_company_audithistory", + "managed": True, + }, + bases=("core.centurionaudit",), + ), + migrations.CreateModel( + name="CompanyCenturionModelNote", + fields=[ + ( + "centurionmodelnote_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="core.centurionmodelnote", + ), + ), + ( + "model", + models.ForeignKey( + help_text="Model this note belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="+", + to="access.company", + verbose_name="Model", + ), + ), + ], + options={ + "verbose_name": "Company Note", + "verbose_name_plural": "Company Notes", + "db_table": "access_company_centurionmodelnote", + "managed": True, + }, + bases=("core.centurionmodelnote",), + ), + migrations.CreateModel( + name="ContactAuditHistory", + fields=[ + ( + "centurionaudit_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="core.centurionaudit", + ), + ), + ( + "model", + models.ForeignKey( + help_text="Model this history belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="+", + to="access.contact", + verbose_name="Model", + ), + ), + ], + options={ + "verbose_name": "Contact History", + "verbose_name_plural": "Contact Histories", + "db_table": "access_contact_audithistory", + "managed": True, + }, + bases=("core.centurionaudit",), + ), + migrations.CreateModel( + name="ContactCenturionModelNote", + fields=[ + ( + "centurionmodelnote_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="core.centurionmodelnote", + ), + ), + ( + "model", + models.ForeignKey( + help_text="Model this note belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="+", + to="access.contact", + verbose_name="Model", + ), + ), + ], + options={ + "verbose_name": "Contact Note", + "verbose_name_plural": "Contact Notes", + "db_table": "access_contact_centurionmodelnote", + "managed": True, + }, + bases=("core.centurionmodelnote",), + ), + migrations.CreateModel( + name="EntityAuditHistory", + fields=[ + ( + "centurionaudit_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="core.centurionaudit", + ), + ), + ( + "model", + models.ForeignKey( + help_text="Model this history belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="audit_history", + to="access.entity", + verbose_name="Model", + ), + ), + ], + options={ + "verbose_name": "Entity History", + "verbose_name_plural": "Entity Histories", + "db_table": "access_entity_audithistory", + "managed": True, + }, + bases=("core.centurionaudit",), + ), + migrations.CreateModel( + name="EntityCenturionModelNote", + fields=[ + ( + "centurionmodelnote_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="core.centurionmodelnote", + ), + ), + ( + "model", + models.ForeignKey( + help_text="Model this note belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="+", + to="access.entity", + verbose_name="Model", + ), + ), + ], + options={ + "verbose_name": "Entity Note", + "verbose_name_plural": "Entity Notes", + "db_table": "access_entity_centurionmodelnote", + "managed": True, + }, + bases=("core.centurionmodelnote",), + ), + migrations.CreateModel( + name="PersonAuditHistory", + fields=[ + ( + "centurionaudit_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="core.centurionaudit", + ), + ), + ( + "model", + models.ForeignKey( + help_text="Model this history belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="+", + to="access.person", + verbose_name="Model", + ), + ), + ], + options={ + "verbose_name": "Person History", + "verbose_name_plural": "Person Histories", + "db_table": "access_person_audithistory", + "managed": True, + }, + bases=("core.centurionaudit",), + ), + migrations.CreateModel( + name="PersonCenturionModelNote", + fields=[ + ( + "centurionmodelnote_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="core.centurionmodelnote", + ), + ), + ( + "model", + models.ForeignKey( + help_text="Model this note belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="+", + to="access.person", + verbose_name="Model", + ), + ), + ], + options={ + "verbose_name": "Person Note", + "verbose_name_plural": "Person Notes", + "db_table": "access_person_centurionmodelnote", + "managed": True, + }, + bases=("core.centurionmodelnote",), + ), + migrations.CreateModel( + name="RoleAuditHistory", + fields=[ + ( + "centurionaudit_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="core.centurionaudit", + ), + ), + ( + "model", + models.ForeignKey( + help_text="Model this history belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="audit_history", + to="access.role", + verbose_name="Model", + ), + ), + ], + options={ + "verbose_name": "Role History", + "verbose_name_plural": "Role Histories", + "db_table": "access_role_audithistory", + "managed": True, + }, + bases=("core.centurionaudit",), + ), + migrations.CreateModel( + name="RoleCenturionModelNote", + fields=[ + ( + "centurionmodelnote_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="core.centurionmodelnote", + ), + ), + ( + "model", + models.ForeignKey( + help_text="Model this note belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="+", + to="access.role", + verbose_name="Model", + ), + ), + ], + options={ + "verbose_name": "Role Note", + "verbose_name_plural": "Role Notes", + "db_table": "access_role_centurionmodelnote", + "managed": True, + }, + bases=("core.centurionmodelnote",), + ), + migrations.CreateModel( + name="TenantAuditHistory", + fields=[ + ( + "centurionaudit_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="core.centurionaudit", + ), + ), + ( + "model", + models.ForeignKey( + help_text="Model this history belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="audit_history", + to="access.tenant", + verbose_name="Model", + ), + ), + ], + options={ + "verbose_name": "Tenant History", + "verbose_name_plural": "Tenant Histories", + "db_table": "access_tenant_audithistory", + "managed": True, + }, + bases=("core.centurionaudit",), + ), + migrations.CreateModel( + name="TenantCenturionModelNote", + fields=[ + ( + "centurionmodelnote_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="core.centurionmodelnote", + ), + ), + ( + "model", + models.ForeignKey( + help_text="Model this note belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="+", + to="access.tenant", + verbose_name="Model", + ), + ), + ], + options={ + "verbose_name": "Tenant Note", + "verbose_name_plural": "Tenant Notes", + "db_table": "access_tenant_centurionmodelnote", + "managed": True, + }, + bases=("core.centurionmodelnote",), + ), + migrations.DeleteModel( + name="EntityHistory", + ), + migrations.DeleteModel( + name="EntityNotes", + ), + migrations.DeleteModel( + name="RoleHistory", + ), + migrations.DeleteModel( + name="RoleNotes", + ), + ] diff --git a/app/access/migrations/0011_remove_team_is_global_model_notes_and_more.py b/app/access/migrations/0011_remove_team_is_global_model_notes_and_more.py deleted file mode 100644 index ef84de87..00000000 --- a/app/access/migrations/0011_remove_team_is_global_model_notes_and_more.py +++ /dev/null @@ -1,110 +0,0 @@ -# Generated by Django 5.1.9 on 2025-06-06 01:41 - -import access.models.tenancy_abstract -import django.db.models.deletion -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("access", "0010_company_alter_entity_entity_type_alter_person_dob_and_more"), - ("core", "0028_delete_history"), - ] - - operations = [ - migrations.RemoveField( - model_name="team", - name="is_global", - ), - migrations.AlterField( - model_name="team", - name="model_notes", - field=models.TextField( - blank=True, - help_text="Tid bits of information", - null=True, - verbose_name="Notes", - ), - ), - migrations.AlterField( - model_name="team", - name="organization", - field=models.ForeignKey( - help_text="Tenant this belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="+", - to="access.tenant", - validators=[ - access.models.tenancy_abstract.TenancyAbstractModel.validatate_organization_exists - ], - verbose_name="Tenant", - ), - ), - migrations.CreateModel( - name="TeamAuditHistory", - fields=[ - ( - "centurionaudit_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="core.centurionaudit", - ), - ), - ( - "model", - models.ForeignKey( - help_text="Model this history belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="audit_history", - to="access.team", - verbose_name="Model", - ), - ), - ], - options={ - "verbose_name": "Team History", - "verbose_name_plural": "Team Histories", - "db_table": "access_team_audithistory", - "managed": True, - }, - bases=("core.centurionaudit", models.Model), - ), - migrations.CreateModel( - name="TeamCenturionModelNote", - fields=[ - ( - "centurionmodelnote_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="core.centurionmodelnote", - ), - ), - ( - "model", - models.ForeignKey( - help_text="Model this note belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="+", - to="access.team", - verbose_name="Model", - ), - ), - ], - options={ - "verbose_name": "Team Note", - "verbose_name_plural": "Team Notes", - "db_table": "access_team_centurionmodelnote", - "managed": True, - }, - bases=("core.centurionmodelnote", models.Model), - ) - ] diff --git a/app/access/migrations/0012_teamusers_model_notes_alter_teamusers_id_and_more.py b/app/access/migrations/0012_teamusers_model_notes_alter_teamusers_id_and_more.py deleted file mode 100644 index e30dd3a8..00000000 --- a/app/access/migrations/0012_teamusers_model_notes_alter_teamusers_id_and_more.py +++ /dev/null @@ -1,102 +0,0 @@ -# Generated by Django 5.1.9 on 2025-06-06 01:43 - -import django.db.models.deletion -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("access", "0011_remove_team_is_global_model_notes_and_more"), - ("core", "0028_delete_history"), - ] - - operations = [ - migrations.AddField( - model_name="teamusers", - name="model_notes", - field=models.TextField( - blank=True, - help_text="Tid bits of information", - null=True, - verbose_name="Notes", - ), - ), - migrations.AlterField( - model_name="teamusers", - name="id", - field=models.AutoField( - help_text="ID of the item", - primary_key=True, - serialize=False, - unique=True, - verbose_name="ID", - ), - ), - migrations.CreateModel( - name="TeamUsersAuditHistory", - fields=[ - ( - "centurionaudit_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="core.centurionaudit", - ), - ), - ( - "model", - models.ForeignKey( - help_text="Model this history belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="audit_history", - to="access.teamusers", - verbose_name="Model", - ), - ), - ], - options={ - "verbose_name": "Team User History", - "verbose_name_plural": "Team User Histories", - "db_table": "access_teamusers_audithistory", - "managed": True, - }, - bases=("core.centurionaudit", models.Model), - ), - migrations.CreateModel( - name="TeamUsersCenturionModelNote", - fields=[ - ( - "centurionmodelnote_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="core.centurionmodelnote", - ), - ), - ( - "model", - models.ForeignKey( - help_text="Model this note belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="+", - to="access.teamusers", - verbose_name="Model", - ), - ), - ], - options={ - "verbose_name": "Team User Note", - "verbose_name_plural": "Team User Notes", - "db_table": "access_teamusers_centurionmodelnote", - "managed": True, - }, - bases=("core.centurionmodelnote", models.Model), - ), - ] diff --git a/app/access/migrations/0013_delete_teamusersaudithistory.py b/app/access/migrations/0013_delete_teamusersaudithistory.py deleted file mode 100644 index 5c6b9b72..00000000 --- a/app/access/migrations/0013_delete_teamusersaudithistory.py +++ /dev/null @@ -1,16 +0,0 @@ -# Generated by Django 5.1.9 on 2025-06-06 05:22 - -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ("access", "0012_teamusers_model_notes_alter_teamusers_id_and_more"), - ] - - operations = [ - migrations.DeleteModel( - name="TeamUsersAuditHistory", - ), - ] diff --git a/app/access/migrations/0014_delete_teamuserscenturionmodelnote.py b/app/access/migrations/0014_delete_teamuserscenturionmodelnote.py deleted file mode 100644 index 86a7c7d0..00000000 --- a/app/access/migrations/0014_delete_teamuserscenturionmodelnote.py +++ /dev/null @@ -1,16 +0,0 @@ -# Generated by Django 5.1.9 on 2025-06-07 09:05 - -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ("access", "0013_delete_teamusersaudithistory"), - ] - - operations = [ - migrations.DeleteModel( - name="TeamUsersCenturionModelNote", - ), - ] diff --git a/app/access/migrations/0015_remove_teamcenturionmodelnote_centurionmodelnote_ptr_and_more.py b/app/access/migrations/0015_remove_teamcenturionmodelnote_centurionmodelnote_ptr_and_more.py deleted file mode 100644 index af7e524b..00000000 --- a/app/access/migrations/0015_remove_teamcenturionmodelnote_centurionmodelnote_ptr_and_more.py +++ /dev/null @@ -1,75 +0,0 @@ -# Generated by Django 5.1.9 on 2025-06-07 10:10 - -import access.models.team -import django.db.models.deletion -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("access", "0014_delete_teamuserscenturionmodelnote"), - ] - - operations = [ - migrations.RemoveField( - model_name="teamcenturionmodelnote", - name="centurionmodelnote_ptr", - ), - migrations.RemoveField( - model_name="teamcenturionmodelnote", - name="model", - ), - migrations.RemoveField( - model_name="teamusers", - name="model_notes", - ), - migrations.AddField( - model_name="team", - name="is_global", - field=models.BooleanField( - default=False, - help_text="Is this a global object?", - verbose_name="Global Object", - ), - ), - migrations.AlterField( - model_name="team", - name="model_notes", - field=models.TextField( - blank=True, - default=None, - help_text="Tid bits of information", - null=True, - verbose_name="Notes", - ), - ), - migrations.AlterField( - model_name="team", - name="organization", - field=models.ForeignKey( - help_text="Tenant this belongs to", - on_delete=django.db.models.deletion.CASCADE, - to="access.tenant", - validators=[access.models.team.Team.validatate_organization_exists], - verbose_name="Tenant", - ), - ), - migrations.AlterField( - model_name="teamusers", - name="id", - field=models.AutoField( - help_text="ID of this Team User", - primary_key=True, - serialize=False, - unique=True, - verbose_name="ID", - ), - ), - migrations.DeleteModel( - name="TeamAuditHistory", - ), - migrations.DeleteModel( - name="TeamCenturionModelNote", - ), - ] diff --git a/app/access/migrations/0016_remove_tenant_slug_alter_tenant_manager_and_more.py b/app/access/migrations/0016_remove_tenant_slug_alter_tenant_manager_and_more.py deleted file mode 100644 index 47bc87ee..00000000 --- a/app/access/migrations/0016_remove_tenant_slug_alter_tenant_manager_and_more.py +++ /dev/null @@ -1,112 +0,0 @@ -# Generated by Django 5.1.9 on 2025-06-08 04:18 - -import django.db.models.deletion -from django.conf import settings -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ( - "access", - "0015_remove_teamcenturionmodelnote_centurionmodelnote_ptr_and_more", - ), - ("core", "0031_remove_ticketcategory_is_global_and_more"), - migrations.swappable_dependency(settings.AUTH_USER_MODEL), - ] - - operations = [ - migrations.RemoveField( - model_name="tenant", - name="slug", - ), - migrations.AlterField( - model_name="tenant", - name="manager", - field=models.ForeignKey( - blank=True, - help_text="Manager for this Tenancy", - null=True, - on_delete=django.db.models.deletion.PROTECT, - to=settings.AUTH_USER_MODEL, - verbose_name="Manager", - ), - ), - migrations.AlterField( - model_name="tenant", - name="model_notes", - field=models.TextField( - blank=True, - help_text="Tid bits of information", - null=True, - verbose_name="Notes", - ), - ), - migrations.CreateModel( - name="TenantAuditHistory", - fields=[ - ( - "centurionaudit_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="core.centurionaudit", - ), - ), - ( - "model", - models.ForeignKey( - help_text="Model this history belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="audit_history", - to="access.tenant", - verbose_name="Model", - ), - ), - ], - options={ - "verbose_name": "Tenant History", - "verbose_name_plural": "Tenant Histories", - "db_table": "access_tenant_audithistory", - "managed": True, - }, - bases=("core.centurionaudit", models.Model), - ), - migrations.CreateModel( - name="TenantCenturionModelNote", - fields=[ - ( - "centurionmodelnote_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="core.centurionmodelnote", - ), - ), - ( - "model", - models.ForeignKey( - help_text="Model this note belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="+", - to="access.tenant", - verbose_name="Model", - ), - ), - ], - options={ - "verbose_name": "Tenant Note", - "verbose_name_plural": "Tenant Notes", - "db_table": "access_tenant_centurionmodelnote", - "managed": True, - }, - bases=("core.centurionmodelnote", models.Model), - ), - ] diff --git a/app/access/migrations/0017_remove_entitynotes_model_and_more.py b/app/access/migrations/0017_remove_entitynotes_model_and_more.py deleted file mode 100644 index f176c6c4..00000000 --- a/app/access/migrations/0017_remove_entitynotes_model_and_more.py +++ /dev/null @@ -1,19 +0,0 @@ -# Generated by Django 5.1.9 on 2025-06-17 07:27 -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ("access", "0016_remove_tenant_slug_alter_tenant_manager_and_more"), - ("core", "0033_alter_ticketcommentcategory_parent_and_more"), - ] - - operations = [ - migrations.DeleteModel( - name="EntityHistory", - ), - migrations.DeleteModel( - name="EntityNotes", - ), - ] diff --git a/app/access/migrations/0018_remove_entity_is_global_alter_entity_id_and_more.py b/app/access/migrations/0018_remove_entity_is_global_alter_entity_id_and_more.py deleted file mode 100644 index 5871da01..00000000 --- a/app/access/migrations/0018_remove_entity_is_global_alter_entity_id_and_more.py +++ /dev/null @@ -1,253 +0,0 @@ -# Generated by Django 5.1.9 on 2025-06-17 07:32 - -import access.models.tenancy_abstract -import django.db.models.deletion -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("access", "0017_remove_entitynotes_model_and_more"), - ("core", "0033_alter_ticketcommentcategory_parent_and_more"), - ] - - operations = [ - migrations.RemoveField( - model_name="entity", - name="is_global", - ), - migrations.AlterField( - model_name="entity", - name="id", - field=models.AutoField( - help_text="ID of the item", - primary_key=True, - serialize=False, - unique=True, - verbose_name="ID", - ), - ), - migrations.AlterField( - model_name="entity", - name="model_notes", - field=models.TextField( - blank=True, - help_text="Tid bits of information", - null=True, - verbose_name="Notes", - ), - ), - migrations.AlterField( - model_name="entity", - name="organization", - field=models.ForeignKey( - help_text="Tenant this belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="+", - to="access.tenant", - validators=[ - access.models.tenancy_abstract.TenancyAbstractModel.validatate_organization_exists - ], - verbose_name="Tenant", - ), - ), - migrations.CreateModel( - name="ContactAuditHistory", - fields=[ - ( - "centurionaudit_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="core.centurionaudit", - ), - ), - ( - "model", - models.ForeignKey( - help_text="Model this history belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="+", - to="access.contact", - verbose_name="Model", - ), - ), - ], - options={ - "verbose_name": "Contact History", - "verbose_name_plural": "Contact Histories", - "db_table": "access_contact_audithistory", - "managed": True, - }, - bases=("core.centurionaudit",), - ), - migrations.CreateModel( - name="ContactCenturionModelNote", - fields=[ - ( - "centurionmodelnote_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="core.centurionmodelnote", - ), - ), - ( - "model", - models.ForeignKey( - help_text="Model this note belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="+", - to="access.contact", - verbose_name="Model", - ), - ), - ], - options={ - "verbose_name": "Contact Note", - "verbose_name_plural": "Contact Notes", - "db_table": "access_contact_centurionmodelnote", - "managed": True, - }, - bases=("core.centurionmodelnote",), - ), - migrations.CreateModel( - name="EntityAuditHistory", - fields=[ - ( - "centurionaudit_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="core.centurionaudit", - ), - ), - ( - "model", - models.ForeignKey( - help_text="Model this history belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="audit_history", - to="access.entity", - verbose_name="Model", - ), - ), - ], - options={ - "verbose_name": "Entity History", - "verbose_name_plural": "Entity Histories", - "db_table": "access_entity_audithistory", - "managed": True, - }, - bases=("core.centurionaudit",), - ), - migrations.CreateModel( - name="EntityCenturionModelNote", - fields=[ - ( - "centurionmodelnote_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="core.centurionmodelnote", - ), - ), - ( - "model", - models.ForeignKey( - help_text="Model this note belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="+", - to="access.entity", - verbose_name="Model", - ), - ), - ], - options={ - "verbose_name": "Entity Note", - "verbose_name_plural": "Entity Notes", - "db_table": "access_entity_centurionmodelnote", - "managed": True, - }, - bases=("core.centurionmodelnote",), - ), - migrations.CreateModel( - name="PersonAuditHistory", - fields=[ - ( - "centurionaudit_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="core.centurionaudit", - ), - ), - ( - "model", - models.ForeignKey( - help_text="Model this history belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="+", - to="access.person", - verbose_name="Model", - ), - ), - ], - options={ - "verbose_name": "Person History", - "verbose_name_plural": "Person Histories", - "db_table": "access_person_audithistory", - "managed": True, - }, - bases=("core.centurionaudit",), - ), - migrations.CreateModel( - name="PersonCenturionModelNote", - fields=[ - ( - "centurionmodelnote_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="core.centurionmodelnote", - ), - ), - ( - "model", - models.ForeignKey( - help_text="Model this note belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="+", - to="access.person", - verbose_name="Model", - ), - ), - ], - options={ - "verbose_name": "Person Note", - "verbose_name_plural": "Person Notes", - "db_table": "access_person_centurionmodelnote", - "managed": True, - }, - bases=("core.centurionmodelnote",), - ), - ] diff --git a/app/access/migrations/0019_companyaudithistory_companycenturionmodelnote.py b/app/access/migrations/0019_companyaudithistory_companycenturionmodelnote.py deleted file mode 100644 index b6152b4d..00000000 --- a/app/access/migrations/0019_companyaudithistory_companycenturionmodelnote.py +++ /dev/null @@ -1,81 +0,0 @@ -# Generated by Django 5.1.10 on 2025-07-06 10:38 - -import django.db.models.deletion -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("access", "0018_remove_entity_is_global_alter_entity_id_and_more"), - ("core", "0033_alter_ticketcommentcategory_parent_and_more"), - ] - - operations = [ - migrations.CreateModel( - name="CompanyAuditHistory", - fields=[ - ( - "centurionaudit_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="core.centurionaudit", - ), - ), - ( - "model", - models.ForeignKey( - help_text="Model this history belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="+", - to="access.company", - verbose_name="Model", - ), - ), - ], - options={ - "verbose_name": "Company History", - "verbose_name_plural": "Company Histories", - "db_table": "access_company_audithistory", - "managed": True, - }, - bases=("core.centurionaudit",), - ), - migrations.CreateModel( - name="CompanyCenturionModelNote", - fields=[ - ( - "centurionmodelnote_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="core.centurionmodelnote", - ), - ), - ( - "model", - models.ForeignKey( - help_text="Model this note belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="+", - to="access.company", - verbose_name="Model", - ), - ), - ], - options={ - "verbose_name": "Company Note", - "verbose_name_plural": "Company Notes", - "db_table": "access_company_centurionmodelnote", - "managed": True, - }, - bases=("core.centurionmodelnote",), - ), - ] diff --git a/app/access/migrations/0020_remove_rolenotes_model_and_more.py b/app/access/migrations/0020_remove_rolenotes_model_and_more.py deleted file mode 100644 index 1c8a651e..00000000 --- a/app/access/migrations/0020_remove_rolenotes_model_and_more.py +++ /dev/null @@ -1,56 +0,0 @@ -# Generated by Django 5.1.10 on 2025-07-12 07:20 - -import access.models.tenancy_abstract -import django.db.models.deletion -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("access", "0019_companyaudithistory_companycenturionmodelnote"), - ] - - operations = [ - migrations.AlterField( - model_name="role", - name="id", - field=models.AutoField( - help_text="ID of the item", - primary_key=True, - serialize=False, - unique=True, - verbose_name="ID", - ), - ), - migrations.AlterField( - model_name="role", - name="model_notes", - field=models.TextField( - blank=True, - help_text="Tid bits of information", - null=True, - verbose_name="Notes", - ), - ), - migrations.AlterField( - model_name="role", - name="organization", - field=models.ForeignKey( - help_text="Tenant this belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="+", - to="access.tenant", - validators=[ - access.models.tenancy_abstract.TenancyAbstractModel.validatate_organization_exists - ], - verbose_name="Tenant", - ), - ), - migrations.DeleteModel( - name="RoleHistory", - ), - migrations.DeleteModel( - name="RoleNotes", - ), - ] diff --git a/app/access/migrations/0021_roleaudithistory_rolecenturionmodelnote.py b/app/access/migrations/0021_roleaudithistory_rolecenturionmodelnote.py deleted file mode 100644 index 20b9b638..00000000 --- a/app/access/migrations/0021_roleaudithistory_rolecenturionmodelnote.py +++ /dev/null @@ -1,81 +0,0 @@ -# Generated by Django 5.1.10 on 2025-07-12 08:50 - -import django.db.models.deletion -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("access", "0020_remove_rolenotes_model_and_more"), - ("core", "0033_alter_ticketcommentcategory_parent_and_more"), - ] - - operations = [ - migrations.CreateModel( - name="RoleAuditHistory", - fields=[ - ( - "centurionaudit_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="core.centurionaudit", - ), - ), - ( - "model", - models.ForeignKey( - help_text="Model this history belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="audit_history", - to="access.role", - verbose_name="Model", - ), - ), - ], - options={ - "verbose_name": "Role History", - "verbose_name_plural": "Role Histories", - "db_table": "access_role_audithistory", - "managed": True, - }, - bases=("core.centurionaudit",), - ), - migrations.CreateModel( - name="RoleCenturionModelNote", - fields=[ - ( - "centurionmodelnote_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="core.centurionmodelnote", - ), - ), - ( - "model", - models.ForeignKey( - help_text="Model this note belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="+", - to="access.role", - verbose_name="Model", - ), - ), - ], - options={ - "verbose_name": "Role Note", - "verbose_name_plural": "Role Notes", - "db_table": "access_role_centurionmodelnote", - "managed": True, - }, - bases=("core.centurionmodelnote",), - ), - ] diff --git a/app/accounting/migrations/0002_alter_assetbase_id_alter_assetbase_model_notes_and_more.py b/app/accounting/migrations/0002_remove_assetbasenotes_model_and_more.py similarity index 92% rename from app/accounting/migrations/0002_alter_assetbase_id_alter_assetbase_model_notes_and_more.py rename to app/accounting/migrations/0002_remove_assetbasenotes_model_and_more.py index 277a19cb..10e5d830 100644 --- a/app/accounting/migrations/0002_alter_assetbase_id_alter_assetbase_model_notes_and_more.py +++ b/app/accounting/migrations/0002_remove_assetbasenotes_model_and_more.py @@ -1,4 +1,4 @@ -# Generated by Django 5.1.10 on 2025-07-10 09:10 +# Generated by Django 5.1.10 on 2025-08-15 03:21 import access.models.tenancy_abstract import django.db.models.deletion @@ -8,9 +8,9 @@ from django.db import migrations, models class Migration(migrations.Migration): dependencies = [ - ("access", "0019_companyaudithistory_companycenturionmodelnote"), + ("access", "0011_remove_entitynotes_model_and_more"), ("accounting", "0001_initial"), - ("core", "0033_alter_ticketcommentcategory_parent_and_more"), + ("core", "0024_centurionaudit_centurionmodelnote_and_more"), ] operations = [ @@ -115,4 +115,10 @@ class Migration(migrations.Migration): }, bases=("core.centurionmodelnote",), ), + migrations.DeleteModel( + name="AssetBaseHistory", + ), + migrations.DeleteModel( + name="AssetBaseNotes", + ), ] diff --git a/app/accounting/migrations/0003_remove_assetbasenotes_model_and_more.py b/app/accounting/migrations/0003_remove_assetbasenotes_model_and_more.py deleted file mode 100644 index 0a5598d9..00000000 --- a/app/accounting/migrations/0003_remove_assetbasenotes_model_and_more.py +++ /dev/null @@ -1,19 +0,0 @@ -# Generated by Django 5.1.10 on 2025-07-10 09:31 - -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ("accounting", "0002_alter_assetbase_id_alter_assetbase_model_notes_and_more"), - ] - - operations = [ - migrations.DeleteModel( - name="AssetBaseHistory", - ), - migrations.DeleteModel( - name="AssetBaseNotes", - ), - ] diff --git a/app/assistance/migrations/0007_remove_knowledgebase_is_global_and_more.py b/app/assistance/migrations/0007_remove_knowledgebase_is_global_and_more.py index 535a159e..ec5243ef 100644 --- a/app/assistance/migrations/0007_remove_knowledgebase_is_global_and_more.py +++ b/app/assistance/migrations/0007_remove_knowledgebase_is_global_and_more.py @@ -1,16 +1,19 @@ -# Generated by Django 5.1.9 on 2025-06-03 22:04 +# Generated by Django 5.1.10 on 2025-08-15 03:21 import access.models.tenancy_abstract +import assistance.models.model_knowledge_base_article import django.db.models.deletion +from django.conf import settings from django.db import migrations, models class Migration(migrations.Migration): dependencies = [ - ("access", "0010_company_alter_entity_entity_type_alter_person_dob_and_more"), + ("access", "0011_remove_entitynotes_model_and_more"), ("assistance", "0006_alter_knowledgebase_organization_and_more"), - ("core", "0027_centurionmodelnote"), + ("core", "0024_centurionaudit_centurionmodelnote_and_more"), + migrations.swappable_dependency(settings.AUTH_USER_MODEL), ] operations = [ @@ -22,6 +25,48 @@ class Migration(migrations.Migration): model_name="knowledgebasecategory", name="is_global", ), + migrations.AddField( + model_name="knowledgebase", + name="model_notes", + field=models.TextField( + blank=True, + help_text="Tid bits of information", + null=True, + verbose_name="Notes", + ), + ), + migrations.AlterField( + model_name="knowledgebase", + name="category", + field=models.ForeignKey( + help_text="Article Category", + max_length=50, + null=True, + on_delete=django.db.models.deletion.PROTECT, + to="assistance.knowledgebasecategory", + verbose_name="Category", + ), + ), + migrations.AlterField( + model_name="knowledgebase", + name="content", + field=models.TextField( + blank=True, + help_text="Content of the article. Markdown is supported", + null=True, + verbose_name="Article Content", + ), + ), + migrations.AlterField( + model_name="knowledgebase", + name="expiry_date", + field=models.DateTimeField( + blank=True, + help_text="Date the article will be removed from published articles", + null=True, + verbose_name="End Date", + ), + ), migrations.AlterField( model_name="knowledgebase", name="id", @@ -47,6 +92,72 @@ class Migration(migrations.Migration): verbose_name="Tenant", ), ), + migrations.AlterField( + model_name="knowledgebase", + name="release_date", + field=models.DateTimeField( + blank=True, + help_text="Date the article will be published", + null=True, + verbose_name="Publish Date", + ), + ), + migrations.AlterField( + model_name="knowledgebase", + name="responsible_teams", + field=models.ManyToManyField( + blank=True, + help_text="Team(s) whom is considered the articles owner.", + related_name="responsible_teams", + to="access.team", + verbose_name="Responsible Team(s)", + ), + ), + migrations.AlterField( + model_name="knowledgebase", + name="responsible_user", + field=models.ForeignKey( + blank=True, + help_text="User(s) whom is considered the articles owner.", + null=True, + on_delete=django.db.models.deletion.PROTECT, + related_name="responsible_user", + to=settings.AUTH_USER_MODEL, + verbose_name="Responsible User", + ), + ), + migrations.AlterField( + model_name="knowledgebase", + name="summary", + field=models.TextField( + blank=True, + help_text="Short Summary of the article", + null=True, + verbose_name="Summary", + ), + ), + migrations.AlterField( + model_name="knowledgebase", + name="target_team", + field=models.ManyToManyField( + blank=True, + help_text="Team(s) to grant access to the article", + to="access.team", + verbose_name="Target Team(s)", + ), + ), + migrations.AlterField( + model_name="knowledgebase", + name="target_user", + field=models.ForeignKey( + blank=True, + help_text="User(s) to grant access to the article", + null=True, + on_delete=django.db.models.deletion.PROTECT, + to=settings.AUTH_USER_MODEL, + verbose_name="Target Users(s)", + ), + ), migrations.AlterField( model_name="knowledgebasecategory", name="model_notes", @@ -70,5 +181,181 @@ class Migration(migrations.Migration): ], verbose_name="Tenant", ), - ) + ), + migrations.AlterField( + model_name="knowledgebasecategory", + name="parent_category", + field=models.ForeignKey( + blank=True, + help_text="Category this category belongs to", + null=True, + on_delete=django.db.models.deletion.SET_NULL, + to="assistance.knowledgebasecategory", + verbose_name="Parent Category", + ), + ), + migrations.AlterField( + model_name="knowledgebasecategory", + name="target_team", + field=models.ManyToManyField( + blank=True, + help_text="Team(s) to grant access to the article", + to="access.team", + verbose_name="Target Team(s)", + ), + ), + migrations.AlterField( + model_name="knowledgebasecategory", + name="target_user", + field=models.ForeignKey( + blank=True, + help_text="User(s) to grant access to the article", + null=True, + on_delete=django.db.models.deletion.SET_NULL, + to=settings.AUTH_USER_MODEL, + verbose_name="Target Users(s)", + ), + ), + migrations.AlterField( + model_name="modelknowledgebasearticle", + name="model", + field=models.CharField( + choices=assistance.models.model_knowledge_base_article.all_models, + help_text="Model type to link to article article", + max_length=80, + verbose_name="Model Type", + ), + ), + migrations.CreateModel( + name="KnowledgeBaseAuditHistory", + fields=[ + ( + "centurionaudit_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="core.centurionaudit", + ), + ), + ( + "model", + models.ForeignKey( + help_text="Model this history belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="audit_history", + to="assistance.knowledgebase", + verbose_name="Model", + ), + ), + ], + options={ + "verbose_name": "Knowledge Base History", + "verbose_name_plural": "Knowledge Base Histories", + "db_table": "assistance_knowledgebase_audithistory", + "managed": True, + }, + bases=("core.centurionaudit",), + ), + migrations.CreateModel( + name="KnowledgeBaseCategoryAuditHistory", + fields=[ + ( + "centurionaudit_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="core.centurionaudit", + ), + ), + ( + "model", + models.ForeignKey( + help_text="Model this history belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="audit_history", + to="assistance.knowledgebasecategory", + verbose_name="Model", + ), + ), + ], + options={ + "verbose_name": "Knowledge Base Category History", + "verbose_name_plural": "Knowledge Base Category Histories", + "db_table": "assistance_knowledgebasecategory_audithistory", + "managed": True, + }, + bases=("core.centurionaudit",), + ), + migrations.CreateModel( + name="KnowledgeBaseCategoryCenturionModelNote", + fields=[ + ( + "centurionmodelnote_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="core.centurionmodelnote", + ), + ), + ( + "model", + models.ForeignKey( + help_text="Model this note belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="+", + to="assistance.knowledgebasecategory", + verbose_name="Model", + ), + ), + ], + options={ + "verbose_name": "Knowledge Base Category Note", + "verbose_name_plural": "Knowledge Base Category Notes", + "db_table": "assistance_knowledgebasecategory_centurionmodelnote", + "managed": True, + }, + bases=("core.centurionmodelnote",), + ), + migrations.CreateModel( + name="KnowledgeBaseCenturionModelNote", + fields=[ + ( + "centurionmodelnote_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="core.centurionmodelnote", + ), + ), + ( + "model", + models.ForeignKey( + help_text="Model this note belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="+", + to="assistance.knowledgebase", + verbose_name="Model", + ), + ), + ], + options={ + "verbose_name": "Knowledge Base Note", + "verbose_name_plural": "Knowledge Base Notes", + "db_table": "assistance_knowledgebase_centurionmodelnote", + "managed": True, + }, + bases=("core.centurionmodelnote",), + ), ] diff --git a/app/assistance/migrations/0008_knowledgebaseaudithistory_and_more.py b/app/assistance/migrations/0008_knowledgebaseaudithistory_and_more.py deleted file mode 100644 index 3a64fa14..00000000 --- a/app/assistance/migrations/0008_knowledgebaseaudithistory_and_more.py +++ /dev/null @@ -1,81 +0,0 @@ -# Generated by Django 5.1.9 on 2025-06-03 22:06 - -import django.db.models.deletion -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("assistance", "0007_remove_knowledgebase_is_global_and_more"), - ("core", "0027_centurionmodelnote"), - ] - - operations = [ - migrations.CreateModel( - name="KnowledgeBaseAuditHistory", - fields=[ - ( - "centurionaudit_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="core.centurionaudit", - ), - ), - ( - "model", - models.ForeignKey( - help_text="Model this history belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="audit_history", - to="assistance.knowledgebase", - verbose_name="Model", - ), - ), - ], - options={ - "verbose_name": "Knowledge Base History", - "verbose_name_plural": "Knowledge Base Histories", - "db_table": "assistance_knowledgebase_audithistory", - "managed": True, - }, - bases=("core.centurionaudit", models.Model), - ), - migrations.CreateModel( - name="KnowledgeBaseCenturionModelNote", - fields=[ - ( - "centurionmodelnote_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="core.centurionmodelnote", - ), - ), - ( - "model", - models.ForeignKey( - help_text="Model this note belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="+", - to="assistance.knowledgebase", - verbose_name="Model", - ), - ), - ], - options={ - "verbose_name": "Knowledge Base Note", - "verbose_name_plural": "Knowledge Base Notes", - "db_table": "assistance_knowledgebase_centurionmodelnote", - "managed": True, - }, - bases=("core.centurionmodelnote", models.Model), - ), - ] diff --git a/app/assistance/migrations/0009_knowledgebasecategoryaudithistory_and_more.py b/app/assistance/migrations/0009_knowledgebasecategoryaudithistory_and_more.py deleted file mode 100644 index c54a4a5a..00000000 --- a/app/assistance/migrations/0009_knowledgebasecategoryaudithistory_and_more.py +++ /dev/null @@ -1,81 +0,0 @@ -# Generated by Django 5.1.9 on 2025-06-03 22:07 - -import django.db.models.deletion -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("assistance", "0008_knowledgebaseaudithistory_and_more"), - ("core", "0027_centurionmodelnote"), - ] - - operations = [ - migrations.CreateModel( - name="KnowledgeBaseCategoryAuditHistory", - fields=[ - ( - "centurionaudit_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="core.centurionaudit", - ), - ), - ( - "model", - models.ForeignKey( - help_text="Model this history belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="audit_history", - to="assistance.knowledgebasecategory", - verbose_name="Model", - ), - ), - ], - options={ - "verbose_name": "Knowledge Base Category History", - "verbose_name_plural": "Knowledge Base Category Histories", - "db_table": "assistance_knowledgebasecategory_audithistory", - "managed": True, - }, - bases=("core.centurionaudit", models.Model), - ), - migrations.CreateModel( - name="KnowledgeBaseCategoryCenturionModelNote", - fields=[ - ( - "centurionmodelnote_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="core.centurionmodelnote", - ), - ), - ( - "model", - models.ForeignKey( - help_text="Model this note belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="+", - to="assistance.knowledgebasecategory", - verbose_name="Model", - ), - ), - ], - options={ - "verbose_name": "Knowledge Base Category Note", - "verbose_name_plural": "Knowledge Base Category Notes", - "db_table": "assistance_knowledgebasecategory_centurionmodelnote", - "managed": True, - }, - bases=("core.centurionmodelnote", models.Model), - ), - ] diff --git a/app/assistance/migrations/0010_alter_knowledgebase_category_and_more.py b/app/assistance/migrations/0010_alter_knowledgebase_category_and_more.py deleted file mode 100644 index 9552062b..00000000 --- a/app/assistance/migrations/0010_alter_knowledgebase_category_and_more.py +++ /dev/null @@ -1,114 +0,0 @@ -# Generated by Django 5.1.9 on 2025-06-03 23:40 - -import django.db.models.deletion -from django.conf import settings -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("access", "0010_company_alter_entity_entity_type_alter_person_dob_and_more"), - ("assistance", "0009_knowledgebasecategoryaudithistory_and_more"), - migrations.swappable_dependency(settings.AUTH_USER_MODEL), - ] - - operations = [ - migrations.AlterField( - model_name="knowledgebase", - name="category", - field=models.ForeignKey( - help_text="Article Category", - max_length=50, - null=True, - on_delete=django.db.models.deletion.PROTECT, - to="assistance.knowledgebasecategory", - verbose_name="Category", - ), - ), - migrations.AlterField( - model_name="knowledgebase", - name="content", - field=models.TextField( - blank=True, - help_text="Content of the article. Markdown is supported", - null=True, - verbose_name="Article Content", - ), - ), - migrations.AlterField( - model_name="knowledgebase", - name="expiry_date", - field=models.DateTimeField( - blank=True, - help_text="Date the article will be removed from published articles", - null=True, - verbose_name="End Date", - ), - ), - migrations.AlterField( - model_name="knowledgebase", - name="release_date", - field=models.DateTimeField( - blank=True, - help_text="Date the article will be published", - null=True, - verbose_name="Publish Date", - ), - ), - migrations.AlterField( - model_name="knowledgebase", - name="responsible_teams", - field=models.ManyToManyField( - blank=True, - help_text="Team(s) whom is considered the articles owner.", - related_name="responsible_teams", - to="access.team", - verbose_name="Responsible Team(s)", - ), - ), - migrations.AlterField( - model_name="knowledgebase", - name="responsible_user", - field=models.ForeignKey( - help_text="User(s) whom is considered the articles owner.", - null=True, - on_delete=django.db.models.deletion.PROTECT, - related_name="responsible_user", - to=settings.AUTH_USER_MODEL, - verbose_name="Responsible User", - ), - ), - migrations.AlterField( - model_name="knowledgebase", - name="summary", - field=models.TextField( - blank=True, - help_text="Short Summary of the article", - null=True, - verbose_name="Summary", - ), - ), - migrations.AlterField( - model_name="knowledgebase", - name="target_team", - field=models.ManyToManyField( - blank=True, - help_text="Team(s) to grant access to the article", - to="access.team", - verbose_name="Target Team(s)", - ), - ), - migrations.AlterField( - model_name="knowledgebase", - name="target_user", - field=models.ForeignKey( - blank=True, - help_text="User(s) to grant access to the article", - null=True, - on_delete=django.db.models.deletion.PROTECT, - to=settings.AUTH_USER_MODEL, - verbose_name="Target Users(s)", - ), - ), - ] diff --git a/app/assistance/migrations/0011_knowledgebase_model_notes.py b/app/assistance/migrations/0011_knowledgebase_model_notes.py deleted file mode 100644 index 23863499..00000000 --- a/app/assistance/migrations/0011_knowledgebase_model_notes.py +++ /dev/null @@ -1,23 +0,0 @@ -# Generated by Django 5.1.9 on 2025-06-03 23:56 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("assistance", "0010_alter_knowledgebase_category_and_more"), - ] - - operations = [ - migrations.AddField( - model_name="knowledgebase", - name="model_notes", - field=models.TextField( - blank=True, - help_text="Tid bits of information", - null=True, - verbose_name="Notes", - ), - ), - ] diff --git a/app/assistance/migrations/0012_alter_knowledgebasecategory_parent_category_and_more.py b/app/assistance/migrations/0012_alter_knowledgebasecategory_parent_category_and_more.py deleted file mode 100644 index 0be2322a..00000000 --- a/app/assistance/migrations/0012_alter_knowledgebasecategory_parent_category_and_more.py +++ /dev/null @@ -1,51 +0,0 @@ -# Generated by Django 5.1.9 on 2025-06-04 00:23 - -import django.db.models.deletion -from django.conf import settings -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("access", "0010_company_alter_entity_entity_type_alter_person_dob_and_more"), - ("assistance", "0011_knowledgebase_model_notes"), - migrations.swappable_dependency(settings.AUTH_USER_MODEL), - ] - - operations = [ - migrations.AlterField( - model_name="knowledgebasecategory", - name="parent_category", - field=models.ForeignKey( - blank=True, - help_text="Category this category belongs to", - null=True, - on_delete=django.db.models.deletion.SET_NULL, - to="assistance.knowledgebasecategory", - verbose_name="Parent Category", - ), - ), - migrations.AlterField( - model_name="knowledgebasecategory", - name="target_team", - field=models.ManyToManyField( - blank=True, - help_text="Team(s) to grant access to the article", - to="access.team", - verbose_name="Target Team(s)", - ), - ), - migrations.AlterField( - model_name="knowledgebasecategory", - name="target_user", - field=models.ForeignKey( - blank=True, - help_text="User(s) to grant access to the article", - null=True, - on_delete=django.db.models.deletion.SET_NULL, - to=settings.AUTH_USER_MODEL, - verbose_name="Target Users(s)", - ), - ), - ] diff --git a/app/assistance/migrations/0013_alter_modelknowledgebasearticle_model.py b/app/assistance/migrations/0013_alter_modelknowledgebasearticle_model.py deleted file mode 100644 index 06157aad..00000000 --- a/app/assistance/migrations/0013_alter_modelknowledgebasearticle_model.py +++ /dev/null @@ -1,24 +0,0 @@ -# Generated by Django 5.1.9 on 2025-06-06 02:40 - -import assistance.models.model_knowledge_base_article -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("assistance", "0012_alter_knowledgebasecategory_parent_category_and_more"), - ] - - operations = [ - migrations.AlterField( - model_name="modelknowledgebasearticle", - name="model", - field=models.CharField( - choices=assistance.models.model_knowledge_base_article.all_models, - help_text="Model type to link to article article", - max_length=80, - verbose_name="Model Type", - ), - ), - ] diff --git a/app/assistance/migrations/0014_alter_knowledgebase_responsible_user.py b/app/assistance/migrations/0014_alter_knowledgebase_responsible_user.py deleted file mode 100644 index fd838365..00000000 --- a/app/assistance/migrations/0014_alter_knowledgebase_responsible_user.py +++ /dev/null @@ -1,29 +0,0 @@ -# Generated by Django 5.1.10 on 2025-07-29 04:13 - -import django.db.models.deletion -from django.conf import settings -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("assistance", "0013_alter_modelknowledgebasearticle_model"), - migrations.swappable_dependency(settings.AUTH_USER_MODEL), - ] - - operations = [ - migrations.AlterField( - model_name="knowledgebase", - name="responsible_user", - field=models.ForeignKey( - blank=True, - help_text="User(s) whom is considered the articles owner.", - null=True, - on_delete=django.db.models.deletion.PROTECT, - related_name="responsible_user", - to=settings.AUTH_USER_MODEL, - verbose_name="Responsible User", - ), - ), - ] diff --git a/app/config_management/migrations/0009_remove_configgrouphosts_is_global_and_more.py b/app/config_management/migrations/0009_remove_configgrouphosts_is_global_and_more.py new file mode 100644 index 00000000..b911087f --- /dev/null +++ b/app/config_management/migrations/0009_remove_configgrouphosts_is_global_and_more.py @@ -0,0 +1,359 @@ +# Generated by Django 5.1.10 on 2025-08-15 03:21 + +import access.models.tenancy_abstract +import config_management.models.groups +import django.db.models.deletion +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ("access", "0011_remove_entitynotes_model_and_more"), + ("config_management", "0008_alter_configgrouphosts_organization_and_more"), + ("core", "0024_centurionaudit_centurionmodelnote_and_more"), + ("itam", "0012_remove_device_is_global_remove_device_slug_and_more"), + ] + + operations = [ + migrations.RemoveField( + model_name="configgrouphosts", + name="is_global", + ), + migrations.RemoveField( + model_name="configgroups", + name="is_global", + ), + migrations.RemoveField( + model_name="configgroupsoftware", + name="is_global", + ), + migrations.AlterField( + model_name="configgrouphosts", + name="group", + field=models.ForeignKey( + help_text="Group that this host is part of", + on_delete=django.db.models.deletion.PROTECT, + to="config_management.configgroups", + verbose_name="Group", + ), + ), + migrations.AlterField( + model_name="configgrouphosts", + name="host", + field=models.ForeignKey( + help_text="Host that will be apart of this config group", + on_delete=django.db.models.deletion.PROTECT, + to="itam.device", + validators=[ + config_management.models.groups.ConfigGroupHosts.validate_host_no_parent_group + ], + verbose_name="Host", + ), + ), + migrations.AlterField( + model_name="configgrouphosts", + name="id", + field=models.AutoField( + help_text="ID of the item", + primary_key=True, + serialize=False, + unique=True, + verbose_name="ID", + ), + ), + migrations.AlterField( + model_name="configgrouphosts", + name="model_notes", + field=models.TextField( + blank=True, + help_text="Tid bits of information", + null=True, + verbose_name="Notes", + ), + ), + migrations.AlterField( + model_name="configgrouphosts", + name="organization", + field=models.ForeignKey( + help_text="Tenant this belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="+", + to="access.tenant", + validators=[ + access.models.tenancy_abstract.TenancyAbstractModel.validatate_organization_exists + ], + verbose_name="Tenant", + ), + ), + migrations.AlterField( + model_name="configgroups", + name="config", + field=models.JSONField( + blank=True, + help_text="Configuration for this Group", + null=True, + validators=[ + config_management.models.groups.ConfigGroups.validate_config_keys_not_reserved + ], + verbose_name="Configuration", + ), + ), + migrations.AlterField( + model_name="configgroups", + name="id", + field=models.AutoField( + help_text="ID of the item", + primary_key=True, + serialize=False, + unique=True, + verbose_name="ID", + ), + ), + migrations.AlterField( + model_name="configgroups", + name="model_notes", + field=models.TextField( + blank=True, + help_text="Tid bits of information", + null=True, + verbose_name="Notes", + ), + ), + migrations.AlterField( + model_name="configgroups", + name="organization", + field=models.ForeignKey( + help_text="Tenant this belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="+", + to="access.tenant", + validators=[ + access.models.tenancy_abstract.TenancyAbstractModel.validatate_organization_exists + ], + verbose_name="Tenant", + ), + ), + migrations.AlterField( + model_name="configgroups", + name="parent", + field=models.ForeignKey( + blank=True, + help_text="Parent of this Group", + null=True, + on_delete=django.db.models.deletion.PROTECT, + to="config_management.configgroups", + verbose_name="Parent Group", + ), + ), + migrations.AlterField( + model_name="configgroupsoftware", + name="action", + field=models.IntegerField( + blank=True, + choices=[(1, "Install"), (0, "Remove")], + help_text="ACtion to perform with this software", + null=True, + verbose_name="Action", + ), + ), + migrations.AlterField( + model_name="configgroupsoftware", + name="config_group", + field=models.ForeignKey( + help_text="Config group this softwre will be linked to", + on_delete=django.db.models.deletion.PROTECT, + to="config_management.configgroups", + verbose_name="Config Group", + ), + ), + migrations.AlterField( + model_name="configgroupsoftware", + name="id", + field=models.AutoField( + help_text="ID of the item", + primary_key=True, + serialize=False, + unique=True, + verbose_name="ID", + ), + ), + migrations.AlterField( + model_name="configgroupsoftware", + name="model_notes", + field=models.TextField( + blank=True, + help_text="Tid bits of information", + null=True, + verbose_name="Notes", + ), + ), + migrations.AlterField( + model_name="configgroupsoftware", + name="organization", + field=models.ForeignKey( + help_text="Tenant this belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="+", + to="access.tenant", + validators=[ + access.models.tenancy_abstract.TenancyAbstractModel.validatate_organization_exists + ], + verbose_name="Tenant", + ), + ), + migrations.AlterField( + model_name="configgroupsoftware", + name="software", + field=models.ForeignKey( + help_text="Software to add to this config Group", + on_delete=django.db.models.deletion.PROTECT, + to="itam.software", + verbose_name="Software", + ), + ), + migrations.AlterField( + model_name="configgroupsoftware", + name="version", + field=models.ForeignKey( + blank=True, + help_text="Software Version for this config group", + null=True, + on_delete=django.db.models.deletion.PROTECT, + to="itam.softwareversion", + verbose_name="Verrsion", + ), + ), + migrations.CreateModel( + name="ConfigGroupHostsAuditHistory", + fields=[ + ( + "centurionaudit_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="core.centurionaudit", + ), + ), + ( + "model", + models.ForeignKey( + help_text="Model this history belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="audit_history", + to="config_management.configgrouphosts", + verbose_name="Model", + ), + ), + ], + options={ + "verbose_name": "config group hosts History", + "verbose_name_plural": "config group hosts Histories", + "db_table": "config_management_configgrouphosts_audithistory", + "managed": True, + }, + bases=("core.centurionaudit",), + ), + migrations.CreateModel( + name="ConfigGroupsAuditHistory", + fields=[ + ( + "centurionaudit_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="core.centurionaudit", + ), + ), + ( + "model", + models.ForeignKey( + help_text="Model this history belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="audit_history", + to="config_management.configgroups", + verbose_name="Model", + ), + ), + ], + options={ + "verbose_name": "Config Group History", + "verbose_name_plural": "Config Group Histories", + "db_table": "config_management_configgroups_audithistory", + "managed": True, + }, + bases=("core.centurionaudit",), + ), + migrations.CreateModel( + name="ConfigGroupsCenturionModelNote", + fields=[ + ( + "centurionmodelnote_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="core.centurionmodelnote", + ), + ), + ( + "model", + models.ForeignKey( + help_text="Model this note belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="+", + to="config_management.configgroups", + verbose_name="Model", + ), + ), + ], + options={ + "verbose_name": "Config Group Note", + "verbose_name_plural": "Config Group Notes", + "db_table": "config_management_configgroups_centurionmodelnote", + "managed": True, + }, + bases=("core.centurionmodelnote",), + ), + migrations.CreateModel( + name="ConfigGroupSoftwareAuditHistory", + fields=[ + ( + "centurionaudit_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="core.centurionaudit", + ), + ), + ( + "model", + models.ForeignKey( + help_text="Model this history belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="audit_history", + to="config_management.configgroupsoftware", + verbose_name="Model", + ), + ), + ], + options={ + "verbose_name": "Config Group Software History", + "verbose_name_plural": "Config Group Software Histories", + "db_table": "config_management_configgroupsoftware_audithistory", + "managed": True, + }, + bases=("core.centurionaudit",), + ), + ] diff --git a/app/config_management/migrations/0009_remove_configgroups_is_global_and_more.py b/app/config_management/migrations/0009_remove_configgroups_is_global_and_more.py deleted file mode 100644 index 3718729e..00000000 --- a/app/config_management/migrations/0009_remove_configgroups_is_global_and_more.py +++ /dev/null @@ -1,122 +0,0 @@ -# Generated by Django 5.1.9 on 2025-06-06 02:40 - -import access.models.tenancy_abstract -import django.db.models.deletion -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("access", "0012_teamusers_model_notes_alter_teamusers_id_and_more"), - ("config_management", "0008_alter_configgrouphosts_organization_and_more"), - ("core", "0028_delete_history"), - ] - - operations = [ - migrations.RemoveField( - model_name="configgroups", - name="is_global", - ), - migrations.AlterField( - model_name="configgroups", - name="id", - field=models.AutoField( - help_text="ID of the item", - primary_key=True, - serialize=False, - unique=True, - verbose_name="ID", - ), - ), - migrations.AlterField( - model_name="configgroups", - name="model_notes", - field=models.TextField( - blank=True, - help_text="Tid bits of information", - null=True, - verbose_name="Notes", - ), - ), - migrations.AlterField( - model_name="configgroups", - name="organization", - field=models.ForeignKey( - help_text="Tenant this belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="+", - to="access.tenant", - validators=[ - access.models.tenancy_abstract.TenancyAbstractModel.validatate_organization_exists - ], - verbose_name="Tenant", - ), - ), - migrations.CreateModel( - name="ConfigGroupsAuditHistory", - fields=[ - ( - "centurionaudit_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="core.centurionaudit", - ), - ), - ( - "model", - models.ForeignKey( - help_text="Model this history belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="audit_history", - to="config_management.configgroups", - verbose_name="Model", - ), - ), - ], - options={ - "verbose_name": "Config Group History", - "verbose_name_plural": "Config Group Histories", - "db_table": "config_management_configgroups_audithistory", - "managed": True, - }, - bases=("core.centurionaudit", models.Model), - ), - migrations.CreateModel( - name="ConfigGroupsCenturionModelNote", - fields=[ - ( - "centurionmodelnote_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="core.centurionmodelnote", - ), - ), - ( - "model", - models.ForeignKey( - help_text="Model this note belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="+", - to="config_management.configgroups", - verbose_name="Model", - ), - ), - ], - options={ - "verbose_name": "Config Group Note", - "verbose_name_plural": "Config Group Notes", - "db_table": "config_management_configgroups_centurionmodelnote", - "managed": True, - }, - bases=("core.centurionmodelnote", models.Model), - ), - ] diff --git a/app/config_management/migrations/0010_remove_configgroupsoftware_is_global_and_more.py b/app/config_management/migrations/0010_remove_configgroupsoftware_is_global_and_more.py deleted file mode 100644 index 0cad9799..00000000 --- a/app/config_management/migrations/0010_remove_configgroupsoftware_is_global_and_more.py +++ /dev/null @@ -1,122 +0,0 @@ -# Generated by Django 5.1.9 on 2025-06-06 02:42 - -import access.models.tenancy_abstract -import django.db.models.deletion -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("access", "0012_teamusers_model_notes_alter_teamusers_id_and_more"), - ("config_management", "0009_remove_configgroups_is_global_and_more"), - ("core", "0028_delete_history"), - ] - - operations = [ - migrations.RemoveField( - model_name="configgrouphosts", - name="is_global", - ), - migrations.AlterField( - model_name="configgrouphosts", - name="id", - field=models.AutoField( - help_text="ID of the item", - primary_key=True, - serialize=False, - unique=True, - verbose_name="ID", - ), - ), - migrations.AlterField( - model_name="configgrouphosts", - name="model_notes", - field=models.TextField( - blank=True, - help_text="Tid bits of information", - null=True, - verbose_name="Notes", - ), - ), - migrations.AlterField( - model_name="configgrouphosts", - name="organization", - field=models.ForeignKey( - help_text="Tenant this belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="+", - to="access.tenant", - validators=[ - access.models.tenancy_abstract.TenancyAbstractModel.validatate_organization_exists - ], - verbose_name="Tenant", - ), - ), - migrations.CreateModel( - name="ConfigGroupHostsAuditHistory", - fields=[ - ( - "centurionaudit_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="core.centurionaudit", - ), - ), - ( - "model", - models.ForeignKey( - help_text="Model this history belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="audit_history", - to="config_management.configgrouphosts", - verbose_name="Model", - ), - ), - ], - options={ - "verbose_name": "config group hosts History", - "verbose_name_plural": "config group hosts Histories", - "db_table": "config_management_configgrouphosts_audithistory", - "managed": True, - }, - bases=("core.centurionaudit", models.Model), - ), - migrations.CreateModel( - name="ConfigGroupHostsCenturionModelNote", - fields=[ - ( - "centurionmodelnote_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="core.centurionmodelnote", - ), - ), - ( - "model", - models.ForeignKey( - help_text="Model this note belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="+", - to="config_management.configgrouphosts", - verbose_name="Model", - ), - ), - ], - options={ - "verbose_name": "config group hosts Note", - "verbose_name_plural": "config group hosts Notes", - "db_table": "config_management_configgrouphosts_centurionmodelnote", - "managed": True, - }, - bases=("core.centurionmodelnote", models.Model), - ) - ] diff --git a/app/config_management/migrations/0011_remove_configgroupsoftware_is_global_and_more.py b/app/config_management/migrations/0011_remove_configgroupsoftware_is_global_and_more.py deleted file mode 100644 index 8a7e383d..00000000 --- a/app/config_management/migrations/0011_remove_configgroupsoftware_is_global_and_more.py +++ /dev/null @@ -1,122 +0,0 @@ -# Generated by Django 5.1.9 on 2025-06-06 02:43 - -import access.models.tenancy_abstract -import django.db.models.deletion -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("access", "0012_teamusers_model_notes_alter_teamusers_id_and_more"), - ("config_management", "0010_remove_configgroupsoftware_is_global_and_more"), - ("core", "0028_delete_history"), - ] - - operations = [ - migrations.RemoveField( - model_name="configgroupsoftware", - name="is_global", - ), - migrations.AlterField( - model_name="configgroupsoftware", - name="id", - field=models.AutoField( - help_text="ID of the item", - primary_key=True, - serialize=False, - unique=True, - verbose_name="ID", - ), - ), - migrations.AlterField( - model_name="configgroupsoftware", - name="model_notes", - field=models.TextField( - blank=True, - help_text="Tid bits of information", - null=True, - verbose_name="Notes", - ), - ), - migrations.AlterField( - model_name="configgroupsoftware", - name="organization", - field=models.ForeignKey( - help_text="Tenant this belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="+", - to="access.tenant", - validators=[ - access.models.tenancy_abstract.TenancyAbstractModel.validatate_organization_exists - ], - verbose_name="Tenant", - ), - ), - migrations.CreateModel( - name="ConfigGroupSoftwareAuditHistory", - fields=[ - ( - "centurionaudit_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="core.centurionaudit", - ), - ), - ( - "model", - models.ForeignKey( - help_text="Model this history belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="audit_history", - to="config_management.configgroupsoftware", - verbose_name="Model", - ), - ), - ], - options={ - "verbose_name": "Config Group Software History", - "verbose_name_plural": "Config Group Software Histories", - "db_table": "config_management_configgroupsoftware_audithistory", - "managed": True, - }, - bases=("core.centurionaudit", models.Model), - ), - migrations.CreateModel( - name="ConfigGroupSoftwareCenturionModelNote", - fields=[ - ( - "centurionmodelnote_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="core.centurionmodelnote", - ), - ), - ( - "model", - models.ForeignKey( - help_text="Model this note belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="+", - to="config_management.configgroupsoftware", - verbose_name="Model", - ), - ), - ], - options={ - "verbose_name": "Config Group Software Note", - "verbose_name_plural": "Config Group Software Notes", - "db_table": "config_management_configgroupsoftware_centurionmodelnote", - "managed": True, - }, - bases=("core.centurionmodelnote", models.Model), - ), - ] diff --git a/app/config_management/migrations/0012_alter_configgroups_config_alter_configgroups_parent.py b/app/config_management/migrations/0012_alter_configgroups_config_alter_configgroups_parent.py deleted file mode 100644 index c5fb6233..00000000 --- a/app/config_management/migrations/0012_alter_configgroups_config_alter_configgroups_parent.py +++ /dev/null @@ -1,40 +0,0 @@ -# Generated by Django 5.1.9 on 2025-06-07 03:57 - -import config_management.models.groups -import django.db.models.deletion -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("config_management", "0011_remove_configgroupsoftware_is_global_and_more"), - ] - - operations = [ - migrations.AlterField( - model_name="configgroups", - name="config", - field=models.JSONField( - blank=True, - help_text="Configuration for this Group", - null=True, - validators=[ - config_management.models.groups.ConfigGroups.validate_config_keys_not_reserved - ], - verbose_name="Configuration", - ), - ), - migrations.AlterField( - model_name="configgroups", - name="parent", - field=models.ForeignKey( - blank=True, - help_text="Parent of this Group", - null=True, - on_delete=django.db.models.deletion.PROTECT, - to="config_management.configgroups", - verbose_name="Parent Group", - ), - ), - ] diff --git a/app/config_management/migrations/0013_alter_configgroupsoftware_action_and_more.py b/app/config_management/migrations/0013_alter_configgroupsoftware_action_and_more.py deleted file mode 100644 index 321af7b3..00000000 --- a/app/config_management/migrations/0013_alter_configgroupsoftware_action_and_more.py +++ /dev/null @@ -1,61 +0,0 @@ -# Generated by Django 5.1.9 on 2025-06-07 04:10 - -import django.db.models.deletion -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ( - "config_management", - "0012_alter_configgroups_config_alter_configgroups_parent", - ), - ("itam", "0014_remove_device_is_global_remove_device_slug_and_more"), - ] - - operations = [ - migrations.AlterField( - model_name="configgroupsoftware", - name="action", - field=models.IntegerField( - blank=True, - choices=[(1, "Install"), (0, "Remove")], - help_text="ACtion to perform with this software", - null=True, - verbose_name="Action", - ), - ), - migrations.AlterField( - model_name="configgroupsoftware", - name="config_group", - field=models.ForeignKey( - help_text="Config group this softwre will be linked to", - on_delete=django.db.models.deletion.PROTECT, - to="config_management.configgroups", - verbose_name="Config Group", - ), - ), - migrations.AlterField( - model_name="configgroupsoftware", - name="software", - field=models.ForeignKey( - help_text="Software to add to this config Group", - on_delete=django.db.models.deletion.PROTECT, - to="itam.software", - verbose_name="Software", - ), - ), - migrations.AlterField( - model_name="configgroupsoftware", - name="version", - field=models.ForeignKey( - blank=True, - help_text="Software Version for this config group", - null=True, - on_delete=django.db.models.deletion.PROTECT, - to="itam.softwareversion", - verbose_name="Verrsion", - ), - ), - ] diff --git a/app/config_management/migrations/0014_alter_configgrouphosts_group_and_more.py b/app/config_management/migrations/0014_alter_configgrouphosts_group_and_more.py deleted file mode 100644 index bcbacace..00000000 --- a/app/config_management/migrations/0014_alter_configgrouphosts_group_and_more.py +++ /dev/null @@ -1,39 +0,0 @@ -# Generated by Django 5.1.9 on 2025-06-07 04:11 - -import config_management.models.groups -import django.db.models.deletion -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("config_management", "0013_alter_configgroupsoftware_action_and_more"), - ("itam", "0014_remove_device_is_global_remove_device_slug_and_more"), - ] - - operations = [ - migrations.AlterField( - model_name="configgrouphosts", - name="group", - field=models.ForeignKey( - help_text="Group that this host is part of", - on_delete=django.db.models.deletion.PROTECT, - to="config_management.configgroups", - verbose_name="Group", - ), - ), - migrations.AlterField( - model_name="configgrouphosts", - name="host", - field=models.ForeignKey( - help_text="Host that will be apart of this config group", - on_delete=django.db.models.deletion.PROTECT, - to="itam.device", - validators=[ - config_management.models.groups.ConfigGroupHosts.validate_host_no_parent_group - ], - verbose_name="Host", - ), - ), - ] diff --git a/app/config_management/migrations/0015_remove_configgroupsoftwarecenturionmodelnote_centurionmodelnote_ptr_and_more.py b/app/config_management/migrations/0015_remove_configgroupsoftwarecenturionmodelnote_centurionmodelnote_ptr_and_more.py deleted file mode 100644 index fd0c25f9..00000000 --- a/app/config_management/migrations/0015_remove_configgroupsoftwarecenturionmodelnote_centurionmodelnote_ptr_and_more.py +++ /dev/null @@ -1,27 +0,0 @@ -# Generated by Django 5.1.9 on 2025-06-07 08:17 - -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ("config_management", "0014_alter_configgrouphosts_group_and_more"), - ] - - operations = [ - migrations.RemoveField( - model_name="configgroupsoftwarecenturionmodelnote", - name="centurionmodelnote_ptr", - ), - migrations.RemoveField( - model_name="configgroupsoftwarecenturionmodelnote", - name="model", - ), - migrations.DeleteModel( - name="ConfigGroupHostsCenturionModelNote", - ), - migrations.DeleteModel( - name="ConfigGroupSoftwareCenturionModelNote", - ), - ] diff --git a/app/core/migrations/0024_centurionaudit.py b/app/core/migrations/0024_centurionaudit.py deleted file mode 100644 index 89279fd6..00000000 --- a/app/core/migrations/0024_centurionaudit.py +++ /dev/null @@ -1,42 +0,0 @@ -# Generated by Django 5.1.9 on 2025-05-20 16:20 - -import access.fields -import access.models.tenancy_abstract -import core.models.centurion -import django.db.models.deletion -import django.utils.timezone -from django.conf import settings -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('access', '0010_company_alter_entity_entity_type_alter_person_dob_and_more'), - ('contenttypes', '0002_remove_content_type_name'), - ('core', '0023_ticketcommentaction_alter_manufacturer_organization_and_more'), - migrations.swappable_dependency(settings.AUTH_USER_MODEL), - ] - - operations = [ - migrations.CreateModel( - name='CenturionAudit', - fields=[ - ('id', models.AutoField(help_text='ID of the item', primary_key=True, serialize=False, unique=True, verbose_name='ID')), - ('model_notes', models.TextField(blank=True, help_text='Tid bits of information', null=True, verbose_name='Notes')), - ('created', access.fields.AutoCreatedField(default=django.utils.timezone.now, editable=False, help_text='Date and time of creation', verbose_name='Created')), - ('before', models.JSONField(blank=True, default=None, help_text='Value before Change', null=True, validators=[core.models.centurion.CenturionModel.validate_field_not_none], verbose_name='Before')), - ('after', models.JSONField(blank=True, default=None, help_text='Value Change to', null=True, validators=[core.models.centurion.CenturionModel.validate_field_not_none], verbose_name='After')), - ('action', models.IntegerField(choices=[(1, 'Create'), (2, 'Update'), (3, 'Delete')], default=None, help_text='History action performed', null=True, validators=[core.models.centurion.CenturionModel.validate_field_not_none], verbose_name='Action')), - ('content_type', models.ForeignKey(blank=True, help_text='Model this history is for', on_delete=django.db.models.deletion.CASCADE, to='contenttypes.contenttype', validators=[core.models.centurion.CenturionModel.validate_field_not_none], verbose_name='Content Model')), - ('organization', models.ForeignKey(help_text='Tenant this belongs to', on_delete=django.db.models.deletion.CASCADE, related_name='+', to='access.tenant', validators=[access.models.tenancy_abstract.TenancyAbstractModel.validatate_organization_exists], verbose_name='Tenant')), - ('user', models.ForeignKey(help_text='User whom performed the action', null=True, on_delete=django.db.models.deletion.DO_NOTHING, to=settings.AUTH_USER_MODEL, validators=[core.models.centurion.CenturionModel.validate_field_not_none], verbose_name='User')), - ], - options={ - 'verbose_name': 'Model History', - 'verbose_name_plural': 'Model Histories', - 'db_table': 'core_audithistory', - 'ordering': ['-created'], - }, - ), - ] diff --git a/app/core/migrations/0024_centurionaudit_centurionmodelnote_and_more.py b/app/core/migrations/0024_centurionaudit_centurionmodelnote_and_more.py new file mode 100644 index 00000000..4ce2fa58 --- /dev/null +++ b/app/core/migrations/0024_centurionaudit_centurionmodelnote_and_more.py @@ -0,0 +1,662 @@ +# Generated by Django 5.1.10 on 2025-08-15 03:21 + +import access.fields +import access.models.tenancy_abstract +import core.models.centurion +import django.db.models.deletion +import django.utils.timezone +from django.conf import settings +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ("access", "0010_company_alter_entity_entity_type_alter_person_dob_and_more"), + ("assistance", "0006_alter_knowledgebase_organization_and_more"), + ("contenttypes", "0002_remove_content_type_name"), + ("core", "0023_ticketcommentaction_alter_manufacturer_organization_and_more"), + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ] + + operations = [ + migrations.CreateModel( + name="CenturionAudit", + fields=[ + ( + "id", + models.AutoField( + help_text="ID of the item", + primary_key=True, + serialize=False, + unique=True, + verbose_name="ID", + ), + ), + ( + "created", + access.fields.AutoCreatedField( + default=django.utils.timezone.now, + editable=False, + help_text="Date and time of creation", + verbose_name="Created", + ), + ), + ( + "before", + models.JSONField( + blank=True, + help_text="Value before Change", + null=True, + validators=[ + core.models.centurion.CenturionModel.validate_field_not_none + ], + verbose_name="Before", + ), + ), + ( + "after", + models.JSONField( + blank=True, + help_text="Value Change to", + null=True, + validators=[ + core.models.centurion.CenturionModel.validate_field_not_none + ], + verbose_name="After", + ), + ), + ( + "action", + models.IntegerField( + choices=[(1, "Create"), (2, "Update"), (3, "Delete")], + help_text="History action performed", + null=True, + validators=[ + core.models.centurion.CenturionModel.validate_field_not_none + ], + verbose_name="Action", + ), + ), + ( + "content_type", + models.ForeignKey( + blank=True, + help_text="Model this history is for", + on_delete=django.db.models.deletion.CASCADE, + to="contenttypes.contenttype", + validators=[ + core.models.centurion.CenturionModel.validate_field_not_none + ], + verbose_name="Content Model", + ), + ), + ( + "organization", + models.ForeignKey( + help_text="Tenant this belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="+", + to="access.tenant", + validators=[ + access.models.tenancy_abstract.TenancyAbstractModel.validatate_organization_exists + ], + verbose_name="Tenant", + ), + ), + ( + "user", + models.ForeignKey( + help_text="User whom performed the action", + on_delete=django.db.models.deletion.DO_NOTHING, + to=settings.AUTH_USER_MODEL, + validators=[ + core.models.centurion.CenturionModel.validate_field_not_none + ], + verbose_name="User", + ), + ), + ], + options={ + "verbose_name": "Model History", + "verbose_name_plural": "Model Histories", + "db_table": "core_audithistory", + "ordering": ["-created"], + }, + ), + migrations.CreateModel( + name="CenturionModelNote", + fields=[ + ( + "id", + models.AutoField( + help_text="ID of the item", + primary_key=True, + serialize=False, + unique=True, + verbose_name="ID", + ), + ), + ( + "created", + access.fields.AutoCreatedField( + default=django.utils.timezone.now, + editable=False, + help_text="Date and time of creation", + verbose_name="Created", + ), + ), + ( + "body", + models.TextField( + help_text="The tid bit of information you wish to add", + verbose_name="Note", + ), + ), + ( + "modified", + access.fields.AutoLastModifiedField( + default=django.utils.timezone.now, + editable=False, + help_text="Date and time of last modification", + verbose_name="Modified", + ), + ), + ( + "content_type", + models.ForeignKey( + blank=True, + help_text="Model this note is for", + null=True, + 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", + null=True, + on_delete=django.db.models.deletion.PROTECT, + related_name="+", + to=settings.AUTH_USER_MODEL, + verbose_name="Created By", + ), + ), + ( + "modified_by", + models.ForeignKey( + blank=True, + help_text="User whom modified the note", + null=True, + on_delete=django.db.models.deletion.PROTECT, + related_name="+", + to=settings.AUTH_USER_MODEL, + verbose_name="Edited By", + ), + ), + ( + "organization", + models.ForeignKey( + help_text="Tenant this belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="+", + to="access.tenant", + validators=[ + access.models.tenancy_abstract.TenancyAbstractModel.validatate_organization_exists + ], + verbose_name="Tenant", + ), + ), + ], + options={ + "verbose_name": "Centurion Model Note", + "verbose_name_plural": "Centurion Model Notes", + "ordering": ["-created"], + }, + ), + migrations.RemoveField( + model_name="manufacturer", + name="is_global", + ), + migrations.RemoveField( + model_name="manufacturer", + name="slug", + ), + migrations.RemoveField( + model_name="ticketcategory", + name="is_global", + ), + migrations.RemoveField( + model_name="ticketcommentcategory", + name="is_global", + ), + migrations.AlterField( + model_name="manufacturer", + name="model_notes", + field=models.TextField( + blank=True, + help_text="Tid bits of information", + null=True, + verbose_name="Notes", + ), + ), + migrations.AlterField( + model_name="manufacturer", + name="organization", + field=models.ForeignKey( + help_text="Tenant this belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="+", + to="access.tenant", + validators=[ + access.models.tenancy_abstract.TenancyAbstractModel.validatate_organization_exists + ], + verbose_name="Tenant", + ), + ), + migrations.AlterField( + model_name="ticketbase", + name="external_ref", + field=models.IntegerField( + blank=True, + help_text="External System reference", + null=True, + verbose_name="Reference Number", + ), + ), + migrations.AlterField( + model_name="ticketbase", + name="external_system", + field=models.IntegerField( + blank=True, + choices=[ + (1, "Github"), + (2, "Gitlab"), + (9999, "Custom #1 (Imported)"), + (9998, "Custom #2 (Imported)"), + (9997, "Custom #3 (Imported)"), + (9996, "Custom #4 (Imported)"), + (9995, "Custom #5 (Imported)"), + (9994, "Custom #6 (Imported)"), + (9993, "Custom #7 (Imported)"), + (9992, "Custom #8 (Imported)"), + (9991, "Custom #9 (Imported)"), + ], + help_text="External system this item derives", + null=True, + verbose_name="External System", + ), + ), + migrations.AlterField( + model_name="ticketbase", + name="id", + field=models.AutoField( + help_text="ID of the item", + primary_key=True, + serialize=False, + unique=True, + verbose_name="ID", + ), + ), + migrations.AlterField( + model_name="ticketbase", + name="organization", + field=models.ForeignKey( + help_text="Tenant this belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="+", + to="access.tenant", + validators=[ + access.models.tenancy_abstract.TenancyAbstractModel.validatate_organization_exists + ], + verbose_name="Tenant", + ), + ), + migrations.AlterField( + model_name="ticketcategory", + name="id", + field=models.AutoField( + help_text="ID of the item", + primary_key=True, + serialize=False, + unique=True, + verbose_name="ID", + ), + ), + migrations.AlterField( + model_name="ticketcategory", + name="model_notes", + field=models.TextField( + blank=True, + help_text="Tid bits of information", + null=True, + verbose_name="Notes", + ), + ), + migrations.AlterField( + model_name="ticketcategory", + name="organization", + field=models.ForeignKey( + help_text="Tenant this belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="+", + to="access.tenant", + validators=[ + access.models.tenancy_abstract.TenancyAbstractModel.validatate_organization_exists + ], + verbose_name="Tenant", + ), + ), + migrations.AlterField( + model_name="ticketcategory", + name="parent", + field=models.ForeignKey( + blank=True, + help_text="The Parent Category", + null=True, + on_delete=django.db.models.deletion.PROTECT, + to="core.ticketcategory", + verbose_name="Parent Category", + ), + ), + migrations.AlterField( + model_name="ticketcategory", + name="runbook", + field=models.ForeignKey( + blank=True, + help_text="The runbook for this category", + null=True, + on_delete=django.db.models.deletion.PROTECT, + to="assistance.knowledgebase", + verbose_name="Runbook", + ), + ), + migrations.AlterField( + model_name="ticketcommentbase", + name="id", + field=models.AutoField( + help_text="ID of the item", + primary_key=True, + serialize=False, + unique=True, + verbose_name="ID", + ), + ), + migrations.AlterField( + model_name="ticketcommentbase", + name="organization", + field=models.ForeignKey( + help_text="Tenant this belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="+", + to="access.tenant", + validators=[ + access.models.tenancy_abstract.TenancyAbstractModel.validatate_organization_exists + ], + verbose_name="Tenant", + ), + ), + migrations.AlterField( + model_name="ticketcommentcategory", + name="id", + field=models.AutoField( + help_text="ID of the item", + primary_key=True, + serialize=False, + unique=True, + verbose_name="ID", + ), + ), + migrations.AlterField( + model_name="ticketcommentcategory", + name="model_notes", + field=models.TextField( + blank=True, + help_text="Tid bits of information", + null=True, + verbose_name="Notes", + ), + ), + migrations.AlterField( + model_name="ticketcommentcategory", + name="organization", + field=models.ForeignKey( + help_text="Tenant this belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="+", + to="access.tenant", + validators=[ + access.models.tenancy_abstract.TenancyAbstractModel.validatate_organization_exists + ], + verbose_name="Tenant", + ), + ), + migrations.AlterField( + model_name="ticketcommentcategory", + name="parent", + field=models.ForeignKey( + blank=True, + help_text="The Parent Category", + null=True, + on_delete=django.db.models.deletion.PROTECT, + to="core.ticketcommentcategory", + verbose_name="Parent Category", + ), + ), + migrations.AlterField( + model_name="ticketcommentcategory", + name="runbook", + field=models.ForeignKey( + blank=True, + help_text="The runbook for this category", + null=True, + on_delete=django.db.models.deletion.PROTECT, + to="assistance.knowledgebase", + verbose_name="Runbook", + ), + ), + migrations.CreateModel( + name="ManufacturerAuditHistory", + fields=[ + ( + "centurionaudit_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="core.centurionaudit", + ), + ), + ( + "model", + models.ForeignKey( + help_text="Model this history belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="audit_history", + to="core.manufacturer", + verbose_name="Model", + ), + ), + ], + options={ + "verbose_name": "Manufacturer History", + "verbose_name_plural": "Manufacturer Histories", + "db_table": "core_manufacturer_audithistory", + "managed": True, + }, + bases=("core.centurionaudit",), + ), + migrations.CreateModel( + name="TicketCategoryAuditHistory", + fields=[ + ( + "centurionaudit_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="core.centurionaudit", + ), + ), + ( + "model", + models.ForeignKey( + help_text="Model this history belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="audit_history", + to="core.ticketcategory", + verbose_name="Model", + ), + ), + ], + options={ + "verbose_name": "Ticket Category History", + "verbose_name_plural": "Ticket Category Histories", + "db_table": "core_ticketcategory_audithistory", + "managed": True, + }, + bases=("core.centurionaudit",), + ), + migrations.CreateModel( + name="TicketCommentCategoryAuditHistory", + fields=[ + ( + "centurionaudit_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="core.centurionaudit", + ), + ), + ( + "model", + models.ForeignKey( + help_text="Model this history belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="audit_history", + to="core.ticketcommentcategory", + verbose_name="Model", + ), + ), + ], + options={ + "verbose_name": "Ticket Comment Category History", + "verbose_name_plural": "Ticket Comment Category Histories", + "db_table": "core_ticketcommentcategory_audithistory", + "managed": True, + }, + bases=("core.centurionaudit",), + ), + migrations.CreateModel( + name="ManufacturerCenturionModelNote", + fields=[ + ( + "centurionmodelnote_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="core.centurionmodelnote", + ), + ), + ( + "model", + models.ForeignKey( + help_text="Model this note belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="+", + to="core.manufacturer", + verbose_name="Model", + ), + ), + ], + options={ + "verbose_name": "Manufacturer Note", + "verbose_name_plural": "Manufacturer Notes", + "db_table": "core_manufacturer_centurionmodelnote", + "managed": True, + }, + bases=("core.centurionmodelnote",), + ), + migrations.CreateModel( + name="TicketCategoryCenturionModelNote", + fields=[ + ( + "centurionmodelnote_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="core.centurionmodelnote", + ), + ), + ( + "model", + models.ForeignKey( + help_text="Model this note belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="+", + to="core.ticketcategory", + verbose_name="Model", + ), + ), + ], + options={ + "verbose_name": "Ticket Category Note", + "verbose_name_plural": "Ticket Category Notes", + "db_table": "core_ticketcategory_centurionmodelnote", + "managed": True, + }, + bases=("core.centurionmodelnote",), + ), + migrations.CreateModel( + name="TicketCommentCategoryCenturionModelNote", + fields=[ + ( + "centurionmodelnote_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="core.centurionmodelnote", + ), + ), + ( + "model", + models.ForeignKey( + help_text="Model this note belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="+", + to="core.ticketcommentcategory", + verbose_name="Model", + ), + ), + ], + options={ + "verbose_name": "Ticket Comment Category Note", + "verbose_name_plural": "Ticket Comment Category Notes", + "db_table": "core_ticketcommentcategory_centurionmodelnote", + "managed": True, + }, + bases=("core.centurionmodelnote",), + ), + migrations.DeleteModel( + name="History", + ), + ] diff --git a/app/core/migrations/0025_alter_centurionaudit_action_and_more.py b/app/core/migrations/0025_alter_centurionaudit_action_and_more.py deleted file mode 100644 index 099af3d2..00000000 --- a/app/core/migrations/0025_alter_centurionaudit_action_and_more.py +++ /dev/null @@ -1,38 +0,0 @@ -# Generated by Django 5.1.9 on 2025-05-24 17:20 - -import core.models.centurion -import django.db.models.deletion -from django.conf import settings -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('core', '0024_centurionaudit'), - migrations.swappable_dependency(settings.AUTH_USER_MODEL), - ] - - operations = [ - migrations.AlterField( - model_name='centurionaudit', - name='action', - field=models.IntegerField(choices=[(1, 'Create'), (2, 'Update'), (3, 'Delete')], help_text='History action performed', null=True, validators=[core.models.centurion.CenturionModel.validate_field_not_none], verbose_name='Action'), - ), - migrations.AlterField( - model_name='centurionaudit', - name='after', - field=models.JSONField(blank=True, help_text='Value Change to', null=True, validators=[core.models.centurion.CenturionModel.validate_field_not_none], verbose_name='After'), - ), - migrations.AlterField( - model_name='centurionaudit', - name='before', - field=models.JSONField(blank=True, help_text='Value before Change', null=True, validators=[core.models.centurion.CenturionModel.validate_field_not_none], verbose_name='Before'), - ), - migrations.AlterField( - model_name='centurionaudit', - name='user', - field=models.ForeignKey(default=None, help_text='User whom performed the action', on_delete=django.db.models.deletion.DO_NOTHING, to=settings.AUTH_USER_MODEL, validators=[core.models.centurion.CenturionModel.validate_field_not_none], verbose_name='User'), - preserve_default=False, - ), - ] diff --git a/app/core/migrations/0026_remove_centurionaudit_model_notes.py b/app/core/migrations/0026_remove_centurionaudit_model_notes.py deleted file mode 100644 index 32edbd39..00000000 --- a/app/core/migrations/0026_remove_centurionaudit_model_notes.py +++ /dev/null @@ -1,17 +0,0 @@ -# Generated by Django 5.1.9 on 2025-05-24 22:39 - -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('core', '0025_alter_centurionaudit_action_and_more'), - ] - - operations = [ - migrations.RemoveField( - model_name='centurionaudit', - name='model_notes', - ), - ] diff --git a/app/core/migrations/0027_centurionmodelnote.py b/app/core/migrations/0027_centurionmodelnote.py deleted file mode 100644 index e6293198..00000000 --- a/app/core/migrations/0027_centurionmodelnote.py +++ /dev/null @@ -1,112 +0,0 @@ -# Generated by Django 5.1.9 on 2025-05-29 04:03 - -import access.fields -import access.models.tenancy_abstract -import django.db.models.deletion -import django.utils.timezone -from django.conf import settings -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("access", "0010_company_alter_entity_entity_type_alter_person_dob_and_more"), - ("contenttypes", "0002_remove_content_type_name"), - ("core", "0026_remove_centurionaudit_model_notes"), - migrations.swappable_dependency(settings.AUTH_USER_MODEL), - ] - - operations = [ - migrations.CreateModel( - name="CenturionModelNote", - fields=[ - ( - "id", - models.AutoField( - help_text="ID of the item", - primary_key=True, - serialize=False, - unique=True, - verbose_name="ID", - ), - ), - ( - "created", - access.fields.AutoCreatedField( - default=django.utils.timezone.now, - editable=False, - help_text="Date and time of creation", - verbose_name="Created", - ), - ), - ( - "body", - models.TextField( - help_text="The tid bit of information you wish to add", - verbose_name="Note", - ), - ), - ( - "modified", - access.fields.AutoLastModifiedField( - default=django.utils.timezone.now, - editable=False, - help_text="Date and time of last modification", - verbose_name="Modified", - ), - ), - ( - "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.PROTECT, - related_name="+", - to=settings.AUTH_USER_MODEL, - verbose_name="Created By", - ), - ), - ( - "modified_by", - models.ForeignKey( - blank=True, - help_text="User whom modified the note", - null=True, - on_delete=django.db.models.deletion.PROTECT, - related_name="+", - to=settings.AUTH_USER_MODEL, - verbose_name="Edited By", - ), - ), - ( - "organization", - models.ForeignKey( - help_text="Tenant this belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="+", - to="access.tenant", - validators=[ - access.models.tenancy_abstract.TenancyAbstractModel.validatate_organization_exists - ], - verbose_name="Tenant", - ), - ), - ], - options={ - "verbose_name": "Centurion Model Note", - "verbose_name_plural": "Centurion Model Notes", - "ordering": ["-created"], - }, - ), - ] diff --git a/app/core/migrations/0028_delete_history.py b/app/core/migrations/0028_delete_history.py deleted file mode 100644 index 1ad60b7e..00000000 --- a/app/core/migrations/0028_delete_history.py +++ /dev/null @@ -1,16 +0,0 @@ -# Generated by Django 5.1.9 on 2025-06-05 06:24 - -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ("core", "0027_centurionmodelnote"), - ] - - operations = [ - migrations.DeleteModel( - name="History", - ), - ] diff --git a/app/core/migrations/0029_remove_manufacturer_is_global_and_more.py b/app/core/migrations/0029_remove_manufacturer_is_global_and_more.py deleted file mode 100644 index 359a4543..00000000 --- a/app/core/migrations/0029_remove_manufacturer_is_global_and_more.py +++ /dev/null @@ -1,114 +0,0 @@ -# Generated by Django 5.1.9 on 2025-06-06 02:55 - -import access.models.tenancy_abstract -import django.db.models.deletion -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("access", "0012_teamusers_model_notes_alter_teamusers_id_and_more"), - ("core", "0028_delete_history"), - ] - - operations = [ - migrations.RemoveField( - model_name="manufacturer", - name="is_global", - ), - migrations.RemoveField( - model_name="manufacturer", - name="slug", - ), - migrations.AlterField( - model_name="manufacturer", - name="model_notes", - field=models.TextField( - blank=True, - help_text="Tid bits of information", - null=True, - verbose_name="Notes", - ), - ), - migrations.AlterField( - model_name="manufacturer", - name="organization", - field=models.ForeignKey( - help_text="Tenant this belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="+", - to="access.tenant", - validators=[ - access.models.tenancy_abstract.TenancyAbstractModel.validatate_organization_exists - ], - verbose_name="Tenant", - ), - ), - migrations.CreateModel( - name="ManufacturerAuditHistory", - fields=[ - ( - "centurionaudit_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="core.centurionaudit", - ), - ), - ( - "model", - models.ForeignKey( - help_text="Model this history belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="audit_history", - to="core.manufacturer", - verbose_name="Model", - ), - ), - ], - options={ - "verbose_name": "Manufacturer History", - "verbose_name_plural": "Manufacturer Histories", - "db_table": "core_manufacturer_audithistory", - "managed": True, - }, - bases=("core.centurionaudit", models.Model), - ), - migrations.CreateModel( - name="ManufacturerCenturionModelNote", - fields=[ - ( - "centurionmodelnote_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="core.centurionmodelnote", - ), - ), - ( - "model", - models.ForeignKey( - help_text="Model this note belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="+", - to="core.manufacturer", - verbose_name="Model", - ), - ), - ], - options={ - "verbose_name": "Manufacturer Note", - "verbose_name_plural": "Manufacturer Notes", - "db_table": "core_manufacturer_centurionmodelnote", - "managed": True, - }, - bases=("core.centurionmodelnote", models.Model), - ), - ] diff --git a/app/core/migrations/0030_remove_ticketcommentcategory_is_global_and_more.py b/app/core/migrations/0030_remove_ticketcommentcategory_is_global_and_more.py deleted file mode 100644 index 9180b60e..00000000 --- a/app/core/migrations/0030_remove_ticketcommentcategory_is_global_and_more.py +++ /dev/null @@ -1,121 +0,0 @@ -# Generated by Django 5.1.9 on 2025-06-06 03:05 - -import access.models.tenancy_abstract -import django.db.models.deletion -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("access", "0012_teamusers_model_notes_alter_teamusers_id_and_more"), - ("core", "0029_remove_manufacturer_is_global_and_more"), - ] - - operations = [ - migrations.RemoveField( - model_name="ticketcommentcategory", - name="is_global", - ), - migrations.AlterField( - model_name="ticketcommentcategory", - name="id", - field=models.AutoField( - help_text="ID of the item", - primary_key=True, - serialize=False, - unique=True, - verbose_name="ID", - ), - ), - migrations.AlterField( - model_name="ticketcommentcategory", - name="model_notes", - field=models.TextField( - blank=True, - help_text="Tid bits of information", - null=True, - verbose_name="Notes", - ), - ), - migrations.AlterField( - model_name="ticketcommentcategory", - name="organization", - field=models.ForeignKey( - help_text="Tenant this belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="+", - to="access.tenant", - validators=[ - access.models.tenancy_abstract.TenancyAbstractModel.validatate_organization_exists - ], - verbose_name="Tenant", - ), - ), - migrations.CreateModel( - name="TicketCommentCategoryAuditHistory", - fields=[ - ( - "centurionaudit_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="core.centurionaudit", - ), - ), - ( - "model", - models.ForeignKey( - help_text="Model this history belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="audit_history", - to="core.ticketcommentcategory", - verbose_name="Model", - ), - ), - ], - options={ - "verbose_name": "Ticket Comment Category History", - "verbose_name_plural": "Ticket Comment Category Histories", - "db_table": "core_ticketcommentcategory_audithistory", - "managed": True, - }, - bases=("core.centurionaudit", models.Model), - ), - migrations.CreateModel( - name="TicketCommentCategoryCenturionModelNote", - fields=[ - ( - "centurionmodelnote_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="core.centurionmodelnote", - ), - ), - ( - "model", - models.ForeignKey( - help_text="Model this note belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="+", - to="core.ticketcommentcategory", - verbose_name="Model", - ), - ), - ], - options={ - "verbose_name": "Ticket Comment Category Note", - "verbose_name_plural": "Ticket Comment Category Notes", - "db_table": "core_ticketcommentcategory_centurionmodelnote", - "managed": True, - }, - bases=("core.centurionmodelnote", models.Model), - ), - ] diff --git a/app/core/migrations/0031_remove_ticketcategory_is_global_and_more.py b/app/core/migrations/0031_remove_ticketcategory_is_global_and_more.py deleted file mode 100644 index 90ac8ee0..00000000 --- a/app/core/migrations/0031_remove_ticketcategory_is_global_and_more.py +++ /dev/null @@ -1,121 +0,0 @@ -# Generated by Django 5.1.9 on 2025-06-06 03:08 - -import access.models.tenancy_abstract -import django.db.models.deletion -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("access", "0012_teamusers_model_notes_alter_teamusers_id_and_more"), - ("core", "0030_remove_ticketcommentcategory_is_global_and_more"), - ] - - operations = [ - migrations.RemoveField( - model_name="ticketcategory", - name="is_global", - ), - migrations.AlterField( - model_name="ticketcategory", - name="id", - field=models.AutoField( - help_text="ID of the item", - primary_key=True, - serialize=False, - unique=True, - verbose_name="ID", - ), - ), - migrations.AlterField( - model_name="ticketcategory", - name="model_notes", - field=models.TextField( - blank=True, - help_text="Tid bits of information", - null=True, - verbose_name="Notes", - ), - ), - migrations.AlterField( - model_name="ticketcategory", - name="organization", - field=models.ForeignKey( - help_text="Tenant this belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="+", - to="access.tenant", - validators=[ - access.models.tenancy_abstract.TenancyAbstractModel.validatate_organization_exists - ], - verbose_name="Tenant", - ), - ), - migrations.CreateModel( - name="TicketCategoryAuditHistory", - fields=[ - ( - "centurionaudit_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="core.centurionaudit", - ), - ), - ( - "model", - models.ForeignKey( - help_text="Model this history belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="audit_history", - to="core.ticketcategory", - verbose_name="Model", - ), - ), - ], - options={ - "verbose_name": "Ticket Category History", - "verbose_name_plural": "Ticket Category Histories", - "db_table": "core_ticketcategory_audithistory", - "managed": True, - }, - bases=("core.centurionaudit", models.Model), - ), - migrations.CreateModel( - name="TicketCategoryCenturionModelNote", - fields=[ - ( - "centurionmodelnote_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="core.centurionmodelnote", - ), - ), - ( - "model", - models.ForeignKey( - help_text="Model this note belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="+", - to="core.ticketcategory", - verbose_name="Model", - ), - ), - ], - options={ - "verbose_name": "Ticket Category Note", - "verbose_name_plural": "Ticket Category Notes", - "db_table": "core_ticketcategory_centurionmodelnote", - "managed": True, - }, - bases=("core.centurionmodelnote", models.Model), - ), - ] diff --git a/app/core/migrations/0032_alter_ticketcategory_parent_and_more.py b/app/core/migrations/0032_alter_ticketcategory_parent_and_more.py deleted file mode 100644 index 1a5bf7aa..00000000 --- a/app/core/migrations/0032_alter_ticketcategory_parent_and_more.py +++ /dev/null @@ -1,39 +0,0 @@ -# Generated by Django 5.1.9 on 2025-06-09 00:20 - -import django.db.models.deletion -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("assistance", "0013_alter_modelknowledgebasearticle_model"), - ("core", "0031_remove_ticketcategory_is_global_and_more"), - ] - - operations = [ - migrations.AlterField( - model_name="ticketcategory", - name="parent", - field=models.ForeignKey( - blank=True, - help_text="The Parent Category", - null=True, - on_delete=django.db.models.deletion.PROTECT, - to="core.ticketcategory", - verbose_name="Parent Category", - ), - ), - migrations.AlterField( - model_name="ticketcategory", - name="runbook", - field=models.ForeignKey( - blank=True, - help_text="The runbook for this category", - null=True, - on_delete=django.db.models.deletion.PROTECT, - to="assistance.knowledgebase", - verbose_name="Runbook", - ), - ), - ] diff --git a/app/core/migrations/0033_alter_ticketcommentcategory_parent_and_more.py b/app/core/migrations/0033_alter_ticketcommentcategory_parent_and_more.py deleted file mode 100644 index c746a9ef..00000000 --- a/app/core/migrations/0033_alter_ticketcommentcategory_parent_and_more.py +++ /dev/null @@ -1,39 +0,0 @@ -# Generated by Django 5.1.9 on 2025-06-09 00:26 - -import django.db.models.deletion -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("assistance", "0013_alter_modelknowledgebasearticle_model"), - ("core", "0032_alter_ticketcategory_parent_and_more"), - ] - - operations = [ - migrations.AlterField( - model_name="ticketcommentcategory", - name="parent", - field=models.ForeignKey( - blank=True, - help_text="The Parent Category", - null=True, - on_delete=django.db.models.deletion.PROTECT, - to="core.ticketcommentcategory", - verbose_name="Parent Category", - ), - ), - migrations.AlterField( - model_name="ticketcommentcategory", - name="runbook", - field=models.ForeignKey( - blank=True, - help_text="The runbook for this category", - null=True, - on_delete=django.db.models.deletion.PROTECT, - to="assistance.knowledgebase", - verbose_name="Runbook", - ), - ), - ] diff --git a/app/core/migrations/0034_alter_ticketbase_id_alter_ticketbase_organization.py b/app/core/migrations/0034_alter_ticketbase_id_alter_ticketbase_organization.py deleted file mode 100644 index a960cb5a..00000000 --- a/app/core/migrations/0034_alter_ticketbase_id_alter_ticketbase_organization.py +++ /dev/null @@ -1,41 +0,0 @@ -# Generated by Django 5.1.10 on 2025-07-13 13:22 - -import access.models.tenancy_abstract -import django.db.models.deletion -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("access", "0021_roleaudithistory_rolecenturionmodelnote"), - ("core", "0033_alter_ticketcommentcategory_parent_and_more"), - ] - - operations = [ - migrations.AlterField( - model_name="ticketbase", - name="id", - field=models.AutoField( - help_text="ID of the item", - primary_key=True, - serialize=False, - unique=True, - verbose_name="ID", - ), - ), - migrations.AlterField( - model_name="ticketbase", - name="organization", - field=models.ForeignKey( - help_text="Tenant this belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="+", - to="access.tenant", - validators=[ - access.models.tenancy_abstract.TenancyAbstractModel.validatate_organization_exists - ], - verbose_name="Tenant", - ), - ), - ] diff --git a/app/core/migrations/0035_alter_ticketcommentbase_id_and_more.py b/app/core/migrations/0035_alter_ticketcommentbase_id_and_more.py deleted file mode 100644 index 179136ac..00000000 --- a/app/core/migrations/0035_alter_ticketcommentbase_id_and_more.py +++ /dev/null @@ -1,41 +0,0 @@ -# Generated by Django 5.1.10 on 2025-07-13 13:28 - -import access.models.tenancy_abstract -import django.db.models.deletion -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("access", "0021_roleaudithistory_rolecenturionmodelnote"), - ("core", "0034_alter_ticketbase_id_alter_ticketbase_organization"), - ] - - operations = [ - migrations.AlterField( - model_name="ticketcommentbase", - name="id", - field=models.AutoField( - help_text="ID of the item", - primary_key=True, - serialize=False, - unique=True, - verbose_name="ID", - ), - ), - migrations.AlterField( - model_name="ticketcommentbase", - name="organization", - field=models.ForeignKey( - help_text="Tenant this belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="+", - to="access.tenant", - validators=[ - access.models.tenancy_abstract.TenancyAbstractModel.validatate_organization_exists - ], - verbose_name="Tenant", - ), - ), - ] diff --git a/app/core/migrations/0036_alter_ticketbase_external_ref_and_more.py b/app/core/migrations/0036_alter_ticketbase_external_ref_and_more.py deleted file mode 100644 index fef15f06..00000000 --- a/app/core/migrations/0036_alter_ticketbase_external_ref_and_more.py +++ /dev/null @@ -1,46 +0,0 @@ -# Generated by Django 5.1.10 on 2025-07-14 16:20 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("core", "0035_alter_ticketcommentbase_id_and_more"), - ] - - operations = [ - migrations.AlterField( - model_name="ticketbase", - name="external_ref", - field=models.IntegerField( - blank=True, - help_text="External System reference", - null=True, - verbose_name="Reference Number", - ), - ), - migrations.AlterField( - model_name="ticketbase", - name="external_system", - field=models.IntegerField( - blank=True, - choices=[ - (1, "Github"), - (2, "Gitlab"), - (9999, "Custom #1 (Imported)"), - (9998, "Custom #2 (Imported)"), - (9997, "Custom #3 (Imported)"), - (9996, "Custom #4 (Imported)"), - (9995, "Custom #5 (Imported)"), - (9994, "Custom #6 (Imported)"), - (9993, "Custom #7 (Imported)"), - (9992, "Custom #8 (Imported)"), - (9991, "Custom #9 (Imported)"), - ], - help_text="External system this item derives", - null=True, - verbose_name="External System", - ), - ), - ] diff --git a/app/core/migrations/0037_alter_centurionmodelnote_content_type_and_more.py b/app/core/migrations/0037_alter_centurionmodelnote_content_type_and_more.py deleted file mode 100644 index 00e73c49..00000000 --- a/app/core/migrations/0037_alter_centurionmodelnote_content_type_and_more.py +++ /dev/null @@ -1,42 +0,0 @@ -# Generated by Django 5.1.10 on 2025-07-23 00:04 - -import django.db.models.deletion -from django.conf import settings -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("contenttypes", "0002_remove_content_type_name"), - ("core", "0036_alter_ticketbase_external_ref_and_more"), - migrations.swappable_dependency(settings.AUTH_USER_MODEL), - ] - - operations = [ - migrations.AlterField( - model_name="centurionmodelnote", - name="content_type", - field=models.ForeignKey( - blank=True, - help_text="Model this note is for", - null=True, - on_delete=django.db.models.deletion.CASCADE, - to="contenttypes.contenttype", - verbose_name="Content Model", - ), - ), - migrations.AlterField( - model_name="centurionmodelnote", - name="created_by", - field=models.ForeignKey( - blank=True, - help_text="User whom added the Note", - null=True, - on_delete=django.db.models.deletion.PROTECT, - related_name="+", - to=settings.AUTH_USER_MODEL, - verbose_name="Created By", - ), - ), - ] diff --git a/app/devops/migrations/0013_alter_checkin_id_alter_checkin_organization_and_more.py b/app/devops/migrations/0013_alter_checkin_id_alter_checkin_organization_and_more.py new file mode 100644 index 00000000..bf19d5c3 --- /dev/null +++ b/app/devops/migrations/0013_alter_checkin_id_alter_checkin_organization_and_more.py @@ -0,0 +1,526 @@ +# Generated by Django 5.1.10 on 2025-08-15 03:21 + +import access.models.tenancy_abstract +import django.db.models.deletion +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ("access", "0011_remove_entitynotes_model_and_more"), + ("core", "0024_centurionaudit_centurionmodelnote_and_more"), + ("devops", "0012_alter_checkin_organization_and_more"), + ] + + operations = [ + migrations.AlterField( + model_name="checkin", + name="id", + field=models.AutoField( + help_text="ID of the item", + primary_key=True, + serialize=False, + unique=True, + verbose_name="ID", + ), + ), + migrations.AlterField( + model_name="checkin", + name="organization", + field=models.ForeignKey( + help_text="Tenant this belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="+", + to="access.tenant", + validators=[ + access.models.tenancy_abstract.TenancyAbstractModel.validatate_organization_exists + ], + verbose_name="Tenant", + ), + ), + migrations.AlterField( + model_name="featureflag", + name="description", + field=models.TextField( + blank=True, + help_text="Description of this feature", + max_length=300, + null=True, + verbose_name="Description", + ), + ), + migrations.AlterField( + model_name="featureflag", + name="id", + field=models.AutoField( + help_text="ID of the item", + primary_key=True, + serialize=False, + unique=True, + verbose_name="ID", + ), + ), + migrations.AlterField( + model_name="featureflag", + name="model_notes", + field=models.TextField( + blank=True, + help_text="Tid bits of information", + null=True, + verbose_name="Notes", + ), + ), + migrations.AlterField( + model_name="featureflag", + name="organization", + field=models.ForeignKey( + help_text="Tenant this belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="+", + to="access.tenant", + validators=[ + access.models.tenancy_abstract.TenancyAbstractModel.validatate_organization_exists + ], + verbose_name="Tenant", + ), + ), + migrations.AlterField( + model_name="gitgroup", + name="id", + field=models.AutoField( + help_text="ID of the item", + primary_key=True, + serialize=False, + unique=True, + verbose_name="ID", + ), + ), + migrations.AlterField( + model_name="gitgroup", + name="model_notes", + field=models.TextField( + blank=True, + help_text="Tid bits of information", + null=True, + verbose_name="Notes", + ), + ), + migrations.AlterField( + model_name="gitgroup", + name="organization", + field=models.ForeignKey( + help_text="Tenant this belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="+", + to="access.tenant", + validators=[ + access.models.tenancy_abstract.TenancyAbstractModel.validatate_organization_exists + ], + verbose_name="Tenant", + ), + ), + migrations.AlterField( + model_name="gitgroup", + name="parent_group", + field=models.ForeignKey( + blank=True, + help_text="Parent Git Group this repository belongs to.", + null=True, + on_delete=django.db.models.deletion.PROTECT, + related_name="+", + to="devops.gitgroup", + verbose_name="Parent Group", + ), + ), + migrations.AlterField( + model_name="gitrepository", + name="id", + field=models.AutoField( + help_text="ID of the item", + primary_key=True, + serialize=False, + unique=True, + verbose_name="ID", + ), + ), + migrations.AlterField( + model_name="gitrepository", + name="model_notes", + field=models.TextField( + blank=True, + help_text="Tid bits of information", + null=True, + verbose_name="Notes", + ), + ), + migrations.AlterField( + model_name="gitrepository", + name="organization", + field=models.ForeignKey( + help_text="Tenant this belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="+", + to="access.tenant", + validators=[ + access.models.tenancy_abstract.TenancyAbstractModel.validatate_organization_exists + ], + verbose_name="Tenant", + ), + ), + migrations.AlterField( + model_name="softwareenablefeatureflag", + name="id", + field=models.AutoField( + help_text="ID of the item", + primary_key=True, + serialize=False, + unique=True, + verbose_name="ID", + ), + ), + migrations.AlterField( + model_name="softwareenablefeatureflag", + name="organization", + field=models.ForeignKey( + help_text="Tenant this belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="+", + to="access.tenant", + validators=[ + access.models.tenancy_abstract.TenancyAbstractModel.validatate_organization_exists + ], + verbose_name="Tenant", + ), + ), + migrations.CreateModel( + name="FeatureFlagAuditHistory", + fields=[ + ( + "centurionaudit_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="core.centurionaudit", + ), + ), + ( + "model", + models.ForeignKey( + help_text="Model this history belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="audit_history", + to="devops.featureflag", + verbose_name="Model", + ), + ), + ], + options={ + "verbose_name": "Feature Flag History", + "verbose_name_plural": "Feature Flag Histories", + "db_table": "devops_featureflag_audithistory", + "managed": True, + }, + bases=("core.centurionaudit",), + ), + migrations.CreateModel( + name="FeatureFlagCenturionModelNote", + fields=[ + ( + "centurionmodelnote_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="core.centurionmodelnote", + ), + ), + ( + "model", + models.ForeignKey( + help_text="Model this note belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="+", + to="devops.featureflag", + verbose_name="Model", + ), + ), + ], + options={ + "verbose_name": "Feature Flag Note", + "verbose_name_plural": "Feature Flag Notes", + "db_table": "devops_featureflag_centurionmodelnote", + "managed": True, + }, + bases=("core.centurionmodelnote",), + ), + migrations.CreateModel( + name="GitGroupAuditHistory", + fields=[ + ( + "centurionaudit_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="core.centurionaudit", + ), + ), + ( + "model", + models.ForeignKey( + help_text="Model this history belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="audit_history", + to="devops.gitgroup", + verbose_name="Model", + ), + ), + ], + options={ + "verbose_name": "GIT Group History", + "verbose_name_plural": "GIT Group Histories", + "db_table": "devops_gitgroup_audithistory", + "managed": True, + }, + bases=("core.centurionaudit",), + ), + migrations.CreateModel( + name="GitGroupCenturionModelNote", + fields=[ + ( + "centurionmodelnote_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="core.centurionmodelnote", + ), + ), + ( + "model", + models.ForeignKey( + help_text="Model this note belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="+", + to="devops.gitgroup", + verbose_name="Model", + ), + ), + ], + options={ + "verbose_name": "GIT Group Note", + "verbose_name_plural": "GIT Group Notes", + "db_table": "devops_gitgroup_centurionmodelnote", + "managed": True, + }, + bases=("core.centurionmodelnote",), + ), + migrations.CreateModel( + name="GitHubRepositoryAuditHistory", + fields=[ + ( + "centurionaudit_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="core.centurionaudit", + ), + ), + ( + "model", + models.ForeignKey( + help_text="Model this history belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="+", + to="devops.githubrepository", + verbose_name="Model", + ), + ), + ], + options={ + "verbose_name": "GitHub Repository History", + "verbose_name_plural": "GitHub Repository Histories", + "db_table": "devops_githubrepository_audithistory", + "managed": True, + }, + bases=("core.centurionaudit",), + ), + migrations.CreateModel( + name="GitHubRepositoryCenturionModelNote", + fields=[ + ( + "centurionmodelnote_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="core.centurionmodelnote", + ), + ), + ( + "model", + models.ForeignKey( + help_text="Model this note belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="+", + to="devops.githubrepository", + verbose_name="Model", + ), + ), + ], + options={ + "verbose_name": "GitHub Repository Note", + "verbose_name_plural": "GitHub Repository Notes", + "db_table": "devops_githubrepository_centurionmodelnote", + "managed": True, + }, + bases=("core.centurionmodelnote",), + ), + migrations.CreateModel( + name="GitLabRepositoryAuditHistory", + fields=[ + ( + "centurionaudit_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="core.centurionaudit", + ), + ), + ( + "model", + models.ForeignKey( + help_text="Model this history belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="+", + to="devops.gitlabrepository", + verbose_name="Model", + ), + ), + ], + options={ + "verbose_name": "GitLab Repository History", + "verbose_name_plural": "GitLab Repository Histories", + "db_table": "devops_gitlabrepository_audithistory", + "managed": True, + }, + bases=("core.centurionaudit",), + ), + migrations.CreateModel( + name="GitLabRepositoryCenturionModelNote", + fields=[ + ( + "centurionmodelnote_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="core.centurionmodelnote", + ), + ), + ( + "model", + models.ForeignKey( + help_text="Model this note belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="+", + to="devops.gitlabrepository", + verbose_name="Model", + ), + ), + ], + options={ + "verbose_name": "GitLab Repository Note", + "verbose_name_plural": "GitLab Repository Notes", + "db_table": "devops_gitlabrepository_centurionmodelnote", + "managed": True, + }, + bases=("core.centurionmodelnote",), + ), + migrations.CreateModel( + name="GitRepositoryAuditHistory", + fields=[ + ( + "centurionaudit_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="core.centurionaudit", + ), + ), + ( + "model", + models.ForeignKey( + help_text="Model this history belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="audit_history", + to="devops.gitrepository", + verbose_name="Model", + ), + ), + ], + options={ + "verbose_name": "GIT Repository History", + "verbose_name_plural": "GIT Repository Histories", + "db_table": "devops_gitrepository_audithistory", + "managed": True, + }, + bases=("core.centurionaudit",), + ), + migrations.CreateModel( + name="GitRepositoryCenturionModelNote", + fields=[ + ( + "centurionmodelnote_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="core.centurionmodelnote", + ), + ), + ( + "model", + models.ForeignKey( + help_text="Model this note belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="+", + to="devops.gitrepository", + verbose_name="Model", + ), + ), + ], + options={ + "verbose_name": "GIT Repository Note", + "verbose_name_plural": "GIT Repository Notes", + "db_table": "devops_gitrepository_centurionmodelnote", + "managed": True, + }, + bases=("core.centurionmodelnote",), + ), + ] diff --git a/app/devops/migrations/0013_alter_gitgroup_id_alter_gitgroup_model_notes_and_more.py b/app/devops/migrations/0013_alter_gitgroup_id_alter_gitgroup_model_notes_and_more.py deleted file mode 100644 index 63bede1e..00000000 --- a/app/devops/migrations/0013_alter_gitgroup_id_alter_gitgroup_model_notes_and_more.py +++ /dev/null @@ -1,46 +0,0 @@ -# Generated by Django 5.1.9 on 2025-05-24 23:48 - -import access.models.tenancy_abstract -import django.db.models.deletion -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('access', '0010_company_alter_entity_entity_type_alter_person_dob_and_more'), - ('core', '0026_remove_centurionaudit_model_notes'), - ('devops', '0012_alter_checkin_organization_and_more'), - ] - - operations = [ - migrations.AlterField( - model_name='gitgroup', - name='id', - field=models.AutoField(help_text='ID of the item', primary_key=True, serialize=False, unique=True, verbose_name='ID'), - ), - migrations.AlterField( - model_name='gitgroup', - name='model_notes', - field=models.TextField(blank=True, help_text='Tid bits of information', null=True, verbose_name='Notes'), - ), - migrations.AlterField( - model_name='gitgroup', - name='organization', - field=models.ForeignKey(help_text='Tenant this belongs to', on_delete=django.db.models.deletion.CASCADE, related_name='+', to='access.tenant', validators=[access.models.tenancy_abstract.TenancyAbstractModel.validatate_organization_exists], verbose_name='Tenant'), - ), - migrations.CreateModel( - name='GitGroupAuditHistory', - fields=[ - ('centurionaudit_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='core.centurionaudit')), - ('model', models.ForeignKey(help_text='Model this history belongs to', on_delete=django.db.models.deletion.CASCADE, related_name='audit_history', to='devops.gitgroup', verbose_name='Model')), - ], - options={ - 'verbose_name': 'GIT Group History', - 'verbose_name_plural': 'GIT Group Histories', - 'db_table': 'devops_gitgroup_audithistory', - 'managed': True, - }, - bases=('core.centurionaudit', models.Model), - ), - ] diff --git a/app/devops/migrations/0014_alter_gitgroup_parent_group.py b/app/devops/migrations/0014_alter_gitgroup_parent_group.py deleted file mode 100644 index 3bfe6492..00000000 --- a/app/devops/migrations/0014_alter_gitgroup_parent_group.py +++ /dev/null @@ -1,27 +0,0 @@ -# Generated by Django 5.1.9 on 2025-05-29 03:48 - -import django.db.models.deletion -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("devops", "0013_alter_gitgroup_id_alter_gitgroup_model_notes_and_more"), - ] - - operations = [ - migrations.AlterField( - model_name="gitgroup", - name="parent_group", - field=models.ForeignKey( - blank=True, - help_text="Parent Git Group this repository belongs to.", - null=True, - on_delete=django.db.models.deletion.PROTECT, - related_name="+", - to="devops.gitgroup", - verbose_name="Parent Group", - ), - ), - ] diff --git a/app/devops/migrations/0015_gitgroupcenturionmodelnote.py b/app/devops/migrations/0015_gitgroupcenturionmodelnote.py deleted file mode 100644 index 2ae44424..00000000 --- a/app/devops/migrations/0015_gitgroupcenturionmodelnote.py +++ /dev/null @@ -1,48 +0,0 @@ -# Generated by Django 5.1.9 on 2025-05-29 19:49 - -import django.db.models.deletion -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("core", "0027_centurionmodelnote"), - ("devops", "0014_alter_gitgroup_parent_group"), - ] - - operations = [ - migrations.CreateModel( - name="GitGroupCenturionModelNote", - fields=[ - ( - "centurionmodelnote_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="core.centurionmodelnote", - ), - ), - ( - "model", - models.ForeignKey( - help_text="Model this note belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="+", - to="devops.gitgroup", - verbose_name="Model", - ), - ), - ], - options={ - "verbose_name": "GIT Group Note", - "verbose_name_plural": "GIT Group Notes", - "db_table": "devops_gitgroup_centurionmodelnote", - "managed": True, - }, - bases=("core.centurionmodelnote", models.Model), - ), - ] diff --git a/app/devops/migrations/0016_alter_featureflag_description_alter_featureflag_id_and_more.py b/app/devops/migrations/0016_alter_featureflag_description_alter_featureflag_id_and_more.py deleted file mode 100644 index 799bf493..00000000 --- a/app/devops/migrations/0016_alter_featureflag_description_alter_featureflag_id_and_more.py +++ /dev/null @@ -1,129 +0,0 @@ -# Generated by Django 5.1.9 on 2025-05-30 19:28 - -import access.models.tenancy_abstract -import django.db.models.deletion -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("access", "0010_company_alter_entity_entity_type_alter_person_dob_and_more"), - ("core", "0027_centurionmodelnote"), - ("devops", "0015_gitgroupcenturionmodelnote"), - ] - - operations = [ - migrations.AlterField( - model_name="featureflag", - name="description", - field=models.TextField( - blank=True, - help_text="Description of this feature", - max_length=300, - null=True, - verbose_name="Description", - ), - ), - migrations.AlterField( - model_name="featureflag", - name="id", - field=models.AutoField( - help_text="ID of the item", - primary_key=True, - serialize=False, - unique=True, - verbose_name="ID", - ), - ), - migrations.AlterField( - model_name="featureflag", - name="model_notes", - field=models.TextField( - blank=True, - help_text="Tid bits of information", - null=True, - verbose_name="Notes", - ), - ), - migrations.AlterField( - model_name="featureflag", - name="organization", - field=models.ForeignKey( - help_text="Tenant this belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="+", - to="access.tenant", - validators=[ - access.models.tenancy_abstract.TenancyAbstractModel.validatate_organization_exists - ], - verbose_name="Tenant", - ), - ), - migrations.CreateModel( - name="FeatureFlagAuditHistory", - fields=[ - ( - "centurionaudit_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="core.centurionaudit", - ), - ), - ( - "model", - models.ForeignKey( - help_text="Model this history belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="audit_history", - to="devops.featureflag", - verbose_name="Model", - ), - ), - ], - options={ - "verbose_name": "Feature Flag History", - "verbose_name_plural": "Feature Flag Histories", - "db_table": "devops_featureflag_audithistory", - "managed": True, - }, - bases=("core.centurionaudit", models.Model), - ), - migrations.CreateModel( - name="FeatureFlagCenturionModelNote", - fields=[ - ( - "centurionmodelnote_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="core.centurionmodelnote", - ), - ), - ( - "model", - models.ForeignKey( - help_text="Model this note belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="+", - to="devops.featureflag", - verbose_name="Model", - ), - ), - ], - options={ - "verbose_name": "Feature Flag Note", - "verbose_name_plural": "Feature Flag Notes", - "db_table": "devops_featureflag_centurionmodelnote", - "managed": True, - }, - bases=("core.centurionmodelnote", models.Model), - ), - ] diff --git a/app/devops/migrations/0017_alter_checkin_id_alter_checkin_organization.py b/app/devops/migrations/0017_alter_checkin_id_alter_checkin_organization.py deleted file mode 100644 index 0fed95d7..00000000 --- a/app/devops/migrations/0017_alter_checkin_id_alter_checkin_organization.py +++ /dev/null @@ -1,41 +0,0 @@ -# Generated by Django 5.1.9 on 2025-06-09 01:01 - -import access.models.tenancy_abstract -import django.db.models.deletion -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("access", "0016_remove_tenant_slug_alter_tenant_manager_and_more"), - ("devops", "0016_alter_featureflag_description_alter_featureflag_id_and_more"), - ] - - operations = [ - migrations.AlterField( - model_name="checkin", - name="id", - field=models.AutoField( - help_text="ID of the item", - primary_key=True, - serialize=False, - unique=True, - verbose_name="ID", - ), - ), - migrations.AlterField( - model_name="checkin", - name="organization", - field=models.ForeignKey( - help_text="Tenant this belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="+", - to="access.tenant", - validators=[ - access.models.tenancy_abstract.TenancyAbstractModel.validatate_organization_exists - ], - verbose_name="Tenant", - ), - ), - ] diff --git a/app/devops/migrations/0018_gitrepositoryaudithistory_and_more.py b/app/devops/migrations/0018_gitrepositoryaudithistory_and_more.py deleted file mode 100644 index b3be54ac..00000000 --- a/app/devops/migrations/0018_gitrepositoryaudithistory_and_more.py +++ /dev/null @@ -1,118 +0,0 @@ -# Generated by Django 5.1.9 on 2025-06-09 07:20 - -import access.models.tenancy_abstract -import django.db.models.deletion -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("access", "0016_remove_tenant_slug_alter_tenant_manager_and_more"), - ("core", "0033_alter_ticketcommentcategory_parent_and_more"), - ("devops", "0017_alter_checkin_id_alter_checkin_organization"), - ] - - operations = [ - migrations.AlterField( - model_name="gitrepository", - name="id", - field=models.AutoField( - help_text="ID of the item", - primary_key=True, - serialize=False, - unique=True, - verbose_name="ID", - ), - ), - migrations.AlterField( - model_name="gitrepository", - name="model_notes", - field=models.TextField( - blank=True, - help_text="Tid bits of information", - null=True, - verbose_name="Notes", - ), - ), - migrations.AlterField( - model_name="gitrepository", - name="organization", - field=models.ForeignKey( - help_text="Tenant this belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="+", - to="access.tenant", - validators=[ - access.models.tenancy_abstract.TenancyAbstractModel.validatate_organization_exists - ], - verbose_name="Tenant", - ), - ), - migrations.CreateModel( - name="GitRepositoryAuditHistory", - fields=[ - ( - "centurionaudit_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="core.centurionaudit", - ), - ), - ( - "model", - models.ForeignKey( - help_text="Model this history belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="audit_history", - to="devops.gitrepository", - verbose_name="Model", - ), - ), - ], - options={ - "verbose_name": "GIT Repository History", - "verbose_name_plural": "GIT Repository Histories", - "db_table": "devops_gitrepository_audithistory", - "managed": True, - }, - bases=("core.centurionaudit",), - ), - migrations.CreateModel( - name="GitRepositoryCenturionModelNote", - fields=[ - ( - "centurionmodelnote_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="core.centurionmodelnote", - ), - ), - ( - "model", - models.ForeignKey( - help_text="Model this note belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="+", - to="devops.gitrepository", - verbose_name="Model", - ), - ), - ], - options={ - "verbose_name": "GIT Repository Note", - "verbose_name_plural": "GIT Repository Notes", - "db_table": "devops_gitrepository_centurionmodelnote", - "managed": True, - }, - bases=("core.centurionmodelnote",), - ), - ] diff --git a/app/devops/migrations/0019_githubrepositoryaudithistory_and_more.py b/app/devops/migrations/0019_githubrepositoryaudithistory_and_more.py deleted file mode 100644 index 15541ffe..00000000 --- a/app/devops/migrations/0019_githubrepositoryaudithistory_and_more.py +++ /dev/null @@ -1,81 +0,0 @@ -# Generated by Django 5.1.9 on 2025-06-09 07:21 - -import django.db.models.deletion -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("core", "0033_alter_ticketcommentcategory_parent_and_more"), - ("devops", "0018_gitrepositoryaudithistory_and_more"), - ] - - operations = [ - migrations.CreateModel( - name="GitHubRepositoryAuditHistory", - fields=[ - ( - "centurionaudit_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="core.centurionaudit", - ), - ), - ( - "model", - models.ForeignKey( - help_text="Model this history belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="+", - to="devops.githubrepository", - verbose_name="Model", - ), - ), - ], - options={ - "verbose_name": "GitHub Repository History", - "verbose_name_plural": "GitHub Repository Histories", - "db_table": "devops_githubrepository_audithistory", - "managed": True, - }, - bases=("core.centurionaudit",), - ), - migrations.CreateModel( - name="GitHubRepositoryCenturionModelNote", - fields=[ - ( - "centurionmodelnote_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="core.centurionmodelnote", - ), - ), - ( - "model", - models.ForeignKey( - help_text="Model this note belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="+", - to="devops.githubrepository", - verbose_name="Model", - ), - ), - ], - options={ - "verbose_name": "GitHub Repository Note", - "verbose_name_plural": "GitHub Repository Notes", - "db_table": "devops_githubrepository_centurionmodelnote", - "managed": True, - }, - bases=("core.centurionmodelnote",), - ) - ] diff --git a/app/devops/migrations/0020_gitlabrepositoryaudithistory_and_more.py b/app/devops/migrations/0020_gitlabrepositoryaudithistory_and_more.py deleted file mode 100644 index 63d53a58..00000000 --- a/app/devops/migrations/0020_gitlabrepositoryaudithistory_and_more.py +++ /dev/null @@ -1,81 +0,0 @@ -# Generated by Django 5.1.9 on 2025-06-09 07:25 - -import django.db.models.deletion -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("core", "0033_alter_ticketcommentcategory_parent_and_more"), - ("devops", "0019_githubrepositoryaudithistory_and_more"), - ] - - operations = [ - migrations.CreateModel( - name="GitLabRepositoryAuditHistory", - fields=[ - ( - "centurionaudit_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="core.centurionaudit", - ), - ), - ( - "model", - models.ForeignKey( - help_text="Model this history belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="+", - to="devops.gitlabrepository", - verbose_name="Model", - ), - ), - ], - options={ - "verbose_name": "GitLab Repository History", - "verbose_name_plural": "GitLab Repository Histories", - "db_table": "devops_gitlabrepository_audithistory", - "managed": True, - }, - bases=("core.centurionaudit",), - ), - migrations.CreateModel( - name="GitLabRepositoryCenturionModelNote", - fields=[ - ( - "centurionmodelnote_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="core.centurionmodelnote", - ), - ), - ( - "model", - models.ForeignKey( - help_text="Model this note belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="+", - to="devops.gitlabrepository", - verbose_name="Model", - ), - ), - ], - options={ - "verbose_name": "GitLab Repository Note", - "verbose_name_plural": "GitLab Repository Notes", - "db_table": "devops_gitlabrepository_centurionmodelnote", - "managed": True, - }, - bases=("core.centurionmodelnote",), - ), - ] diff --git a/app/devops/migrations/0021_alter_softwareenablefeatureflag_id_and_more.py b/app/devops/migrations/0021_alter_softwareenablefeatureflag_id_and_more.py deleted file mode 100644 index 971861ea..00000000 --- a/app/devops/migrations/0021_alter_softwareenablefeatureflag_id_and_more.py +++ /dev/null @@ -1,41 +0,0 @@ -# Generated by Django 5.1.9 on 2025-06-11 05:39 - -import access.models.tenancy_abstract -import django.db.models.deletion -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("access", "0016_remove_tenant_slug_alter_tenant_manager_and_more"), - ("devops", "0020_gitlabrepositoryaudithistory_and_more"), - ] - - operations = [ - migrations.AlterField( - model_name="softwareenablefeatureflag", - name="id", - field=models.AutoField( - help_text="ID of the item", - primary_key=True, - serialize=False, - unique=True, - verbose_name="ID", - ), - ), - migrations.AlterField( - model_name="softwareenablefeatureflag", - name="organization", - field=models.ForeignKey( - help_text="Tenant this belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="+", - to="access.tenant", - validators=[ - access.models.tenancy_abstract.TenancyAbstractModel.validatate_organization_exists - ], - verbose_name="Tenant", - ), - ), - ] diff --git a/app/human_resources/migrations/0002_employeeaudithistory_employeecenturionmodelnote.py b/app/human_resources/migrations/0002_employeeaudithistory_employeecenturionmodelnote.py index 80b20860..4ae20527 100644 --- a/app/human_resources/migrations/0002_employeeaudithistory_employeecenturionmodelnote.py +++ b/app/human_resources/migrations/0002_employeeaudithistory_employeecenturionmodelnote.py @@ -1,4 +1,4 @@ -# Generated by Django 5.1.9 on 2025-06-17 07:32 +# Generated by Django 5.1.10 on 2025-08-15 03:21 import django.db.models.deletion from django.db import migrations, models @@ -7,7 +7,7 @@ from django.db import migrations, models class Migration(migrations.Migration): dependencies = [ - ("core", "0033_alter_ticketcommentcategory_parent_and_more"), + ("core", "0024_centurionaudit_centurionmodelnote_and_more"), ("human_resources", "0001_initial"), ] diff --git a/app/itam/migrations/0012_remove_device_is_global_remove_device_slug_and_more.py b/app/itam/migrations/0012_remove_device_is_global_remove_device_slug_and_more.py new file mode 100644 index 00000000..549a3987 --- /dev/null +++ b/app/itam/migrations/0012_remove_device_is_global_remove_device_slug_and_more.py @@ -0,0 +1,1209 @@ +# Generated by Django 5.1.10 on 2025-08-15 03:21 + +import access.models.tenancy_abstract +import django.db.models.deletion +import itam.models.device +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ("access", "0011_remove_entitynotes_model_and_more"), + ("core", "0024_centurionaudit_centurionmodelnote_and_more"), + ("itam", "0011_itamassetbase_alter_device_organization_and_more"), + ] + + operations = [ + migrations.RemoveField( + model_name="device", + name="is_global", + ), + migrations.RemoveField( + model_name="device", + name="slug", + ), + migrations.RemoveField( + model_name="devicemodel", + name="is_global", + ), + migrations.RemoveField( + model_name="devicemodel", + name="slug", + ), + migrations.RemoveField( + model_name="deviceoperatingsystem", + name="is_global", + ), + migrations.RemoveField( + model_name="deviceoperatingsystem", + name="model_notes", + ), + migrations.RemoveField( + model_name="devicesoftware", + name="is_global", + ), + migrations.RemoveField( + model_name="devicetype", + name="is_global", + ), + migrations.RemoveField( + model_name="devicetype", + name="slug", + ), + migrations.RemoveField( + model_name="operatingsystem", + name="is_global", + ), + migrations.RemoveField( + model_name="operatingsystem", + name="slug", + ), + migrations.RemoveField( + model_name="operatingsystemversion", + name="is_global", + ), + migrations.RemoveField( + model_name="software", + name="is_global", + ), + migrations.RemoveField( + model_name="software", + name="slug", + ), + migrations.RemoveField( + model_name="softwarecategory", + name="is_global", + ), + migrations.RemoveField( + model_name="softwarecategory", + name="slug", + ), + migrations.RemoveField( + model_name="softwareversion", + name="is_global", + ), + migrations.RemoveField( + model_name="softwareversion", + name="slug", + ), + migrations.AlterField( + model_name="device", + name="config", + field=models.JSONField( + blank=True, + help_text="Configuration for this device", + null=True, + validators=[ + itam.models.device.Device.validate_config_keys_not_reserved + ], + verbose_name="Host Configuration", + ), + ), + migrations.AlterField( + model_name="device", + name="device_model", + field=models.ForeignKey( + blank=True, + help_text="Model of the device.", + null=True, + on_delete=django.db.models.deletion.PROTECT, + to="itam.devicemodel", + verbose_name="Model", + ), + ), + migrations.AlterField( + model_name="device", + name="device_type", + field=models.ForeignKey( + blank=True, + help_text="Type of device.", + null=True, + on_delete=django.db.models.deletion.PROTECT, + to="itam.devicetype", + verbose_name="Type", + ), + ), + migrations.AlterField( + model_name="device", + name="id", + field=models.AutoField( + help_text="ID of the item", + primary_key=True, + serialize=False, + unique=True, + verbose_name="ID", + ), + ), + migrations.AlterField( + model_name="device", + name="model_notes", + field=models.TextField( + blank=True, + help_text="Tid bits of information", + null=True, + verbose_name="Notes", + ), + ), + migrations.AlterField( + model_name="device", + name="organization", + field=models.ForeignKey( + help_text="Tenant this belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="+", + to="access.tenant", + validators=[ + access.models.tenancy_abstract.TenancyAbstractModel.validatate_organization_exists + ], + verbose_name="Tenant", + ), + ), + migrations.AlterField( + model_name="device", + name="serial_number", + field=models.CharField( + blank=True, + help_text="Serial number of the device.", + max_length=50, + null=True, + unique=True, + verbose_name="Serial Number", + ), + ), + migrations.AlterField( + model_name="device", + name="uuid", + field=models.UUIDField( + blank=True, + help_text="System GUID/UUID.", + null=True, + unique=True, + validators=[itam.models.device.Device.validate_uuid_format], + verbose_name="UUID", + ), + ), + migrations.AlterField( + model_name="devicemodel", + name="id", + field=models.AutoField( + help_text="ID of the item", + primary_key=True, + serialize=False, + unique=True, + verbose_name="ID", + ), + ), + migrations.AlterField( + model_name="devicemodel", + name="manufacturer", + field=models.ForeignKey( + blank=True, + help_text="Manufacturer this model is from", + null=True, + on_delete=django.db.models.deletion.PROTECT, + to="core.manufacturer", + verbose_name="Manufacturer", + ), + ), + migrations.AlterField( + model_name="devicemodel", + name="model_notes", + field=models.TextField( + blank=True, + help_text="Tid bits of information", + null=True, + verbose_name="Notes", + ), + ), + migrations.AlterField( + model_name="devicemodel", + name="organization", + field=models.ForeignKey( + help_text="Tenant this belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="+", + to="access.tenant", + validators=[ + access.models.tenancy_abstract.TenancyAbstractModel.validatate_organization_exists + ], + verbose_name="Tenant", + ), + ), + migrations.AlterField( + model_name="deviceoperatingsystem", + name="id", + field=models.AutoField( + help_text="ID of the item", + primary_key=True, + serialize=False, + unique=True, + verbose_name="ID", + ), + ), + migrations.AlterField( + model_name="deviceoperatingsystem", + name="installdate", + field=models.DateTimeField( + blank=True, + help_text="Date and time detected as installed", + null=True, + verbose_name="Install Date", + ), + ), + migrations.AlterField( + model_name="deviceoperatingsystem", + name="operating_system_version", + field=models.ForeignKey( + help_text="Operating system version", + on_delete=django.db.models.deletion.PROTECT, + to="itam.operatingsystemversion", + verbose_name="Operating System/Version", + ), + ), + migrations.AlterField( + model_name="deviceoperatingsystem", + name="organization", + field=models.ForeignKey( + help_text="Tenant this belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="+", + to="access.tenant", + validators=[ + access.models.tenancy_abstract.TenancyAbstractModel.validatate_organization_exists + ], + verbose_name="Tenant", + ), + ), + migrations.AlterField( + model_name="devicesoftware", + name="action", + field=models.IntegerField( + blank=True, + choices=[(1, "Install"), (0, "Remove")], + help_text="Action to perform", + null=True, + verbose_name="Action", + ), + ), + migrations.AlterField( + model_name="devicesoftware", + name="id", + field=models.AutoField( + help_text="ID of the item", + primary_key=True, + serialize=False, + unique=True, + verbose_name="ID", + ), + ), + migrations.AlterField( + model_name="devicesoftware", + name="installedversion", + field=models.ForeignKey( + blank=True, + help_text="Version that is installed", + null=True, + on_delete=django.db.models.deletion.PROTECT, + related_name="installedversion", + to="itam.softwareversion", + verbose_name="Installed Version", + ), + ), + migrations.AlterField( + model_name="devicesoftware", + name="model_notes", + field=models.TextField( + blank=True, + help_text="Tid bits of information", + null=True, + verbose_name="Notes", + ), + ), + migrations.AlterField( + model_name="devicesoftware", + name="organization", + field=models.ForeignKey( + help_text="Tenant this belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="+", + to="access.tenant", + validators=[ + access.models.tenancy_abstract.TenancyAbstractModel.validatate_organization_exists + ], + verbose_name="Tenant", + ), + ), + migrations.AlterField( + model_name="devicesoftware", + name="software", + field=models.ForeignKey( + help_text="Software Name", + on_delete=django.db.models.deletion.PROTECT, + to="itam.software", + verbose_name="Software", + ), + ), + migrations.AlterField( + model_name="devicesoftware", + name="version", + field=models.ForeignKey( + blank=True, + help_text="Version to install", + null=True, + on_delete=django.db.models.deletion.PROTECT, + to="itam.softwareversion", + verbose_name="Desired Version", + ), + ), + migrations.AlterField( + model_name="devicetype", + name="id", + field=models.AutoField( + help_text="ID of the item", + primary_key=True, + serialize=False, + unique=True, + verbose_name="ID", + ), + ), + migrations.AlterField( + model_name="devicetype", + name="model_notes", + field=models.TextField( + blank=True, + help_text="Tid bits of information", + null=True, + verbose_name="Notes", + ), + ), + migrations.AlterField( + model_name="devicetype", + name="organization", + field=models.ForeignKey( + help_text="Tenant this belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="+", + to="access.tenant", + validators=[ + access.models.tenancy_abstract.TenancyAbstractModel.validatate_organization_exists + ], + verbose_name="Tenant", + ), + ), + migrations.AlterField( + model_name="operatingsystem", + name="id", + field=models.AutoField( + help_text="ID of the item", + primary_key=True, + serialize=False, + unique=True, + verbose_name="ID", + ), + ), + migrations.AlterField( + model_name="operatingsystem", + name="model_notes", + field=models.TextField( + blank=True, + help_text="Tid bits of information", + null=True, + verbose_name="Notes", + ), + ), + migrations.AlterField( + model_name="operatingsystem", + name="organization", + field=models.ForeignKey( + help_text="Tenant this belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="+", + to="access.tenant", + validators=[ + access.models.tenancy_abstract.TenancyAbstractModel.validatate_organization_exists + ], + verbose_name="Tenant", + ), + ), + migrations.AlterField( + model_name="operatingsystem", + name="publisher", + field=models.ForeignKey( + blank=True, + help_text="Who publishes this Operating System", + null=True, + on_delete=django.db.models.deletion.PROTECT, + to="core.manufacturer", + verbose_name="Publisher", + ), + ), + migrations.AlterField( + model_name="operatingsystemversion", + name="id", + field=models.AutoField( + help_text="ID of the item", + primary_key=True, + serialize=False, + unique=True, + verbose_name="ID", + ), + ), + migrations.AlterField( + model_name="operatingsystemversion", + name="model_notes", + field=models.TextField( + blank=True, + help_text="Tid bits of information", + null=True, + verbose_name="Notes", + ), + ), + migrations.AlterField( + model_name="operatingsystemversion", + name="operating_system", + field=models.ForeignKey( + help_text="Operating system this version applies to", + on_delete=django.db.models.deletion.PROTECT, + to="itam.operatingsystem", + verbose_name="Operating System", + ), + ), + migrations.AlterField( + model_name="operatingsystemversion", + name="organization", + field=models.ForeignKey( + help_text="Tenant this belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="+", + to="access.tenant", + validators=[ + access.models.tenancy_abstract.TenancyAbstractModel.validatate_organization_exists + ], + verbose_name="Tenant", + ), + ), + migrations.AlterField( + model_name="software", + name="category", + field=models.ForeignKey( + blank=True, + help_text="Category of this Softwarae", + null=True, + on_delete=django.db.models.deletion.PROTECT, + to="itam.softwarecategory", + verbose_name="Category", + ), + ), + migrations.AlterField( + model_name="software", + name="id", + field=models.AutoField( + help_text="ID of the item", + primary_key=True, + serialize=False, + unique=True, + verbose_name="ID", + ), + ), + migrations.AlterField( + model_name="software", + name="model_notes", + field=models.TextField( + blank=True, + help_text="Tid bits of information", + null=True, + verbose_name="Notes", + ), + ), + migrations.AlterField( + model_name="software", + name="organization", + field=models.ForeignKey( + help_text="Tenant this belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="software", + to="access.tenant", + validators=[ + access.models.tenancy_abstract.TenancyAbstractModel.validatate_organization_exists + ], + verbose_name="Tenant", + ), + ), + migrations.AlterField( + model_name="software", + name="publisher", + field=models.ForeignKey( + blank=True, + help_text="Who publishes this software", + null=True, + on_delete=django.db.models.deletion.PROTECT, + to="core.manufacturer", + verbose_name="Publisher", + ), + ), + migrations.AlterField( + model_name="softwarecategory", + name="id", + field=models.AutoField( + help_text="ID of the item", + primary_key=True, + serialize=False, + unique=True, + verbose_name="ID", + ), + ), + migrations.AlterField( + model_name="softwarecategory", + name="model_notes", + field=models.TextField( + blank=True, + help_text="Tid bits of information", + null=True, + verbose_name="Notes", + ), + ), + migrations.AlterField( + model_name="softwarecategory", + name="organization", + field=models.ForeignKey( + help_text="Tenant this belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="+", + to="access.tenant", + validators=[ + access.models.tenancy_abstract.TenancyAbstractModel.validatate_organization_exists + ], + verbose_name="Tenant", + ), + ), + migrations.AlterField( + model_name="softwareversion", + name="id", + field=models.AutoField( + help_text="ID of the item", + primary_key=True, + serialize=False, + unique=True, + verbose_name="ID", + ), + ), + migrations.AlterField( + model_name="softwareversion", + name="model_notes", + field=models.TextField( + blank=True, + help_text="Tid bits of information", + null=True, + verbose_name="Notes", + ), + ), + migrations.AlterField( + model_name="softwareversion", + name="organization", + field=models.ForeignKey( + help_text="Tenant this belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="+", + to="access.tenant", + validators=[ + access.models.tenancy_abstract.TenancyAbstractModel.validatate_organization_exists + ], + verbose_name="Tenant", + ), + ), + migrations.CreateModel( + name="DeviceAuditHistory", + fields=[ + ( + "centurionaudit_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="core.centurionaudit", + ), + ), + ( + "model", + models.ForeignKey( + help_text="Model this history belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="audit_history", + to="itam.device", + verbose_name="Model", + ), + ), + ], + options={ + "verbose_name": "Device History", + "verbose_name_plural": "Device Histories", + "db_table": "itam_device_audithistory", + "managed": True, + }, + bases=("core.centurionaudit",), + ), + migrations.CreateModel( + name="DeviceCenturionModelNote", + fields=[ + ( + "centurionmodelnote_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="core.centurionmodelnote", + ), + ), + ( + "model", + models.ForeignKey( + help_text="Model this note belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="+", + to="itam.device", + verbose_name="Model", + ), + ), + ], + options={ + "verbose_name": "Device Note", + "verbose_name_plural": "Device Notes", + "db_table": "itam_device_centurionmodelnote", + "managed": True, + }, + bases=("core.centurionmodelnote",), + ), + migrations.CreateModel( + name="DeviceModelAuditHistory", + fields=[ + ( + "centurionaudit_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="core.centurionaudit", + ), + ), + ( + "model", + models.ForeignKey( + help_text="Model this history belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="audit_history", + to="itam.devicemodel", + verbose_name="Model", + ), + ), + ], + options={ + "verbose_name": "Device Model History", + "verbose_name_plural": "Device Model Histories", + "db_table": "itam_devicemodel_audithistory", + "managed": True, + }, + bases=("core.centurionaudit",), + ), + migrations.CreateModel( + name="DeviceModelCenturionModelNote", + fields=[ + ( + "centurionmodelnote_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="core.centurionmodelnote", + ), + ), + ( + "model", + models.ForeignKey( + help_text="Model this note belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="+", + to="itam.devicemodel", + verbose_name="Model", + ), + ), + ], + options={ + "verbose_name": "Device Model Note", + "verbose_name_plural": "Device Model Notes", + "db_table": "itam_devicemodel_centurionmodelnote", + "managed": True, + }, + bases=("core.centurionmodelnote",), + ), + migrations.CreateModel( + name="DeviceTypeAuditHistory", + fields=[ + ( + "centurionaudit_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="core.centurionaudit", + ), + ), + ( + "model", + models.ForeignKey( + help_text="Model this history belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="audit_history", + to="itam.devicetype", + verbose_name="Model", + ), + ), + ], + options={ + "verbose_name": "Device Type History", + "verbose_name_plural": "Device Type Histories", + "db_table": "itam_devicetype_audithistory", + "managed": True, + }, + bases=("core.centurionaudit",), + ), + migrations.CreateModel( + name="DeviceTypeCenturionModelNote", + fields=[ + ( + "centurionmodelnote_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="core.centurionmodelnote", + ), + ), + ( + "model", + models.ForeignKey( + help_text="Model this note belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="+", + to="itam.devicetype", + verbose_name="Model", + ), + ), + ], + options={ + "verbose_name": "Device Type Note", + "verbose_name_plural": "Device Type Notes", + "db_table": "itam_devicetype_centurionmodelnote", + "managed": True, + }, + bases=("core.centurionmodelnote",), + ), + migrations.CreateModel( + name="ITAMAssetBaseAuditHistory", + fields=[ + ( + "centurionaudit_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="core.centurionaudit", + ), + ), + ( + "model", + models.ForeignKey( + help_text="Model this history belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="+", + to="itam.itamassetbase", + verbose_name="Model", + ), + ), + ], + options={ + "verbose_name": "IT Asset History", + "verbose_name_plural": "IT Asset Histories", + "db_table": "itam_itamassetbase_audithistory", + "managed": True, + }, + bases=("core.centurionaudit",), + ), + migrations.CreateModel( + name="ITAMAssetBaseCenturionModelNote", + fields=[ + ( + "centurionmodelnote_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="core.centurionmodelnote", + ), + ), + ( + "model", + models.ForeignKey( + help_text="Model this note belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="+", + to="itam.itamassetbase", + verbose_name="Model", + ), + ), + ], + options={ + "verbose_name": "IT Asset Note", + "verbose_name_plural": "IT Asset Notes", + "db_table": "itam_itamassetbase_centurionmodelnote", + "managed": True, + }, + bases=("core.centurionmodelnote",), + ), + migrations.CreateModel( + name="OperatingSystemAuditHistory", + fields=[ + ( + "centurionaudit_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="core.centurionaudit", + ), + ), + ( + "model", + models.ForeignKey( + help_text="Model this history belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="audit_history", + to="itam.operatingsystem", + verbose_name="Model", + ), + ), + ], + options={ + "verbose_name": "Operating System History", + "verbose_name_plural": "Operating System Histories", + "db_table": "itam_operatingsystem_audithistory", + "managed": True, + }, + bases=("core.centurionaudit",), + ), + migrations.CreateModel( + name="OperatingSystemCenturionModelNote", + fields=[ + ( + "centurionmodelnote_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="core.centurionmodelnote", + ), + ), + ( + "model", + models.ForeignKey( + help_text="Model this note belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="+", + to="itam.operatingsystem", + verbose_name="Model", + ), + ), + ], + options={ + "verbose_name": "Operating System Note", + "verbose_name_plural": "Operating System Notes", + "db_table": "itam_operatingsystem_centurionmodelnote", + "managed": True, + }, + bases=("core.centurionmodelnote",), + ), + migrations.CreateModel( + name="OperatingSystemVersionAuditHistory", + fields=[ + ( + "centurionaudit_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="core.centurionaudit", + ), + ), + ( + "model", + models.ForeignKey( + help_text="Model this history belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="audit_history", + to="itam.operatingsystemversion", + verbose_name="Model", + ), + ), + ], + options={ + "verbose_name": "Operating System Version History", + "verbose_name_plural": "Operating System Version Histories", + "db_table": "itam_operatingsystemversion_audithistory", + "managed": True, + }, + bases=("core.centurionaudit",), + ), + migrations.CreateModel( + name="OperatingSystemVersionCenturionModelNote", + fields=[ + ( + "centurionmodelnote_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="core.centurionmodelnote", + ), + ), + ( + "model", + models.ForeignKey( + help_text="Model this note belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="+", + to="itam.operatingsystemversion", + verbose_name="Model", + ), + ), + ], + options={ + "verbose_name": "Operating System Version Note", + "verbose_name_plural": "Operating System Version Notes", + "db_table": "itam_operatingsystemversion_centurionmodelnote", + "managed": True, + }, + bases=("core.centurionmodelnote",), + ), + migrations.CreateModel( + name="SoftwareAuditHistory", + fields=[ + ( + "centurionaudit_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="core.centurionaudit", + ), + ), + ( + "model", + models.ForeignKey( + help_text="Model this history belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="audit_history", + to="itam.software", + verbose_name="Model", + ), + ), + ], + options={ + "verbose_name": "Software History", + "verbose_name_plural": "Software Histories", + "db_table": "itam_software_audithistory", + "managed": True, + }, + bases=("core.centurionaudit",), + ), + migrations.CreateModel( + name="SoftwareCategoryAuditHistory", + fields=[ + ( + "centurionaudit_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="core.centurionaudit", + ), + ), + ( + "model", + models.ForeignKey( + help_text="Model this history belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="audit_history", + to="itam.softwarecategory", + verbose_name="Model", + ), + ), + ], + options={ + "verbose_name": "Software Category History", + "verbose_name_plural": "Software Category Histories", + "db_table": "itam_softwarecategory_audithistory", + "managed": True, + }, + bases=("core.centurionaudit",), + ), + migrations.CreateModel( + name="SoftwareCategoryCenturionModelNote", + fields=[ + ( + "centurionmodelnote_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="core.centurionmodelnote", + ), + ), + ( + "model", + models.ForeignKey( + help_text="Model this note belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="+", + to="itam.softwarecategory", + verbose_name="Model", + ), + ), + ], + options={ + "verbose_name": "Software Category Note", + "verbose_name_plural": "Software Category Notes", + "db_table": "itam_softwarecategory_centurionmodelnote", + "managed": True, + }, + bases=("core.centurionmodelnote",), + ), + migrations.CreateModel( + name="SoftwareCenturionModelNote", + fields=[ + ( + "centurionmodelnote_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="core.centurionmodelnote", + ), + ), + ( + "model", + models.ForeignKey( + help_text="Model this note belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="+", + to="itam.software", + verbose_name="Model", + ), + ), + ], + options={ + "verbose_name": "Software Note", + "verbose_name_plural": "Software Notes", + "db_table": "itam_software_centurionmodelnote", + "managed": True, + }, + bases=("core.centurionmodelnote",), + ), + migrations.CreateModel( + name="SoftwareVersionAuditHistory", + fields=[ + ( + "centurionaudit_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="core.centurionaudit", + ), + ), + ( + "model", + models.ForeignKey( + help_text="Model this history belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="audit_history", + to="itam.softwareversion", + verbose_name="Model", + ), + ), + ], + options={ + "verbose_name": "Software Version History", + "verbose_name_plural": "Software Version Histories", + "db_table": "itam_softwareversion_audithistory", + "managed": True, + }, + bases=("core.centurionaudit",), + ), + migrations.CreateModel( + name="SoftwareVersionCenturionModelNote", + fields=[ + ( + "centurionmodelnote_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="core.centurionmodelnote", + ), + ), + ( + "model", + models.ForeignKey( + help_text="Model this note belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="+", + to="itam.softwareversion", + verbose_name="Model", + ), + ), + ], + options={ + "verbose_name": "Software Version Note", + "verbose_name_plural": "Software Version Notes", + "db_table": "itam_softwareversion_centurionmodelnote", + "managed": True, + }, + bases=("core.centurionmodelnote",), + ), + ] diff --git a/app/itam/migrations/0012_remove_devicemodel_is_global_remove_devicemodel_slug_and_more.py b/app/itam/migrations/0012_remove_devicemodel_is_global_remove_devicemodel_slug_and_more.py deleted file mode 100644 index 5aab56b8..00000000 --- a/app/itam/migrations/0012_remove_devicemodel_is_global_remove_devicemodel_slug_and_more.py +++ /dev/null @@ -1,126 +0,0 @@ -# Generated by Django 5.1.9 on 2025-06-06 03:22 - -import access.models.tenancy_abstract -import django.db.models.deletion -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("access", "0012_teamusers_model_notes_alter_teamusers_id_and_more"), - ("core", "0031_remove_ticketcategory_is_global_and_more"), - ("itam", "0011_itamassetbase_alter_device_organization_and_more"), - ] - - operations = [ - migrations.RemoveField( - model_name="devicemodel", - name="is_global", - ), - migrations.RemoveField( - model_name="devicemodel", - name="slug", - ), - migrations.AlterField( - model_name="devicemodel", - name="id", - field=models.AutoField( - help_text="ID of the item", - primary_key=True, - serialize=False, - unique=True, - verbose_name="ID", - ), - ), - migrations.AlterField( - model_name="devicemodel", - name="model_notes", - field=models.TextField( - blank=True, - help_text="Tid bits of information", - null=True, - verbose_name="Notes", - ), - ), - migrations.AlterField( - model_name="devicemodel", - name="organization", - field=models.ForeignKey( - help_text="Tenant this belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="+", - to="access.tenant", - validators=[ - access.models.tenancy_abstract.TenancyAbstractModel.validatate_organization_exists - ], - verbose_name="Tenant", - ), - ), - migrations.CreateModel( - name="DeviceModelAuditHistory", - fields=[ - ( - "centurionaudit_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="core.centurionaudit", - ), - ), - ( - "model", - models.ForeignKey( - help_text="Model this history belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="audit_history", - to="itam.devicemodel", - verbose_name="Model", - ), - ), - ], - options={ - "verbose_name": "Device Model History", - "verbose_name_plural": "Device Model Histories", - "db_table": "itam_devicemodel_audithistory", - "managed": True, - }, - bases=("core.centurionaudit", models.Model), - ), - migrations.CreateModel( - name="DeviceModelCenturionModelNote", - fields=[ - ( - "centurionmodelnote_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="core.centurionmodelnote", - ), - ), - ( - "model", - models.ForeignKey( - help_text="Model this note belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="+", - to="itam.devicemodel", - verbose_name="Model", - ), - ), - ], - options={ - "verbose_name": "Device Model Note", - "verbose_name_plural": "Device Model Notes", - "db_table": "itam_devicemodel_centurionmodelnote", - "managed": True, - }, - bases=("core.centurionmodelnote", models.Model), - ), - ] diff --git a/app/itam/migrations/0013_remove_devicetype_is_global_remove_devicetype_slug_and_more.py b/app/itam/migrations/0013_remove_devicetype_is_global_remove_devicetype_slug_and_more.py deleted file mode 100644 index 50fadce1..00000000 --- a/app/itam/migrations/0013_remove_devicetype_is_global_remove_devicetype_slug_and_more.py +++ /dev/null @@ -1,126 +0,0 @@ -# Generated by Django 5.1.9 on 2025-06-06 03:27 - -import access.models.tenancy_abstract -import django.db.models.deletion -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("access", "0012_teamusers_model_notes_alter_teamusers_id_and_more"), - ("core", "0031_remove_ticketcategory_is_global_and_more"), - ("itam", "0012_remove_devicemodel_is_global_remove_devicemodel_slug_and_more"), - ] - - operations = [ - migrations.RemoveField( - model_name="devicetype", - name="is_global", - ), - migrations.RemoveField( - model_name="devicetype", - name="slug", - ), - migrations.AlterField( - model_name="devicetype", - name="id", - field=models.AutoField( - help_text="ID of the item", - primary_key=True, - serialize=False, - unique=True, - verbose_name="ID", - ), - ), - migrations.AlterField( - model_name="devicetype", - name="model_notes", - field=models.TextField( - blank=True, - help_text="Tid bits of information", - null=True, - verbose_name="Notes", - ), - ), - migrations.AlterField( - model_name="devicetype", - name="organization", - field=models.ForeignKey( - help_text="Tenant this belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="+", - to="access.tenant", - validators=[ - access.models.tenancy_abstract.TenancyAbstractModel.validatate_organization_exists - ], - verbose_name="Tenant", - ), - ), - migrations.CreateModel( - name="DeviceTypeAuditHistory", - fields=[ - ( - "centurionaudit_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="core.centurionaudit", - ), - ), - ( - "model", - models.ForeignKey( - help_text="Model this history belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="audit_history", - to="itam.devicetype", - verbose_name="Model", - ), - ), - ], - options={ - "verbose_name": "Device Type History", - "verbose_name_plural": "Device Type Histories", - "db_table": "itam_devicetype_audithistory", - "managed": True, - }, - bases=("core.centurionaudit", models.Model), - ), - migrations.CreateModel( - name="DeviceTypeCenturionModelNote", - fields=[ - ( - "centurionmodelnote_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="core.centurionmodelnote", - ), - ), - ( - "model", - models.ForeignKey( - help_text="Model this note belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="+", - to="itam.devicetype", - verbose_name="Model", - ), - ), - ], - options={ - "verbose_name": "Device Type Note", - "verbose_name_plural": "Device Type Notes", - "db_table": "itam_devicetype_centurionmodelnote", - "managed": True, - }, - bases=("core.centurionmodelnote", models.Model), - ), - ] diff --git a/app/itam/migrations/0014_remove_device_is_global_remove_device_slug_and_more.py b/app/itam/migrations/0014_remove_device_is_global_remove_device_slug_and_more.py deleted file mode 100644 index 8727c57b..00000000 --- a/app/itam/migrations/0014_remove_device_is_global_remove_device_slug_and_more.py +++ /dev/null @@ -1,126 +0,0 @@ -# Generated by Django 5.1.9 on 2025-06-06 03:35 - -import access.models.tenancy_abstract -import django.db.models.deletion -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("access", "0012_teamusers_model_notes_alter_teamusers_id_and_more"), - ("core", "0031_remove_ticketcategory_is_global_and_more"), - ("itam", "0013_remove_devicetype_is_global_remove_devicetype_slug_and_more"), - ] - - operations = [ - migrations.RemoveField( - model_name="device", - name="is_global", - ), - migrations.RemoveField( - model_name="device", - name="slug", - ), - migrations.AlterField( - model_name="device", - name="id", - field=models.AutoField( - help_text="ID of the item", - primary_key=True, - serialize=False, - unique=True, - verbose_name="ID", - ), - ), - migrations.AlterField( - model_name="device", - name="model_notes", - field=models.TextField( - blank=True, - help_text="Tid bits of information", - null=True, - verbose_name="Notes", - ), - ), - migrations.AlterField( - model_name="device", - name="organization", - field=models.ForeignKey( - help_text="Tenant this belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="+", - to="access.tenant", - validators=[ - access.models.tenancy_abstract.TenancyAbstractModel.validatate_organization_exists - ], - verbose_name="Tenant", - ), - ), - migrations.CreateModel( - name="DeviceAuditHistory", - fields=[ - ( - "centurionaudit_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="core.centurionaudit", - ), - ), - ( - "model", - models.ForeignKey( - help_text="Model this history belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="audit_history", - to="itam.device", - verbose_name="Model", - ), - ), - ], - options={ - "verbose_name": "Device History", - "verbose_name_plural": "Device Histories", - "db_table": "itam_device_audithistory", - "managed": True, - }, - bases=("core.centurionaudit", models.Model), - ), - migrations.CreateModel( - name="DeviceCenturionModelNote", - fields=[ - ( - "centurionmodelnote_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="core.centurionmodelnote", - ), - ), - ( - "model", - models.ForeignKey( - help_text="Model this note belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="+", - to="itam.device", - verbose_name="Model", - ), - ), - ], - options={ - "verbose_name": "Device Note", - "verbose_name_plural": "Device Notes", - "db_table": "itam_device_centurionmodelnote", - "managed": True, - }, - bases=("core.centurionmodelnote", models.Model), - ), - ] diff --git a/app/itam/migrations/0015_alter_device_config_alter_device_device_model_and_more.py b/app/itam/migrations/0015_alter_device_config_alter_device_device_model_and_more.py deleted file mode 100644 index 3aa71261..00000000 --- a/app/itam/migrations/0015_alter_device_config_alter_device_device_model_and_more.py +++ /dev/null @@ -1,76 +0,0 @@ -# Generated by Django 5.1.9 on 2025-06-08 05:12 - -import django.db.models.deletion -import itam.models.device -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("itam", "0014_remove_device_is_global_remove_device_slug_and_more"), - ] - - operations = [ - migrations.AlterField( - model_name="device", - name="config", - field=models.JSONField( - blank=True, - help_text="Configuration for this device", - null=True, - validators=[ - itam.models.device.Device.validate_config_keys_not_reserved - ], - verbose_name="Host Configuration", - ), - ), - migrations.AlterField( - model_name="device", - name="device_model", - field=models.ForeignKey( - blank=True, - help_text="Model of the device.", - null=True, - on_delete=django.db.models.deletion.PROTECT, - to="itam.devicemodel", - verbose_name="Model", - ), - ), - migrations.AlterField( - model_name="device", - name="device_type", - field=models.ForeignKey( - blank=True, - help_text="Type of device.", - null=True, - on_delete=django.db.models.deletion.PROTECT, - to="itam.devicetype", - verbose_name="Type", - ), - ), - migrations.AlterField( - model_name="device", - name="serial_number", - field=models.CharField( - blank=True, - help_text="Serial number of the device.", - max_length=50, - null=True, - unique=True, - verbose_name="Serial Number", - ), - ), - migrations.AlterField( - model_name="device", - name="uuid", - field=models.UUIDField( - blank=True, - help_text="System GUID/UUID.", - null=True, - unique=True, - validators=[itam.models.device.Device.validate_uuid_format], - verbose_name="UUID", - ), - ), - ] diff --git a/app/itam/migrations/0016_alter_devicemodel_manufacturer.py b/app/itam/migrations/0016_alter_devicemodel_manufacturer.py deleted file mode 100644 index 7387aed8..00000000 --- a/app/itam/migrations/0016_alter_devicemodel_manufacturer.py +++ /dev/null @@ -1,27 +0,0 @@ -# Generated by Django 5.1.9 on 2025-06-11 06:58 - -import django.db.models.deletion -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("core", "0033_alter_ticketcommentcategory_parent_and_more"), - ("itam", "0015_alter_device_config_alter_device_device_model_and_more"), - ] - - operations = [ - migrations.AlterField( - model_name="devicemodel", - name="manufacturer", - field=models.ForeignKey( - blank=True, - help_text="Manufacturer this model is from", - null=True, - on_delete=django.db.models.deletion.PROTECT, - to="core.manufacturer", - verbose_name="Manufacturer", - ), - ), - ] diff --git a/app/itam/migrations/0017_remove_deviceoperatingsystem_is_global_and_more.py b/app/itam/migrations/0017_remove_deviceoperatingsystem_is_global_and_more.py deleted file mode 100644 index 1bc1bb4d..00000000 --- a/app/itam/migrations/0017_remove_deviceoperatingsystem_is_global_and_more.py +++ /dev/null @@ -1,69 +0,0 @@ -# Generated by Django 5.1.9 on 2025-06-11 08:24 - -import access.models.tenancy_abstract -import django.db.models.deletion -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("access", "0016_remove_tenant_slug_alter_tenant_manager_and_more"), - ("itam", "0016_alter_devicemodel_manufacturer"), - ] - - operations = [ - migrations.RemoveField( - model_name="deviceoperatingsystem", - name="is_global", - ), - migrations.RemoveField( - model_name="deviceoperatingsystem", - name="model_notes", - ), - migrations.AlterField( - model_name="deviceoperatingsystem", - name="id", - field=models.AutoField( - help_text="ID of the item", - primary_key=True, - serialize=False, - unique=True, - verbose_name="ID", - ), - ), - migrations.AlterField( - model_name="deviceoperatingsystem", - name="installdate", - field=models.DateTimeField( - blank=True, - help_text="Date and time detected as installed", - null=True, - verbose_name="Install Date", - ), - ), - migrations.AlterField( - model_name="deviceoperatingsystem", - name="operating_system_version", - field=models.ForeignKey( - help_text="Operating system version", - on_delete=django.db.models.deletion.PROTECT, - to="itam.operatingsystemversion", - verbose_name="Operating System/Version", - ), - ), - migrations.AlterField( - model_name="deviceoperatingsystem", - name="organization", - field=models.ForeignKey( - help_text="Tenant this belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="+", - to="access.tenant", - validators=[ - access.models.tenancy_abstract.TenancyAbstractModel.validatate_organization_exists - ], - verbose_name="Tenant", - ), - ), - ] diff --git a/app/itam/migrations/0018_remove_devicesoftware_is_global_and_more.py b/app/itam/migrations/0018_remove_devicesoftware_is_global_and_more.py deleted file mode 100644 index 92098554..00000000 --- a/app/itam/migrations/0018_remove_devicesoftware_is_global_and_more.py +++ /dev/null @@ -1,101 +0,0 @@ -# Generated by Django 5.1.9 on 2025-06-11 09:15 - -import access.models.tenancy_abstract -import django.db.models.deletion -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("access", "0016_remove_tenant_slug_alter_tenant_manager_and_more"), - ("itam", "0017_remove_deviceoperatingsystem_is_global_and_more"), - ] - - operations = [ - migrations.RemoveField( - model_name="devicesoftware", - name="is_global", - ), - migrations.AlterField( - model_name="devicesoftware", - name="action", - field=models.IntegerField( - blank=True, - choices=[(1, "Install"), (0, "Remove")], - help_text="Action to perform", - null=True, - verbose_name="Action", - ), - ), - migrations.AlterField( - model_name="devicesoftware", - name="id", - field=models.AutoField( - help_text="ID of the item", - primary_key=True, - serialize=False, - unique=True, - verbose_name="ID", - ), - ), - migrations.AlterField( - model_name="devicesoftware", - name="installedversion", - field=models.ForeignKey( - blank=True, - help_text="Version that is installed", - null=True, - on_delete=django.db.models.deletion.PROTECT, - related_name="installedversion", - to="itam.softwareversion", - verbose_name="Installed Version", - ), - ), - migrations.AlterField( - model_name="devicesoftware", - name="model_notes", - field=models.TextField( - blank=True, - help_text="Tid bits of information", - null=True, - verbose_name="Notes", - ), - ), - migrations.AlterField( - model_name="devicesoftware", - name="organization", - field=models.ForeignKey( - help_text="Tenant this belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="+", - to="access.tenant", - validators=[ - access.models.tenancy_abstract.TenancyAbstractModel.validatate_organization_exists - ], - verbose_name="Tenant", - ), - ), - migrations.AlterField( - model_name="devicesoftware", - name="software", - field=models.ForeignKey( - help_text="Software Name", - on_delete=django.db.models.deletion.PROTECT, - to="itam.software", - verbose_name="Software", - ), - ), - migrations.AlterField( - model_name="devicesoftware", - name="version", - field=models.ForeignKey( - blank=True, - help_text="Version to install", - null=True, - on_delete=django.db.models.deletion.PROTECT, - to="itam.softwareversion", - verbose_name="Desired Version", - ), - ), - ] diff --git a/app/itam/migrations/0019_remove_operatingsystem_is_global_and_more.py b/app/itam/migrations/0019_remove_operatingsystem_is_global_and_more.py deleted file mode 100644 index 946171d9..00000000 --- a/app/itam/migrations/0019_remove_operatingsystem_is_global_and_more.py +++ /dev/null @@ -1,138 +0,0 @@ -# Generated by Django 5.1.9 on 2025-06-11 10:22 - -import access.models.tenancy_abstract -import django.db.models.deletion -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("access", "0016_remove_tenant_slug_alter_tenant_manager_and_more"), - ("core", "0033_alter_ticketcommentcategory_parent_and_more"), - ("itam", "0018_remove_devicesoftware_is_global_and_more"), - ] - - operations = [ - migrations.RemoveField( - model_name="operatingsystem", - name="is_global", - ), - migrations.RemoveField( - model_name="operatingsystem", - name="slug", - ), - migrations.AlterField( - model_name="operatingsystem", - name="id", - field=models.AutoField( - help_text="ID of the item", - primary_key=True, - serialize=False, - unique=True, - verbose_name="ID", - ), - ), - migrations.AlterField( - model_name="operatingsystem", - name="model_notes", - field=models.TextField( - blank=True, - help_text="Tid bits of information", - null=True, - verbose_name="Notes", - ), - ), - migrations.AlterField( - model_name="operatingsystem", - name="organization", - field=models.ForeignKey( - help_text="Tenant this belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="+", - to="access.tenant", - validators=[ - access.models.tenancy_abstract.TenancyAbstractModel.validatate_organization_exists - ], - verbose_name="Tenant", - ), - ), - migrations.AlterField( - model_name="operatingsystem", - name="publisher", - field=models.ForeignKey( - blank=True, - help_text="Who publishes this Operating System", - null=True, - on_delete=django.db.models.deletion.PROTECT, - to="core.manufacturer", - verbose_name="Publisher", - ), - ), - migrations.CreateModel( - name="OperatingSystemAuditHistory", - fields=[ - ( - "centurionaudit_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="core.centurionaudit", - ), - ), - ( - "model", - models.ForeignKey( - help_text="Model this history belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="audit_history", - to="itam.operatingsystem", - verbose_name="Model", - ), - ), - ], - options={ - "verbose_name": "Operating System History", - "verbose_name_plural": "Operating System Histories", - "db_table": "itam_operatingsystem_audithistory", - "managed": True, - }, - bases=("core.centurionaudit",), - ), - migrations.CreateModel( - name="OperatingSystemCenturionModelNote", - fields=[ - ( - "centurionmodelnote_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="core.centurionmodelnote", - ), - ), - ( - "model", - models.ForeignKey( - help_text="Model this note belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="+", - to="itam.operatingsystem", - verbose_name="Model", - ), - ), - ], - options={ - "verbose_name": "Operating System Note", - "verbose_name_plural": "Operating System Notes", - "db_table": "itam_operatingsystem_centurionmodelnote", - "managed": True, - }, - bases=("core.centurionmodelnote",), - ), - ] diff --git a/app/itam/migrations/0020_remove_operatingsystemversion_is_global_and_more.py b/app/itam/migrations/0020_remove_operatingsystemversion_is_global_and_more.py deleted file mode 100644 index 26031ed6..00000000 --- a/app/itam/migrations/0020_remove_operatingsystemversion_is_global_and_more.py +++ /dev/null @@ -1,132 +0,0 @@ -# Generated by Django 5.1.9 on 2025-06-12 01:48 - -import access.models.tenancy_abstract -import django.db.models.deletion -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("access", "0016_remove_tenant_slug_alter_tenant_manager_and_more"), - ("core", "0033_alter_ticketcommentcategory_parent_and_more"), - ("itam", "0019_remove_operatingsystem_is_global_and_more"), - ] - - operations = [ - migrations.RemoveField( - model_name="operatingsystemversion", - name="is_global", - ), - migrations.AlterField( - model_name="operatingsystemversion", - name="id", - field=models.AutoField( - help_text="ID of the item", - primary_key=True, - serialize=False, - unique=True, - verbose_name="ID", - ), - ), - migrations.AlterField( - model_name="operatingsystemversion", - name="model_notes", - field=models.TextField( - blank=True, - help_text="Tid bits of information", - null=True, - verbose_name="Notes", - ), - ), - migrations.AlterField( - model_name="operatingsystemversion", - name="operating_system", - field=models.ForeignKey( - help_text="Operating system this version applies to", - on_delete=django.db.models.deletion.PROTECT, - to="itam.operatingsystem", - verbose_name="Operating System", - ), - ), - migrations.AlterField( - model_name="operatingsystemversion", - name="organization", - field=models.ForeignKey( - help_text="Tenant this belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="+", - to="access.tenant", - validators=[ - access.models.tenancy_abstract.TenancyAbstractModel.validatate_organization_exists - ], - verbose_name="Tenant", - ), - ), - migrations.CreateModel( - name="OperatingSystemVersionAuditHistory", - fields=[ - ( - "centurionaudit_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="core.centurionaudit", - ), - ), - ( - "model", - models.ForeignKey( - help_text="Model this history belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="audit_history", - to="itam.operatingsystemversion", - verbose_name="Model", - ), - ), - ], - options={ - "verbose_name": "Operating System Version History", - "verbose_name_plural": "Operating System Version Histories", - "db_table": "itam_operatingsystemversion_audithistory", - "managed": True, - }, - bases=("core.centurionaudit",), - ), - migrations.CreateModel( - name="OperatingSystemVersionCenturionModelNote", - fields=[ - ( - "centurionmodelnote_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="core.centurionmodelnote", - ), - ), - ( - "model", - models.ForeignKey( - help_text="Model this note belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="+", - to="itam.operatingsystemversion", - verbose_name="Model", - ), - ), - ], - options={ - "verbose_name": "Operating System Version Note", - "verbose_name_plural": "Operating System Version Notes", - "db_table": "itam_operatingsystemversion_centurionmodelnote", - "managed": True, - }, - bases=("core.centurionmodelnote",), - ), - ] diff --git a/app/itam/migrations/0021_remove_software_is_global_remove_software_slug_and_more.py b/app/itam/migrations/0021_remove_software_is_global_remove_software_slug_and_more.py deleted file mode 100644 index cc5293d5..00000000 --- a/app/itam/migrations/0021_remove_software_is_global_remove_software_slug_and_more.py +++ /dev/null @@ -1,150 +0,0 @@ -# Generated by Django 5.1.9 on 2025-06-12 02:07 - -import access.models.tenancy_abstract -import django.db.models.deletion -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("access", "0016_remove_tenant_slug_alter_tenant_manager_and_more"), - ("core", "0033_alter_ticketcommentcategory_parent_and_more"), - ("itam", "0020_remove_operatingsystemversion_is_global_and_more"), - ] - - operations = [ - migrations.RemoveField( - model_name="software", - name="is_global", - ), - migrations.RemoveField( - model_name="software", - name="slug", - ), - migrations.AlterField( - model_name="software", - name="category", - field=models.ForeignKey( - blank=True, - help_text="Category of this Softwarae", - null=True, - on_delete=django.db.models.deletion.PROTECT, - to="itam.softwarecategory", - verbose_name="Category", - ), - ), - migrations.AlterField( - model_name="software", - name="id", - field=models.AutoField( - help_text="ID of the item", - primary_key=True, - serialize=False, - unique=True, - verbose_name="ID", - ), - ), - migrations.AlterField( - model_name="software", - name="model_notes", - field=models.TextField( - blank=True, - help_text="Tid bits of information", - null=True, - verbose_name="Notes", - ), - ), - migrations.AlterField( - model_name="software", - name="organization", - field=models.ForeignKey( - help_text="Tenant this belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="+", - to="access.tenant", - validators=[ - access.models.tenancy_abstract.TenancyAbstractModel.validatate_organization_exists - ], - verbose_name="Tenant", - ), - ), - migrations.AlterField( - model_name="software", - name="publisher", - field=models.ForeignKey( - blank=True, - help_text="Who publishes this software", - null=True, - on_delete=django.db.models.deletion.PROTECT, - to="core.manufacturer", - verbose_name="Publisher", - ), - ), - migrations.CreateModel( - name="SoftwareAuditHistory", - fields=[ - ( - "centurionaudit_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="core.centurionaudit", - ), - ), - ( - "model", - models.ForeignKey( - help_text="Model this history belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="audit_history", - to="itam.software", - verbose_name="Model", - ), - ), - ], - options={ - "verbose_name": "Software History", - "verbose_name_plural": "Software Histories", - "db_table": "itam_software_audithistory", - "managed": True, - }, - bases=("core.centurionaudit",), - ), - migrations.CreateModel( - name="SoftwareCenturionModelNote", - fields=[ - ( - "centurionmodelnote_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="core.centurionmodelnote", - ), - ), - ( - "model", - models.ForeignKey( - help_text="Model this note belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="+", - to="itam.software", - verbose_name="Model", - ), - ), - ], - options={ - "verbose_name": "Software Note", - "verbose_name_plural": "Software Notes", - "db_table": "itam_software_centurionmodelnote", - "managed": True, - }, - bases=("core.centurionmodelnote",), - ), - ] diff --git a/app/itam/migrations/0022_remove_softwarecategory_is_global_and_more.py b/app/itam/migrations/0022_remove_softwarecategory_is_global_and_more.py deleted file mode 100644 index 15dd19b1..00000000 --- a/app/itam/migrations/0022_remove_softwarecategory_is_global_and_more.py +++ /dev/null @@ -1,126 +0,0 @@ -# Generated by Django 5.1.9 on 2025-06-12 02:42 - -import access.models.tenancy_abstract -import django.db.models.deletion -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("access", "0016_remove_tenant_slug_alter_tenant_manager_and_more"), - ("core", "0033_alter_ticketcommentcategory_parent_and_more"), - ("itam", "0021_remove_software_is_global_remove_software_slug_and_more"), - ] - - operations = [ - migrations.RemoveField( - model_name="softwarecategory", - name="is_global", - ), - migrations.RemoveField( - model_name="softwarecategory", - name="slug", - ), - migrations.AlterField( - model_name="softwarecategory", - name="id", - field=models.AutoField( - help_text="ID of the item", - primary_key=True, - serialize=False, - unique=True, - verbose_name="ID", - ), - ), - migrations.AlterField( - model_name="softwarecategory", - name="model_notes", - field=models.TextField( - blank=True, - help_text="Tid bits of information", - null=True, - verbose_name="Notes", - ), - ), - migrations.AlterField( - model_name="softwarecategory", - name="organization", - field=models.ForeignKey( - help_text="Tenant this belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="+", - to="access.tenant", - validators=[ - access.models.tenancy_abstract.TenancyAbstractModel.validatate_organization_exists - ], - verbose_name="Tenant", - ), - ), - migrations.CreateModel( - name="SoftwareCategoryAuditHistory", - fields=[ - ( - "centurionaudit_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="core.centurionaudit", - ), - ), - ( - "model", - models.ForeignKey( - help_text="Model this history belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="audit_history", - to="itam.softwarecategory", - verbose_name="Model", - ), - ), - ], - options={ - "verbose_name": "Software Category History", - "verbose_name_plural": "Software Category Histories", - "db_table": "itam_softwarecategory_audithistory", - "managed": True, - }, - bases=("core.centurionaudit",), - ), - migrations.CreateModel( - name="SoftwareCategoryCenturionModelNote", - fields=[ - ( - "centurionmodelnote_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="core.centurionmodelnote", - ), - ), - ( - "model", - models.ForeignKey( - help_text="Model this note belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="+", - to="itam.softwarecategory", - verbose_name="Model", - ), - ), - ], - options={ - "verbose_name": "Software Category Note", - "verbose_name_plural": "Software Category Notes", - "db_table": "itam_softwarecategory_centurionmodelnote", - "managed": True, - }, - bases=("core.centurionmodelnote",), - ), - ] diff --git a/app/itam/migrations/0023_remove_softwareversion_is_global_and_more.py b/app/itam/migrations/0023_remove_softwareversion_is_global_and_more.py deleted file mode 100644 index 271f4b5d..00000000 --- a/app/itam/migrations/0023_remove_softwareversion_is_global_and_more.py +++ /dev/null @@ -1,126 +0,0 @@ -# Generated by Django 5.1.9 on 2025-06-12 03:13 - -import access.models.tenancy_abstract -import django.db.models.deletion -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("access", "0016_remove_tenant_slug_alter_tenant_manager_and_more"), - ("core", "0033_alter_ticketcommentcategory_parent_and_more"), - ("itam", "0022_remove_softwarecategory_is_global_and_more"), - ] - - operations = [ - migrations.RemoveField( - model_name="softwareversion", - name="is_global", - ), - migrations.RemoveField( - model_name="softwareversion", - name="slug", - ), - migrations.AlterField( - model_name="softwareversion", - name="id", - field=models.AutoField( - help_text="ID of the item", - primary_key=True, - serialize=False, - unique=True, - verbose_name="ID", - ), - ), - migrations.AlterField( - model_name="softwareversion", - name="model_notes", - field=models.TextField( - blank=True, - help_text="Tid bits of information", - null=True, - verbose_name="Notes", - ), - ), - migrations.AlterField( - model_name="softwareversion", - name="organization", - field=models.ForeignKey( - help_text="Tenant this belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="+", - to="access.tenant", - validators=[ - access.models.tenancy_abstract.TenancyAbstractModel.validatate_organization_exists - ], - verbose_name="Tenant", - ), - ), - migrations.CreateModel( - name="SoftwareVersionAuditHistory", - fields=[ - ( - "centurionaudit_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="core.centurionaudit", - ), - ), - ( - "model", - models.ForeignKey( - help_text="Model this history belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="audit_history", - to="itam.softwareversion", - verbose_name="Model", - ), - ), - ], - options={ - "verbose_name": "Software Version History", - "verbose_name_plural": "Software Version Histories", - "db_table": "itam_softwareversion_audithistory", - "managed": True, - }, - bases=("core.centurionaudit",), - ), - migrations.CreateModel( - name="SoftwareVersionCenturionModelNote", - fields=[ - ( - "centurionmodelnote_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="core.centurionmodelnote", - ), - ), - ( - "model", - models.ForeignKey( - help_text="Model this note belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="+", - to="itam.softwareversion", - verbose_name="Model", - ), - ), - ], - options={ - "verbose_name": "Software Version Note", - "verbose_name_plural": "Software Version Notes", - "db_table": "itam_softwareversion_centurionmodelnote", - "managed": True, - }, - bases=("core.centurionmodelnote",), - ), - ] diff --git a/app/itam/migrations/0024_alter_software_organization.py b/app/itam/migrations/0024_alter_software_organization.py deleted file mode 100644 index 2227209b..00000000 --- a/app/itam/migrations/0024_alter_software_organization.py +++ /dev/null @@ -1,30 +0,0 @@ -# Generated by Django 5.1.9 on 2025-06-16 06:10 - -import access.models.tenancy_abstract -import django.db.models.deletion -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("access", "0016_remove_tenant_slug_alter_tenant_manager_and_more"), - ("itam", "0023_remove_softwareversion_is_global_and_more"), - ] - - operations = [ - migrations.AlterField( - model_name="software", - name="organization", - field=models.ForeignKey( - help_text="Tenant this belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="software", - to="access.tenant", - validators=[ - access.models.tenancy_abstract.TenancyAbstractModel.validatate_organization_exists - ], - verbose_name="Tenant", - ), - ), - ] diff --git a/app/itam/migrations/0025_itamassetbaseaudithistory_and_more.py b/app/itam/migrations/0025_itamassetbaseaudithistory_and_more.py deleted file mode 100644 index 01a79dfd..00000000 --- a/app/itam/migrations/0025_itamassetbaseaudithistory_and_more.py +++ /dev/null @@ -1,81 +0,0 @@ -# Generated by Django 5.1.10 on 2025-07-10 09:10 - -import django.db.models.deletion -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("core", "0033_alter_ticketcommentcategory_parent_and_more"), - ("itam", "0024_alter_software_organization"), - ] - - operations = [ - migrations.CreateModel( - name="ITAMAssetBaseAuditHistory", - fields=[ - ( - "centurionaudit_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="core.centurionaudit", - ), - ), - ( - "model", - models.ForeignKey( - help_text="Model this history belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="+", - to="itam.itamassetbase", - verbose_name="Model", - ), - ), - ], - options={ - "verbose_name": "IT Asset History", - "verbose_name_plural": "IT Asset Histories", - "db_table": "itam_itamassetbase_audithistory", - "managed": True, - }, - bases=("core.centurionaudit",), - ), - migrations.CreateModel( - name="ITAMAssetBaseCenturionModelNote", - fields=[ - ( - "centurionmodelnote_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="core.centurionmodelnote", - ), - ), - ( - "model", - models.ForeignKey( - help_text="Model this note belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="+", - to="itam.itamassetbase", - verbose_name="Model", - ), - ), - ], - options={ - "verbose_name": "IT Asset Note", - "verbose_name_plural": "IT Asset Notes", - "db_table": "itam_itamassetbase_centurionmodelnote", - "managed": True, - }, - bases=("core.centurionmodelnote",), - ), - ] diff --git a/app/itim/migrations/0011_remove_cluster_is_global_remove_cluster_slug_and_more.py b/app/itim/migrations/0011_remove_cluster_is_global_remove_cluster_slug_and_more.py index 9abede19..c3246d23 100644 --- a/app/itim/migrations/0011_remove_cluster_is_global_remove_cluster_slug_and_more.py +++ b/app/itim/migrations/0011_remove_cluster_is_global_remove_cluster_slug_and_more.py @@ -1,4 +1,4 @@ -# Generated by Django 5.1.9 on 2025-06-13 02:25 +# Generated by Django 5.1.10 on 2025-08-15 03:21 import access.models.tenancy_abstract import django.db.models.deletion @@ -8,9 +8,9 @@ from django.db import migrations, models class Migration(migrations.Migration): dependencies = [ - ("access", "0016_remove_tenant_slug_alter_tenant_manager_and_more"), - ("core", "0033_alter_ticketcommentcategory_parent_and_more"), - ("itam", "0023_remove_softwareversion_is_global_and_more"), + ("access", "0011_remove_entitynotes_model_and_more"), + ("core", "0024_centurionaudit_centurionmodelnote_and_more"), + ("itam", "0012_remove_device_is_global_remove_device_slug_and_more"), ("itim", "0010_alter_cluster_organization_and_more"), ] @@ -23,6 +23,22 @@ class Migration(migrations.Migration): model_name="cluster", name="slug", ), + migrations.RemoveField( + model_name="clustertype", + name="is_global", + ), + migrations.RemoveField( + model_name="clustertype", + name="slug", + ), + migrations.RemoveField( + model_name="port", + name="is_global", + ), + migrations.RemoveField( + model_name="service", + name="is_global", + ), migrations.AlterField( model_name="cluster", name="cluster_type", @@ -114,6 +130,189 @@ class Migration(migrations.Migration): verbose_name="Parent Cluster", ), ), + migrations.AlterField( + model_name="clustertype", + name="config", + field=models.JSONField( + blank=True, + help_text="Cluster Type Configuration that is applied to all clusters of this type", + null=True, + verbose_name="Configuration", + ), + ), + migrations.AlterField( + model_name="clustertype", + name="id", + field=models.AutoField( + help_text="ID of the item", + primary_key=True, + serialize=False, + unique=True, + verbose_name="ID", + ), + ), + migrations.AlterField( + model_name="clustertype", + name="model_notes", + field=models.TextField( + blank=True, + help_text="Tid bits of information", + null=True, + verbose_name="Notes", + ), + ), + migrations.AlterField( + model_name="clustertype", + name="organization", + field=models.ForeignKey( + help_text="Tenant this belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="+", + to="access.tenant", + validators=[ + access.models.tenancy_abstract.TenancyAbstractModel.validatate_organization_exists + ], + verbose_name="Tenant", + ), + ), + migrations.AlterField( + model_name="port", + name="description", + field=models.CharField( + blank=True, + help_text="Short description of port", + max_length=80, + null=True, + verbose_name="Description", + ), + ), + migrations.AlterField( + model_name="port", + name="id", + field=models.AutoField( + help_text="ID of the item", + primary_key=True, + serialize=False, + unique=True, + verbose_name="ID", + ), + ), + migrations.AlterField( + model_name="port", + name="model_notes", + field=models.TextField( + blank=True, + help_text="Tid bits of information", + null=True, + verbose_name="Notes", + ), + ), + migrations.AlterField( + model_name="port", + name="organization", + field=models.ForeignKey( + help_text="Tenant this belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="+", + to="access.tenant", + validators=[ + access.models.tenancy_abstract.TenancyAbstractModel.validatate_organization_exists + ], + verbose_name="Tenant", + ), + ), + migrations.AlterField( + model_name="service", + name="cluster", + field=models.ForeignKey( + blank=True, + help_text="Cluster the service is assigned to", + null=True, + on_delete=django.db.models.deletion.PROTECT, + to="itim.cluster", + verbose_name="Cluster", + ), + ), + migrations.AlterField( + model_name="service", + name="config", + field=models.JSONField( + blank=True, + help_text="Cluster Configuration", + null=True, + verbose_name="Configuration", + ), + ), + migrations.AlterField( + model_name="service", + name="dependent_service", + field=models.ManyToManyField( + blank=True, + help_text="Services that this service depends upon", + related_name="dependentservice", + to="itim.service", + verbose_name="Dependent Services", + ), + ), + migrations.AlterField( + model_name="service", + name="device", + field=models.ForeignKey( + blank=True, + help_text="Device the service is assigned to", + null=True, + on_delete=django.db.models.deletion.PROTECT, + to="itam.device", + verbose_name="Device", + ), + ), + migrations.AlterField( + model_name="service", + name="id", + field=models.AutoField( + help_text="ID of the item", + primary_key=True, + serialize=False, + unique=True, + verbose_name="ID", + ), + ), + migrations.AlterField( + model_name="service", + name="model_notes", + field=models.TextField( + blank=True, + help_text="Tid bits of information", + null=True, + verbose_name="Notes", + ), + ), + migrations.AlterField( + model_name="service", + name="organization", + field=models.ForeignKey( + help_text="Tenant this belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="+", + to="access.tenant", + validators=[ + access.models.tenancy_abstract.TenancyAbstractModel.validatate_organization_exists + ], + verbose_name="Tenant", + ), + ), + migrations.AlterField( + model_name="service", + name="template", + field=models.ForeignKey( + blank=True, + help_text="Template this service uses", + null=True, + on_delete=django.db.models.deletion.PROTECT, + to="itim.service", + verbose_name="Template Name", + ), + ), migrations.CreateModel( name="ClusterAuditHistory", fields=[ @@ -180,4 +379,202 @@ class Migration(migrations.Migration): }, bases=("core.centurionmodelnote",), ), + migrations.CreateModel( + name="ClusterTypeAuditHistory", + fields=[ + ( + "centurionaudit_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="core.centurionaudit", + ), + ), + ( + "model", + models.ForeignKey( + help_text="Model this history belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="audit_history", + to="itim.clustertype", + verbose_name="Model", + ), + ), + ], + options={ + "verbose_name": "Cluster Type History", + "verbose_name_plural": "Cluster Type Histories", + "db_table": "itim_clustertype_audithistory", + "managed": True, + }, + bases=("core.centurionaudit",), + ), + migrations.CreateModel( + name="ClusterTypeCenturionModelNote", + fields=[ + ( + "centurionmodelnote_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="core.centurionmodelnote", + ), + ), + ( + "model", + models.ForeignKey( + help_text="Model this note belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="+", + to="itim.clustertype", + verbose_name="Model", + ), + ), + ], + options={ + "verbose_name": "Cluster Type Note", + "verbose_name_plural": "Cluster Type Notes", + "db_table": "itim_clustertype_centurionmodelnote", + "managed": True, + }, + bases=("core.centurionmodelnote",), + ), + migrations.CreateModel( + name="PortAuditHistory", + fields=[ + ( + "centurionaudit_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="core.centurionaudit", + ), + ), + ( + "model", + models.ForeignKey( + help_text="Model this history belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="audit_history", + to="itim.port", + verbose_name="Model", + ), + ), + ], + options={ + "verbose_name": "Port History", + "verbose_name_plural": "Port Histories", + "db_table": "itim_port_audithistory", + "managed": True, + }, + bases=("core.centurionaudit",), + ), + migrations.CreateModel( + name="PortCenturionModelNote", + fields=[ + ( + "centurionmodelnote_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="core.centurionmodelnote", + ), + ), + ( + "model", + models.ForeignKey( + help_text="Model this note belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="+", + to="itim.port", + verbose_name="Model", + ), + ), + ], + options={ + "verbose_name": "Port Note", + "verbose_name_plural": "Port Notes", + "db_table": "itim_port_centurionmodelnote", + "managed": True, + }, + bases=("core.centurionmodelnote",), + ), + migrations.CreateModel( + name="ServiceAuditHistory", + fields=[ + ( + "centurionaudit_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="core.centurionaudit", + ), + ), + ( + "model", + models.ForeignKey( + help_text="Model this history belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="audit_history", + to="itim.service", + verbose_name="Model", + ), + ), + ], + options={ + "verbose_name": "Service History", + "verbose_name_plural": "Service Histories", + "db_table": "itim_service_audithistory", + "managed": True, + }, + bases=("core.centurionaudit",), + ), + migrations.CreateModel( + name="ServiceCenturionModelNote", + fields=[ + ( + "centurionmodelnote_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="core.centurionmodelnote", + ), + ), + ( + "model", + models.ForeignKey( + help_text="Model this note belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="+", + to="itim.service", + verbose_name="Model", + ), + ), + ], + options={ + "verbose_name": "Service Note", + "verbose_name_plural": "Service Notes", + "db_table": "itim_service_centurionmodelnote", + "managed": True, + }, + bases=("core.centurionmodelnote",), + ), ] diff --git a/app/itim/migrations/0012_remove_clustertype_is_global_remove_clustertype_slug_and_more.py b/app/itim/migrations/0012_remove_clustertype_is_global_remove_clustertype_slug_and_more.py deleted file mode 100644 index 15f4e278..00000000 --- a/app/itim/migrations/0012_remove_clustertype_is_global_remove_clustertype_slug_and_more.py +++ /dev/null @@ -1,136 +0,0 @@ -# Generated by Django 5.1.9 on 2025-06-13 02:59 - -import access.models.tenancy_abstract -import django.db.models.deletion -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("access", "0016_remove_tenant_slug_alter_tenant_manager_and_more"), - ("core", "0033_alter_ticketcommentcategory_parent_and_more"), - ("itim", "0011_remove_cluster_is_global_remove_cluster_slug_and_more"), - ] - - operations = [ - migrations.RemoveField( - model_name="clustertype", - name="is_global", - ), - migrations.RemoveField( - model_name="clustertype", - name="slug", - ), - migrations.AlterField( - model_name="clustertype", - name="config", - field=models.JSONField( - blank=True, - help_text="Cluster Type Configuration that is applied to all clusters of this type", - null=True, - verbose_name="Configuration", - ), - ), - migrations.AlterField( - model_name="clustertype", - name="id", - field=models.AutoField( - help_text="ID of the item", - primary_key=True, - serialize=False, - unique=True, - verbose_name="ID", - ), - ), - migrations.AlterField( - model_name="clustertype", - name="model_notes", - field=models.TextField( - blank=True, - help_text="Tid bits of information", - null=True, - verbose_name="Notes", - ), - ), - migrations.AlterField( - model_name="clustertype", - name="organization", - field=models.ForeignKey( - help_text="Tenant this belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="+", - to="access.tenant", - validators=[ - access.models.tenancy_abstract.TenancyAbstractModel.validatate_organization_exists - ], - verbose_name="Tenant", - ), - ), - migrations.CreateModel( - name="ClusterTypeAuditHistory", - fields=[ - ( - "centurionaudit_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="core.centurionaudit", - ), - ), - ( - "model", - models.ForeignKey( - help_text="Model this history belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="audit_history", - to="itim.clustertype", - verbose_name="Model", - ), - ), - ], - options={ - "verbose_name": "Cluster Type History", - "verbose_name_plural": "Cluster Type Histories", - "db_table": "itim_clustertype_audithistory", - "managed": True, - }, - bases=("core.centurionaudit",), - ), - migrations.CreateModel( - name="ClusterTypeCenturionModelNote", - fields=[ - ( - "centurionmodelnote_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="core.centurionmodelnote", - ), - ), - ( - "model", - models.ForeignKey( - help_text="Model this note belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="+", - to="itim.clustertype", - verbose_name="Model", - ), - ), - ], - options={ - "verbose_name": "Cluster Type Note", - "verbose_name_plural": "Cluster Type Notes", - "db_table": "itim_clustertype_centurionmodelnote", - "managed": True, - }, - bases=("core.centurionmodelnote",), - ), - ] diff --git a/app/itim/migrations/0013_remove_port_is_global_alter_port_description_and_more.py b/app/itim/migrations/0013_remove_port_is_global_alter_port_description_and_more.py deleted file mode 100644 index 944ecdf8..00000000 --- a/app/itim/migrations/0013_remove_port_is_global_alter_port_description_and_more.py +++ /dev/null @@ -1,133 +0,0 @@ -# Generated by Django 5.1.9 on 2025-06-13 03:36 - -import access.models.tenancy_abstract -import django.db.models.deletion -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("access", "0016_remove_tenant_slug_alter_tenant_manager_and_more"), - ("core", "0033_alter_ticketcommentcategory_parent_and_more"), - ("itim", "0012_remove_clustertype_is_global_remove_clustertype_slug_and_more"), - ] - - operations = [ - migrations.RemoveField( - model_name="port", - name="is_global", - ), - migrations.AlterField( - model_name="port", - name="description", - field=models.CharField( - blank=True, - help_text="Short description of port", - max_length=80, - null=True, - verbose_name="Description", - ), - ), - migrations.AlterField( - model_name="port", - name="id", - field=models.AutoField( - help_text="ID of the item", - primary_key=True, - serialize=False, - unique=True, - verbose_name="ID", - ), - ), - migrations.AlterField( - model_name="port", - name="model_notes", - field=models.TextField( - blank=True, - help_text="Tid bits of information", - null=True, - verbose_name="Notes", - ), - ), - migrations.AlterField( - model_name="port", - name="organization", - field=models.ForeignKey( - help_text="Tenant this belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="+", - to="access.tenant", - validators=[ - access.models.tenancy_abstract.TenancyAbstractModel.validatate_organization_exists - ], - verbose_name="Tenant", - ), - ), - migrations.CreateModel( - name="PortAuditHistory", - fields=[ - ( - "centurionaudit_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="core.centurionaudit", - ), - ), - ( - "model", - models.ForeignKey( - help_text="Model this history belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="audit_history", - to="itim.port", - verbose_name="Model", - ), - ), - ], - options={ - "verbose_name": "Port History", - "verbose_name_plural": "Port Histories", - "db_table": "itim_port_audithistory", - "managed": True, - }, - bases=("core.centurionaudit",), - ), - migrations.CreateModel( - name="PortCenturionModelNote", - fields=[ - ( - "centurionmodelnote_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="core.centurionmodelnote", - ), - ), - ( - "model", - models.ForeignKey( - help_text="Model this note belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="+", - to="itim.port", - verbose_name="Model", - ), - ), - ], - options={ - "verbose_name": "Port Note", - "verbose_name_plural": "Port Notes", - "db_table": "itim_port_centurionmodelnote", - "managed": True, - }, - bases=("core.centurionmodelnote",), - ), - ] diff --git a/app/itim/migrations/0014_remove_service_is_global_alter_service_cluster_and_more.py b/app/itim/migrations/0014_remove_service_is_global_alter_service_cluster_and_more.py deleted file mode 100644 index c0d24f14..00000000 --- a/app/itim/migrations/0014_remove_service_is_global_alter_service_cluster_and_more.py +++ /dev/null @@ -1,180 +0,0 @@ -# Generated by Django 5.1.9 on 2025-06-13 04:09 - -import access.models.tenancy_abstract -import django.db.models.deletion -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("access", "0016_remove_tenant_slug_alter_tenant_manager_and_more"), - ("core", "0033_alter_ticketcommentcategory_parent_and_more"), - ("itam", "0023_remove_softwareversion_is_global_and_more"), - ("itim", "0013_remove_port_is_global_alter_port_description_and_more"), - ] - - operations = [ - migrations.RemoveField( - model_name="service", - name="is_global", - ), - migrations.AlterField( - model_name="service", - name="cluster", - field=models.ForeignKey( - blank=True, - help_text="Cluster the service is assigned to", - null=True, - on_delete=django.db.models.deletion.PROTECT, - to="itim.cluster", - verbose_name="Cluster", - ), - ), - migrations.AlterField( - model_name="service", - name="config", - field=models.JSONField( - blank=True, - help_text="Cluster Configuration", - null=True, - verbose_name="Configuration", - ), - ), - migrations.AlterField( - model_name="service", - name="dependent_service", - field=models.ManyToManyField( - blank=True, - help_text="Services that this service depends upon", - related_name="dependentservice", - to="itim.service", - verbose_name="Dependent Services", - ), - ), - migrations.AlterField( - model_name="service", - name="device", - field=models.ForeignKey( - blank=True, - help_text="Device the service is assigned to", - null=True, - on_delete=django.db.models.deletion.PROTECT, - to="itam.device", - verbose_name="Device", - ), - ), - migrations.AlterField( - model_name="service", - name="id", - field=models.AutoField( - help_text="ID of the item", - primary_key=True, - serialize=False, - unique=True, - verbose_name="ID", - ), - ), - migrations.AlterField( - model_name="service", - name="model_notes", - field=models.TextField( - blank=True, - help_text="Tid bits of information", - null=True, - verbose_name="Notes", - ), - ), - migrations.AlterField( - model_name="service", - name="organization", - field=models.ForeignKey( - help_text="Tenant this belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="+", - to="access.tenant", - validators=[ - access.models.tenancy_abstract.TenancyAbstractModel.validatate_organization_exists - ], - verbose_name="Tenant", - ), - ), - migrations.AlterField( - model_name="service", - name="template", - field=models.ForeignKey( - blank=True, - help_text="Template this service uses", - null=True, - on_delete=django.db.models.deletion.PROTECT, - to="itim.service", - verbose_name="Template Name", - ), - ), - migrations.CreateModel( - name="ServiceAuditHistory", - fields=[ - ( - "centurionaudit_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="core.centurionaudit", - ), - ), - ( - "model", - models.ForeignKey( - help_text="Model this history belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="audit_history", - to="itim.service", - verbose_name="Model", - ), - ), - ], - options={ - "verbose_name": "Service History", - "verbose_name_plural": "Service Histories", - "db_table": "itim_service_audithistory", - "managed": True, - }, - bases=("core.centurionaudit",), - ), - migrations.CreateModel( - name="ServiceCenturionModelNote", - fields=[ - ( - "centurionmodelnote_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="core.centurionmodelnote", - ), - ), - ( - "model", - models.ForeignKey( - help_text="Model this note belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="+", - to="itim.service", - verbose_name="Model", - ), - ), - ], - options={ - "verbose_name": "Service Note", - "verbose_name_plural": "Service Notes", - "db_table": "itim_service_centurionmodelnote", - "managed": True, - }, - bases=("core.centurionmodelnote",), - ), - ] diff --git a/app/project_management/migrations/0007_remove_project_is_global_remove_project_slug_and_more.py b/app/project_management/migrations/0007_remove_project_is_global_remove_project_slug_and_more.py index 8ff077a4..7a3bb4c1 100644 --- a/app/project_management/migrations/0007_remove_project_is_global_remove_project_slug_and_more.py +++ b/app/project_management/migrations/0007_remove_project_is_global_remove_project_slug_and_more.py @@ -1,4 +1,4 @@ -# Generated by Django 5.1.9 on 2025-06-13 06:05 +# Generated by Django 5.1.10 on 2025-08-15 03:21 import access.models.tenancy_abstract import django.db.models.deletion @@ -9,8 +9,9 @@ from django.db import migrations, models class Migration(migrations.Migration): dependencies = [ - ("access", "0016_remove_tenant_slug_alter_tenant_manager_and_more"), - ("core", "0033_alter_ticketcommentcategory_parent_and_more"), + ("access", "0011_remove_entitynotes_model_and_more"), + ("assistance", "0007_remove_knowledgebase_is_global_and_more"), + ("core", "0024_centurionaudit_centurionmodelnote_and_more"), ("project_management", "0006_alter_project_organization_and_more"), migrations.swappable_dependency(settings.AUTH_USER_MODEL), ] @@ -24,6 +25,22 @@ class Migration(migrations.Migration): model_name="project", name="slug", ), + migrations.RemoveField( + model_name="projectmilestone", + name="is_global", + ), + migrations.RemoveField( + model_name="projectmilestone", + name="slug", + ), + migrations.RemoveField( + model_name="projectstate", + name="is_global", + ), + migrations.RemoveField( + model_name="projecttype", + name="is_global", + ), migrations.AlterField( model_name="project", name="description", @@ -141,6 +158,123 @@ class Migration(migrations.Migration): verbose_name="Project State", ), ), + migrations.AlterField( + model_name="projectmilestone", + name="description", + field=models.TextField( + blank=True, + help_text="Description of milestone. Markdown supported", + null=True, + verbose_name="Description", + ), + ), + migrations.AlterField( + model_name="projectmilestone", + name="id", + field=models.AutoField( + help_text="ID of the item", + primary_key=True, + serialize=False, + unique=True, + verbose_name="ID", + ), + ), + migrations.AlterField( + model_name="projectmilestone", + name="organization", + field=models.ForeignKey( + help_text="Tenant this belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="+", + to="access.tenant", + validators=[ + access.models.tenancy_abstract.TenancyAbstractModel.validatate_organization_exists + ], + verbose_name="Tenant", + ), + ), + migrations.AlterField( + model_name="projectstate", + name="id", + field=models.AutoField( + help_text="ID of the item", + primary_key=True, + serialize=False, + unique=True, + verbose_name="ID", + ), + ), + migrations.AlterField( + model_name="projectstate", + name="model_notes", + field=models.TextField( + blank=True, + help_text="Tid bits of information", + null=True, + verbose_name="Notes", + ), + ), + migrations.AlterField( + model_name="projectstate", + name="organization", + field=models.ForeignKey( + help_text="Tenant this belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="+", + to="access.tenant", + validators=[ + access.models.tenancy_abstract.TenancyAbstractModel.validatate_organization_exists + ], + verbose_name="Tenant", + ), + ), + migrations.AlterField( + model_name="projectstate", + name="runbook", + field=models.ForeignKey( + blank=True, + help_text="The runbook for this project state", + null=True, + on_delete=django.db.models.deletion.PROTECT, + to="assistance.knowledgebase", + verbose_name="Runbook", + ), + ), + migrations.AlterField( + model_name="projecttype", + name="id", + field=models.AutoField( + help_text="ID of the item", + primary_key=True, + serialize=False, + unique=True, + verbose_name="ID", + ), + ), + migrations.AlterField( + model_name="projecttype", + name="model_notes", + field=models.TextField( + blank=True, + help_text="Tid bits of information", + null=True, + verbose_name="Notes", + ), + ), + migrations.AlterField( + model_name="projecttype", + name="organization", + field=models.ForeignKey( + help_text="Tenant this belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="+", + to="access.tenant", + validators=[ + access.models.tenancy_abstract.TenancyAbstractModel.validatate_organization_exists + ], + verbose_name="Tenant", + ), + ), migrations.CreateModel( name="ProjectAuditHistory", fields=[ @@ -207,4 +341,202 @@ class Migration(migrations.Migration): }, bases=("core.centurionmodelnote",), ), + migrations.CreateModel( + name="ProjectMilestoneAuditHistory", + fields=[ + ( + "centurionaudit_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="core.centurionaudit", + ), + ), + ( + "model", + models.ForeignKey( + help_text="Model this history belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="audit_history", + to="project_management.projectmilestone", + verbose_name="Model", + ), + ), + ], + options={ + "verbose_name": "Project Milestone History", + "verbose_name_plural": "Project Milestone Histories", + "db_table": "project_management_projectmilestone_audithistory", + "managed": True, + }, + bases=("core.centurionaudit",), + ), + migrations.CreateModel( + name="ProjectMilestoneCenturionModelNote", + fields=[ + ( + "centurionmodelnote_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="core.centurionmodelnote", + ), + ), + ( + "model", + models.ForeignKey( + help_text="Model this note belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="+", + to="project_management.projectmilestone", + verbose_name="Model", + ), + ), + ], + options={ + "verbose_name": "Project Milestone Note", + "verbose_name_plural": "Project Milestone Notes", + "db_table": "project_management_projectmilestone_centurionmodelnote", + "managed": True, + }, + bases=("core.centurionmodelnote",), + ), + migrations.CreateModel( + name="ProjectStateAuditHistory", + fields=[ + ( + "centurionaudit_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="core.centurionaudit", + ), + ), + ( + "model", + models.ForeignKey( + help_text="Model this history belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="audit_history", + to="project_management.projectstate", + verbose_name="Model", + ), + ), + ], + options={ + "verbose_name": "Project State History", + "verbose_name_plural": "Project State Histories", + "db_table": "project_management_projectstate_audithistory", + "managed": True, + }, + bases=("core.centurionaudit",), + ), + migrations.CreateModel( + name="ProjectStateCenturionModelNote", + fields=[ + ( + "centurionmodelnote_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="core.centurionmodelnote", + ), + ), + ( + "model", + models.ForeignKey( + help_text="Model this note belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="+", + to="project_management.projectstate", + verbose_name="Model", + ), + ), + ], + options={ + "verbose_name": "Project State Note", + "verbose_name_plural": "Project State Notes", + "db_table": "project_management_projectstate_centurionmodelnote", + "managed": True, + }, + bases=("core.centurionmodelnote",), + ), + migrations.CreateModel( + name="ProjectTypeAuditHistory", + fields=[ + ( + "centurionaudit_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="core.centurionaudit", + ), + ), + ( + "model", + models.ForeignKey( + help_text="Model this history belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="audit_history", + to="project_management.projecttype", + verbose_name="Model", + ), + ), + ], + options={ + "verbose_name": "Project Type History", + "verbose_name_plural": "Project Type Histories", + "db_table": "project_management_projecttype_audithistory", + "managed": True, + }, + bases=("core.centurionaudit",), + ), + migrations.CreateModel( + name="ProjectTypeCenturionModelNote", + fields=[ + ( + "centurionmodelnote_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="core.centurionmodelnote", + ), + ), + ( + "model", + models.ForeignKey( + help_text="Model this note belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="+", + to="project_management.projecttype", + verbose_name="Model", + ), + ), + ], + options={ + "verbose_name": "Project Type Note", + "verbose_name_plural": "Project Type Notes", + "db_table": "project_management_projecttype_centurionmodelnote", + "managed": True, + }, + bases=("core.centurionmodelnote",), + ), ] diff --git a/app/project_management/migrations/0008_remove_projectmilestone_is_global_and_more.py b/app/project_management/migrations/0008_remove_projectmilestone_is_global_and_more.py deleted file mode 100644 index 2245babb..00000000 --- a/app/project_management/migrations/0008_remove_projectmilestone_is_global_and_more.py +++ /dev/null @@ -1,129 +0,0 @@ -# Generated by Django 5.1.9 on 2025-06-14 03:23 - -import access.models.tenancy_abstract -import django.db.models.deletion -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("access", "0016_remove_tenant_slug_alter_tenant_manager_and_more"), - ("core", "0033_alter_ticketcommentcategory_parent_and_more"), - ( - "project_management", - "0007_remove_project_is_global_remove_project_slug_and_more", - ), - ] - - operations = [ - migrations.RemoveField( - model_name="projectmilestone", - name="is_global", - ), - migrations.RemoveField( - model_name="projectmilestone", - name="slug", - ), - migrations.AlterField( - model_name="projectmilestone", - name="description", - field=models.TextField( - blank=True, - help_text="Description of milestone. Markdown supported", - null=True, - verbose_name="Description", - ), - ), - migrations.AlterField( - model_name="projectmilestone", - name="id", - field=models.AutoField( - help_text="ID of the item", - primary_key=True, - serialize=False, - unique=True, - verbose_name="ID", - ), - ), - migrations.AlterField( - model_name="projectmilestone", - name="organization", - field=models.ForeignKey( - help_text="Tenant this belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="+", - to="access.tenant", - validators=[ - access.models.tenancy_abstract.TenancyAbstractModel.validatate_organization_exists - ], - verbose_name="Tenant", - ), - ), - migrations.CreateModel( - name="ProjectMilestoneAuditHistory", - fields=[ - ( - "centurionaudit_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="core.centurionaudit", - ), - ), - ( - "model", - models.ForeignKey( - help_text="Model this history belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="audit_history", - to="project_management.projectmilestone", - verbose_name="Model", - ), - ), - ], - options={ - "verbose_name": "Project Milestone History", - "verbose_name_plural": "Project Milestone Histories", - "db_table": "project_management_projectmilestone_audithistory", - "managed": True, - }, - bases=("core.centurionaudit",), - ), - migrations.CreateModel( - name="ProjectMilestoneCenturionModelNote", - fields=[ - ( - "centurionmodelnote_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="core.centurionmodelnote", - ), - ), - ( - "model", - models.ForeignKey( - help_text="Model this note belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="+", - to="project_management.projectmilestone", - verbose_name="Model", - ), - ), - ], - options={ - "verbose_name": "Project Milestone Note", - "verbose_name_plural": "Project Milestone Notes", - "db_table": "project_management_projectmilestone_centurionmodelnote", - "managed": True, - }, - bases=("core.centurionmodelnote",), - ), - ] diff --git a/app/project_management/migrations/0009_remove_projectstate_is_global_alter_projectstate_id_and_more.py b/app/project_management/migrations/0009_remove_projectstate_is_global_alter_projectstate_id_and_more.py deleted file mode 100644 index 8b555748..00000000 --- a/app/project_management/migrations/0009_remove_projectstate_is_global_alter_projectstate_id_and_more.py +++ /dev/null @@ -1,135 +0,0 @@ -# Generated by Django 5.1.9 on 2025-06-14 03:56 - -import access.models.tenancy_abstract -import django.db.models.deletion -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("access", "0016_remove_tenant_slug_alter_tenant_manager_and_more"), - ("assistance", "0013_alter_modelknowledgebasearticle_model"), - ("core", "0033_alter_ticketcommentcategory_parent_and_more"), - ("project_management", "0008_remove_projectmilestone_is_global_and_more"), - ] - - operations = [ - migrations.RemoveField( - model_name="projectstate", - name="is_global", - ), - migrations.AlterField( - model_name="projectstate", - name="id", - field=models.AutoField( - help_text="ID of the item", - primary_key=True, - serialize=False, - unique=True, - verbose_name="ID", - ), - ), - migrations.AlterField( - model_name="projectstate", - name="model_notes", - field=models.TextField( - blank=True, - help_text="Tid bits of information", - null=True, - verbose_name="Notes", - ), - ), - migrations.AlterField( - model_name="projectstate", - name="organization", - field=models.ForeignKey( - help_text="Tenant this belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="+", - to="access.tenant", - validators=[ - access.models.tenancy_abstract.TenancyAbstractModel.validatate_organization_exists - ], - verbose_name="Tenant", - ), - ), - migrations.AlterField( - model_name="projectstate", - name="runbook", - field=models.ForeignKey( - blank=True, - help_text="The runbook for this project state", - null=True, - on_delete=django.db.models.deletion.PROTECT, - to="assistance.knowledgebase", - verbose_name="Runbook", - ), - ), - migrations.CreateModel( - name="ProjectStateAuditHistory", - fields=[ - ( - "centurionaudit_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="core.centurionaudit", - ), - ), - ( - "model", - models.ForeignKey( - help_text="Model this history belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="audit_history", - to="project_management.projectstate", - verbose_name="Model", - ), - ), - ], - options={ - "verbose_name": "Project State History", - "verbose_name_plural": "Project State Histories", - "db_table": "project_management_projectstate_audithistory", - "managed": True, - }, - bases=("core.centurionaudit",), - ), - migrations.CreateModel( - name="ProjectStateCenturionModelNote", - fields=[ - ( - "centurionmodelnote_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="core.centurionmodelnote", - ), - ), - ( - "model", - models.ForeignKey( - help_text="Model this note belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="+", - to="project_management.projectstate", - verbose_name="Model", - ), - ), - ], - options={ - "verbose_name": "Project State Note", - "verbose_name_plural": "Project State Notes", - "db_table": "project_management_projectstate_centurionmodelnote", - "managed": True, - }, - bases=("core.centurionmodelnote",), - ), - ] diff --git a/app/project_management/migrations/0010_remove_projecttype_is_global_alter_projecttype_id_and_more.py b/app/project_management/migrations/0010_remove_projecttype_is_global_alter_projecttype_id_and_more.py deleted file mode 100644 index 6bc7b6fa..00000000 --- a/app/project_management/migrations/0010_remove_projecttype_is_global_alter_projecttype_id_and_more.py +++ /dev/null @@ -1,125 +0,0 @@ -# Generated by Django 5.1.9 on 2025-06-14 04:25 - -import access.models.tenancy_abstract -import django.db.models.deletion -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("access", "0016_remove_tenant_slug_alter_tenant_manager_and_more"), - ("core", "0033_alter_ticketcommentcategory_parent_and_more"), - ( - "project_management", - "0009_remove_projectstate_is_global_alter_projectstate_id_and_more", - ), - ] - - operations = [ - migrations.RemoveField( - model_name="projecttype", - name="is_global", - ), - migrations.AlterField( - model_name="projecttype", - name="id", - field=models.AutoField( - help_text="ID of the item", - primary_key=True, - serialize=False, - unique=True, - verbose_name="ID", - ), - ), - migrations.AlterField( - model_name="projecttype", - name="model_notes", - field=models.TextField( - blank=True, - help_text="Tid bits of information", - null=True, - verbose_name="Notes", - ), - ), - migrations.AlterField( - model_name="projecttype", - name="organization", - field=models.ForeignKey( - help_text="Tenant this belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="+", - to="access.tenant", - validators=[ - access.models.tenancy_abstract.TenancyAbstractModel.validatate_organization_exists - ], - verbose_name="Tenant", - ), - ), - migrations.CreateModel( - name="ProjectTypeAuditHistory", - fields=[ - ( - "centurionaudit_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="core.centurionaudit", - ), - ), - ( - "model", - models.ForeignKey( - help_text="Model this history belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="audit_history", - to="project_management.projecttype", - verbose_name="Model", - ), - ), - ], - options={ - "verbose_name": "Project Type History", - "verbose_name_plural": "Project Type Histories", - "db_table": "project_management_projecttype_audithistory", - "managed": True, - }, - bases=("core.centurionaudit",), - ), - migrations.CreateModel( - name="ProjectTypeCenturionModelNote", - fields=[ - ( - "centurionmodelnote_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="core.centurionmodelnote", - ), - ), - ( - "model", - models.ForeignKey( - help_text="Model this note belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="+", - to="project_management.projecttype", - verbose_name="Model", - ), - ), - ], - options={ - "verbose_name": "Project Type Note", - "verbose_name_plural": "Project Type Notes", - "db_table": "project_management_projecttype_centurionmodelnote", - "managed": True, - }, - bases=("core.centurionmodelnote",), - ), - ] diff --git a/app/settings/migrations/0013_alter_appsettings_global_organization_and_more.py b/app/settings/migrations/0013_alter_appsettings_global_organization_and_more.py deleted file mode 100644 index c7cf8fff..00000000 --- a/app/settings/migrations/0013_alter_appsettings_global_organization_and_more.py +++ /dev/null @@ -1,85 +0,0 @@ -# Generated by Django 5.1.9 on 2025-06-15 04:26 - -import django.db.models.deletion -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("access", "0016_remove_tenant_slug_alter_tenant_manager_and_more"), - ("core", "0033_alter_ticketcommentcategory_parent_and_more"), - ("settings", "0012_alter_appsettings_global_organization_and_more"), - ] - - operations = [ - migrations.AlterField( - model_name="appsettings", - name="global_organization", - field=models.ForeignKey( - blank=True, - help_text="Tenant global items will be created in", - null=True, - on_delete=django.db.models.deletion.PROTECT, - related_name="global_organization", - to="access.tenant", - verbose_name="Global Tenant", - ), - ), - migrations.AlterField( - model_name="appsettings", - name="id", - field=models.AutoField( - help_text="ID of the item", - primary_key=True, - serialize=False, - unique=True, - verbose_name="ID", - ), - ), - migrations.AlterField( - model_name="appsettings", - name="owner_organization", - field=models.ForeignKey( - blank=True, - help_text="Tenant the settings belong to", - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="owner_organization", - to="access.tenant", - ), - ), - migrations.CreateModel( - name="AppSettingsAuditHistory", - fields=[ - ( - "centurionaudit_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="core.centurionaudit", - ), - ), - ( - "model", - models.ForeignKey( - help_text="Model this history belongs to", - on_delete=django.db.models.deletion.CASCADE, - related_name="audit_history", - to="settings.appsettings", - verbose_name="Model", - ), - ), - ], - options={ - "verbose_name": "App Settings History", - "verbose_name_plural": "App Settings Histories", - "db_table": "settings_appsettings_audithistory", - "managed": True, - }, - bases=("core.centurionaudit",), - ), - ] diff --git a/app/settings/migrations/0014_remove_externallink_is_global_and_more.py b/app/settings/migrations/0013_remove_externallink_is_global_and_more.py similarity index 55% rename from app/settings/migrations/0014_remove_externallink_is_global_and_more.py rename to app/settings/migrations/0013_remove_externallink_is_global_and_more.py index 973902c9..82a6fe07 100644 --- a/app/settings/migrations/0014_remove_externallink_is_global_and_more.py +++ b/app/settings/migrations/0013_remove_externallink_is_global_and_more.py @@ -1,4 +1,4 @@ -# Generated by Django 5.1.9 on 2025-06-16 03:36 +# Generated by Django 5.1.10 on 2025-08-15 03:21 import access.models.tenancy_abstract import django.db.models.deletion @@ -8,9 +8,9 @@ from django.db import migrations, models class Migration(migrations.Migration): dependencies = [ - ("access", "0016_remove_tenant_slug_alter_tenant_manager_and_more"), - ("core", "0033_alter_ticketcommentcategory_parent_and_more"), - ("settings", "0013_alter_appsettings_global_organization_and_more"), + ("access", "0011_remove_entitynotes_model_and_more"), + ("core", "0024_centurionaudit_centurionmodelnote_and_more"), + ("settings", "0012_alter_appsettings_global_organization_and_more"), ] operations = [ @@ -18,6 +18,42 @@ class Migration(migrations.Migration): model_name="externallink", name="is_global", ), + migrations.AlterField( + model_name="appsettings", + name="global_organization", + field=models.ForeignKey( + blank=True, + help_text="Tenant global items will be created in", + null=True, + on_delete=django.db.models.deletion.PROTECT, + related_name="global_organization", + to="access.tenant", + verbose_name="Global Tenant", + ), + ), + migrations.AlterField( + model_name="appsettings", + name="id", + field=models.AutoField( + help_text="ID of the item", + primary_key=True, + serialize=False, + unique=True, + verbose_name="ID", + ), + ), + migrations.AlterField( + model_name="appsettings", + name="owner_organization", + field=models.ForeignKey( + blank=True, + help_text="Tenant the settings belong to", + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="owner_organization", + to="access.tenant", + ), + ), migrations.AlterField( model_name="externallink", name="colour", @@ -64,6 +100,62 @@ class Migration(migrations.Migration): verbose_name="Tenant", ), ), + migrations.AlterField( + model_name="usersettings", + name="default_organization", + field=models.ForeignKey( + blank=True, + help_text="Users default Tenant", + null=True, + on_delete=django.db.models.deletion.SET_NULL, + to="access.tenant", + verbose_name="Default Tenant", + ), + ), + migrations.AlterField( + model_name="usersettings", + name="id", + field=models.AutoField( + help_text="ID of the item", + primary_key=True, + serialize=False, + unique=True, + verbose_name="ID", + ), + ), + migrations.CreateModel( + name="AppSettingsAuditHistory", + fields=[ + ( + "centurionaudit_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="core.centurionaudit", + ), + ), + ( + "model", + models.ForeignKey( + help_text="Model this history belongs to", + on_delete=django.db.models.deletion.CASCADE, + related_name="audit_history", + to="settings.appsettings", + verbose_name="Model", + ), + ), + ], + options={ + "verbose_name": "App Settings History", + "verbose_name_plural": "App Settings Histories", + "db_table": "settings_appsettings_audithistory", + "managed": True, + }, + bases=("core.centurionaudit",), + ), migrations.CreateModel( name="ExternalLinkAuditHistory", fields=[ diff --git a/app/settings/migrations/0015_alter_usersettings_default_organization_and_more.py b/app/settings/migrations/0015_alter_usersettings_default_organization_and_more.py deleted file mode 100644 index e87ba451..00000000 --- a/app/settings/migrations/0015_alter_usersettings_default_organization_and_more.py +++ /dev/null @@ -1,38 +0,0 @@ -# Generated by Django 5.1.9 on 2025-06-16 04:23 - -import django.db.models.deletion -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("access", "0016_remove_tenant_slug_alter_tenant_manager_and_more"), - ("settings", "0014_remove_externallink_is_global_and_more"), - ] - - operations = [ - migrations.AlterField( - model_name="usersettings", - name="default_organization", - field=models.ForeignKey( - blank=True, - help_text="Users default Tenant", - null=True, - on_delete=django.db.models.deletion.SET_NULL, - to="access.tenant", - verbose_name="Default Tenant", - ), - ), - migrations.AlterField( - model_name="usersettings", - name="id", - field=models.AutoField( - help_text="ID of the item", - primary_key=True, - serialize=False, - unique=True, - verbose_name="ID", - ), - ), - ]