Commit Graph
21 Commits
Author SHA1 Message Date
MrBlakeandClaude Opus 5.5 ad8632ed24 docs: rewrite README in English with standard structure
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 13:36:38 +02:00
MrBlakeandClaude Opus 5.5 0aa9403cb9 feat: license export compatible with NetBox-SLM
When the netbox_slm plugin is installed, the "Lizenzen" section reads
its SoftwareLicense objects automatically:

- Scope matching via installations on devices, VMs or clusters in the
  exported site/location/tenant, plus licenses assigned to the tenant
  and tenant-less licenses of its tenant group (incl. parent groups) or,
  for tenant group exports, of the group and its subgroups.
- One table per manufacturer: license, product/version, type, amount,
  validity incl. renewal interval, status (active, expires in N days,
  expired, lifetime), support, installation target and tenant.
- License keys only with the "include secrets" option.
- Other configured license_sources keep working alongside.

Table cells in HTML/PDF now preserve line breaks.

Bump version to 0.9.0.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-24 15:26:45 +02:00
MrBlakeandClaude Opus 5.5 0cd72824d5 feat: optional topology per rack
- New topology option "Umfang": whole network (per site) and/or per
  rack, one landscape page each. Rack pages are grouped under
  "Topologie je Rack" with the rack titles one heading level lower to
  keep the table of contents short.
- Directly connected devices outside the rack are shown dimmed and
  dashed with their rack as subtitle, so uplinks stay visible.
- Cable paths are collected once per export and reused for all views.

Fix: devices from other sites were able to pull in their own neighbors
as external nodes; only direct neighbors of a group's devices are shown
now.

Bump version to 0.8.0.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-23 16:01:06 +02:00
MrBlakeandClaude Opus 5.5 3ad7cc6810 feat: IPv4/IPv6 selection and wrapped device names in topology
- New export option "IP-Versionen" (IPv4, IPv6 or both, default both).
  Applies to management/OOB IP columns, VMs, topology labels and filters
  the prefix and IP address sections by family.
- Topology device names longer than 15 characters are wrapped onto
  several lines, preferably after "-", "_", "." or spaces; row heights
  adapt to the number of lines.

Bump version to 0.7.0.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-23 15:50:32 +02:00
MrBlakeandClaude Opus 5.5 cbf09c219c feat: tighter topology columns for larger symbols and text
Reduce the column width from 190 to 174 px while keeping icon and font
sizes. Width-limited diagrams are about 8-9 % narrower, so symbols and
labels appear correspondingly larger on the landscape page.

Bump version to 0.6.2.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-23 15:27:25 +02:00
MrBlakeandClaude Opus 5.5 bce880f5d7 feat: narrower margins on landscape topology pages
- Landscape pages use 7 mm side margins (PDF) / 0.7 cm (Word) and
  compact headings, so the topology gets about 28 cm of width.
- Portrait pages after a landscape page restore their original margins.
- The topology PNG is cropped to its content, removing the blank border.

Bump version to 0.6.1.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-23 15:25:06 +02:00
MrBlakeandClaude Opus 5.5 e3c31b6312 feat: topology on its own landscape page, as large as possible
The topology image was shrunk inside the flex container used for rack
images. Each site's topology now gets a dedicated A4 landscape page
(named @page in PDF, landscape section in Word) with the section and
site headings, scaled to the full usable width or height depending on
its aspect ratio. The document switches back to portrait only when more
content follows, so no blank pages are produced. The TOC includes
headings on landscape pages.

Also fix Word exports without a template using US Letter instead of A4.

Bump version to 0.6.0.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-23 15:03:11 +02:00
MrBlakeandClaude Opus 5.5 062413a2cd feat: tidy topology layout, symbols for all device roles, drop draw.io
Topology:
- Orthogonal routing: each parent drops to its own bus lane in the gap
  below it (interval coloring prevents overlaps), color-coded per
  parent; parallel links drawn thicker. Adjacent same-row links are
  straight, other same-row links use a lane above the row.
- Port labels sit at the target device, stacked per uplink, instead of
  piling up at line midpoints.
- Crossing reduction via repeated down/up barycenter sweeps; rows wrap
  at 12 devices.
- Wide diagrams scale to page width in HTML/PDF instead of being cut off.

Symbols:
- New built-in symbols: modem/NTU (RAD), radio link, PoE injector, NAS,
  tape library, UPS/ATS and PBX.
- Detection checks the device role first, then model/manufacturer, and
  covers the common typos "Acces Point", "Controler" and "Libary".
  Rooms and cable management are hidden; UPS devices are now shown.

Removed the draw.io export format.

Bump version to 0.5.0.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-23 14:55:06 +02:00
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
MrBlakeandClaude Opus 5.5 219a429f3f fix: empty rack units rendered black in exported rack elevations
NetBox's rack elevation stylesheet uses CSS custom properties, which
WeasyPrint and cairosvg cannot resolve, so empty slots fell back to a
black fill. Replace the embedded stylesheet with fixed light-theme
colors, add equivalent presentation attributes as a fallback and drop
the hover-only "Add Device" labels.

Bump version to 0.3.1.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-23 14:04:32 +02:00
MrBlakeandClaude Opus 5.5 5b2d68356c feat: optional device images in rack elevations, HTML preview in new tab
- New export option "Gerätebilder anzeigen": the SVG is rendered with
  include_images and the /media/ image links are replaced by embedded
  data URIs, since Word, WeasyPrint and SVG-as-image cannot load
  login-protected files. The Pillow PNG renderer draws the front/rear
  images too, with the device name on a dark label.
- Custom rack_svg_renderer adapters receive images=..., older adapters
  without that parameter keep working.
- The HTML preview now opens in a new browser tab.

Bump version to 0.3.0.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-23 13:56:39 +02:00
MrBlakeandClaude Opus 5.5 f24e42a516 feat: manage branding profiles in the NetBox UI
New BrandingProfile model (migration 0001) with logo upload, color
pickers, font, Word template upload, table style and extra CSS, plus
list/edit/delete views, an HTML preview and a menu entry with add
button. Access is controlled via the model's Django permissions.

Profiles from the database are offered first in the export form (the
default profile preselected); profiles from PLUGINS_CONFIG still work.

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

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-23 13:21:11 +02:00
MrBlakeandClaude Opus 5.5 0c6bebe2e3 feat: redesign export form
Two-column layout with format toggle buttons, section tiles with short
descriptions and "Alle/Keine" per group, device roles/columns and rack
faces as toggle pills, option switches, device/rack cards dimmed when
their section is deselected and a sticky action bar.

Bump version to 0.1.1 (includes the rack elevation fix).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-23 13:17:09 +02:00
MrBlakeandClaude Opus 5.5 c37626aff1 fix: rack elevations missing in all export formats
RackElevationSVG falls back to RACK_ELEVATION_DEFAULT_* config
parameters, which raise AttributeError on the target NetBox version.
Pass the dimensions explicitly instead.

Add a Pillow-based PNG rack renderer (role colors, unit legend,
full-depth devices shown dimmed from the other side). It is used for
Word when cairosvg is unavailable and replaces a failed SVG in all
formats.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-23 13:15:34 +02:00
MrBlakeandClaude Opus 5.5 8cc861e6af Support NetBox up to 4.7.99
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-23 13:07:45 +02:00
MrBlakeandClaude Opus 5.5 1b9970b5dd fix: show rack elevation errors in the exported document
Rack SVG failures were only logged, leaving racks silently without an
image. The error is now written into the document next to the rack so
the cause (e.g. missing rack_elevation.css in STATIC_ROOT) is visible.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-23 13:07:45 +02:00
MrBlakeandClaude Opus 5.5 0719f42cb3 fix: render export form checkboxes as real checkboxes
The widgets lacked the form-check-input class, so NetBox's CSS showed
them as empty text inputs with no visible checked state. Also pass role
PKs as initial value so all device roles in scope are preselected.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-23 13:07:44 +02:00
MrBlake e7f25904fc fix: netbox ver 2026-09-23 13:02:28 +02:00
MrBlakeandClaude Opus 5.5 5d4c605d81 docs: add migrate/collectstatic steps to install and update
Include the standard NetBox post-install commands (migrate,
collectstatic, remove_stale_contenttypes, clearsessions, restart) for
installation and updates so future plugin versions with models or static
files are covered.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-23 13:00:51 +02:00
MrBlakeandClaude Opus 5.5 1c0bc21338 docs: document git-based install, update and removal
Show installation from git.mrblake.cc via pip, adding the plugin to
local_requirements.txt so upgrade.sh reinstalls it, updating with
--force-reinstall --no-deps, NetBox upgrades and uninstalling. Group
branding and rack options under a Konfiguration heading.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-23 12:57:26 +02:00
MrBlakeandClaude Opus 5.5 8f45bffa99 NetBox Customer Export plugin with configurable branding
Plugin for NetBox 4.6.8–4.6.99 that exports customer documentation
(PDF, Word, HTML preview) for a site, location, tenant or tenant group.
Technicians pick sections, device roles and columns before exporting.

Branding profiles (colors, font, logo, footer, Word template incl. .dotx,
table style, extra CSS) are configurable via PLUGINS_CONFIG and selectable
per export.

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