Files
centurion_erp/app/settings/viewsets/index.py

133 lines
4.0 KiB
Python

from drf_spectacular.utils import extend_schema
from rest_framework.response import Response
from rest_framework.reverse import reverse
from api.viewsets.common import IndexViewset
@extend_schema(exclude = True)
class Index(IndexViewset):
allowed_methods: list = [
'GET',
'HEAD',
'OPTIONS'
]
page_layout: list = [
{
"name": "Application",
"links": [
{
"name": "Settings",
"model": "app_settings"
}
]
},
{
"name": "Assistanace",
"links": [
{
"name": "Knowledge Base Categories",
"model": "knowledge_base_category"
}
]
},
{
"name": "Common",
"links": [
{
"name": "Manufacturers",
"model": "manufacturer"
}
]
},
{
"name": "Core",
"links": [
{
"name": "External Links",
"model": "external_link"
},
]
},
{
"name": "ITAM",
"links": [
{
"name": "Device Model",
"model": "device_model"
},
{
"name": "Device Type",
"model": "device_type"
},
{
"name": "Software Category",
"model": "software_category"
}
]
},
{
"name": "ITIM",
"links": [
{
"name": "Cluster Type",
"model": "cluster_type"
},
{
"name": "Service Port",
"model": "port"
},
]
},
{
"name": "Project Management",
"links": [
{
"name": "Project State",
"model": "project_state"
},
{
"name": "Project Type",
"model": "project_type"
},
]
}
]
view_description = "Centurion ERP Settings"
view_name = "Settings"
def list(self, request, pk=None):
return Response(
{
"app_settings": reverse('v2:_api_v2_app_settings-detail', request=request, kwargs={'pk': 1}),
"celery_log": reverse('v2:_api_v2_celery_log-list', request=request),
"cluster_type": reverse('v2:_api_clustertype-list', request=request),
"device_model": reverse('v2:_api_devicemodel-list', request=request),
"device_type": reverse('v2:_api_devicetype-list', request=request),
"external_link": reverse('v2:_api_v2_external_link-list', request=request),
"knowledge_base_category": reverse('v2:_api_knowledgebasecategory-list', request=request),
"manufacturer": reverse('v2:_api_manufacturer-list', request=request),
"port": reverse('v2:_api_port-list', request=request),
"project_state": reverse('v2:_api_v2_project_state-list', request=request),
"project_type": reverse('v2:_api_v2_project_type-list', request=request),
"software_category": reverse('v2:_api_softwarecategory-list', request=request),
"ticket_category": reverse('v2:_api_ticketcategory-list', request=request),
"ticket_comment_category": reverse('v2:_api_ticketcommentcategory-list', request=request),
"user_settings": reverse(
'v2:_api_v2_user_settings-detail',
request=request,
kwargs={
'pk': request.user.id
}
),
}
)