feat(itam): switch model DeviceModel to inheirt from CenturionModel

ref: #789 #800
This commit is contained in:
2025-06-06 12:53:17 +09:30
parent 7173d9f554
commit 3e63f896a5
6 changed files with 315 additions and 21 deletions

View File

@ -1,15 +1,18 @@
from django.db import models
from itam.models.device_common import DeviceCommonFieldsName
from access.fields import AutoLastModifiedField
from core.models.centurion import CenturionModel
from core.mixin.history_save import SaveHistory
from core.models.manufacturer import Manufacturer
from settings.models.app_settings import AppSettings
class DeviceModel(DeviceCommonFieldsName, SaveHistory):
class DeviceModel(
CenturionModel
):
class Meta:
@ -24,6 +27,14 @@ class DeviceModel(DeviceCommonFieldsName, SaveHistory):
verbose_name_plural = 'Device Models'
name = models.CharField(
blank = False,
help_text = 'The items name',
max_length = 50,
unique = True,
verbose_name = 'Name'
)
manufacturer = models.ForeignKey(
Manufacturer,
blank= True,
@ -34,6 +45,8 @@ class DeviceModel(DeviceCommonFieldsName, SaveHistory):
verbose_name = 'Manufacturer'
)
modified = AutoLastModifiedField()
page_layout: dict = [
{
"name": "Details",
@ -88,7 +101,6 @@ class DeviceModel(DeviceCommonFieldsName, SaveHistory):
if app_settings.device_model_is_global:
self.organization = app_settings.global_organization
self.is_global = app_settings.device_model_is_global
def __str__(self):
@ -98,16 +110,3 @@ class DeviceModel(DeviceCommonFieldsName, SaveHistory):
return self.manufacturer.name + ' ' + self.name
return self.name
def save_history(self, before: dict, after: dict) -> bool:
from itam.models.device_model_history import DeviceModelHistory
history = super().save_history(
before = before,
after = after,
history_model = DeviceModelHistory
)
return history