Marwan Alwali 263292f6be update
2025-11-04 00:50:06 +03:00

90 lines
5.3 KiB
Python

from django.urls import path
from . import views
app_name = 'facility_management'
urlpatterns = [
# Dashboard
path('', views.FacilityDashboardView.as_view(), name='dashboard'),
# Building Management
path('buildings/', views.BuildingListView.as_view(), name='building_list'),
path('buildings/create/', views.BuildingCreateView.as_view(), name='building_create'),
path('buildings/<int:pk>/', views.BuildingDetailView.as_view(), name='building_detail'),
path('buildings/<int:pk>/edit/', views.BuildingUpdateView.as_view(), name='building_update'),
# Asset Management
path('assets/', views.AssetListView.as_view(), name='asset_list'),
path('assets/create/', views.AssetCreateView.as_view(), name='asset_create'),
path('assets/<int:pk>/', views.AssetDetailView.as_view(), name='asset_detail'),
path('assets/<int:pk>/edit/', views.AssetUpdateView.as_view(), name='asset_edit'),
# Maintenance Management
path('maintenance/', views.MaintenanceRequestListView.as_view(), name='maintenance_list'),
path('maintenance/create/', views.MaintenanceRequestCreateView.as_view(), name='maintenance_create'),
path('maintenance/<int:pk>/', views.MaintenanceRequestDetailView.as_view(), name='maintenance_detail'),
path('maintenance/<int:pk>/edit/', views.MaintenanceRequestUpdateView.as_view(), name='maintenance_edit'),
# Room Management
path('rooms/', views.RoomListView.as_view(), name='room_list'),
path('rooms/create/', views.RoomCreateView.as_view(), name='room_create'),
path('rooms/<int:pk>/', views.RoomDetailView.as_view(), name='room_detail'),
path('rooms/<int:pk>/edit/', views.RoomUpdateView.as_view(), name='room_edit'),
# Vendor Management
path('vendors/', views.VendorListView.as_view(), name='vendor_list'),
path('vendors/create/', views.VendorCreateView.as_view(), name='vendor_create'),
path('vendors/<int:pk>/', views.VendorDetailView.as_view(), name='vendor_detail'),
path('vendors/<int:pk>/edit/', views.VendorUpdateView.as_view(), name='vendor_edit'),
# Service Contract Management
path('contracts/', views.ServiceContractListView.as_view(), name='contract_list'),
path('contracts/create/', views.ServiceContractCreateView.as_view(), name='contract_create'),
path('contracts/<int:pk>/', views.ServiceContractDetailView.as_view(), name='contract_detail'),
path('contracts/<int:pk>/edit/', views.ServiceContractUpdateView.as_view(), name='contract_edit'),
# Reports
path('reports/', views.FacilityReportView.as_view(), name='reports'),
# AJAX endpoints
path('ajax/buildings/', views.get_buildings, name='ajax_buildings'),
path('ajax/floors/', views.get_floors_by_building, name='ajax_floors'),
path('ajax/rooms/', views.get_rooms_by_floor, name='ajax_rooms'),
path('ajax/assets/', views.get_assets_by_location, name='ajax_assets'),
# Export endpoints
path('export/assets/', views.export_assets_csv, name='export_assets'),
path('export/maintenance/', views.export_maintenance_csv, name='export_maintenance'),
# Inspection Management
path('inspections/', views.InspectionListView.as_view(), name='inspection_list'),
path('inspections/create/', views.InspectionCreateView.as_view(), name='inspection_create'),
path('inspections/<int:pk>/', views.InspectionDetailView.as_view(), name='inspection_detail'),
path('inspections/<int:pk>/edit/', views.InspectionUpdateView.as_view(), name='inspection_edit'),
# Energy Meter Management
path('energy-meters/', views.EnergyMeterListView.as_view(), name='energy_meter_list'),
path('energy-meters/create/', views.EnergyMeterCreateView.as_view(), name='energy_meter_create'),
path('energy-meters/<int:pk>/', views.EnergyMeterDetailView.as_view(), name='energy_meter_detail'),
path('energy-meters/<int:pk>/edit/', views.EnergyMeterUpdateView.as_view(), name='energy_meter_edit'),
# Energy Reading Management
path('energy-readings/', views.EnergyReadingListView.as_view(), name='energy_reading_list'),
path('energy-readings/create/', views.EnergyReadingCreateView.as_view(), name='energy_reading_create'),
path('energy-readings/<int:pk>/', views.EnergyReadingDetailView.as_view(), name='energy_reading_detail'),
path('energy-readings/<int:pk>/edit/', views.EnergyReadingUpdateView.as_view(), name='energy_reading_edit'),
# Space Reservation Management
path('reservations/', views.SpaceReservationListView.as_view(), name='reservation_list'),
path('reservations/create/', views.SpaceReservationCreateView.as_view(), name='reservation_create'),
path('reservations/<int:pk>/', views.SpaceReservationDetailView.as_view(), name='reservation_detail'),
path('reservations/<int:pk>/edit/', views.SpaceReservationUpdateView.as_view(), name='reservation_edit'),
path('reservations/<int:pk>/approve/', views.approve_reservation, name='reservation_approve'),
path('reservations/<int:pk>/cancel/', views.cancel_reservation, name='reservation_cancel'),
# Additional Export endpoints
path('export/inspections/', views.export_inspections_csv, name='export_inspections'),
path('export/energy-readings/', views.export_energy_readings_csv, name='export_energy_readings'),
path('export/reservations/', views.export_reservations_csv, name='export_reservations'),
]