@ -225,6 +225,10 @@ router.register('core/(?P<item_class>[a-z_]+)/(?P<item_id>[0-9]+)/item_ticket',
|
||||
|
||||
|
||||
router.register('itam', itam_index_v2.Index, basename='_api_v2_itam_home')
|
||||
|
||||
# from accounting.viewsets import asset
|
||||
# router.register('itam/(?P<asset_model>device)?', asset.ViewSet, feature_flag = '2025-00004', basename='_api_v2_device')
|
||||
|
||||
router.register('itam/device', device_v2.ViewSet, basename='_api_v2_device')
|
||||
router.register('itam/device/(?P<device_id>[0-9]+)/operating_system', device_operating_system.ViewSet, basename='_api_v2_device_operating_system')
|
||||
router.register('itam/device/(?P<device_id>[0-9]+)/software', device_software_v2.ViewSet, basename='_api_v2_device_software')
|
||||
|
83
app/itam/serializers/asset_it_asset.py
Normal file
83
app/itam/serializers/asset_it_asset.py
Normal file
@ -0,0 +1,83 @@
|
||||
from rest_framework import serializers
|
||||
|
||||
from drf_spectacular.utils import extend_schema_serializer
|
||||
|
||||
from access.serializers.organization import OrganizationBaseSerializer
|
||||
|
||||
from accounting.serializers.asset import (
|
||||
BaseSerializer,
|
||||
ModelSerializer as AssetBaseModelSerializer,
|
||||
ViewSerializer as AssetBaseViewSerializer,
|
||||
)
|
||||
|
||||
from itam.models.itam_asset_base import ITAMAssetBase
|
||||
|
||||
|
||||
|
||||
@extend_schema_serializer(component_name = 'ITAssetBaseModelSerializer')
|
||||
class ModelSerializer(
|
||||
AssetBaseModelSerializer,
|
||||
BaseSerializer
|
||||
):
|
||||
"""IT Asset Base Model"""
|
||||
|
||||
|
||||
_urls = serializers.SerializerMethodField('get_url')
|
||||
|
||||
|
||||
|
||||
class Meta:
|
||||
|
||||
model = ITAMAssetBase
|
||||
|
||||
fields = [
|
||||
'id',
|
||||
'display_name',
|
||||
'organization',
|
||||
'itam_type',
|
||||
'asset_number',
|
||||
'serial_number',
|
||||
|
||||
# 'status',
|
||||
|
||||
# 'category',
|
||||
|
||||
'created',
|
||||
'modified',
|
||||
'_urls',
|
||||
]
|
||||
|
||||
read_only_fields = [
|
||||
'id',
|
||||
'display_name',
|
||||
'itam_type',
|
||||
'created',
|
||||
'modified',
|
||||
'_urls',
|
||||
]
|
||||
|
||||
|
||||
|
||||
def validate(self, attrs):
|
||||
|
||||
attrs = super().validate( attrs )
|
||||
|
||||
return attrs
|
||||
|
||||
|
||||
def is_valid(self, raise_exception = False):
|
||||
|
||||
is_valid = super().is_valid( raise_exception = raise_exception )
|
||||
|
||||
return is_valid
|
||||
|
||||
|
||||
|
||||
@extend_schema_serializer(component_name = 'ITAssetBaseViewSerializer')
|
||||
class ViewSerializer(
|
||||
AssetBaseViewSerializer,
|
||||
ModelSerializer
|
||||
):
|
||||
"""IT Asset Base View Model"""
|
||||
|
||||
organization = OrganizationBaseSerializer(many=False, read_only=True)
|
Reference in New Issue
Block a user