from django.urls import path from . import views_frontend from . import views from . import views_integration from . import views_source urlpatterns = [ path('', views_frontend.dashboard_view, name='dashboard'), # Job URLs (using JobPosting model) path('jobs/', views_frontend.JobListView.as_view(), name='job_list'), path('jobs/create/', views.create_job, name='job_create'), path('job//upload_image_simple/', views.job_image_upload, name='job_image_upload'), path('jobs//update/', views.edit_job, name='job_update'), # path('jobs//delete/', views., name='job_delete'), path('jobs//', views.job_detail, name='job_detail'), path('careers/',views.kaauh_career,name='kaauh_career'), # LinkedIn Integration URLs path('jobs//post-to-linkedin/', views.post_to_linkedin, name='post_to_linkedin'), path('jobs/linkedin/login/', views.linkedin_login, name='linkedin_login'), path('jobs/linkedin/callback/', views.linkedin_callback, name='linkedin_callback'), 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'), # Candidate URLs path('candidates/', views_frontend.CandidateListView.as_view(), name='candidate_list'), path('candidates/create/', views_frontend.CandidateCreateView.as_view(), name='candidate_create'), path('candidates/create//', views_frontend.CandidateCreateView.as_view(), name='candidate_create_for_job'), path('jobs//candidates/', views_frontend.JobCandidatesListView.as_view(), name='job_candidates_list'), path('candidates//update/', views_frontend.CandidateUpdateView.as_view(), name='candidate_update'), path('candidates//delete/', views_frontend.CandidateDeleteView.as_view(), name='candidate_delete'), path('candidate//view/', views_frontend.candidate_detail, name='candidate_detail'), path('candidate//resume-template/', views_frontend.candidate_resume_template_view, name='candidate_resume_template'), path('candidate//update-stage/', views_frontend.candidate_update_stage, name='candidate_update_stage'), path('candidate//retry-scoring/', views_frontend.retry_scoring_view, name='candidate_retry_scoring'), # Training URLs path('training/', views_frontend.TrainingListView.as_view(), name='training_list'), path('training/create/', views_frontend.TrainingCreateView.as_view(), name='training_create'), path('training//', views_frontend.TrainingDetailView.as_view(), name='training_detail'), path('training//update/', views_frontend.TrainingUpdateView.as_view(), name='training_update'), path('training//delete/', views_frontend.TrainingDeleteView.as_view(), name='training_delete'), # Meeting URLs path('meetings/', views.ZoomMeetingListView.as_view(), name='list_meetings'), path('meetings/create-meeting/', views.ZoomMeetingCreateView.as_view(), name='create_meeting'), path('meetings/meeting-details//', views.ZoomMeetingDetailsView.as_view(), name='meeting_details'), path('meetings/update-meeting//', views.ZoomMeetingUpdateView.as_view(), name='update_meeting'), path('meetings/delete-meeting//', views.ZoomMeetingDeleteView, name='delete_meeting'), # JobPosting functional views URLs (keeping for compatibility) path('api/create/', views.create_job, name='create_job_api'), path('api//edit/', views.edit_job, name='edit_job_api'), # ERP Integration URLs 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'), # Form Preview URLs # path('forms/', views.form_list, name='form_list'), path('forms/builder/', views.form_builder, name='form_builder'), path('forms/builder//', views.form_builder, name='form_builder'), path('forms/', views.form_templates_list, name='form_templates_list'), path('forms/create-template/', views.create_form_template, name='create_form_template'), path('jobs//edit_linkedin_post_content/',views.edit_linkedin_post_content,name='edit_linkedin_post_content'), path('jobs//candidate_screening_view/', views.candidate_screening_view, name='candidate_screening_view'), path('jobs//candidate_exam_view/', views.candidate_exam_view, name='candidate_exam_view'), path('jobs//candidate_interview_view/', views.candidate_interview_view, name='candidate_interview_view'), path('jobs//candidate_offer_view/', views_frontend.candidate_offer_view, name='candidate_offer_view'), path('jobs//candidate_hired_view/', views_frontend.candidate_hired_view, name='candidate_hired_view'), path('jobs//export//csv/', views_frontend.export_candidates_csv, name='export_candidates_csv'), path('jobs//candidates//update_status///', views_frontend.update_candidate_status, name='update_candidate_status'), # Sync URLs path('jobs//sync-hired-candidates/', views_frontend.sync_hired_candidates, name='sync_hired_candidates'), path('sources//test-connection/', views_frontend.test_source_connection, name='test_source_connection'), path('jobs///reschedule_meeting_for_candidate//', views.reschedule_meeting_for_candidate, name='reschedule_meeting_for_candidate'), path('jobs//update_candidate_exam_status/', views.update_candidate_exam_status, name='update_candidate_exam_status'), path('jobs//bulk_update_candidate_exam_status/', views.bulk_update_candidate_exam_status, name='bulk_update_candidate_exam_status'), path('htmx//candidate_criteria_view/', views.candidate_criteria_view_htmx, name='candidate_criteria_view_htmx'), path('htmx//candidate_set_exam_date/', views.candidate_set_exam_date, name='candidate_set_exam_date'), path('htmx//candidate_update_status/', views.candidate_update_status, name='candidate_update_status'), # path('forms/form//submit/', views.submit_form, name='submit_form'), # path('forms/form//', views.form_wizard_view, name='form_wizard'), 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'), # path('forms//', views.form_preview, name='form_preview'), # path('forms//submit/', views.form_submit, name='form_submit'), # path('forms//embed/', views.form_embed, name='form_embed'), # path('forms//submissions/', views.form_submissions, name='form_submissions'), # path('forms//edit/', views.edit_form, name='edit_form'), # path('api/forms/save/', views.save_form_builder, name='save_form_builder'), # path('api/forms//load/', views.load_form, name='load_form'), # path('api/forms//update/', views.update_form_builder, name='update_form_builder'), # path('api/templates/', views.list_form_templates, name='list_form_templates'), # path('api/templates/save/', views.save_form_template, name='save_form_template'), # path('api/templates//', views.load_form_template, name='load_form_template'), # path('api/templates//delete/', views.delete_form_template, name='delete_form_template'), path('jobs//calendar/', views.interview_calendar_view, name='interview_calendar'), path('jobs//calendar/interview//', views.interview_detail_view, name='interview_detail'), # Candidate Meeting Scheduling/Rescheduling URLs path('jobs//candidates//schedule-meeting/', views.schedule_candidate_meeting, name='schedule_candidate_meeting'), path('api/jobs//candidates//schedule-meeting/', views.api_schedule_candidate_meeting, name='api_schedule_candidate_meeting'), path('jobs//candidates//reschedule-meeting//', views.reschedule_candidate_meeting, name='reschedule_candidate_meeting'), path('api/jobs//candidates//reschedule-meeting//', views.api_reschedule_candidate_meeting, name='api_reschedule_candidate_meeting'), # New URL for simple page-based meeting scheduling path('jobs//candidates//schedule-meeting-page/', views.schedule_meeting_for_candidate, name='schedule_meeting_for_candidate'), path('jobs//candidates//delete_meeting_for_candidate//', views.delete_meeting_for_candidate, name='delete_meeting_for_candidate'), # users urls 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('easy_logs/',views.easy_logs,name='easy_logs'), path('settings/',views.admin_settings,name='admin_settings'), 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'), # Source URLs 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/api/generate-keys/', views_source.generate_api_keys_view, name='generate_api_keys'), path('sources/api/copy-to-clipboard/', views_source.copy_to_clipboard_view, name='copy_to_clipboard'), # Meeting Comments URLs path('meetings//comments/add/', views.add_meeting_comment, name='add_meeting_comment'), path('meetings//comments//edit/', views.edit_meeting_comment, name='edit_meeting_comment'), path('meetings//comments//delete/', views.delete_meeting_comment, name='delete_meeting_comment'), path('meetings//set_meeting_candidate/', views.set_meeting_candidate, name='set_meeting_candidate'), # Hiring Agency URLs path('agencies/', views.agency_list, name='agency_list'), 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//candidates/', views.agency_candidates, name='agency_candidates'), # path('agencies//send-message/', views.agency_detail_send_message, name='agency_detail_send_message'), # Agency Assignment Management URLs 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 Link URLs 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'), # Admin Message Center URLs (messaging functionality removed) # path('admin/messages/', views.admin_message_center, name='admin_message_center'), # path('admin/messages/compose/', views.admin_compose_message, name='admin_compose_message'), # path('admin/messages//', views.admin_message_detail, name='admin_message_detail'), # path('admin/messages//reply/', views.admin_message_reply, name='admin_message_reply'), # path('admin/messages//mark-read/', views.admin_mark_message_read, name='admin_mark_message_read'), # path('admin/messages//delete/', views.admin_delete_message, name='admin_delete_message'), # Agency Portal URLs (for external agencies) path('portal/login/', views.agency_portal_login, name='agency_portal_login'), path('portal/dashboard/', views.agency_portal_dashboard, name='agency_portal_dashboard'), path('portal/assignment//', views.agency_portal_assignment_detail, name='agency_portal_assignment_detail'), path('portal/assignment//submit-candidate/', views.agency_portal_submit_candidate_page, name='agency_portal_submit_candidate_page'), path('portal/submit-candidate/', views.agency_portal_submit_candidate, name='agency_portal_submit_candidate'), path('portal/logout/', views.agency_portal_logout, name='agency_portal_logout'), # Agency Portal Candidate Management URLs path('portal/candidates//edit/', views.agency_portal_edit_candidate, name='agency_portal_edit_candidate'), path('portal/candidates//delete/', views.agency_portal_delete_candidate, name='agency_portal_delete_candidate'), # API URLs for messaging (removed) # path('api/agency/messages//', views.api_agency_message_detail, name='api_agency_message_detail'), # path('api/agency/messages//mark-read/', views.api_agency_mark_message_read, name='api_agency_mark_message_read'), # API URLs for candidate management path('api/candidate//', views.api_candidate_detail, name='api_candidate_detail'), # # Admin Notification API # path('api/admin/notification-count/', views.api_notification_count, name='admin_notification_count'), # # Agency Notification API # path('api/agency/notification-count/', views.api_notification_count, name='api_agency_notification_count'), # # SSE Notification Stream # path('api/notifications/stream/', views.notification_stream, name='notification_stream'), # # Notification URLs # path('notifications/', views.notification_list, name='notification_list'), # path('notifications//', views.notification_detail, name='notification_detail'), # path('notifications//mark-read/', views.notification_mark_read, name='notification_mark_read'), # path('notifications//mark-unread/', views.notification_mark_unread, name='notification_mark_unread'), # path('notifications//delete/', views.notification_delete, name='notification_delete'), # path('notifications/mark-all-read/', views.notification_mark_all_read, name='notification_mark_all_read'), # path('api/notification-count/', views.api_notification_count, name='api_notification_count'), #participants urls path('participants/', views_frontend.ParticipantsListView.as_view(), name='participants_list'), path('participants/create/', views_frontend.ParticipantsCreateView.as_view(), name='participants_create'), path('participants//', views_frontend.ParticipantsDetailView.as_view(), name='participants_detail'), path('participants//update/', views_frontend.ParticipantsUpdateView.as_view(), name='participants_update'), path('participants//delete/', views_frontend.ParticipantsDeleteView.as_view(), name='participants_delete'), # Email composition URLs path('jobs//candidates//compose-email/', views.compose_candidate_email, name='compose_candidate_email'), ]