Files
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

36 lines
1.2 KiB
Python

from netbox.plugins import PluginMenuButton, PluginMenuItem
menu_items = (
PluginMenuItem(
link="plugins:netbox_customer_export:select",
link_text="Kundendokumentation",
permissions=["dcim.view_site"],
),
PluginMenuItem(
link="plugins:netbox_customer_export:symbol_list",
link_text="Topologie-Symbole",
permissions=["netbox_customer_export.view_topologysymbol"],
buttons=(
PluginMenuButton(
link="plugins:netbox_customer_export:symbol_add",
title="Hinzufügen",
icon_class="mdi mdi-plus-thick",
permissions=["netbox_customer_export.add_topologysymbol"],
),
),
),
PluginMenuItem(
link="plugins:netbox_customer_export:branding_list",
link_text="Branding-Profile",
permissions=["netbox_customer_export.view_brandingprofile"],
buttons=(
PluginMenuButton(
link="plugins:netbox_customer_export:branding_add",
title="Hinzufügen",
icon_class="mdi mdi-plus-thick",
permissions=["netbox_customer_export.add_brandingprofile"],
),
),
),
)