Files
NetBox-Customer-Export/netbox_customer_export/__init__.py
T
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

28 lines
1.0 KiB
Python

from netbox.plugins import PluginConfig
class CustomerExportConfig(PluginConfig):
name = "netbox_customer_export"
verbose_name = "Kunden-Export"
description = "Kundendokumentation als PDF oder Word exportieren"
version = "0.9.0"
author = "Claude"
base_url = "customer-export"
min_version = "4.6.8"
max_version = "4.7.99"
default_settings = {
# Branding: Einzelschlüssel (company_name, logo_path, primary_color, docx_template, …)
# gelten global; "brandings" definiert mehrere Profile. Defaults siehe branding.py.
"brandings": None,
# Dotted path zu einer Funktion fn(rack, face, user) -> SVG-String,
# z.B. der Offline-Renderer aus Netbox-Utilities. None = NetBox-eigener Renderer.
"rack_svg_renderer": None,
# Lizenzquellen (Plugin-Modelle), None = Auto-Erkennung (netbox_lifecycle)
"license_sources": None,
# Darf der Techniker WLAN-PSKs o.ä. mit exportieren?
"allow_secrets": False,
}
config = CustomerExportConfig