90 lines
5.3 KiB
Python
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'),
|
|
]
|