60 lines
2.7 KiB
Python
60 lines
2.7 KiB
Python
from django.urls import include, path
|
|
from rest_framework.routers import DefaultRouter
|
|
|
|
from .views import (
|
|
DepartmentViewSet,
|
|
HospitalViewSet,
|
|
LocationViewSet,
|
|
MainSectionViewSet,
|
|
OrganizationViewSet,
|
|
PatientViewSet,
|
|
StaffViewSet,
|
|
SubSectionViewSet,
|
|
api_location_list,
|
|
api_main_section_list,
|
|
api_subsection_list,
|
|
ajax_main_sections,
|
|
ajax_subsections,
|
|
)
|
|
from . import ui_views
|
|
|
|
app_name = 'organizations'
|
|
|
|
router = DefaultRouter()
|
|
router.register(r'organizations', OrganizationViewSet, basename='organization-api')
|
|
router.register(r'hospitals', HospitalViewSet, basename='hospital-api')
|
|
router.register(r'departments', DepartmentViewSet, basename='department-api')
|
|
router.register(r'staff', StaffViewSet, basename='staff-api')
|
|
router.register(r'patients', PatientViewSet, basename='patient-api')
|
|
router.register(r'locations', LocationViewSet, basename='location-api')
|
|
router.register(r'main-sections', MainSectionViewSet, basename='main-section-api')
|
|
router.register(r'subsections', SubSectionViewSet, basename='subsection-api')
|
|
|
|
urlpatterns = [
|
|
# UI Views (come first - more specific routes)
|
|
path('organizations/create/', ui_views.organization_create, name='organization_create'),
|
|
path('organizations/<uuid:pk>/', ui_views.organization_detail, name='organization_detail'),
|
|
path('organizations/', ui_views.organization_list, name='organization_list'),
|
|
path('hospitals/', ui_views.hospital_list, name='hospital_list'),
|
|
path('departments/', ui_views.department_list, name='department_list'),
|
|
path('staff/create/', ui_views.staff_create, name='staff_create'),
|
|
path('staff/<uuid:pk>/edit/', ui_views.staff_update, name='staff_update'),
|
|
path('staff/<uuid:pk>/', ui_views.staff_detail, name='staff_detail'),
|
|
path('staff/hierarchy/d3/', ui_views.staff_hierarchy_d3, name='staff_hierarchy_d3'),
|
|
path('staff/hierarchy/', ui_views.staff_hierarchy, name='staff_hierarchy'),
|
|
path('staff/', ui_views.staff_list, name='staff_list'),
|
|
path('patients/', ui_views.patient_list, name='patient_list'),
|
|
|
|
# API Routes for complaint form dropdowns (public access)
|
|
path('dropdowns/locations/', api_location_list, name='api_location_list'),
|
|
path('dropdowns/main-sections/', api_main_section_list, name='api_main_section_list'),
|
|
path('dropdowns/subsections/', api_subsection_list, name='api_subsection_list'),
|
|
|
|
# AJAX Routes for cascading dropdowns in complaint form
|
|
path('ajax/main-sections/', ajax_main_sections, name='ajax_main_sections'),
|
|
path('ajax/subsections/', ajax_subsections, name='ajax_subsections'),
|
|
|
|
# API Routes (must come last - catches anything not matched above)
|
|
path('api/', include(router.urls)),
|
|
]
|