73 lines
3.2 KiB
Python
73 lines
3.2 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_create,
|
|
standard_update,
|
|
standard_delete,
|
|
standard_compliance_update,
|
|
standard_attachment_upload,
|
|
standard_attachment_delete,
|
|
standards_search,
|
|
get_compliance_status,
|
|
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 = [
|
|
# Custom AJAX endpoints (MUST be before router to take precedence)
|
|
path("api/compliance/create/", create_compliance_ajax, name="compliance_create_ajax"),
|
|
path("api/compliance/update/", update_compliance_ajax, name="compliance_update_ajax"),
|
|
path("api/compliance/<uuid:department_id>/<uuid:standard_id>/", get_compliance_status, name="compliance_status"),
|
|
# API endpoints (router)
|
|
path("api/", include(router.urls)),
|
|
# 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>/update/", standard_update, name="standard_update"),
|
|
path("standards/<uuid:pk>/delete/", standard_delete, name="standard_delete"),
|
|
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"),
|
|
path("attachments/<uuid:pk>/delete/", standard_attachment_delete, name="attachment_delete"),
|
|
# 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"),
|
|
]
|