@ -1,42 +0,0 @@
|
|||||||
from core.serializers.model_notes import (
|
|
||||||
ModelNoteBaseSerializer,
|
|
||||||
ModelNoteModelSerializer,
|
|
||||||
ModelNoteViewSerializer
|
|
||||||
)
|
|
||||||
|
|
||||||
from settings.models.external_link_notes import (
|
|
||||||
ExternalLinkNotes
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
class ExternalLinkNoteBaseSerializer(ModelNoteBaseSerializer):
|
|
||||||
|
|
||||||
pass
|
|
||||||
|
|
||||||
|
|
||||||
class ExternalLinkNoteModelSerializer(
|
|
||||||
ModelNoteModelSerializer
|
|
||||||
):
|
|
||||||
|
|
||||||
|
|
||||||
class Meta:
|
|
||||||
|
|
||||||
model = ExternalLinkNotes
|
|
||||||
|
|
||||||
fields = ModelNoteModelSerializer.Meta.fields + [
|
|
||||||
'model',
|
|
||||||
]
|
|
||||||
|
|
||||||
read_only_fields = ModelNoteModelSerializer.Meta.read_only_fields + [
|
|
||||||
'model',
|
|
||||||
'content_type',
|
|
||||||
]
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class ExternalLinkNoteViewSerializer(
|
|
||||||
ModelNoteViewSerializer,
|
|
||||||
ExternalLinkNoteModelSerializer,
|
|
||||||
):
|
|
||||||
|
|
||||||
pass
|
|
@ -11,41 +11,30 @@ from centurion_feature_flag.urls.routers import DefaultRouter
|
|||||||
from core.viewsets import (
|
from core.viewsets import (
|
||||||
celery_log as celery_log_v2,
|
celery_log as celery_log_v2,
|
||||||
manufacturer as manufacturer_v2,
|
manufacturer as manufacturer_v2,
|
||||||
manufacturer_notes,
|
|
||||||
ticket_category,
|
ticket_category,
|
||||||
ticket_category_notes,
|
|
||||||
ticket_comment_category,
|
ticket_comment_category,
|
||||||
ticket_comment_category_notes,
|
|
||||||
|
|
||||||
)
|
)
|
||||||
|
|
||||||
from itam.viewsets import (
|
from itam.viewsets import (
|
||||||
device_model as device_model_v2,
|
device_model as device_model_v2,
|
||||||
device_model_notes,
|
|
||||||
device_type as device_type_v2,
|
device_type as device_type_v2,
|
||||||
device_type_notes,
|
|
||||||
software_category as software_category_v2,
|
software_category as software_category_v2,
|
||||||
software_category_notes,
|
|
||||||
)
|
)
|
||||||
|
|
||||||
from itim.viewsets import (
|
from itim.viewsets import (
|
||||||
cluster_type as cluster_type_v2,
|
cluster_type as cluster_type_v2,
|
||||||
cluster_type_notes,
|
|
||||||
port as port_v2,
|
port as port_v2,
|
||||||
port_notes,
|
|
||||||
)
|
)
|
||||||
|
|
||||||
from project_management.viewsets import (
|
from project_management.viewsets import (
|
||||||
project_state as project_state_v2,
|
project_state as project_state_v2,
|
||||||
project_state_notes,
|
|
||||||
project_type as project_type_v2,
|
project_type as project_type_v2,
|
||||||
project_type_notes,
|
|
||||||
)
|
)
|
||||||
|
|
||||||
from settings.viewsets import (
|
from settings.viewsets import (
|
||||||
app_settings as app_settings_v2,
|
app_settings as app_settings_v2,
|
||||||
external_link as external_link_v2,
|
external_link as external_link_v2,
|
||||||
external_link_notes,
|
|
||||||
index as settings_index_v2,
|
index as settings_index_v2,
|
||||||
user_settings as user_settings_v2
|
user_settings as user_settings_v2
|
||||||
)
|
)
|
||||||
@ -74,38 +63,18 @@ router.register(
|
|||||||
prefix = 'cluster_type', viewset = cluster_type_v2.ViewSet,
|
prefix = 'cluster_type', viewset = cluster_type_v2.ViewSet,
|
||||||
basename = '_api_v2_cluster_type'
|
basename = '_api_v2_cluster_type'
|
||||||
)
|
)
|
||||||
router.register(
|
|
||||||
prefix = 'cluster_type/(?P<model_id>[0-9]+)/notes',
|
|
||||||
viewset = cluster_type_notes.ViewSet,
|
|
||||||
basename = '_api_v2_cluster_type_note'
|
|
||||||
)
|
|
||||||
router.register(
|
router.register(
|
||||||
prefix = 'device_model', viewset = device_model_v2.ViewSet,
|
prefix = 'device_model', viewset = device_model_v2.ViewSet,
|
||||||
basename = '_api_v2_device_model'
|
basename = '_api_v2_device_model'
|
||||||
)
|
)
|
||||||
router.register(
|
|
||||||
prefix = 'device_model/(?P<model_id>[0-9]+)/notes',
|
|
||||||
viewset = device_model_notes.ViewSet,
|
|
||||||
basename = '_api_v2_device_model_note'
|
|
||||||
)
|
|
||||||
router.register(
|
router.register(
|
||||||
prefix = 'device_type', viewset = device_type_v2.ViewSet,
|
prefix = 'device_type', viewset = device_type_v2.ViewSet,
|
||||||
basename = '_api_v2_device_type'
|
basename = '_api_v2_device_type'
|
||||||
)
|
)
|
||||||
router.register(
|
|
||||||
prefix = 'device_type/(?P<model_id>[0-9]+)/notes',
|
|
||||||
viewset = device_type_notes.ViewSet,
|
|
||||||
basename = '_api_v2_device_type_note'
|
|
||||||
)
|
|
||||||
router.register(
|
router.register(
|
||||||
prefix = 'external_link', viewset = external_link_v2.ViewSet,
|
prefix = 'external_link', viewset = external_link_v2.ViewSet,
|
||||||
basename = '_api_v2_external_link'
|
basename = '_api_v2_external_link'
|
||||||
)
|
)
|
||||||
router.register(
|
|
||||||
prefix = 'external_link/(?P<model_id>[0-9]+)/notes',
|
|
||||||
viewset = external_link_notes.ViewSet,
|
|
||||||
basename = '_api_v2_external_link_note'
|
|
||||||
)
|
|
||||||
router.register(
|
router.register(
|
||||||
prefix = 'knowledge_base_category',
|
prefix = 'knowledge_base_category',
|
||||||
viewset = knowledge_base_category_v2.ViewSet,
|
viewset = knowledge_base_category_v2.ViewSet,
|
||||||
@ -115,66 +84,32 @@ router.register(
|
|||||||
prefix = 'manufacturer', viewset = manufacturer_v2.ViewSet,
|
prefix = 'manufacturer', viewset = manufacturer_v2.ViewSet,
|
||||||
basename = '_api_v2_manufacturer'
|
basename = '_api_v2_manufacturer'
|
||||||
)
|
)
|
||||||
router.register(
|
|
||||||
prefix = 'manufacturer/(?P<model_id>[0-9]+)/notes',
|
|
||||||
viewset = manufacturer_notes.ViewSet,
|
|
||||||
basename = '_api_v2_manufacturer_note'
|
|
||||||
)
|
|
||||||
router.register(
|
router.register(
|
||||||
prefix = 'port', viewset = port_v2.ViewSet,
|
prefix = 'port', viewset = port_v2.ViewSet,
|
||||||
basename = '_api_v2_port'
|
basename = '_api_v2_port'
|
||||||
)
|
)
|
||||||
router.register(
|
|
||||||
prefix = 'port/(?P<model_id>[0-9]+)/notes', viewset = port_notes.ViewSet,
|
|
||||||
basename = '_api_v2_port_note'
|
|
||||||
)
|
|
||||||
router.register(
|
router.register(
|
||||||
prefix = 'project_state',
|
prefix = 'project_state',
|
||||||
viewset = project_state_v2.ViewSet,
|
viewset = project_state_v2.ViewSet,
|
||||||
basename = '_api_v2_project_state'
|
basename = '_api_v2_project_state'
|
||||||
)
|
)
|
||||||
router.register(
|
|
||||||
prefix = 'project_state/(?P<model_id>[0-9]+)/notes',
|
|
||||||
viewset = project_state_notes.ViewSet,
|
|
||||||
basename = '_api_v2_project_state_note'
|
|
||||||
)
|
|
||||||
router.register(
|
router.register(
|
||||||
prefix = 'project_type', viewset = project_type_v2.ViewSet,
|
prefix = 'project_type', viewset = project_type_v2.ViewSet,
|
||||||
basename = '_api_v2_project_type'
|
basename = '_api_v2_project_type'
|
||||||
)
|
)
|
||||||
router.register(
|
|
||||||
prefix = 'project_type/(?P<model_id>[0-9]+)/notes',
|
|
||||||
viewset = project_type_notes.ViewSet,
|
|
||||||
basename = '_api_v2_project_type_note'
|
|
||||||
)
|
|
||||||
router.register(
|
router.register(
|
||||||
prefix = 'software_category', viewset = software_category_v2.ViewSet,
|
prefix = 'software_category', viewset = software_category_v2.ViewSet,
|
||||||
basename = '_api_v2_software_category'
|
basename = '_api_v2_software_category'
|
||||||
)
|
)
|
||||||
router.register(
|
|
||||||
prefix = 'software_category/(?P<model_id>[0-9]+)/notes',
|
|
||||||
viewset = software_category_notes.ViewSet,
|
|
||||||
basename = '_api_v2_software_category_note'
|
|
||||||
)
|
|
||||||
router.register(
|
router.register(
|
||||||
prefix = 'ticket_category',
|
prefix = 'ticket_category',
|
||||||
viewset = ticket_category.ViewSet, basename = '_api_v2_ticket_category'
|
viewset = ticket_category.ViewSet, basename = '_api_v2_ticket_category'
|
||||||
)
|
)
|
||||||
router.register(
|
|
||||||
prefix = 'ticket_category/(?P<model_id>[0-9]+)/notes',
|
|
||||||
viewset = ticket_category_notes.ViewSet,
|
|
||||||
basename = '_api_v2_ticket_category_note'
|
|
||||||
)
|
|
||||||
router.register(
|
router.register(
|
||||||
prefix = 'ticket_comment_category',
|
prefix = 'ticket_comment_category',
|
||||||
viewset = ticket_comment_category.ViewSet,
|
viewset = ticket_comment_category.ViewSet,
|
||||||
basename = '_api_v2_ticket_comment_category'
|
basename = '_api_v2_ticket_comment_category'
|
||||||
)
|
)
|
||||||
router.register(
|
|
||||||
prefix = 'ticket_comment_category/(?P<model_id>[0-9]+)/notes',
|
|
||||||
viewset = ticket_comment_category_notes.ViewSet,
|
|
||||||
basename = '_api_v2_ticket_comment_category_note'
|
|
||||||
)
|
|
||||||
router.register(
|
router.register(
|
||||||
prefix = 'user_settings', viewset = user_settings_v2.ViewSet,
|
prefix = 'user_settings', viewset = user_settings_v2.ViewSet,
|
||||||
basename = '_api_v2_user_settings'
|
basename = '_api_v2_user_settings'
|
||||||
|
@ -1,60 +0,0 @@
|
|||||||
from drf_spectacular.utils import extend_schema, extend_schema_view, OpenApiResponse
|
|
||||||
|
|
||||||
from core.viewsets.model_notes import ModelNoteViewSet
|
|
||||||
|
|
||||||
from settings.serializers.external_links_notes import (
|
|
||||||
ExternalLinkNotes,
|
|
||||||
ExternalLinkNoteModelSerializer,
|
|
||||||
ExternalLinkNoteViewSerializer
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@extend_schema_view(
|
|
||||||
create=extend_schema(
|
|
||||||
summary = 'Add a note to a External Link',
|
|
||||||
description = '',
|
|
||||||
responses = {
|
|
||||||
201: OpenApiResponse(description='created', response=ExternalLinkNoteViewSerializer),
|
|
||||||
400: OpenApiResponse(description='Validation failed.'),
|
|
||||||
403: OpenApiResponse(description='User is missing create permissions'),
|
|
||||||
}
|
|
||||||
),
|
|
||||||
destroy = extend_schema(
|
|
||||||
summary = 'Delete a External Link note',
|
|
||||||
description = ''
|
|
||||||
),
|
|
||||||
list = extend_schema(
|
|
||||||
summary = 'Fetch all External Link notes',
|
|
||||||
description='',
|
|
||||||
),
|
|
||||||
retrieve = extend_schema(
|
|
||||||
summary = 'Fetch a single External Link note',
|
|
||||||
description='',
|
|
||||||
),
|
|
||||||
update = extend_schema(exclude = True),
|
|
||||||
partial_update = extend_schema(
|
|
||||||
summary = 'Update a External Link note',
|
|
||||||
description = ''
|
|
||||||
),
|
|
||||||
)
|
|
||||||
class ViewSet(ModelNoteViewSet):
|
|
||||||
|
|
||||||
model = ExternalLinkNotes
|
|
||||||
|
|
||||||
|
|
||||||
def get_serializer_class(self):
|
|
||||||
|
|
||||||
if (
|
|
||||||
self.action == 'list'
|
|
||||||
or self.action == 'retrieve'
|
|
||||||
):
|
|
||||||
|
|
||||||
self.serializer_class = ExternalLinkNoteViewSerializer
|
|
||||||
|
|
||||||
|
|
||||||
else:
|
|
||||||
|
|
||||||
self.serializer_class = ExternalLinkNoteModelSerializer
|
|
||||||
|
|
||||||
return self.serializer_class
|
|
Reference in New Issue
Block a user