Files
NetBox-Customer-Export/netbox_customer_export/urls.py
T
MrBlakeandClaude Opus 5.5 e477aa9b49 feat: network topology diagram with Packet-Tracer-style symbols
- New section "Netzwerk-Topologie": one diagram per site built from
  NetBox cable paths (traced through patch panels), layered top-down by
  cabling (provider > firewall/router > core > access > endpoints),
  barycenter ordering, "2x" for parallel links, provider circuits as
  clouds and devices outside the scope dashed. Labels: management IP,
  model, ports.
- New export format "draw.io": the topology as an editable .drawio file
  (one page per site, symbols embedded).
- 14 built-in symbols drawn with Pillow; automatic mapping from role,
  model and manufacturer, passive gear (patch panels, PDUs, UPS) hidden.
- New TopologySymbol model (migration 0002) with list/edit/delete UI,
  symbol gallery, custom icon upload and a "Topologie-Symbol" button on
  device type and device role pages.

Bump version to 0.4.0 - requires "manage.py migrate".

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-23 14:12:55 +02:00

19 lines
1.2 KiB
Python

from django.urls import path
from . import branding_views, symbol_views, views
urlpatterns = [
path("", views.ScopeSelectView.as_view(), name="select"),
path("export/<str:kind>/<int:pk>/", views.ExportView.as_view(), name="export"),
path("branding/", branding_views.BrandingListView.as_view(), name="branding_list"),
path("branding/add/", branding_views.BrandingEditView.as_view(), name="branding_add"),
path("branding/<int:pk>/", branding_views.BrandingEditView.as_view(), name="branding_edit"),
path("branding/<int:pk>/delete/", branding_views.BrandingDeleteView.as_view(), name="branding_delete"),
path("branding/<int:pk>/preview/", branding_views.BrandingPreviewView.as_view(), name="branding_preview"),
path("symbols/", symbol_views.SymbolListView.as_view(), name="symbol_list"),
path("symbols/add/", symbol_views.SymbolEditView.as_view(), name="symbol_add"),
path("symbols/<int:pk>/", symbol_views.SymbolEditView.as_view(), name="symbol_edit"),
path("symbols/<int:pk>/delete/", symbol_views.SymbolDeleteView.as_view(), name="symbol_delete"),
path("symbols/builtin/<str:kind>.png", symbol_views.BuiltinIconView.as_view(), name="symbol_builtin"),
]