"""authentication URL Configuration

The `urlpatterns` list routes URLs to views. For more information please see:
    https://docs.djangoproject.com/en/4.1/topics/http/urls/
Examples:
Function views
    1. Add an import:  from my_app import views
    2. Add a URL to urlpatterns:  path('', views.home, name='home')
Class-based views
    1. Add an import:  from other_app.views import Home
    2. Add a URL to urlpatterns:  path('', Home.as_view(), name='home')
Including another URLconf
    1. Import the include() function: from django.urls import include, path
    2. Add a URL to urlpatterns:  path('blog/', include('blog.urls'))
"""
from django.contrib import admin
from django.urls import path
from apps import views, adminviews
from django.conf import settings
from django.conf.urls.static import static

urlpatterns = [
    # path('admin/', admin.site.urls),
    path('', views.index, name='index'),
    path('84-privacy-policy', views.privacy_policy, name='privacy_policy'),
    path('85-terms-of-services', views.terms_of_services, name='terms_of_services'),
    path('111-company-policy', views.company_policy, name='company_policy'),
    path('about-us', views.about_us, name='about_us'),
    path('contact', views.contact, name='contact'),
    path('faq', views.faq, name='faq'),
    path('forgot-password', views.forgot_password, name='forgot_password'),
    path('forgot-pin', views.forgot_pin, name='forgot_pin'),
    path('login-pin-verify', views.login_pin_verify, name='login_pin_verify'),
    path('login', views.login, name='login'),
    path('logout', views.logout, name='logout'),
    path('register', views.register, name='register'),
    path('registration-success', views.registration_success, name='registration_success'),
    path('resetpassword/<str:reset_token>', views.reset_password, name='reset_password'),
    path('resetpin/<str:reset_token>', views.reset_pin, name='reset_pin'),
    path('services', views.services, name='services'),
    path('test', views.test, name='test'),

    #CLIENT ACCOUNT URL
    path('account/', views.account_index, name='client_account_index'),
    path('account/beneficiary', views.account_benificiary, name='client_account_benificiary'),
    path('account/change-password', views.account_change_password, name='client_account_change_password'),
    path('account/change-pin', views.account_change_pin, name='client_account_change_pin'),
    path('account/delete-beneficiary/<str:delete_id>', views.account_delete_beneficiary, name='client_account_delete_beneficiary'),
    path('account/deposit-manual', views.account_deposit_manual, name='client_account_deposit_manual'),
    path('account/deposit-preview', views.account_deposit_preview, name='client_account_deposit_preview'),
    # path('account/deposit-previewss', views.account_deposit_preview, name='client_account_deposit_preview'),
    path('account/deposits', views.account_deposits, name='client_account_deposits'),
    path('account/loan-apply-form', views.account_loan_apply_form, name='client_account_loan_apply_form'),
    path('account/loan-list', views.account_loan_list, name='client_account_loan_list'),
    path('account/loan-plans', views.account_loan_plans, name='client_account_loan_plans'),
    path('account/new-ticket', views.account_new_ticket, name='client_account_new_ticket'),
    path('account/otp-authenticate', views.account_transfer_otp_authenticate, name='client_account_transfer_otp_authenticate'),
    path('account/profile', views.account_profile, name='client_account_profile'),
    path('account/support', views.account_support, name='client_account_support'),
    path('account/transactions', views.account_transactions, name='client_account_transactions'),
    path('account/transfer-cotcode-authenticate', views.account_transfer_cotcode_authenticate, name='client_account_transfer_cotcode_authenticate'),
    path('account/transfer-history', views.account_transfer_history, name='client_account_transfer_history'),
    path('account/transfer-money', views.account_transfer_money, name='client_account_transfer_money'),
    path('account/transfer-other', views.account_transfer_other, name='client_account_transfer_other'),
    path('account/transfer-own', views.account_transfer_own, name='client_account_transfer_own'),
    path('account/transfer-receipt', views.account_transfer_receipt, name='client_account_transfer_receipt'),
    path('account/transfer-success', views.account_transfer_success, name='client_account_transfer_success'),
    path('account/transfer-taxcode-authenticate', views.account_transfer_taxcode_authenticate, name='client_account_transfer_taxcode_authenticate'),
    path('account/twofactor', views.account_twofactor, name='client_account_twofactor'),

    #ADMIN ACCOUNT URL
    path('administrator/', adminviews.adminindex, name='admin_'),
    path('administrator/index', adminviews.adminindex, name='admin_index'),
    path('administrator/admins', adminviews.admins, name='admins'),
    path('administrator/admin_reg_block', adminviews.admin_registration_block, name='admin_reg_block'),
    path('administrator/credit-client-account', adminviews.admin_credit_client_account, name='admin_credit_client_account'),
    path('administrator/debit-client-account', adminviews.admin_debit_client_account, name='admin_debit_client_account'),
    path('administrator/account-action', adminviews.admin_account_action, name='account_action'),
    path('administrator/account_block', adminviews.admin_account_block, name='account_block'),
    path('administrator/account_document', adminviews.admin_account_document, name='account_document'),
    path('administrator/active-cotcodes', adminviews.admin_active_cotcode, name='active_cotcodes'),
    path('administrator/active-taxcodes', adminviews.admin_active_taxcode, name='active_taxcodes'),
    path('administrator/approved-loans', adminviews.admin_approved_loans, name='approved_loans'),
    path('administrator/billing_update', adminviews.admin_billing_update, name='billing_update'),
    path('administrator/change-password', adminviews.admin_change_password, name='change_password'),
    path('administrator/credit-transfers', adminviews.admin_credit_transfers, name='credit_transfers'),
    path('administrator/debit-transfers', adminviews.admin_debit_transfers, name='debit_transfers'),
    path('administrator/declined-transfers', adminviews.admin_declined_transfers, name='declined_transfers'),
    path('administrator/declined-loans', adminviews.admin_declined_loans, name='declined_loans'),
    path('administrator/delete_admin<str:admin_id>', adminviews.delete_admin, name='delete_admin'),
    path('administrator/delete-loans', adminviews.admin_delete_loan, name='delete_loans'),
    path('administrator/delete_member<str:user_id>', adminviews.admin_delete_member, name='delete_member'),
    path('administrator/delete-cotcode/<str:delete_id>/<str:delete_action>', adminviews.admin_delete_cotcode, name='delete_cotcode'),
    path('administrator/delete-taxcode/<str:delete_id>/<str:delete_action>', adminviews.admin_delete_taxcode, name='delete_taxcode'),
    path('administrator/delete-transfer/<str:delete_id>/<str:delete_action>', adminviews.admin_delete_transfer, name='delete_transfer'),
    path('administrator/expired-cotcodes', adminviews.admin_expired_cotcode, name='expired_cotcodes'),
    path('administrator/expired-taxcodes', adminviews.admin_expired_taxcode, name='expired_taxcodes'),
    path('administrator/edit-loan<str:loan_id>', adminviews.admin_edit_loan, name='edit_loan'),
    path('administrator/edit_member<str:user_id>', adminviews.admin_edit_member, name='edit_member'),
    path('administrator/edit-transfer<str:transfer_id>', adminviews.admin_edit_transfer, name='edit_transfer'),
    path('administrator/new-cotcode', adminviews.admin_new_cotcode, name='new_cotcode'),
    path('administrator/new-taxcode', adminviews.admin_new_taxcode, name='new_taxcode'),
    path('administrator/pending-loans', adminviews.admin_pending_loans, name='pending_loans'),
    path('administrator/pending-transfers', adminviews.admin_pending_transfers, name='pending_transfers'),
    path('administrator/loans', adminviews.admin_loans, name='admin_loans'),
    path('administrator/forgot-password', adminviews.admin_forgot_password, name='admin_forgot_password'),
    path('administrator/resetpassword/<str:reset_token>', adminviews.admin_reset_password, name='reset_password'),
    path('administrator/logout', adminviews.admin_logout, name='logout'),
    path('administrator/login', adminviews.admin_login, name='admin_login'),
    # path('administrator/new_account_action', adminviews.admin_new_account_action, name='new_account_action'),
    path('administrator/users', adminviews.admin_users, name='users'),
    path('administrator/regr', adminviews.admin_regr, name='regr'),
    path('administrator/settings', adminviews.admin_settings, name='settings'),
    path('administrator/site_settings', adminviews.admin_site_settings, name='site_settings'),
    path('administrator/update-loans/<str:loan_id>/<str:loan_action>', adminviews.admin_update_loan, name='update_loan'),
    path('administrator/update-transfer/<str:transfer_id>/<str:transfer_action>', adminviews.admin_update_transfer, name='update_transfer'),
    path('administrator/transfers', adminviews.admin_transfers, name='transfers'),
    path('administrator/update_wallet', adminviews.admin_update_wallet, name='update_wallet'),
    path('administrator/view-profile<str:user_id>', adminviews.admin_view_profile, name='view_profile'),
    path('administrator/billingUpdate', adminviews.admin_billing_update, name='billing_update'),
]   

# handler404 = 'apps.views.error_page_redirect'

if settings.DEBUG:
    urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)