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>
This commit is contained in:
2026-09-23 13:21:11 +02:00
co-authored by Claude Opus 5.5
parent 0c6bebe2e3
commit f24e42a516
15 changed files with 491 additions and 12 deletions
+14 -1
View File
@@ -1,4 +1,4 @@
from netbox.plugins import PluginMenuItem
from netbox.plugins import PluginMenuButton, PluginMenuItem
menu_items = (
PluginMenuItem(
@@ -6,4 +6,17 @@ menu_items = (
link_text="Kundendokumentation",
permissions=["dcim.view_site"],
),
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"],
),
),
),
)