feat(api): Add a Common Model serializer to be inherited by all model serializers
ref: #248 #385 #388 nofusscomputing/centurion_erp_ui#26
This commit is contained in:
@ -4,6 +4,8 @@ from rest_framework import serializers
|
||||
|
||||
from access.models import Organization
|
||||
|
||||
from api.serializers import common
|
||||
|
||||
from app.serializers.user import UserBaseSerializer
|
||||
|
||||
|
||||
@ -40,7 +42,10 @@ class OrganizationBaseSerializer(serializers.ModelSerializer):
|
||||
|
||||
|
||||
|
||||
class OrganizationModelSerializer(OrganizationBaseSerializer):
|
||||
class OrganizationModelSerializer(
|
||||
common.CommonModelSerializer,
|
||||
OrganizationBaseSerializer
|
||||
):
|
||||
|
||||
_urls = serializers.SerializerMethodField('get_url')
|
||||
|
||||
|
@ -3,6 +3,9 @@ from rest_framework.reverse import reverse
|
||||
from rest_framework import serializers
|
||||
|
||||
from access.models import TeamUsers
|
||||
|
||||
from api.serializers import common
|
||||
|
||||
from app.serializers.user import UserBaseSerializer
|
||||
|
||||
|
||||
@ -49,7 +52,10 @@ class TeamUserBaseSerializer(serializers.ModelSerializer):
|
||||
|
||||
|
||||
|
||||
class TeamUserModelSerializer(TeamUserBaseSerializer):
|
||||
class TeamUserModelSerializer(
|
||||
common.CommonModelSerializer,
|
||||
TeamUserBaseSerializer
|
||||
):
|
||||
|
||||
_urls = serializers.SerializerMethodField('get_url')
|
||||
|
||||
|
@ -3,6 +3,9 @@ from rest_framework.reverse import reverse
|
||||
from rest_framework import serializers
|
||||
|
||||
from access.models import Team
|
||||
|
||||
from api.serializers import common
|
||||
|
||||
from access.serializers.organization import OrganizationBaseSerializer
|
||||
|
||||
from app.serializers.permission import PermissionBaseSerializer
|
||||
@ -52,7 +55,10 @@ class TeamBaseSerializer(serializers.ModelSerializer):
|
||||
|
||||
|
||||
|
||||
class TeamModelSerializer(TeamBaseSerializer):
|
||||
class TeamModelSerializer(
|
||||
common.CommonModelSerializer,
|
||||
TeamBaseSerializer
|
||||
):
|
||||
|
||||
|
||||
_urls = serializers.SerializerMethodField('get_url')
|
||||
|
9
app/api/serializers/common.py
Normal file
9
app/api/serializers/common.py
Normal file
@ -0,0 +1,9 @@
|
||||
from rest_framework import serializers
|
||||
|
||||
from core import fields as centurion_field
|
||||
|
||||
|
||||
|
||||
class CommonModelSerializer(CommonBaseSerializer):
|
||||
|
||||
model_notes = centurion_field.MarkdownField( required = False )
|
@ -8,6 +8,8 @@ from access.serializers.teams import TeamBaseSerializer
|
||||
|
||||
from app.serializers.user import UserBaseSerializer
|
||||
|
||||
from api.serializers import common
|
||||
|
||||
from assistance.models.knowledge_base import KnowledgeBase
|
||||
from assistance.serializers.knowledge_base_category import KnowledgeBaseCategoryBaseSerializer
|
||||
|
||||
@ -54,7 +56,10 @@ class KnowledgeBaseBaseSerializer(serializers.ModelSerializer):
|
||||
|
||||
|
||||
|
||||
class KnowledgeBaseModelSerializer(KnowledgeBaseBaseSerializer):
|
||||
class KnowledgeBaseModelSerializer(
|
||||
common.CommonModelSerializer,
|
||||
KnowledgeBaseBaseSerializer
|
||||
):
|
||||
|
||||
|
||||
_urls = serializers.SerializerMethodField('get_url')
|
||||
|
@ -9,6 +9,8 @@ from access.serializers.teams import TeamBaseSerializer
|
||||
|
||||
from app.serializers.user import UserBaseSerializer
|
||||
|
||||
from api.serializers import common
|
||||
|
||||
from assistance.models.knowledge_base import KnowledgeBaseCategory
|
||||
|
||||
|
||||
@ -55,7 +57,10 @@ class KnowledgeBaseCategoryBaseSerializer(serializers.ModelSerializer):
|
||||
|
||||
|
||||
|
||||
class KnowledgeBaseCategoryModelSerializer(KnowledgeBaseCategoryBaseSerializer):
|
||||
class KnowledgeBaseCategoryModelSerializer(
|
||||
common.CommonModelSerializer,
|
||||
KnowledgeBaseCategoryBaseSerializer
|
||||
):
|
||||
|
||||
|
||||
_urls = serializers.SerializerMethodField('get_url')
|
||||
|
@ -4,6 +4,8 @@ from rest_framework.reverse import reverse
|
||||
|
||||
from access.serializers.organization import OrganizationBaseSerializer
|
||||
|
||||
from api.serializers import common
|
||||
|
||||
from config_management.models.groups import ConfigGroups
|
||||
|
||||
from itam.serializers.device import DeviceBaseSerializer
|
||||
@ -52,7 +54,10 @@ class ConfigGroupBaseSerializer(serializers.ModelSerializer):
|
||||
|
||||
|
||||
|
||||
class ConfigGroupModelSerializer(ConfigGroupBaseSerializer):
|
||||
class ConfigGroupModelSerializer(
|
||||
common.CommonModelSerializer,
|
||||
ConfigGroupBaseSerializer
|
||||
):
|
||||
|
||||
|
||||
_urls = serializers.SerializerMethodField('get_url')
|
||||
|
@ -4,6 +4,8 @@ from rest_framework.reverse import reverse
|
||||
|
||||
from access.serializers.organization import OrganizationBaseSerializer
|
||||
|
||||
from api.serializers import common
|
||||
|
||||
from config_management.models.groups import ConfigGroupSoftware
|
||||
from config_management.serializers.config_group import ConfigGroups, ConfigGroupBaseSerializer
|
||||
|
||||
@ -55,7 +57,10 @@ class ConfigGroupSoftwareBaseSerializer(serializers.ModelSerializer):
|
||||
|
||||
|
||||
|
||||
class ConfigGroupSoftwareModelSerializer(ConfigGroupSoftwareBaseSerializer):
|
||||
class ConfigGroupSoftwareModelSerializer(
|
||||
common.CommonModelSerializer,
|
||||
ConfigGroupSoftwareBaseSerializer
|
||||
):
|
||||
|
||||
|
||||
_urls = serializers.SerializerMethodField('get_url')
|
||||
|
@ -5,6 +5,8 @@ from access.serializers.organization import OrganizationBaseSerializer
|
||||
|
||||
from app.serializers.user import UserBaseSerializer
|
||||
|
||||
from api.serializers import common
|
||||
|
||||
from core.models.manufacturer import Manufacturer
|
||||
|
||||
|
||||
@ -39,7 +41,10 @@ class ManufacturerBaseSerializer(serializers.ModelSerializer):
|
||||
]
|
||||
|
||||
|
||||
class ManufacturerModelSerializer(ManufacturerBaseSerializer):
|
||||
class ManufacturerModelSerializer(
|
||||
common.CommonModelSerializer,
|
||||
ManufacturerBaseSerializer
|
||||
):
|
||||
|
||||
|
||||
_urls = serializers.SerializerMethodField('get_url')
|
||||
|
@ -3,6 +3,8 @@ from rest_framework import serializers
|
||||
|
||||
from access.serializers.organization import OrganizationBaseSerializer
|
||||
|
||||
from api.serializers import common
|
||||
|
||||
from core.models.ticket.ticket_category import TicketCategory
|
||||
|
||||
|
||||
@ -39,7 +41,10 @@ class TicketCategoryBaseSerializer(serializers.ModelSerializer):
|
||||
]
|
||||
|
||||
|
||||
class TicketCategoryModelSerializer(TicketCategoryBaseSerializer):
|
||||
class TicketCategoryModelSerializer(
|
||||
common.CommonModelSerializer,
|
||||
TicketCategoryBaseSerializer
|
||||
):
|
||||
|
||||
|
||||
_urls = serializers.SerializerMethodField('get_url')
|
||||
|
@ -5,6 +5,8 @@ from access.serializers.organization import OrganizationBaseSerializer
|
||||
|
||||
from app.serializers.user import UserBaseSerializer
|
||||
|
||||
from api.serializers import common
|
||||
|
||||
from core.models.ticket.ticket_comment_category import TicketCommentCategory
|
||||
|
||||
|
||||
@ -39,7 +41,10 @@ class TicketCommentCategoryBaseSerializer(serializers.ModelSerializer):
|
||||
]
|
||||
|
||||
|
||||
class TicketCommentCategoryModelSerializer(TicketCommentCategoryBaseSerializer):
|
||||
class TicketCommentCategoryModelSerializer(
|
||||
common.CommonModelSerializer,
|
||||
TicketCommentCategoryBaseSerializer
|
||||
):
|
||||
|
||||
|
||||
_urls = serializers.SerializerMethodField('get_url')
|
||||
|
@ -7,6 +7,7 @@ from rest_framework import serializers
|
||||
|
||||
from access.serializers.organization import OrganizationBaseSerializer
|
||||
|
||||
from api.serializers import common
|
||||
from api.viewsets.common import ModelViewSet
|
||||
|
||||
from core.fields.icon import Icon, IconField
|
||||
@ -48,7 +49,10 @@ class DeviceBaseSerializer(serializers.ModelSerializer):
|
||||
'url',
|
||||
]
|
||||
|
||||
class DeviceModelSerializer(DeviceBaseSerializer):
|
||||
class DeviceModelSerializer(
|
||||
common.CommonModelSerializer,
|
||||
DeviceBaseSerializer
|
||||
):
|
||||
|
||||
_urls = serializers.SerializerMethodField('get_url')
|
||||
|
||||
|
@ -4,6 +4,8 @@ from rest_framework import serializers
|
||||
|
||||
from access.serializers.organization import OrganizationBaseSerializer
|
||||
|
||||
from api.serializers import common
|
||||
|
||||
from core.serializers.manufacturer import ManufacturerBaseSerializer
|
||||
|
||||
from itam.models.device_models import DeviceModel
|
||||
@ -42,7 +44,10 @@ class DeviceModelBaseSerializer(serializers.ModelSerializer):
|
||||
]
|
||||
|
||||
|
||||
class DeviceModelModelSerializer(DeviceModelBaseSerializer):
|
||||
class DeviceModelModelSerializer(
|
||||
common.CommonModelSerializer,
|
||||
DeviceModelBaseSerializer
|
||||
):
|
||||
|
||||
|
||||
_urls = serializers.SerializerMethodField('get_url')
|
||||
|
@ -2,10 +2,10 @@ from rest_framework import serializers
|
||||
from rest_framework.fields import empty
|
||||
from rest_framework.reverse import reverse
|
||||
|
||||
|
||||
|
||||
from access.serializers.organization import OrganizationBaseSerializer
|
||||
|
||||
from api.serializers import common
|
||||
|
||||
from core.fields.badge import Badge, BadgeField
|
||||
|
||||
from itam.models.device import Device, DeviceSoftware
|
||||
@ -49,7 +49,10 @@ class DeviceSoftwareBaseSerializer(serializers.ModelSerializer):
|
||||
]
|
||||
|
||||
|
||||
class DeviceSoftwareModelSerializer(DeviceSoftwareBaseSerializer):
|
||||
class DeviceSoftwareModelSerializer(
|
||||
common.CommonModelSerializer,
|
||||
DeviceSoftwareBaseSerializer
|
||||
):
|
||||
|
||||
|
||||
_urls = serializers.SerializerMethodField('get_url')
|
||||
|
@ -3,6 +3,8 @@ from rest_framework import serializers
|
||||
|
||||
from access.serializers.organization import OrganizationBaseSerializer
|
||||
|
||||
from api.serializers import common
|
||||
|
||||
from itam.models.device import DeviceType
|
||||
|
||||
|
||||
@ -38,7 +40,10 @@ class DeviceTypeBaseSerializer(serializers.ModelSerializer):
|
||||
]
|
||||
|
||||
|
||||
class DeviceTypeModelSerializer(DeviceTypeBaseSerializer):
|
||||
class DeviceTypeModelSerializer(
|
||||
common.CommonModelSerializer,
|
||||
DeviceTypeBaseSerializer
|
||||
):
|
||||
|
||||
|
||||
_urls = serializers.SerializerMethodField('get_url')
|
||||
|
@ -4,6 +4,8 @@ from rest_framework import serializers
|
||||
|
||||
from access.serializers.organization import OrganizationBaseSerializer
|
||||
|
||||
from api.serializers import common
|
||||
|
||||
from core.serializers.manufacturer import ManufacturerBaseSerializer
|
||||
|
||||
from itam.models.operating_system import OperatingSystem
|
||||
@ -42,7 +44,10 @@ class OperatingSystemBaseSerializer(serializers.ModelSerializer):
|
||||
]
|
||||
|
||||
|
||||
class OperatingSystemModelSerializer(OperatingSystemBaseSerializer):
|
||||
class OperatingSystemModelSerializer(
|
||||
common.CommonModelSerializer,
|
||||
OperatingSystemBaseSerializer
|
||||
):
|
||||
|
||||
|
||||
|
||||
|
@ -4,6 +4,8 @@ from rest_framework import serializers
|
||||
|
||||
from access.serializers.organization import OrganizationBaseSerializer
|
||||
|
||||
from api.serializers import common
|
||||
|
||||
from core.serializers.manufacturer import ManufacturerBaseSerializer
|
||||
|
||||
from itam.models.operating_system import OperatingSystem, OperatingSystemVersion
|
||||
@ -54,7 +56,10 @@ class OperatingSystemVersionBaseSerializer(serializers.ModelSerializer):
|
||||
]
|
||||
|
||||
|
||||
class OperatingSystemVersionModelSerializer(OperatingSystemVersionBaseSerializer):
|
||||
class OperatingSystemVersionModelSerializer(
|
||||
common.CommonModelSerializer,
|
||||
OperatingSystemVersionBaseSerializer
|
||||
):
|
||||
|
||||
|
||||
|
||||
|
@ -3,6 +3,8 @@ from rest_framework import serializers
|
||||
|
||||
from access.serializers.organization import OrganizationBaseSerializer
|
||||
|
||||
from api.serializers import common
|
||||
|
||||
from core.serializers.manufacturer import ManufacturerBaseSerializer
|
||||
|
||||
from itam.models.software import Software
|
||||
@ -41,7 +43,10 @@ class SoftwareBaseSerializer(serializers.ModelSerializer):
|
||||
]
|
||||
|
||||
|
||||
class SoftwareModelSerializer(SoftwareBaseSerializer):
|
||||
class SoftwareModelSerializer(
|
||||
common.CommonModelSerializer,
|
||||
SoftwareBaseSerializer
|
||||
):
|
||||
|
||||
|
||||
_urls = serializers.SerializerMethodField('get_url')
|
||||
|
@ -3,6 +3,8 @@ from rest_framework import serializers
|
||||
|
||||
from access.serializers.organization import OrganizationBaseSerializer
|
||||
|
||||
from api.serializers import common
|
||||
|
||||
from core.serializers.manufacturer import ManufacturerBaseSerializer
|
||||
|
||||
from itam.models.software import SoftwareCategory
|
||||
@ -40,7 +42,10 @@ class SoftwareCategoryBaseSerializer(serializers.ModelSerializer):
|
||||
]
|
||||
|
||||
|
||||
class SoftwareCategoryModelSerializer(SoftwareCategoryBaseSerializer):
|
||||
class SoftwareCategoryModelSerializer(
|
||||
common.CommonModelSerializer,
|
||||
SoftwareCategoryBaseSerializer
|
||||
):
|
||||
|
||||
|
||||
_urls = serializers.SerializerMethodField('get_url')
|
||||
|
@ -3,6 +3,8 @@ from rest_framework import serializers
|
||||
|
||||
from access.serializers.organization import OrganizationBaseSerializer
|
||||
|
||||
from api.serializers import common
|
||||
|
||||
from itam.models.software import Software, SoftwareVersion
|
||||
from itam.serializers.software import SoftwareBaseSerializer
|
||||
|
||||
@ -50,7 +52,10 @@ class SoftwareVersionBaseSerializer(serializers.ModelSerializer):
|
||||
]
|
||||
|
||||
|
||||
class SoftwareVersionModelSerializer(SoftwareVersionBaseSerializer):
|
||||
class SoftwareVersionModelSerializer(
|
||||
common.CommonModelSerializer,
|
||||
SoftwareVersionBaseSerializer
|
||||
):
|
||||
|
||||
_urls = serializers.SerializerMethodField('get_url')
|
||||
|
||||
|
@ -3,6 +3,8 @@ from rest_framework import serializers
|
||||
|
||||
from access.serializers.organization import OrganizationBaseSerializer
|
||||
|
||||
from api.serializers import common
|
||||
|
||||
from itam.serializers.device import DeviceBaseSerializer
|
||||
|
||||
from itim.serializers.cluster_type import ClusterTypeBaseSerializer
|
||||
@ -41,7 +43,10 @@ class ClusterBaseSerializer(serializers.ModelSerializer):
|
||||
]
|
||||
|
||||
|
||||
class ClusterModelSerializer(ClusterBaseSerializer):
|
||||
class ClusterModelSerializer(
|
||||
common.CommonModelSerializer,
|
||||
ClusterBaseSerializer
|
||||
):
|
||||
|
||||
_urls = serializers.SerializerMethodField('get_url')
|
||||
|
||||
|
@ -3,6 +3,8 @@ from rest_framework import serializers
|
||||
|
||||
from access.serializers.organization import OrganizationBaseSerializer
|
||||
|
||||
from api.serializers import common
|
||||
|
||||
from itam.serializers.device import DeviceBaseSerializer
|
||||
|
||||
from itim.models.clusters import ClusterType
|
||||
@ -40,7 +42,10 @@ class ClusterTypeBaseSerializer(serializers.ModelSerializer):
|
||||
]
|
||||
|
||||
|
||||
class ClusterTypeModelSerializer(ClusterTypeBaseSerializer):
|
||||
class ClusterTypeModelSerializer(
|
||||
common.CommonModelSerializer,
|
||||
ClusterTypeBaseSerializer
|
||||
):
|
||||
|
||||
_urls = serializers.SerializerMethodField('get_url')
|
||||
|
||||
|
@ -3,6 +3,8 @@ from rest_framework import serializers
|
||||
|
||||
from access.serializers.organization import OrganizationBaseSerializer
|
||||
|
||||
from api.serializers import common
|
||||
|
||||
from itam.serializers.device import DeviceBaseSerializer
|
||||
|
||||
from itim.models.services import Port
|
||||
@ -43,7 +45,10 @@ class PortBaseSerializer(serializers.ModelSerializer):
|
||||
|
||||
|
||||
|
||||
class PortModelSerializer(PortBaseSerializer):
|
||||
class PortModelSerializer(
|
||||
common.CommonModelSerializer,
|
||||
PortBaseSerializer
|
||||
):
|
||||
|
||||
_urls = serializers.SerializerMethodField('get_url')
|
||||
|
||||
|
@ -4,6 +4,8 @@ from rest_framework.reverse import reverse
|
||||
|
||||
from access.serializers.organization import OrganizationBaseSerializer
|
||||
|
||||
from api.serializers import common
|
||||
|
||||
from itim.serializers.cluster import ClusterBaseSerializer
|
||||
from itim.serializers.port import PortBaseSerializer
|
||||
from itim.models.services import Service
|
||||
@ -43,7 +45,10 @@ class ServiceBaseSerializer(serializers.ModelSerializer):
|
||||
]
|
||||
|
||||
|
||||
class ServiceModelSerializer(ServiceBaseSerializer):
|
||||
class ServiceModelSerializer(
|
||||
common.CommonModelSerializer,
|
||||
ServiceBaseSerializer
|
||||
):
|
||||
|
||||
_urls = serializers.SerializerMethodField('get_url')
|
||||
|
||||
|
@ -4,6 +4,8 @@ from rest_framework.reverse import reverse
|
||||
|
||||
from access.serializers.organization import OrganizationBaseSerializer
|
||||
|
||||
from api.serializers import common
|
||||
|
||||
from project_management.models.project_milestone import ProjectMilestone
|
||||
from project_management.serializers.project import Project, ProjectBaseSerializer
|
||||
|
||||
@ -52,7 +54,10 @@ class ProjectMilestoneBaseSerializer(serializers.ModelSerializer):
|
||||
]
|
||||
|
||||
|
||||
class ProjectMilestoneModelSerializer(ProjectMilestoneBaseSerializer):
|
||||
class ProjectMilestoneModelSerializer(
|
||||
common.CommonModelSerializer,
|
||||
ProjectMilestoneBaseSerializer
|
||||
):
|
||||
|
||||
_urls = serializers.SerializerMethodField('get_url')
|
||||
|
||||
|
@ -4,6 +4,8 @@ from rest_framework.reverse import reverse
|
||||
|
||||
from access.serializers.organization import OrganizationBaseSerializer
|
||||
|
||||
from api.serializers import common
|
||||
|
||||
from assistance.serializers.knowledge_base import KnowledgeBaseBaseSerializer
|
||||
|
||||
from project_management.models.project_states import ProjectState
|
||||
@ -43,7 +45,10 @@ class ProjectStateBaseSerializer(serializers.ModelSerializer):
|
||||
|
||||
|
||||
|
||||
class ProjectStateModelSerializer(ProjectStateBaseSerializer):
|
||||
class ProjectStateModelSerializer(
|
||||
common.CommonModelSerializer,
|
||||
ProjectStateBaseSerializer
|
||||
):
|
||||
|
||||
_urls = serializers.SerializerMethodField('get_url')
|
||||
|
||||
|
@ -4,6 +4,8 @@ from rest_framework.reverse import reverse
|
||||
|
||||
from access.serializers.organization import OrganizationBaseSerializer
|
||||
|
||||
from api.serializers import common
|
||||
|
||||
from assistance.serializers.knowledge_base import KnowledgeBaseBaseSerializer
|
||||
|
||||
from project_management.models.project_types import ProjectType
|
||||
@ -42,7 +44,10 @@ class ProjectTypeBaseSerializer(serializers.ModelSerializer):
|
||||
]
|
||||
|
||||
|
||||
class ProjectTypeModelSerializer(ProjectTypeBaseSerializer):
|
||||
class ProjectTypeModelSerializer(
|
||||
common.CommonModelSerializer,
|
||||
ProjectTypeBaseSerializer
|
||||
):
|
||||
|
||||
_urls = serializers.SerializerMethodField('get_url')
|
||||
|
||||
|
@ -4,6 +4,8 @@ from rest_framework import serializers
|
||||
|
||||
from access.serializers.organization import OrganizationBaseSerializer
|
||||
|
||||
from api.serializers import common
|
||||
|
||||
from settings.models.external_link import ExternalLink
|
||||
|
||||
|
||||
@ -40,7 +42,10 @@ class ExternalLinkBaseSerializer(serializers.ModelSerializer):
|
||||
|
||||
|
||||
|
||||
class ExternalLinkModelSerializer(ExternalLinkBaseSerializer):
|
||||
class ExternalLinkModelSerializer(
|
||||
common.CommonModelSerializer,
|
||||
ExternalLinkBaseSerializer
|
||||
):
|
||||
|
||||
_urls = serializers.SerializerMethodField('get_url')
|
||||
|
||||
|
Reference in New Issue
Block a user