from django.urls import path
from django.contrib.auth import views as auth_views
from . import views

app_name = 'users'

urlpatterns = [
    # Authentication
    path('login/', auth_views.LoginView.as_view(template_name='users/login.html'), name='login'),
    path('logout/', views.custom_logout, name='logout'),
    path('password_change/', auth_views.PasswordChangeView.as_view(template_name='users/password_change.html'), name='password_change'),
    path('password_change/done/', auth_views.PasswordChangeDoneView.as_view(template_name='users/password_change_done.html'), name='password_change_done'),
    
    # Admin management
    path('admins/', views.admin_list, name='admin_list'),
    path('admins/create/', views.admin_create, name='admin_create'),
    path('admins/<uuid:admin_id>/', views.admin_detail, name='admin_detail'),
    path('admins/<uuid:admin_id>/update/', views.admin_update, name='admin_update'),
    path('admins/<uuid:admin_id>/delete/', views.admin_confirm_delete, name='admin_confirm_delete'),
    path('admins/<uuid:admin_id>/reactivate/', views.admin_confirm_reactivate, name='admin_confirm_reactivate'),
    path('access-logs/', views.user_access_logs, name='access_logs'),
    path('permissions/<uuid:user_id>/', views.user_permissions, name='user_permissions'),
    
    # Client management
    path('clients/', views.client_list, name='client_list'),
    path('clients/create/', views.client_create, name='client_create'),
    path('clients/<uuid:client_id>/', views.client_detail, name='client_detail'),
    path('clients/<uuid:client_id>/update/', views.client_update, name='client_update'),
    path('clients/<uuid:client_id>/delete/', views.client_delete, name='client_delete'),
    path('clients/<uuid:client_id>/documents/', views.client_documents, name='client_documents'),
    path('clients/<uuid:client_id>/documents/upload/', views.upload_client_document, name='upload_client_document'),
    path('clients/<uuid:client_id>/popup/', views.client_popup, name='client_popup'),
    path('clients/<uuid:client_id>/report/', views.client_report, name='client_report'),
    path('clients/<uuid:client_id>/download-report/', views.client_download_report, name='client_download_report'),
    path('clients/ajax/', views.client_list_ajax, name='client_list_ajax'),
    
    # API endpoints
    path('api/search-clients/', views.api_search_clients, name='api_search_clients'),
] 