60 lines
3.1 KiB
Python
60 lines
3.1 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'),
|
|
]
|
|
|