from django.urls import path, reverse_lazy
from django.contrib.auth import views as auth_views

from . import views

app_name = 'home'
urlpatterns = [
    path('', views.home, name='home'),
    path('password_reset/', auth_views.PasswordResetView.as_view(
        template_name='home/password_reset.html',
        success_url=reverse_lazy('home:password_reset_done'),
        email_template_name='home/password_reset_email.html',
    ), name='password_reset'),

    path('password_reset_done/', auth_views.PasswordResetDoneView.as_view(
        template_name='home/password_reset_done.html'
    ), name='password_reset_done'),


    path('reset/<uidb64>/<token>/', auth_views.PasswordResetConfirmView.as_view(
        template_name='home/password_reset_confirm.html',
        success_url=reverse_lazy('home:password_reset_complete')
    ), name='password_reset_confirm'),

    path('reset/done/', auth_views.PasswordResetCompleteView.as_view(
        template_name='home/password_reset_complete.html'
    ), name='password_reset_complete'),
    path('login/', views.custom_login, name='custom_login'),
    path('logout/', views.custom_logout, name='custom_logout'),
    path('profile/', views.profile_view, name='profile'),

    # User management
    path('users/', views.user_list, name='user_list'),
    path('users/add/', views.user_create, name='user_create'),
    path('users/<int:pk>/edit/', views.user_update, name='user_update'),
    path('users/delete/<int:pk>/', views.user_delete, name='user_delete'),

    # Group management
    path('groups/', views.group_list, name='group_list'),
    path('groups/add/', views.group_create, name='group_create'),
    path('groups/<int:pk>/edit/', views.group_update, name='group_update'),
    path('groups/delete/<int:pk>/', views.group_delete, name='group_delete'),
]
