HH/apps/complaints/urls.py
Marwan Alwali 2179fbf39a update
2025-12-31 13:16:30 +03:00

50 lines
2.4 KiB
Python

from django.urls import include, path
from rest_framework.routers import DefaultRouter
from .views import ComplaintAttachmentViewSet, ComplaintViewSet, InquiryViewSet
from . import ui_views
app_name = 'complaints'
router = DefaultRouter()
router.register(r'api/complaints', ComplaintViewSet, basename='complaint-api')
router.register(r'api/attachments', ComplaintAttachmentViewSet, basename='complaint-attachment-api')
router.register(r'api/inquiries', InquiryViewSet, basename='inquiry-api')
urlpatterns = [
# Complaints UI Views
path('', ui_views.complaint_list, name='complaint_list'),
path('new/', ui_views.complaint_create, name='complaint_create'),
path('<uuid:pk>/', ui_views.complaint_detail, name='complaint_detail'),
path('<uuid:pk>/assign/', ui_views.complaint_assign, name='complaint_assign'),
path('<uuid:pk>/change-status/', ui_views.complaint_change_status, name='complaint_change_status'),
path('<uuid:pk>/add-note/', ui_views.complaint_add_note, name='complaint_add_note'),
path('<uuid:pk>/escalate/', ui_views.complaint_escalate, name='complaint_escalate'),
# Export Views
path('export/csv/', ui_views.complaint_export_csv, name='complaint_export_csv'),
path('export/excel/', ui_views.complaint_export_excel, name='complaint_export_excel'),
# Bulk Actions
path('bulk/assign/', ui_views.complaint_bulk_assign, name='complaint_bulk_assign'),
path('bulk/status/', ui_views.complaint_bulk_status, name='complaint_bulk_status'),
path('bulk/escalate/', ui_views.complaint_bulk_escalate, name='complaint_bulk_escalate'),
# Inquiries UI Views
path('inquiries/', ui_views.inquiry_list, name='inquiry_list'),
path('inquiries/new/', ui_views.inquiry_create, name='inquiry_create'),
path('inquiries/<uuid:pk>/', ui_views.inquiry_detail, name='inquiry_detail'),
path('inquiries/<uuid:pk>/respond/', ui_views.inquiry_respond, name='inquiry_respond'),
# Analytics
path('analytics/', ui_views.complaints_analytics, name='complaints_analytics'),
# AJAX Helpers
path('ajax/departments/', ui_views.get_departments_by_hospital, name='get_departments_by_hospital'),
path('ajax/physicians/', ui_views.get_physicians_by_department, name='get_physicians_by_department'),
path('ajax/search-patients/', ui_views.search_patients, name='search_patients'),
# API Routes
path('', include(router.urls)),
]