HH/apps/standards/urls.py
2026-01-15 15:02:42 +03:00

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'),
]