refactor(core): move get_url to common serializer
reduces duplicated code ref: #602 #605
This commit is contained in:
@ -53,9 +53,15 @@ class TeamUserModelSerializer(
|
||||
|
||||
def get_url(self, item) -> dict:
|
||||
|
||||
return {
|
||||
'_self': item.get_url( request = self._context['view'].request )
|
||||
}
|
||||
get_url = super().get_url( item = item )
|
||||
|
||||
del get_url['history']
|
||||
|
||||
del get_url['knowledge_base']
|
||||
|
||||
del get_url['notes']
|
||||
|
||||
return get_url
|
||||
|
||||
|
||||
class Meta:
|
||||
|
@ -61,24 +61,9 @@ class TeamModelSerializer(
|
||||
|
||||
def get_url(self, item) -> dict:
|
||||
|
||||
return {
|
||||
'_self': item.get_url( request = self._context['view'].request ),
|
||||
'knowledge_base': reverse(
|
||||
"v2:_api_v2_model_kb-list",
|
||||
request=self._context['view'].request,
|
||||
kwargs={
|
||||
'model': self.Meta.model._meta.model_name,
|
||||
'model_pk': item.pk
|
||||
}
|
||||
),
|
||||
'notes': reverse(
|
||||
"v2:_api_v2_organization_team_note-list",
|
||||
request=self._context['view'].request,
|
||||
kwargs={
|
||||
'organization_id': item.organization.pk,
|
||||
'model_id': item.pk
|
||||
}
|
||||
),
|
||||
get_url = super().get_url( item = item )
|
||||
|
||||
get_url.update({
|
||||
'users': reverse(
|
||||
'v2:_api_v2_organization_team_user-list',
|
||||
request=self.context['view'].request,
|
||||
@ -87,7 +72,10 @@ class TeamModelSerializer(
|
||||
'team_id': item.pk
|
||||
}
|
||||
)
|
||||
}
|
||||
})
|
||||
|
||||
return get_url
|
||||
|
||||
|
||||
team_name = centurion_field.CharField( autolink = True )
|
||||
|
||||
|
@ -1,11 +1,12 @@
|
||||
|
||||
from rest_framework import serializers
|
||||
from rest_framework.reverse import reverse
|
||||
|
||||
from access.serializers.organization import Organization, OrganizationBaseSerializer
|
||||
from access.serializers.organization import Organization
|
||||
|
||||
from core import fields as centurion_field
|
||||
|
||||
from settings.models.app_settings import AppSettings
|
||||
|
||||
|
||||
|
||||
class OrganizationField(serializers.PrimaryKeyRelatedField):
|
||||
@ -50,4 +51,36 @@ class CommonModelSerializer(CommonBaseSerializer):
|
||||
|
||||
model_notes = centurion_field.MarkdownField( required = False )
|
||||
|
||||
organization = OrganizationField(required = False)
|
||||
organization = OrganizationField(required = False)
|
||||
|
||||
|
||||
def get_url(self, item) -> dict:
|
||||
|
||||
return {
|
||||
'_self': item.get_url( request = self._context['view'].request ),
|
||||
|
||||
'history': reverse(
|
||||
"v2:_api_v2_model_history-list",
|
||||
request = self._context['view'].request,
|
||||
kwargs = {
|
||||
'app_label': self.Meta.model._meta.app_label,
|
||||
'model_name': self.Meta.model._meta.model_name,
|
||||
'model_id': item.pk
|
||||
}
|
||||
),
|
||||
'knowledge_base': reverse(
|
||||
"v2:_api_v2_model_kb-list",
|
||||
request=self._context['view'].request,
|
||||
kwargs={
|
||||
'model': self.Meta.model._meta.model_name,
|
||||
'model_pk': item.pk
|
||||
}
|
||||
),
|
||||
'notes': reverse(
|
||||
"v2:_api_v2_operating_system_note-list",
|
||||
request = self._context['view'].request,
|
||||
kwargs = {
|
||||
'model_id': item.pk
|
||||
}
|
||||
),
|
||||
}
|
||||
|
@ -63,19 +63,15 @@ class KnowledgeBaseModelSerializer(
|
||||
|
||||
def get_url(self, item) -> dict:
|
||||
|
||||
return {
|
||||
'_self': item.get_url( request = self._context['view'].request ),
|
||||
get_url = super().get_url( item = item )
|
||||
|
||||
del get_url['knowledge_base']
|
||||
|
||||
get_url.update({
|
||||
'category': reverse(
|
||||
'v2:_api_v2_knowledge_base_category-list',
|
||||
request=self.context['view'].request,
|
||||
),
|
||||
'notes': reverse(
|
||||
"v2:_api_v2_knowledge_base_note-list",
|
||||
request=self._context['view'].request,
|
||||
kwargs={
|
||||
'model_id': item.pk
|
||||
}
|
||||
),
|
||||
'organization': reverse(
|
||||
'v2:_api_v2_organization-list',
|
||||
request=self.context['view'].request,
|
||||
@ -91,7 +87,10 @@ class KnowledgeBaseModelSerializer(
|
||||
'v2:_api_v2_user-list',
|
||||
request=self.context['view'].request,
|
||||
)
|
||||
}
|
||||
})
|
||||
|
||||
return get_url
|
||||
|
||||
|
||||
|
||||
content = centurion_field.MarkdownField( required = False, style_class = 'large' )
|
||||
|
@ -61,15 +61,9 @@ class KnowledgeBaseCategoryModelSerializer(
|
||||
|
||||
def get_url(self, item) -> dict:
|
||||
|
||||
return {
|
||||
'_self': item.get_url( request = self._context['view'].request ),
|
||||
'notes': reverse(
|
||||
"v2:_api_v2_knowledge_base_category_note-list",
|
||||
request=self._context['view'].request,
|
||||
kwargs={
|
||||
'model_id': item.pk
|
||||
}
|
||||
),
|
||||
get_url = super().get_url( item = item )
|
||||
|
||||
get_url.update({
|
||||
'organization': reverse(
|
||||
'v2:_api_v2_organization-list',
|
||||
request=self.context['view'].request,
|
||||
@ -85,7 +79,10 @@ class KnowledgeBaseCategoryModelSerializer(
|
||||
'v2:_api_v2_user-list',
|
||||
request=self.context['view'].request,
|
||||
)
|
||||
}
|
||||
})
|
||||
|
||||
return get_url
|
||||
|
||||
|
||||
|
||||
class Meta:
|
||||
|
@ -64,16 +64,9 @@ class ConfigGroupModelSerializer(
|
||||
|
||||
def get_url(self, item) -> dict:
|
||||
|
||||
request = None
|
||||
get_url = super().get_url( item = item )
|
||||
|
||||
if 'view' in self._context:
|
||||
|
||||
if hasattr(self._context['view'], 'request'):
|
||||
|
||||
request = self._context['view'].request
|
||||
|
||||
return {
|
||||
'_self': item.get_url( request = request ),
|
||||
get_url.update({
|
||||
'child_groups': reverse(
|
||||
'v2:_api_v2_config_group_child-list',
|
||||
request = self.context['view'].request,
|
||||
@ -92,21 +85,6 @@ class ConfigGroupModelSerializer(
|
||||
'config_group_id': item.pk
|
||||
}
|
||||
),
|
||||
'notes': reverse(
|
||||
"v2:_api_v2_config_group_note-list",
|
||||
request=self._context['view'].request,
|
||||
kwargs={
|
||||
'model_id': item.pk
|
||||
}
|
||||
),
|
||||
'knowledge_base': reverse(
|
||||
"v2:_api_v2_model_kb-list",
|
||||
request=self._context['view'].request,
|
||||
kwargs={
|
||||
'model': self.Meta.model._meta.model_name,
|
||||
'model_pk': item.pk
|
||||
}
|
||||
),
|
||||
'organization': reverse(
|
||||
'v2:_api_v2_organization-list',
|
||||
request=self.context['view'].request,
|
||||
@ -123,7 +101,10 @@ class ConfigGroupModelSerializer(
|
||||
'item_id': item.pk
|
||||
}
|
||||
),
|
||||
}
|
||||
})
|
||||
|
||||
return get_url
|
||||
|
||||
|
||||
rendered_config = serializers.JSONField( source = 'render_config', read_only=True )
|
||||
|
||||
|
@ -60,14 +60,22 @@ class ConfigGroupSoftwareModelSerializer(
|
||||
|
||||
def get_url(self, item) -> dict:
|
||||
|
||||
return {
|
||||
'_self': item.get_url( request = self._context['view'].request ),
|
||||
get_url = super().get_url( item = item )
|
||||
|
||||
del get_url['history']
|
||||
del get_url['knowledge_base']
|
||||
del get_url['notes']
|
||||
|
||||
get_url.update({
|
||||
'organization': reverse(
|
||||
'v2:_api_v2_organization-list',
|
||||
request=self.context['view'].request,
|
||||
),
|
||||
'softwareversion': 'ToDo',
|
||||
}
|
||||
})
|
||||
|
||||
return get_url
|
||||
|
||||
|
||||
|
||||
class Meta:
|
||||
|
@ -49,35 +49,6 @@ class ManufacturerModelSerializer(
|
||||
|
||||
_urls = serializers.SerializerMethodField('get_url')
|
||||
|
||||
def get_url(self, item) -> dict:
|
||||
|
||||
return {
|
||||
'_self': item.get_url( request = self._context['view'].request ),
|
||||
'history': reverse(
|
||||
"v2:_api_v2_model_history-list",
|
||||
request=self._context['view'].request,
|
||||
kwargs={
|
||||
'model_class': self.Meta.model._meta.model_name,
|
||||
'model_id': item.pk
|
||||
}
|
||||
),
|
||||
'knowledge_base': reverse(
|
||||
"v2:_api_v2_model_kb-list",
|
||||
request=self._context['view'].request,
|
||||
kwargs={
|
||||
'model': self.Meta.model._meta.model_name,
|
||||
'model_pk': item.pk
|
||||
}
|
||||
),
|
||||
'notes': reverse(
|
||||
"v2:_api_v2_manufacturer_note-list",
|
||||
request=self._context['view'].request,
|
||||
kwargs={
|
||||
'model_id': item.pk
|
||||
}
|
||||
),
|
||||
}
|
||||
|
||||
|
||||
class Meta:
|
||||
|
||||
|
@ -49,20 +49,6 @@ class TicketCategoryModelSerializer(
|
||||
|
||||
_urls = serializers.SerializerMethodField('get_url')
|
||||
|
||||
def get_url(self, item) -> dict:
|
||||
|
||||
return {
|
||||
'_self': item.get_url( request = self._context['view'].request ),
|
||||
'knowledge_base': reverse(
|
||||
"v2:_api_v2_model_kb-list",
|
||||
request=self._context['view'].request,
|
||||
kwargs={
|
||||
'model': self.Meta.model._meta.model_name,
|
||||
'model_pk': item.pk
|
||||
}
|
||||
),
|
||||
}
|
||||
|
||||
|
||||
class Meta:
|
||||
|
||||
|
@ -49,20 +49,6 @@ class TicketCommentCategoryModelSerializer(
|
||||
|
||||
_urls = serializers.SerializerMethodField('get_url')
|
||||
|
||||
def get_url(self, item) -> dict:
|
||||
|
||||
return {
|
||||
'_self': item.get_url( request = self._context['view'].request ),
|
||||
'knowledge_base': reverse(
|
||||
"v2:_api_v2_model_kb-list",
|
||||
request=self._context['view'].request,
|
||||
kwargs={
|
||||
'model': self.Meta.model._meta.model_name,
|
||||
'model_pk': item.pk
|
||||
}
|
||||
),
|
||||
}
|
||||
|
||||
|
||||
class Meta:
|
||||
|
||||
|
@ -51,7 +51,7 @@ class DeviceBaseSerializer(serializers.ModelSerializer):
|
||||
|
||||
class DeviceModelSerializer(
|
||||
common.CommonModelSerializer,
|
||||
DeviceBaseSerializer
|
||||
DeviceBaseSerializer,
|
||||
):
|
||||
|
||||
_urls = serializers.SerializerMethodField('get_url')
|
||||
@ -60,40 +60,13 @@ class DeviceModelSerializer(
|
||||
|
||||
request = None
|
||||
|
||||
if 'view' in self._context:
|
||||
get_url = super().get_url( item = item )
|
||||
|
||||
if hasattr(self._context['view'], 'request'):
|
||||
get_url.update({
|
||||
|
||||
request = self._context['view'].request
|
||||
|
||||
return {
|
||||
'_self': item.get_url( request = request ),
|
||||
'device_model': reverse("v2:_api_v2_device_model-list", request=self._context['view'].request),
|
||||
'device_type': reverse("v2:_api_v2_device_type-list", request=self._context['view'].request),
|
||||
'external_links': reverse("v2:_api_v2_external_link-list", request=self._context['view'].request) + '?devices=true',
|
||||
'history': reverse(
|
||||
"v2:_api_v2_model_history-list",
|
||||
request=self._context['view'].request,
|
||||
kwargs={
|
||||
'model_class': self.Meta.model._meta.model_name,
|
||||
'model_id': item.pk
|
||||
}
|
||||
),
|
||||
'knowledge_base': reverse(
|
||||
"v2:_api_v2_model_kb-list",
|
||||
request=self._context['view'].request,
|
||||
kwargs={
|
||||
'model': self.Meta.model._meta.model_name,
|
||||
'model_pk': item.pk
|
||||
}
|
||||
),
|
||||
'notes': reverse(
|
||||
"v2:_api_v2_device_note-list",
|
||||
request=self._context['view'].request,
|
||||
kwargs={
|
||||
'model_id': item.pk
|
||||
}
|
||||
),
|
||||
'operating_system': reverse("v2:_api_v2_device_operating_system-list", request=self._context['view'].request, kwargs={'device_id': item.pk}),
|
||||
'service': reverse("v2:_api_v2_service_device-list", request=self._context['view'].request, kwargs={'device_id': item.pk}),
|
||||
'software': reverse("v2:_api_v2_device_software-list", request=self._context['view'].request, kwargs={'device_id': item.pk}),
|
||||
@ -105,7 +78,9 @@ class DeviceModelSerializer(
|
||||
'item_id': item.pk
|
||||
}
|
||||
)
|
||||
}
|
||||
})
|
||||
|
||||
return get_url
|
||||
|
||||
|
||||
context = serializers.SerializerMethodField('get_cont')
|
||||
|
@ -52,26 +52,6 @@ class DeviceModelModelSerializer(
|
||||
|
||||
_urls = serializers.SerializerMethodField('get_url')
|
||||
|
||||
def get_url(self, obj) -> dict:
|
||||
|
||||
return {
|
||||
'_self': obj.get_url( request = self._context['view'].request ),
|
||||
'knowledge_base': reverse(
|
||||
"v2:_api_v2_model_kb-list",
|
||||
request=self._context['view'].request,
|
||||
kwargs={
|
||||
'model': self.Meta.model._meta.model_name,
|
||||
'model_pk': obj.pk
|
||||
}
|
||||
),
|
||||
'notes': reverse(
|
||||
"v2:_api_v2_device_model_note-list",
|
||||
request=self._context['view'].request,
|
||||
kwargs={
|
||||
'model_id': obj.pk
|
||||
}
|
||||
),
|
||||
}
|
||||
|
||||
class Meta:
|
||||
|
||||
|
@ -60,22 +60,32 @@ class DeviceOperatingSystemModelSerializer(
|
||||
|
||||
def get_url(self, obj) -> dict:
|
||||
|
||||
get_url = super().get_url( item = item )
|
||||
|
||||
del get_url['history']
|
||||
|
||||
del get_url['knowledge_base']
|
||||
|
||||
del get_url['notes']
|
||||
|
||||
if self._context.get('view', None):
|
||||
|
||||
if self.context['view'].kwargs.get('device_id'):
|
||||
|
||||
return {
|
||||
get_url.update({
|
||||
'_self': obj.get_url( request = self._context['view'].request )
|
||||
}
|
||||
})
|
||||
|
||||
elif self.context['view'].kwargs.get('operating_system_id'):
|
||||
|
||||
return {
|
||||
get_url.update({
|
||||
'_self': reverse("v2:_api_v2_operating_system_installs-detail", request = self._context['view'].request, kwargs = {
|
||||
'operating_system_id': obj.operating_system_version.operating_system.pk,
|
||||
'pk': obj.pk
|
||||
} )
|
||||
}
|
||||
})
|
||||
|
||||
return get_url
|
||||
|
||||
|
||||
|
||||
|
@ -60,22 +60,32 @@ class DeviceSoftwareModelSerializer(
|
||||
|
||||
def get_url(self, obj) -> dict:
|
||||
|
||||
if 'view' in self._context:
|
||||
get_url = super().get_url( item = item )
|
||||
|
||||
del get_url['history']
|
||||
|
||||
del get_url['knowledge_base']
|
||||
|
||||
del get_url['notes']
|
||||
|
||||
if 'view' in self._context:
|
||||
|
||||
if 'software_id' in self._context['view'].kwargs:
|
||||
|
||||
return {
|
||||
get_url.update({
|
||||
'_self': reverse("v2:_api_v2_software_installs-detail", request = self._context['view'].request, kwargs = {
|
||||
'software_id': obj.software.pk,
|
||||
'pk': obj.pk
|
||||
} )
|
||||
}
|
||||
})
|
||||
|
||||
elif 'device_id' in self._context['view'].kwargs:
|
||||
|
||||
return {
|
||||
get_url.update({
|
||||
'_self': obj.get_url( request = self._context['view'].request )
|
||||
}
|
||||
})
|
||||
|
||||
return get_url
|
||||
|
||||
|
||||
|
||||
|
@ -48,27 +48,6 @@ class DeviceTypeModelSerializer(
|
||||
|
||||
_urls = serializers.SerializerMethodField('get_url')
|
||||
|
||||
def get_url(self, obj) -> dict:
|
||||
|
||||
return {
|
||||
'_self': obj.get_url( request = self._context['view'].request ),
|
||||
'knowledge_base': reverse(
|
||||
"v2:_api_v2_model_kb-list",
|
||||
request=self._context['view'].request,
|
||||
kwargs={
|
||||
'model': self.Meta.model._meta.model_name,
|
||||
'model_pk': obj.pk
|
||||
}
|
||||
),
|
||||
'notes': reverse(
|
||||
"v2:_api_v2_device_type_note-list",
|
||||
request=self._context['view'].request,
|
||||
kwargs={
|
||||
'model_id': obj.pk
|
||||
}
|
||||
),
|
||||
}
|
||||
|
||||
|
||||
class Meta:
|
||||
|
||||
|
@ -55,33 +55,10 @@ class OperatingSystemModelSerializer(
|
||||
|
||||
def get_url(self, item) -> dict:
|
||||
|
||||
return {
|
||||
'_self': item.get_url( request = self._context['view'].request ),
|
||||
'history': reverse(
|
||||
"v2:_api_v2_model_history-list",
|
||||
request=self._context['view'].request,
|
||||
kwargs={
|
||||
'model_class': self.Meta.model._meta.model_name,
|
||||
'model_id': item.pk
|
||||
}
|
||||
),
|
||||
get_url = super().get_url( item = item )
|
||||
|
||||
get_url.update({
|
||||
'installations': reverse("v2:_api_v2_operating_system_installs-list", request=self._context['view'].request, kwargs={'operating_system_id': item.pk}),
|
||||
'knowledge_base': reverse(
|
||||
"v2:_api_v2_model_kb-list",
|
||||
request=self._context['view'].request,
|
||||
kwargs={
|
||||
'model': self.Meta.model._meta.model_name,
|
||||
'model_pk': item.pk
|
||||
}
|
||||
),
|
||||
|
||||
'notes': reverse(
|
||||
"v2:_api_v2_operating_system_note-list",
|
||||
request=self._context['view'].request,
|
||||
kwargs={
|
||||
'model_id': item.pk
|
||||
}
|
||||
),
|
||||
'tickets': reverse(
|
||||
"v2:_api_v2_item_tickets-list",
|
||||
request=self._context['view'].request,
|
||||
@ -91,7 +68,9 @@ class OperatingSystemModelSerializer(
|
||||
}
|
||||
),
|
||||
'version': reverse("v2:_api_v2_operating_system_version-list", request=self._context['view'].request, kwargs={'operating_system_id': item.pk}),
|
||||
}
|
||||
})
|
||||
|
||||
return get_url
|
||||
|
||||
|
||||
|
||||
|
@ -58,38 +58,6 @@ class OperatingSystemVersionModelSerializer(
|
||||
|
||||
_urls = serializers.SerializerMethodField('get_url')
|
||||
|
||||
def get_url(self, item) -> dict:
|
||||
|
||||
return {
|
||||
'_self': item.get_url( request = self._context['view'].request ),
|
||||
'history': reverse(
|
||||
"v2:_api_v2_model_history-list",
|
||||
request=self._context['view'].request,
|
||||
kwargs={
|
||||
'model_class': self.Meta.model._meta.model_name,
|
||||
'model_id': item.pk
|
||||
}
|
||||
),
|
||||
'knowledge_base': reverse(
|
||||
"v2:_api_v2_model_kb-list",
|
||||
request=self._context['view'].request,
|
||||
kwargs={
|
||||
'model': self.Meta.model._meta.model_name,
|
||||
'model_pk': item.pk
|
||||
}
|
||||
),
|
||||
'notes': reverse(
|
||||
"v2:_api_v2_operating_system_version_note-list",
|
||||
request=self._context['view'].request,
|
||||
kwargs={
|
||||
'operating_system_id': item.operating_system.id,
|
||||
'model_id': item.pk
|
||||
}
|
||||
),
|
||||
'tickets': 'ToDo'
|
||||
}
|
||||
|
||||
|
||||
|
||||
class Meta:
|
||||
|
||||
|
@ -53,33 +53,11 @@ class SoftwareModelSerializer(
|
||||
|
||||
def get_url(self, item) -> dict:
|
||||
|
||||
return {
|
||||
'_self': item.get_url( request = self._context['view'].request ),
|
||||
get_url = super().get_url( item = item )
|
||||
|
||||
get_url.update({
|
||||
'external_links': reverse("v2:_api_v2_external_link-list", request=self._context['view'].request) + '?software=true',
|
||||
'history': reverse(
|
||||
"v2:_api_v2_model_history-list",
|
||||
request=self._context['view'].request,
|
||||
kwargs={
|
||||
'model_class': self.Meta.model._meta.model_name,
|
||||
'model_id': item.pk
|
||||
}
|
||||
),
|
||||
'installations': reverse("v2:_api_v2_software_installs-list", request=self._context['view'].request, kwargs={'software_id': item.pk}),
|
||||
'knowledge_base': reverse(
|
||||
"v2:_api_v2_model_kb-list",
|
||||
request=self._context['view'].request,
|
||||
kwargs={
|
||||
'model': self.Meta.model._meta.model_name,
|
||||
'model_pk': item.pk
|
||||
}
|
||||
),
|
||||
'notes': reverse(
|
||||
"v2:_api_v2_software_note-list",
|
||||
request=self._context['view'].request,
|
||||
kwargs={
|
||||
'model_id': item.pk
|
||||
}
|
||||
),
|
||||
'publisher': reverse("v2:_api_v2_manufacturer-list", request=self._context['view'].request),
|
||||
'services': 'ToDo',
|
||||
'version': reverse(
|
||||
@ -97,7 +75,10 @@ class SoftwareModelSerializer(
|
||||
'item_id': item.pk
|
||||
}
|
||||
)
|
||||
}
|
||||
})
|
||||
|
||||
return get_url
|
||||
|
||||
|
||||
|
||||
def get_rendered_config(self, item) -> dict:
|
||||
|
@ -50,28 +50,6 @@ class SoftwareCategoryModelSerializer(
|
||||
|
||||
_urls = serializers.SerializerMethodField('get_url')
|
||||
|
||||
def get_url(self, item) -> dict:
|
||||
|
||||
return {
|
||||
'_self': item.get_url( request = self._context['view'].request ),
|
||||
'history': 'ToDo',
|
||||
'knowledge_base': reverse(
|
||||
"v2:_api_v2_model_kb-list",
|
||||
request=self._context['view'].request,
|
||||
kwargs={
|
||||
'model': self.Meta.model._meta.model_name,
|
||||
'model_pk': item.pk
|
||||
}
|
||||
),
|
||||
'notes': reverse(
|
||||
"v2:_api_v2_software_category_note-list",
|
||||
request=self._context['view'].request,
|
||||
kwargs={
|
||||
'model_id': item.pk
|
||||
}
|
||||
),
|
||||
}
|
||||
|
||||
|
||||
def get_rendered_config(self, item) -> dict:
|
||||
|
||||
|
@ -52,37 +52,6 @@ class SoftwareVersionModelSerializer(
|
||||
|
||||
_urls = serializers.SerializerMethodField('get_url')
|
||||
|
||||
def get_url(self, item) -> dict:
|
||||
|
||||
return {
|
||||
'_self': item.get_url( request = self._context['view'].request ),
|
||||
'history': reverse(
|
||||
"v2:_api_v2_model_history-list",
|
||||
request=self._context['view'].request,
|
||||
kwargs={
|
||||
'model_class': self.Meta.model._meta.model_name,
|
||||
'model_id': item.pk
|
||||
}
|
||||
),
|
||||
'knowledge_base': reverse(
|
||||
"v2:_api_v2_model_kb-list",
|
||||
request=self._context['view'].request,
|
||||
kwargs={
|
||||
'model': self.Meta.model._meta.model_name,
|
||||
'model_pk': item.pk
|
||||
}
|
||||
),
|
||||
'notes': reverse(
|
||||
"v2:_api_v2_software_version_note-list",
|
||||
request=self._context['view'].request,
|
||||
kwargs={
|
||||
'software_id': item.software.pk,
|
||||
'model_id': item.pk
|
||||
}
|
||||
),
|
||||
'tickets': 'ToDo'
|
||||
}
|
||||
|
||||
|
||||
class Meta:
|
||||
|
||||
|
@ -52,32 +52,10 @@ class ClusterModelSerializer(
|
||||
|
||||
def get_url(self, item) -> dict:
|
||||
|
||||
return {
|
||||
'_self': item.get_url( request = self._context['view'].request ),
|
||||
get_url = super().get_url( item = item )
|
||||
|
||||
get_url.update({
|
||||
'external_links': reverse("v2:_api_v2_external_link-list", request=self._context['view'].request) + '?cluster=true',
|
||||
'history': reverse(
|
||||
"v2:_api_v2_model_history-list",
|
||||
request=self._context['view'].request,
|
||||
kwargs={
|
||||
'model_class': self.Meta.model._meta.model_name,
|
||||
'model_id': item.pk
|
||||
}
|
||||
),
|
||||
'knowledge_base': reverse(
|
||||
"v2:_api_v2_model_kb-list",
|
||||
request=self._context['view'].request,
|
||||
kwargs={
|
||||
'model': self.Meta.model._meta.model_name,
|
||||
'model_pk': item.pk
|
||||
}
|
||||
),
|
||||
'notes': reverse(
|
||||
"v2:_api_v2_cluster_note-list",
|
||||
request=self._context['view'].request,
|
||||
kwargs={
|
||||
'model_id': item.pk
|
||||
}
|
||||
),
|
||||
'service': reverse("v2:_api_v2_service_cluster-list", request=self._context['view'].request, kwargs={'cluster_id': item.pk}),
|
||||
'tickets': reverse(
|
||||
"v2:_api_v2_item_tickets-list",
|
||||
@ -87,7 +65,10 @@ class ClusterModelSerializer(
|
||||
'item_id': item.pk
|
||||
}
|
||||
)
|
||||
}
|
||||
})
|
||||
|
||||
return get_url
|
||||
|
||||
|
||||
|
||||
rendered_config = serializers.JSONField( read_only = True)
|
||||
|
@ -49,35 +49,6 @@ class ClusterTypeModelSerializer(
|
||||
|
||||
_urls = serializers.SerializerMethodField('get_url')
|
||||
|
||||
def get_url(self, item) -> dict:
|
||||
|
||||
return {
|
||||
'_self': item.get_url( request = self._context['view'].request ),
|
||||
'history': reverse(
|
||||
"v2:_api_v2_model_history-list",
|
||||
request=self._context['view'].request,
|
||||
kwargs={
|
||||
'model_class': self.Meta.model._meta.model_name,
|
||||
'model_id': item.pk
|
||||
}
|
||||
),
|
||||
'knowledge_base': reverse(
|
||||
"v2:_api_v2_model_kb-list",
|
||||
request=self._context['view'].request,
|
||||
kwargs={
|
||||
'model': self.Meta.model._meta.model_name,
|
||||
'model_pk': item.pk
|
||||
}
|
||||
),
|
||||
'notes': reverse(
|
||||
"v2:_api_v2_cluster_type_note-list",
|
||||
request=self._context['view'].request,
|
||||
kwargs={
|
||||
'model_id': item.pk
|
||||
}
|
||||
),
|
||||
}
|
||||
|
||||
|
||||
class Meta:
|
||||
|
||||
|
@ -52,35 +52,6 @@ class PortModelSerializer(
|
||||
|
||||
_urls = serializers.SerializerMethodField('get_url')
|
||||
|
||||
def get_url(self, item) -> dict:
|
||||
|
||||
return {
|
||||
'_self': item.get_url( request = self._context['view'].request ),
|
||||
'history': reverse(
|
||||
"v2:_api_v2_model_history-list",
|
||||
request=self._context['view'].request,
|
||||
kwargs={
|
||||
'model_class': self.Meta.model._meta.model_name,
|
||||
'model_id': item.pk
|
||||
}
|
||||
),
|
||||
'knowledge_base': reverse(
|
||||
"v2:_api_v2_model_kb-list",
|
||||
request=self._context['view'].request,
|
||||
kwargs={
|
||||
'model': self.Meta.model._meta.model_name,
|
||||
'model_pk': item.pk
|
||||
}
|
||||
),
|
||||
'notes': reverse(
|
||||
"v2:_api_v2_port_note-list",
|
||||
request=self._context['view'].request,
|
||||
kwargs={
|
||||
'model_id': item.pk
|
||||
}
|
||||
),
|
||||
}
|
||||
|
||||
|
||||
class Meta:
|
||||
|
||||
|
@ -54,32 +54,10 @@ class ServiceModelSerializer(
|
||||
|
||||
def get_url(self, item) -> dict:
|
||||
|
||||
return {
|
||||
'_self': item.get_url( request = self._context['view'].request ),
|
||||
get_url = super().get_url( item = item )
|
||||
|
||||
get_url.update({
|
||||
'external_links': reverse("v2:_api_v2_external_link-list", request=self._context['view'].request) + '?service=true',
|
||||
'history': reverse(
|
||||
"v2:_api_v2_model_history-list",
|
||||
request=self._context['view'].request,
|
||||
kwargs={
|
||||
'model_class': self.Meta.model._meta.model_name,
|
||||
'model_id': item.pk
|
||||
}
|
||||
),
|
||||
'knowledge_base': reverse(
|
||||
"v2:_api_v2_model_kb-list",
|
||||
request=self._context['view'].request,
|
||||
kwargs={
|
||||
'model': self.Meta.model._meta.model_name,
|
||||
'model_pk': item.pk
|
||||
}
|
||||
),
|
||||
'notes': reverse(
|
||||
"v2:_api_v2_service_note-list",
|
||||
request=self._context['view'].request,
|
||||
kwargs={
|
||||
'model_id': item.pk
|
||||
}
|
||||
),
|
||||
'tickets': reverse(
|
||||
"v2:_api_v2_item_tickets-list",
|
||||
request=self._context['view'].request,
|
||||
@ -88,7 +66,10 @@ class ServiceModelSerializer(
|
||||
'item_id': item.pk
|
||||
}
|
||||
)
|
||||
}
|
||||
})
|
||||
|
||||
return get_url
|
||||
|
||||
|
||||
|
||||
rendered_config = serializers.JSONField( source='config_variables', read_only = True )
|
||||
|
@ -56,32 +56,10 @@ class ProjectModelSerializer(ProjectBaseSerializer):
|
||||
|
||||
def get_url(self, item) -> dict:
|
||||
|
||||
return {
|
||||
'_self': item.get_url( request = self._context['view'].request ),
|
||||
'history': reverse(
|
||||
"v2:_api_v2_model_history-list",
|
||||
request=self._context['view'].request,
|
||||
kwargs={
|
||||
'model_class': self.Meta.model._meta.model_name,
|
||||
'model_id': item.pk
|
||||
}
|
||||
),
|
||||
'knowledge_base': reverse(
|
||||
"v2:_api_v2_model_kb-list",
|
||||
request=self._context['view'].request,
|
||||
kwargs={
|
||||
'model': self.Meta.model._meta.model_name,
|
||||
'model_pk': item.pk
|
||||
}
|
||||
),
|
||||
get_url = super().get_url( item = item )
|
||||
|
||||
get_url.update({
|
||||
'milestone': reverse("v2:_api_v2_project_milestone-list", request=self._context['view'].request, kwargs={'project_id': item.pk}),
|
||||
'notes': reverse(
|
||||
"v2:_api_v2_project_note-list",
|
||||
request=self._context['view'].request,
|
||||
kwargs={
|
||||
'model_id': item.pk
|
||||
}
|
||||
),
|
||||
'tickets': reverse(
|
||||
"v2:_api_v2_ticket_project_task-list",
|
||||
request=self._context['view'].request,
|
||||
@ -89,7 +67,10 @@ class ProjectModelSerializer(ProjectBaseSerializer):
|
||||
'project_id': item.pk
|
||||
}
|
||||
),
|
||||
}
|
||||
})
|
||||
|
||||
return get_url
|
||||
|
||||
|
||||
description = centurion_field.MarkdownField( required = False, style_class = 'large' )
|
||||
completed = serializers.CharField( source = 'percent_completed', read_only = True )
|
||||
|
@ -54,28 +54,6 @@ class ProjectMilestoneModelSerializer(
|
||||
|
||||
_urls = serializers.SerializerMethodField('get_url')
|
||||
|
||||
def get_url(self, item) -> dict:
|
||||
|
||||
return {
|
||||
'_self': item.get_url( request = self._context['view'].request ),
|
||||
'knowledge_base': reverse(
|
||||
"v2:_api_v2_model_kb-list",
|
||||
request=self._context['view'].request,
|
||||
kwargs={
|
||||
'model': self.Meta.model._meta.model_name,
|
||||
'model_pk': item.pk
|
||||
}
|
||||
),
|
||||
'notes': reverse(
|
||||
"v2:_api_v2_project_milestone_note-list",
|
||||
request=self._context['view'].request,
|
||||
kwargs={
|
||||
'project_id': item.project.pk,
|
||||
'model_id': item.pk
|
||||
}
|
||||
),
|
||||
}
|
||||
|
||||
|
||||
class Meta:
|
||||
|
||||
|
@ -52,27 +52,6 @@ class ProjectStateModelSerializer(
|
||||
|
||||
_urls = serializers.SerializerMethodField('get_url')
|
||||
|
||||
def get_url(self, item) -> dict:
|
||||
|
||||
return {
|
||||
'_self': item.get_url( request = self._context['view'].request ),
|
||||
'knowledge_base': reverse(
|
||||
"v2:_api_v2_model_kb-list",
|
||||
request=self._context['view'].request,
|
||||
kwargs={
|
||||
'model': self.Meta.model._meta.model_name,
|
||||
'model_pk': item.pk
|
||||
}
|
||||
),
|
||||
'notes': reverse(
|
||||
"v2:_api_v2_project_state_note-list",
|
||||
request=self._context['view'].request,
|
||||
kwargs={
|
||||
'model_id': item.pk
|
||||
}
|
||||
),
|
||||
}
|
||||
|
||||
|
||||
class Meta:
|
||||
|
||||
|
@ -53,24 +53,10 @@ class ProjectTypeModelSerializer(
|
||||
|
||||
def get_url(self, item) -> dict:
|
||||
|
||||
return {
|
||||
'_self': item.get_url( request = self._context['view'].request ),
|
||||
'knowledge_base': reverse(
|
||||
"v2:_api_v2_model_kb-list",
|
||||
request=self._context['view'].request,
|
||||
kwargs={
|
||||
'model': self.Meta.model._meta.model_name,
|
||||
'model_pk': item.pk
|
||||
}
|
||||
),
|
||||
'notes': reverse(
|
||||
"v2:_api_v2_project_type_note-list",
|
||||
request=self._context['view'].request,
|
||||
kwargs={
|
||||
'model_id': item.pk
|
||||
}
|
||||
),
|
||||
}
|
||||
get_url = super().get_url( item = item )
|
||||
|
||||
return get_url
|
||||
|
||||
|
||||
|
||||
class Meta:
|
||||
|
@ -49,35 +49,6 @@ class ExternalLinkModelSerializer(
|
||||
|
||||
_urls = serializers.SerializerMethodField('get_url')
|
||||
|
||||
def get_url(self, item) -> dict:
|
||||
|
||||
return {
|
||||
'_self': item.get_url( request = self._context['view'].request ),
|
||||
'history': reverse(
|
||||
"v2:_api_v2_model_history-list",
|
||||
request=self._context['view'].request,
|
||||
kwargs={
|
||||
'model_class': self.Meta.model._meta.model_name,
|
||||
'model_id': item.pk
|
||||
}
|
||||
),
|
||||
'knowledge_base': reverse(
|
||||
"v2:_api_v2_model_kb-list",
|
||||
request=self._context['view'].request,
|
||||
kwargs={
|
||||
'model': self.Meta.model._meta.model_name,
|
||||
'model_pk': item.pk
|
||||
}
|
||||
),
|
||||
'notes': reverse(
|
||||
"v2:_api_v2_external_link_note-list",
|
||||
request=self._context['view'].request,
|
||||
kwargs={
|
||||
'model_id': item.pk
|
||||
}
|
||||
),
|
||||
}
|
||||
|
||||
|
||||
class Meta:
|
||||
|
||||
|
Reference in New Issue
Block a user