from django.urls import path from . import views app_name = "interventions" urlpatterns = [ path("", views.index, name="interventions_index"), path("mobile/", views.interventions_index_mobile, name='interventions_index_mobile'), path("mobile/add-repair/", views.add_repair_intervention_mobile, name='add_repair_intervention_mobile'), path("mobile/add/", views.choose_maintain_type_for_intervention_mobile, name='choose_maintain_type_for_intervention_mobile'), path("mobile/add/thematic/", views.choose_thematic_for_intervention_mobile, name='choose_thematic_for_intervention_mobile'), path("mobile/add//", views.add_intervention_mobile, name='add_intervention_mobile'), path("modal/add-repair/", views.add_repair_intervention_modal, name='add_repair_intervention_modal'), path('geojson/', views.interventions_geojson, name='interventions_geojson'), path('search/', views.interventions_search, name='interventions_search'), path('export/', views.export_interventions, name='export_interventions'), path('available-orders/', views.available_orders, name='available_orders'), path('bulk-associate-order/', views.bulk_associate_order, name='bulk_associate_order'), path('/', views.intervention_detail, name='intervention_detail'), path('/mobile/', views.intervention_detail_mobile, name='intervention_detail_mobile'), path('operations//comment/', views.update_operation_comment, name='operation_update_comment'), path('/update-status/', views.update_intervention_status, name='update_intervention_status'), path('/toggle-subscription/', views.toggle_intervention_subscription, name='toggle_intervention_subscription'), path('/toggle-checked/', views.toggle_intervention_checked, name='toggle_intervention_checked'), path('/toggle-follow-up-performed/', views.toggle_follow_up_performed, name='toggle_follow_up_performed'), path('/update-correction-reason/', views.update_correction_reason, name='update_correction_reason'), path('/update-correction-details/', views.update_correction_details, name='update_correction_details'), path('/add-note/', views.intervention_add_note, name='intervention_add_note'), path('/notes//update/', views.intervention_update_note, name='intervention_update_note'), path('/notes//delete/', views.intervention_delete_note, name='intervention_delete_note'), path('/create-repair/', views.create_repair_intervention, name='create_repair_intervention'), path('/link-existing/', views.link_existing_interventions, name='link_existing_interventions'), path('/occupations/add/', views.intervention_add_occupation, name='intervention_add_occupation'), path('/occupations//update/', views.intervention_update_occupation, name='intervention_update_occupation'), path('/add-document/', views.intervention_add_document, name='intervention_add_document'), path('/documents//delete/', views.intervention_delete_document, name='intervention_delete_document'), path('/documents//copy/', views.intervention_copy_document, name='intervention_copy_document'), path('/document-copy-tags/', views.intervention_get_copy_target_tags, name='intervention_get_copy_target_tags'), path('/summary-modal/', views.intervention_summary_modal, name='intervention_summary_modal'), # API mobile pour upload/suppression de photos (Canvas) path('/mobile/photos/upload/', views.mobile_upload_photo_api, name='mobile_upload_photo_api'), path('/mobile/photos//delete/', views.mobile_delete_photo_api, name='mobile_delete_photo_api'), path('/mobile/assets/filters/', views.mobile_intervention_assets_filters, name='mobile_intervention_assets_filters'), path('/mobile/assets/search/', views.mobile_intervention_assets_search, name='mobile_intervention_assets_search'), path('/mobile/assets/locations/', views.mobile_intervention_assets_locations, name='mobile_intervention_assets_locations'), path('/mobile/assets/sync/', views.mobile_intervention_assets_sync, name='mobile_intervention_assets_sync'), path('/link-assets/', views.intervention_link_assets, name='intervention_link_assets'), path('/link-order/', views.intervention_link_order, name='intervention_link_order'), path('/apply-quote/', views.intervention_apply_quote, name='intervention_apply_quote'), path('/send-reminder/', views.send_intervention_reminder, name='send_intervention_reminder'), path('/send-modification/', views.send_intervention_modification, name='send_intervention_modification'), path('/update-contract-post/', views.update_contract_post, name='update_contract_post'), path('/update-contract-post-status/', views.update_contract_post_status, name='update_contract_post_status'), path('/posts/bulk-update/', views.intervention_posts_bulk_update, name='intervention_posts_bulk_update'), path('/posts/period-quantities/', views.intervention_posts_period_quantities, name='intervention_posts_period_quantities'), path('/update/', views.update_intervention, name='update_intervention'), path('/location/add/', views.add_intervention_location, name='add_intervention_location'), path('/location//remove/', views.remove_intervention_location, name='remove_intervention_location'), # Period validation endpoints path('/period-validation/toggle/', views.toggle_period_validation, name='toggle_period_validation'), path('/period-validation/last-flag/', views.set_last_period_flag, name='set_last_period_flag'), path('/confirm-call/', views.confirm_call, name='confirm_call'), path("/preview-sheet/", views.preview_intervention_pdf, name="intervention_pdf_preview"), path("/report/", views.download_intervention_report_pdf, name="intervention_report_download"), path("/report/preview/", views.preview_intervention_report_pdf, name="intervention_report_preview"), path('bulk-change-status/', views.update_multiple_intervention_statuses, name='interventions_bulk_change_status'), path('export-sheets-zip/', views.export_intervention_sheets_zip, name='export_intervention_sheets_zip'), path('execution-report/', views.bulk_execution_report_pdf, name='bulk_execution_report_pdf'), path('execution-report/start/', views.start_bulk_execution_report, name='start_bulk_execution_report'), path('execution-report/progress//', views.poll_bulk_execution_report, name='poll_bulk_execution_report'), path('execution-report/download//', views.download_bulk_execution_report, name='download_bulk_execution_report'), path('provider-contracts/', views.get_contracts_by_provider, name='get_contracts_by_provider'), path('events/', views.interventions_events, name='interventions_events'), path('schedule/update/', views.interventions_schedule_update, name='interventions_schedule_update'), path('calendar/', views.interventions_calendar, name='interventions_calendar'), path('add/choose-thematic/', views.choose_thematic_before_add, name='intervention_add_choose_thematic'), path('/add/', views.interventions_add, name='intervention_add'), path('/add-mobile/', views.interventions_add, name='intervention_add_mobile_form'), path('inspection-configurations//geojson/', views.inspection_configuration_geojson, name='inspection_configuration_geojson'), path('/add-preventive/', views.intervention_add_preventive, name='intervention_add_preventive'), path('/add-preventive-draft/', views.preventive_intervention_draft, name='intervention_preventive_draft'), path('/preventive-link-elements/', views.preventive_link_assets, name='intervention_preventive_link_elements'), path('/preventive-remove-element/', views.preventive_remove_element, name='intervention_preventive_remove_element'), path('linked/summary/', views.linked_interventions_summary, name='linked_interventions_summary'), path('linked/list/', views.linked_interventions_list, name='linked_interventions_list'), path('linked/geojson/', views.linked_interventions_geojson, name='linked_interventions_geojson'), path('check-assets-locations-status/', views.check_assets_locations_status, name='check_assets_locations_status'), path('/add-custom-operation/', views.add_custom_operation, name='add_custom_operation'), path('/save-operations/', views.save_operations_ajax, name='save_operations_ajax'), path('/save-guided-operation/', views.save_guided_operation_ajax, name='save_guided_operation_ajax'), path('/guided-operation/giep-assets/autocomplete/', views.autocomplete_giep_assets_ajax, name='autocomplete_giep_assets'), path('/guided-operation/giep-assets/nearby/', views.nearby_giep_assets_ajax, name='nearby_giep_assets'), path('/guided-operation/giep-assets/geojson/', views.nearby_giep_assets_geojson_ajax, name='nearby_giep_assets_geojson'), path('/guided-operation/upload-media/', views.upload_guided_operation_media, name='upload_guided_operation_media'), path('guided-operation/media//delete/', views.delete_guided_operation_media, name='delete_guided_operation_media'), path('/save-mobile/', views.save_intervention_mobile_ajax, name='save_intervention_mobile_ajax'), path('operations//add-photo/', views.add_operation_photo, name='add_operation_photo'), path('operations/photos//delete/', views.delete_operation_photo, name='delete_operation_photo'), # Transfer intervention API path('/mobile/transfer/members/', views.get_transferable_members, name='get_transferable_members'), path('/mobile/transfer/', views.transfer_intervention, name='transfer_intervention'), # Admin AJAX endpoints path('ajax/get-categories-by-thematic/', views.ajax_get_categories_by_thematic, name='ajax_get_categories_by_thematic'), path('ajax/get-subcategories/', views.ajax_get_subcategories, name='ajax_get_subcategories'), path('ajax/get-asset-models/', views.ajax_get_asset_models, name='ajax_get_asset_models'), path('ajax/get-replacement-models-by-category/', views.ajax_get_replacement_models_by_category, name='ajax_get_replacement_models_by_category'), # Template check for assets without matching templates path('/check-asset-templates/', views.check_asset_templates_for_intervention, name='check_asset_templates'), path('/create-operations-from-template/', views.create_operations_from_selected_template, name='create_operations_from_template'), path('/get-newly-linked-assets/', views.get_newly_linked_assets_for_templates, name='get_newly_linked_assets'), path('/create-operations-for-linked-assets/', views.create_operations_for_linked_assets, name='create_operations_for_linked_assets'), # Discussion / Messages path('/message/', views.intervention_add_message, name='intervention_add_message'), path('/planning-data/', views.intervention_planning_data_ajax, name='intervention_planning_data'), ]