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///", 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//", department_standards_view, name="department_standards"), path("departments//create-standard/", standard_create, name="standard_create"), path("standards/create/", standard_create, name="standard_create_global"), path("standards//update/", standard_update, name="standard_update"), path("standards//delete/", standard_delete, name="standard_delete"), path("standards//", standard_detail, name="standard_detail"), path("compliance//update/", standard_compliance_update, name="standard_compliance_update"), path("attachments/upload//", standard_attachment_upload, name="attachment_upload"), path("attachments//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//update/", source_update, name="source_update"), path("sources//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//update/", category_update, name="category_update"), path("categories//delete/", category_delete, name="category_delete"), ]