from django.urls import path from . import views from . import views_integration from . import views_source urlpatterns = [ # ======================================================================== # CORE DASHBOARD & NAVIGATION # ======================================================================== path("", views.dashboard_view, name="dashboard"), path("login/", views.portal_login, name="portal_login"), path("careers/", views.kaauh_career, name="kaauh_career"), # ======================================================================== # JOB MANAGEMENT # ======================================================================== # Job CRUD Operations path("jobs/", views.JobListView.as_view(), name="job_list"), path("jobs/create/", views.create_job, name="job_create"), path("jobs//", views.job_detail, name="job_detail"), path("jobs//update/", views.edit_job, name="job_update"), path("jobs//upload-image/", views.job_image_upload, name="job_image_upload"), # Job-specific Views path("jobs//applicants/", views.job_applicants_view, name="job_applicants"), path("jobs//applications/", views.JobApplicationListView.as_view(), name="job_applications_list"), path("jobs//calendar/", views.interview_calendar_view, name="interview_calendar"), path("jobs/bank/", views.job_bank_view, name="job_bank"), # Job Actions & Integrations path("jobs//post-to-linkedin/", views.post_to_linkedin, name="post_to_linkedin"), path("jobs//edit_linkedin_post_content/", views.edit_linkedin_post_content, name="edit_linkedin_post_content"), path("jobs//staff-assignment/", views.staff_assignment_view, name="staff_assignment_view"), path("jobs//sync-hired-applications/", views.sync_hired_applications, name="sync_hired_applications"), path("jobs//export//csv/", views.export_applications_csv, name="export_applications_csv"), path("jobs//request-download/", views.request_cvs_download, name="request_cvs_download"), path("jobs//download-ready/", views.download_ready_cvs, name="download_ready_cvs"), # Job Application Stage Views path("jobs//applications_screening_view/", views.applications_screening_view, name="applications_screening_view"), path("jobs//applications_exam_view/", views.applications_exam_view, name="applications_exam_view"), path("jobs//applications_interview_view/", views.applications_interview_view, name="applications_interview_view"), path("jobs//applications_document_review_view/", views.applications_document_review_view, name="applications_document_review_view"), path("jobs//applications_offer_view/", views.applications_offer_view, name="applications_offer_view"), path("jobs//applications_hired_view/", views.applications_hired_view, name="applications_hired_view"), # Job Application Status Management path("jobs//application//update_status///", views.update_application_status, name="update_application_status"), path("jobs//update_application_exam_status/", views.update_application_exam_status, name="update_application_exam_status"), path("jobs//reschedule_meeting_for_application/", views.reschedule_meeting_for_application, name="reschedule_meeting_for_application"), # Job Interview Scheduling path("jobs//schedule-interviews/", views.schedule_interviews_view, name="schedule_interviews"), path("jobs//confirm-schedule-interviews/", views.confirm_schedule_interviews_view, name="confirm_schedule_interviews_view"), path("jobs//applications/compose-email/", views.compose_application_email, name="compose_application_email"), # ======================================================================== # APPLICATION/CANDIDATE MANAGEMENT # ======================================================================== # Application CRUD Operations path("applications/", views.ApplicationListView.as_view(), name="application_list"), path("applications/create/", views.ApplicationCreateView.as_view(), name="application_create"), path("applications/create//", views.ApplicationCreateView.as_view(), name="application_create_for_job"), path("applications//", views.application_detail, name="application_detail"), path("applications//update/", views.ApplicationUpdateView.as_view(), name="application_update"), path("applications//delete/", views.ApplicationDeleteView.as_view(), name="application_delete"), # Application Actions path("applications//resume-template/", views.application_resume_template_view, name="application_resume_template"), path("applications//update-stage/", views.application_update_stage, name="application_update_stage"), path("applications//retry-scoring/", views.retry_scoring_view, name="application_retry_scoring"), path("applications//applicant-view/", views.applicant_application_detail, name="applicant_application_detail"), # Application Document Management path("applications//documents/upload/", views.document_upload, name="application_document_upload"), path("applications//documents//delete/", views.document_delete, name="application_document_delete"), path("applications//documents//download/", views.document_download, name="application_document_download"), # ======================================================================== # INTERVIEW MANAGEMENT # ======================================================================== # Interview CRUD Operations path("interviews/", views.interview_list, name="interview_list"), path("interviews//", views.interview_detail, name="interview_detail"), path("interviews//update_interview_status", views.update_interview_status, name="update_interview_status"), path("interviews//cancel_interview_for_application", views.cancel_interview_for_application, name="cancel_interview_for_application"), # Interview Creation path("interviews/create//", views.interview_create_type_selection, name="interview_create_type_selection"), path("interviews/create//remote/", views.interview_create_remote, name="interview_create_remote"), path("interviews/create//onsite/", views.interview_create_onsite, name="interview_create_onsite"), path("interviews//get_interview_list", views.get_interview_list, name="get_interview_list"), # ======================================================================== # PERSON/CONTACT MANAGEMENT # ======================================================================== path("persons/", views.PersonListView.as_view(), name="person_list"), path("persons/create/", views.PersonCreateView.as_view(), name="person_create"), path("persons//", views.PersonDetailView.as_view(), name="person_detail"), path("persons//update/", views.PersonUpdateView.as_view(), name="person_update"), path("persons//delete/", views.PersonDeleteView.as_view(), name="person_delete"), # ======================================================================== # FORM & TEMPLATE MANAGEMENT # ======================================================================== # Form Builder & Templates path("forms/", views.form_templates_list, name="form_templates_list"), path("forms/builder/", views.form_builder, name="form_builder"), path("forms/builder//", views.form_builder, name="form_builder"), path("forms/create-template/", views.create_form_template, name="create_form_template"), # Form Submissions path("forms//submissions//", views.form_submission_details, name="form_submission_details"), path("forms/template//submissions/", views.form_template_submissions_list, name="form_template_submissions_list"), path("forms/template//all-submissions/", views.form_template_all_submissions, name="form_template_all_submissions"), # Application Forms (Public) path("application/signup//", views.application_signup, name="application_signup"), path("application//", views.application_submit_form, name="application_submit_form"), path("application//submit/", views.application_submit, name="application_submit"), path("application//apply/", views.job_application_detail, name="job_application_detail"), path("application//success/", views.application_success, name="application_success"), # ======================================================================== # INTEGRATION & EXTERNAL SERVICES # ======================================================================== # ERP Integration path("integration/erp/", views_integration.ERPIntegrationView.as_view(), name="erp_integration"), path("integration/erp/create-job/", views_integration.erp_create_job_view, name="erp_create_job"), path("integration/erp/update-job/", views_integration.erp_update_job_view, name="erp_update_job"), path("integration/erp/health/", views_integration.erp_integration_health, name="erp_integration_health"), # LinkedIn Integration path("jobs/linkedin/login/", views.linkedin_login, name="linkedin_login"), path("jobs/linkedin/callback/", views.linkedin_callback, name="linkedin_callback"), # Source Management path("sources/", views_source.SourceListView.as_view(), name="source_list"), path("sources/create/", views_source.SourceCreateView.as_view(), name="source_create"), path("sources//", views_source.SourceDetailView.as_view(), name="source_detail"), path("sources//update/", views_source.SourceUpdateView.as_view(), name="source_update"), path("sources//delete/", views_source.SourceDeleteView.as_view(), name="source_delete"), path("sources//generate-keys/", views_source.generate_api_keys_view, name="generate_api_keys"), path("sources//toggle-status/", views_source.toggle_source_status_view, name="toggle_source_status"), path("sources//test-connection/", views.test_source_connection, name="test_source_connection"), path("sources/api/copy-to-clipboard/", views_source.copy_to_clipboard_view, name="copy_to_clipboard"), # ======================================================================== # AGENCY & PORTAL MANAGEMENT # ======================================================================== # Agency Management path("agencies/", views.agency_list, name="agency_list"), path("regenerate_agency_password//", views.regenerate_agency_password, name="regenerate_agency_password"), path("deactivate_agency//", views.deactivate_agency, name="deactivate_agency"), path("agencies/create/", views.agency_create, name="agency_create"), path("agencies//", views.agency_detail, name="agency_detail"), path("agencies//update/", views.agency_update, name="agency_update"), path("agencies//delete/", views.agency_delete, name="agency_delete"), path("agencies//applications/", views.agency_applications, name="agency_applications"), # Agency Assignment Management path("agency-assignments/", views.agency_assignment_list, name="agency_assignment_list"), path("agency-assignments/create/", views.agency_assignment_create, name="agency_assignment_create"), path("agency-assignments//create/", views.agency_assignment_create, name="agency_assignment_create"), path("agency-assignments//", views.agency_assignment_detail, name="agency_assignment_detail"), path("agency-assignments//update/", views.agency_assignment_update, name="agency_assignment_update"), path("agency-assignments//extend-deadline/", views.agency_assignment_extend_deadline, name="agency_assignment_extend_deadline"), # Agency Access Links path("agency-access-links/create/", views.agency_access_link_create, name="agency_access_link_create"), path("agency-access-links//", views.agency_access_link_detail, name="agency_access_link_detail"), path("agency-access-links//deactivate/", views.agency_access_link_deactivate, name="agency_access_link_deactivate"), path("agency-access-links//reactivate/", views.agency_access_link_reactivate, name="agency_access_link_reactivate"), # Portal Management path("portal/dashboard/", views.agency_portal_dashboard, name="agency_portal_dashboard"), path("portal/logout/", views.portal_logout, name="portal_logout"), path("portal//reset/", views.portal_password_reset, name="portal_password_reset"), path("portal/persons/", views.agency_portal_persons_list, name="agency_portal_persons_list"), path("portal/assignment//", views.agency_portal_assignment_detail, name="agency_portal_assignment_detail"), path("portal/assignment//submit-application/", views.agency_portal_submit_application_page, name="agency_portal_submit_application_page"), path("portal/submit-application/", views.agency_portal_submit_application, name="agency_portal_submit_application"), # Applicant Portal path("applicant/dashboard/", views.applicant_portal_dashboard, name="applicant_portal_dashboard"), # Portal Application Management path("portal/applications//edit/", views.agency_portal_edit_application, name="agency_portal_edit_application"), path("portal/applications//delete/", views.agency_portal_delete_application, name="agency_portal_delete_application"), # ======================================================================== # USER & ACCOUNT MANAGEMENT # ======================================================================== # User Profile & Management path("user/", views.user_detail, name="user_detail"), path("user/user_profile_image_update/", views.user_profile_image_update, name="user_profile_image_update"), path("user//password-reset/", views.portal_password_reset, name="portal_password_reset"), # Staff Management path("staff/create", views.create_staff_user, name="create_staff_user"), path("set_staff_password//", views.set_staff_password, name="set_staff_password"), path("account_toggle_status/", views.account_toggle_status, name="account_toggle_status"), # ======================================================================== # COMMUNICATION & MESSAGING # ======================================================================== # Message Management path("messages/", views.message_list, name="message_list"), path("messages/create/", views.message_create, name="message_create"), path("messages//", views.message_detail, name="message_detail"), path("messages//reply/", views.message_reply, name="message_reply"), path("messages//mark-read/", views.message_mark_read, name="message_mark_read"), path("messages//mark-unread/", views.message_mark_unread, name="message_mark_unread"), path("messages//delete/", views.message_delete, name="message_delete"), # ======================================================================== # SYSTEM & ADMINISTRATIVE # ======================================================================== # Settings & Configuration path("settings/", views.admin_settings, name="admin_settings"), path("settings/list/", views.settings_list, name="settings_list"), path("settings/create/", views.settings_create, name="settings_create"), path("settings//", views.settings_detail, name="settings_detail"), path("settings//update/", views.settings_update, name="settings_update"), path("settings//delete/", views.settings_delete, name="settings_delete"), path("settings//toggle/", views.settings_toggle_status, name="settings_toggle_status"), # System Utilities path("easy_logs/", views.easy_logs, name="easy_logs"), # Notes Management path("note//application_add_note/", views.application_add_note, name="application_add_note"), path("note//interview_add_note/", views.interview_add_note, name="interview_add_note"), path("note//delete/", views.delete_note, name="delete_note"), # ======================================================================== # DOCUMENT MANAGEMENT # ======================================================================== path("documents/upload//", views.document_upload, name="document_upload"), path("documents//delete/", views.document_delete, name="document_delete"), path("documents//download/", views.document_download, name="document_download"), # ======================================================================== # API ENDPOINTS # ======================================================================== # Legacy API URLs (keeping for compatibility) path("api/create/", views.create_job, name="create_job_api"), path("api//edit/", views.edit_job, name="edit_job_api"), path("api/application//", views.api_application_detail, name="api_application_detail"), path("api/unread-count/", views.api_unread_count, name="api_unread_count"), # HTMX Endpoints path("htmx//application_criteria_view/", views.application_criteria_view_htmx, name="application_criteria_view_htmx"), path("htmx//application_set_exam_date/", views.application_set_exam_date, name="application_set_exam_date"), path("htmx//application_update_status/", views.application_update_status, name="application_update_status"), ]