chore(core): Remove pre-meta notes code

ref: #788 #768
This commit is contained in:
2025-06-05 15:39:06 +09:30
parent 82f0f87878
commit 0ded2bcebd
8 changed files with 0 additions and 512 deletions

View File

@ -1,41 +0,0 @@
from core.models.manufacturer_notes import ManufacturerNotes
from core.serializers.model_notes import (
ModelNoteBaseSerializer,
ModelNoteModelSerializer,
ModelNoteViewSerializer
)
class ManufacturerNoteBaseSerializer(ModelNoteBaseSerializer):
pass
class ManufacturerNoteModelSerializer(
ModelNoteModelSerializer
):
class Meta:
model = ManufacturerNotes
fields = ModelNoteModelSerializer.Meta.fields + [
'model',
]
read_only_fields = ModelNoteModelSerializer.Meta.read_only_fields + [
'model',
'content_type',
]
class ManufacturerNoteViewSerializer(
ModelNoteViewSerializer,
ManufacturerNoteModelSerializer,
):
pass

View File

@ -1,148 +0,0 @@
from django.contrib.auth.models import ContentType
from rest_framework import serializers
from access.serializers.organization import TenantBaseSerializer
from api.serializers import common
from centurion.serializers.user import UserBaseSerializer
from core.models.model_notes import ModelNotes
class ModelNoteBaseSerializer(serializers.ModelSerializer):
display_name = serializers.SerializerMethodField('get_display_name')
def get_display_name(self, item) -> str:
return str( item )
url = serializers.HyperlinkedIdentityField(
view_name="v2:_api_v2_device-detail", format="html"
)
class Meta:
model = ModelNotes
fields = [
'id',
'display_name',
'name',
'url',
]
read_only_fields = [
'id',
'display_name',
'name',
'url',
]
class ModelNoteModelSerializer(
common.CommonModelSerializer,
ModelNoteBaseSerializer
):
_urls = serializers.SerializerMethodField('get_url')
def get_url(self, item) -> dict:
return {
'_self': item.get_url( request = self._context['view'].request ),
}
class Meta:
model = ModelNotes
fields = [
'id',
'organization',
'display_name',
'content',
'created_by',
'modified_by',
'content_type',
'created',
'modified',
'_urls',
]
read_only_fields = [
'id',
'display_name',
'organization',
'created_by',
'modified_by',
'content_type',
'created',
'modified',
'_urls',
]
def validate(self, attrs):
is_valid = False
if (
self._context['view'].action == 'partial_update'
or self._context['view'].action == 'update'
):
attrs['modified_by'] = self._context['request'].user
else:
related_model = self.fields.fields['model'].context['view'].model.model.field.related_model
attrs['model_id'] = int(self.fields.fields['model'].context['view'].kwargs['model_id'])
if str(related_model._meta.model_name).lower() == 'tenant':
attrs['organization'] = related_model.objects.get(
pk = int(self.fields.fields['model'].context['view'].kwargs['model_id'])
)
elif self.fields.fields.get('organization', None):
attrs['organization'] = related_model.objects.get(
pk = int(self.fields.fields['model'].context['view'].kwargs['model_id'])
).organization
attrs['content_type'] = ContentType.objects.filter(
app_label = related_model._meta.app_label,
model = related_model._meta.model_name
)[0]
attrs['created_by'] = self._context['request'].user
is_valid = super().validate(attrs)
return is_valid
def is_valid(self, *, raise_exception=False) -> bool:
is_valid = super().is_valid(raise_exception=raise_exception)
return is_valid
class ModelNoteViewSerializer(ModelNoteModelSerializer):
organization = TenantBaseSerializer( many = False, read_only = True )
created_by = UserBaseSerializer( many = False, read_only = True )
modified_by = UserBaseSerializer( many = False, read_only = True )

View File

@ -1,41 +0,0 @@
from core.models.ticket.ticket_category_notes import TicketCategoryNotes
from core.serializers.model_notes import (
ModelNoteBaseSerializer,
ModelNoteModelSerializer,
ModelNoteViewSerializer
)
class TicketCategoryNoteBaseSerializer(ModelNoteBaseSerializer):
pass
class TicketCategoryNoteModelSerializer(
ModelNoteModelSerializer
):
class Meta:
model = TicketCategoryNotes
fields = ModelNoteModelSerializer.Meta.fields + [
'model',
]
read_only_fields = ModelNoteModelSerializer.Meta.read_only_fields + [
'model',
'content_type',
]
class TicketCategoryNoteViewSerializer(
ModelNoteViewSerializer,
TicketCategoryNoteModelSerializer,
):
pass

View File

@ -1,41 +0,0 @@
from core.models.ticket.ticket_comment_category_notes import TicketCommentCategoryNotes
from core.serializers.model_notes import (
ModelNoteBaseSerializer,
ModelNoteModelSerializer,
ModelNoteViewSerializer
)
class TicketCommentCategoryNoteBaseSerializer(ModelNoteBaseSerializer):
pass
class TicketCommentCategoryNoteModelSerializer(
ModelNoteModelSerializer
):
class Meta:
model = TicketCommentCategoryNotes
fields = ModelNoteModelSerializer.Meta.fields + [
'model',
]
read_only_fields = ModelNoteModelSerializer.Meta.read_only_fields + [
'model',
'content_type',
]
class TicketCommentCategoryNoteViewSerializer(
ModelNoteViewSerializer,
TicketCommentCategoryNoteModelSerializer,
):
pass

View File

@ -1,60 +0,0 @@
from drf_spectacular.utils import extend_schema, extend_schema_view, OpenApiResponse
from core.serializers.manufacturer_notes import (
ManufacturerNotes,
ManufacturerNoteModelSerializer,
ManufacturerNoteViewSerializer,
)
from core.viewsets.model_notes import ModelNoteViewSet
@extend_schema_view(
create=extend_schema(
summary = 'Add a note to a Manufacturer',
description = '',
responses = {
201: OpenApiResponse(description='created', response=ManufacturerNoteViewSerializer),
400: OpenApiResponse(description='Validation failed.'),
403: OpenApiResponse(description='User is missing create permissions'),
}
),
destroy = extend_schema(
summary = 'Delete a Manufacturer note',
description = ''
),
list = extend_schema(
summary = 'Fetch all Manufacturer notes',
description='',
),
retrieve = extend_schema(
summary = 'Fetch a single Manufacturer note',
description='',
),
update = extend_schema(exclude = True),
partial_update = extend_schema(
summary = 'Update a Manufacturer note',
description = ''
),
)
class ViewSet(ModelNoteViewSet):
model = ManufacturerNotes
def get_serializer_class(self):
if (
self.action == 'list'
or self.action == 'retrieve'
):
self.serializer_class = ManufacturerNoteViewSerializer
else:
self.serializer_class = ManufacturerNoteModelSerializer
return self.serializer_class

View File

@ -1,61 +0,0 @@
from django.contrib.auth.models import ContentType
from core.serializers.model_notes import ( # pylint: disable=W0611:unused-import
ModelNotes,
ModelNoteModelSerializer,
ModelNoteViewSerializer
)
from api.viewsets.common import ModelViewSet
class ModelNoteViewSet(ModelViewSet):
"""Base class for Model Notes
This class is intended not to be used directly. It should be used as an
inherited class.
The inherited class must include the following class objects:
- get_serializer_class function
- model attribute containing the notes model for the model to receive notes
"""
filterset_fields = []
parent_model_pk_kwarg = 'model_id'
search_fields = [
'content',
]
view_description = 'Model notes'
def get_queryset(self):
if self.queryset is not None:
return self.queryset
self.queryset = self.model.objects.filter(
content_type = ContentType.objects.get(
app_label = str(self.model._meta.app_label).lower(),
model = str(self.model.model.field.related_model.__name__).replace(' ', '').lower()
).id,
model = int(self.kwargs['model_id'])
)
return self.queryset
def get_parent_model(self):
if self.parent_model is None:
self.parent_model = self.model.model.field.related_model
return self.parent_model

View File

@ -1,60 +0,0 @@
from drf_spectacular.utils import extend_schema, extend_schema_view, OpenApiResponse
from core.serializers.ticket_category_notes import (
TicketCategoryNotes,
TicketCategoryNoteModelSerializer,
TicketCategoryNoteViewSerializer,
)
from core.viewsets.model_notes import ModelNoteViewSet
@extend_schema_view(
create=extend_schema(
summary = 'Add a note to a Ticket Category',
description = '',
responses = {
201: OpenApiResponse(description='created', response=TicketCategoryNoteViewSerializer),
400: OpenApiResponse(description='Validation failed.'),
403: OpenApiResponse(description='User is missing create permissions'),
}
),
destroy = extend_schema(
summary = 'Delete a Ticket Category note',
description = ''
),
list = extend_schema(
summary = 'Fetch all Ticket Category notes',
description='',
),
retrieve = extend_schema(
summary = 'Fetch a single Ticket Category note',
description='',
),
update = extend_schema(exclude = True),
partial_update = extend_schema(
summary = 'Update a Ticket Category note',
description = ''
),
)
class ViewSet(ModelNoteViewSet):
model = TicketCategoryNotes
def get_serializer_class(self):
if (
self.action == 'list'
or self.action == 'retrieve'
):
self.serializer_class = TicketCategoryNoteViewSerializer
else:
self.serializer_class = TicketCategoryNoteModelSerializer
return self.serializer_class

View File

@ -1,60 +0,0 @@
from drf_spectacular.utils import extend_schema, extend_schema_view, OpenApiResponse
from core.serializers.ticket_comment_category_notes import (
TicketCommentCategoryNotes,
TicketCommentCategoryNoteModelSerializer,
TicketCommentCategoryNoteViewSerializer,
)
from core.viewsets.model_notes import ModelNoteViewSet
@extend_schema_view(
create=extend_schema(
summary = 'Add a note to a Ticket Comment Category',
description = '',
responses = {
201: OpenApiResponse(description='created', response=TicketCommentCategoryNoteViewSerializer),
400: OpenApiResponse(description='Validation failed.'),
403: OpenApiResponse(description='User is missing create permissions'),
}
),
destroy = extend_schema(
summary = 'Delete a Ticket Comment Category note',
description = ''
),
list = extend_schema(
summary = 'Fetch all Ticket Comment Category notes',
description='',
),
retrieve = extend_schema(
summary = 'Fetch a single Ticket Comment Category note',
description='',
),
update = extend_schema(exclude = True),
partial_update = extend_schema(
summary = 'Update a Ticket Comment Category note',
description = ''
),
)
class ViewSet(ModelNoteViewSet):
model = TicketCommentCategoryNotes
def get_serializer_class(self):
if (
self.action == 'list'
or self.action == 'retrieve'
):
self.serializer_class = TicketCommentCategoryNoteViewSerializer
else:
self.serializer_class = TicketCommentCategoryNoteModelSerializer
return self.serializer_class