refactor(itam): Migration for updating model inheritance for DeviceDeviceOperatingSystem model
ref:#817 #801
This commit is contained in:
@ -0,0 +1,69 @@
|
||||
# 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",
|
||||
),
|
||||
),
|
||||
]
|
@ -685,8 +685,13 @@ class DeviceSoftware(DeviceCommonFields, SaveHistory):
|
||||
return history
|
||||
|
||||
|
||||
class DeviceOperatingSystem(DeviceCommonFields, SaveHistory):
|
||||
class DeviceOperatingSystem(
|
||||
CenturionModel,
|
||||
):
|
||||
|
||||
_audit_enabled = False
|
||||
|
||||
_notes_enabled = False
|
||||
|
||||
class Meta:
|
||||
|
||||
@ -698,6 +703,7 @@ class DeviceOperatingSystem(DeviceCommonFields, SaveHistory):
|
||||
|
||||
verbose_name_plural = 'Device Operating Systems'
|
||||
|
||||
model_notes = None
|
||||
|
||||
device = models.OneToOneField(
|
||||
Device,
|
||||
@ -714,9 +720,9 @@ class DeviceOperatingSystem(DeviceCommonFields, SaveHistory):
|
||||
blank = False,
|
||||
help_text = 'Operating system version',
|
||||
null = False,
|
||||
on_delete = models.CASCADE,
|
||||
on_delete = models.PROTECT,
|
||||
verbose_name = 'Operating System/Version',
|
||||
|
||||
|
||||
)
|
||||
|
||||
version = models.CharField(
|
||||
@ -729,7 +735,6 @@ class DeviceOperatingSystem(DeviceCommonFields, SaveHistory):
|
||||
|
||||
installdate = models.DateTimeField(
|
||||
blank = True,
|
||||
default = None,
|
||||
help_text = 'Date and time detected as installed',
|
||||
null = True,
|
||||
verbose_name = 'Install Date',
|
||||
@ -762,35 +767,19 @@ class DeviceOperatingSystem(DeviceCommonFields, SaveHistory):
|
||||
]
|
||||
|
||||
|
||||
def get_url_kwargs(self) -> dict:
|
||||
def get_url_kwargs(self, many = False) -> dict:
|
||||
|
||||
return {
|
||||
kwargs = super().get_url_kwargs( many = many )
|
||||
|
||||
kwargs.update({
|
||||
'device_id': self.device.id,
|
||||
'pk': self.pk
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
def get_url_kwargs_notes(self):
|
||||
|
||||
return FeatureNotUsed
|
||||
return kwargs
|
||||
|
||||
|
||||
@property
|
||||
def parent_object(self):
|
||||
""" Fetch the parent object """
|
||||
|
||||
|
||||
return self.device
|
||||
|
||||
|
||||
def save_history(self, before: dict, after: dict) -> bool:
|
||||
|
||||
from itam.models.device_operating_system_history import DeviceOperatingSystemHistory
|
||||
|
||||
history = super().save_history(
|
||||
before = before,
|
||||
after = after,
|
||||
history_model = DeviceOperatingSystemHistory,
|
||||
)
|
||||
|
||||
|
||||
return history
|
||||
|
Reference in New Issue
Block a user