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>
This commit is contained in:
@@ -52,7 +52,7 @@ def KV(pairs, skip_empty=True):
|
||||
return Block("kv", rows=rows)
|
||||
|
||||
|
||||
def IMAGES(images):
|
||||
def IMAGES(images, wide=False):
|
||||
"""images: Liste von (svg_string oder None, caption, png_bytes_oder_None)."""
|
||||
out = []
|
||||
for svg, caption, png in images:
|
||||
@@ -63,7 +63,7 @@ def IMAGES(images):
|
||||
else:
|
||||
continue
|
||||
out.append({"svg": svg, "png": png, "caption": caption, "data_uri": data_uri})
|
||||
return Block("images", images=out)
|
||||
return Block("images", images=out, level=1 if wide else 0) # level=1: volle Seitenbreite
|
||||
|
||||
|
||||
def PAGEBREAK():
|
||||
|
||||
Reference in New Issue
Block a user