73 lines
2.9 KiB
Python
73 lines
2.9 KiB
Python
from django.urls import path, include
|
|
from rest_framework.routers import DefaultRouter
|
|
|
|
from apps.standards.views import (
|
|
StandardSourceViewSet,
|
|
StandardCategoryViewSet,
|
|
StandardViewSet,
|
|
StandardComplianceViewSet,
|
|
StandardAttachmentViewSet,
|
|
standards_dashboard,
|
|
department_standards_view,
|
|
standard_detail,
|
|
standard_compliance_update,
|
|
standard_attachment_upload,
|
|
standards_search,
|
|
get_compliance_status,
|
|
standard_create,
|
|
create_compliance_ajax,
|
|
update_compliance_ajax,
|
|
source_list,
|
|
source_create,
|
|
source_update,
|
|
source_delete,
|
|
category_list,
|
|
category_create,
|
|
category_update,
|
|
category_delete,
|
|
)
|
|
|
|
# API Router
|
|
router = DefaultRouter()
|
|
router.register(r'sources', StandardSourceViewSet, basename='standard-source')
|
|
router.register(r'categories', StandardCategoryViewSet, basename='standard-category')
|
|
router.register(r'standards', StandardViewSet, basename='standard')
|
|
router.register(r'compliance', StandardComplianceViewSet, basename='standard-compliance')
|
|
router.register(r'attachments', StandardAttachmentViewSet, basename='standard-attachment')
|
|
|
|
app_name = 'standards'
|
|
|
|
urlpatterns = [
|
|
# API endpoints
|
|
path('api/', include(router.urls)),
|
|
|
|
# API endpoint for compliance status
|
|
path('api/compliance/<uuid:department_id>/<uuid:standard_id>/', get_compliance_status, name='compliance_status'),
|
|
|
|
# UI Views
|
|
path('', standards_dashboard, name='dashboard'),
|
|
path('search/', standards_search, name='search'),
|
|
path('departments/<uuid:pk>/', department_standards_view, name='department_standards'),
|
|
path('departments/<uuid:department_id>/create-standard/', standard_create, name='standard_create'),
|
|
path('standards/create/', standard_create, name='standard_create_global'),
|
|
path('standards/<uuid:pk>/', standard_detail, name='standard_detail'),
|
|
path('compliance/<uuid:compliance_id>/update/', standard_compliance_update, name='standard_compliance_update'),
|
|
path('attachments/upload/<uuid:compliance_id>/', standard_attachment_upload, name='attachment_upload'),
|
|
|
|
# AJAX endpoints
|
|
path('api/compliance/create/', create_compliance_ajax, name='compliance_create_ajax'),
|
|
path('api/compliance/update/', update_compliance_ajax, name='compliance_update_ajax'),
|
|
|
|
# Source Management
|
|
path('sources/', source_list, name='source_list'),
|
|
path('sources/create/', source_create, name='source_create'),
|
|
path('sources/<uuid:pk>/update/', source_update, name='source_update'),
|
|
path('sources/<uuid:pk>/delete/', source_delete, name='source_delete'),
|
|
|
|
# Category Management
|
|
path('categories/', category_list, name='category_list'),
|
|
path('categories/create/', category_create, name='category_create'),
|
|
path('categories/<uuid:pk>/update/', category_update, name='category_update'),
|
|
path('categories/<uuid:pk>/delete/', category_delete, name='category_delete'),
|
|
]
|