Kani999 / netbox-attachments

Plugin to manage attachments for any model

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

NetBox Attachments Plugin

Netbox plugin for attaching files to any model.

Features

This plugin provide following Models:

  • NetBoxAttachment

Compatibility

Netbox Plugin
>= 3.3.4 0.0.0 <-> 0.0.5
>= 3.4.0 0.0.6 <-> 1.0.6
>= 3.4.3 1.0.7 <-> 1.1.X
>= 3.5.0 2.0.0
>= 3.6.0 3.0.0
>= 3.7.0 4.0.0
>= 4.0.0 5.0.0

Installation

The plugin is available as a Python package in pypi and can be installed with pip

pip install netbox-attachments

Enable the plugin in configuration.py:

PLUGINS = ['netbox_attachments']

Restart NetBox and add netbox-attachments to your local_requirements.txt

See NetBox Documentation for details

Configuration

The following options are available:

  • apps:
    • Type: List
    • Default: ['dcim', 'ipam', 'circuits', 'tenancy', 'virtualization', 'wireless']
    • Description: Display Attachments feature on all models definded under the app label. Attachmets are displayed on right_page of the detail-view of model.
  • display_default:
    • Type: String
    • Default: "additional_tab"
    • Options: "left_page", "right_page", "full_width_page", "additional_tab"
    • Description: Setup default setting of where attachments should be displayed under the models
  • display_setting:
    • Type: Dict
    • Default: {}
    • Options: {<app_label.model>: <prefeered_display>}
    • Example: {'dcim.devicerole': 'full_width_page', 'dcim.device': 'left_page', 'ipam.vlan': 'additional_tab'}
    • Description: Set display setting for concrete model
    • Tip: Proper app_label and model names could be found at API <your_netbox_url>/api/extras/content-types/

Warning additional_tab does not work for Plugin models

Configuration Example:

PLUGINS_CONFIG = {
    'netbox_attachments': {
        'apps': ['dcim', 'ipam', 'circuits', 'tenancy', 'virtualization', 'wireless', 'inventory_monitor'],
        'display_default': "right_page",
        'display_setting': {'ipam.vlan': "left_page", 'dcim.device': "full_width_page", 'dcim.devicerole': "full_width_page", 'inventory_monitor.probe': "additional_tab"}
    }
}

Enable Attachments for custom plugin (models)

  • Append your plugin to configuration list
    • apps: ['<plugin_name>']
  • Extend detail templates
    •   # At the TOP
        {% load plugins %}
        # Under a comments section
        {% plugin_right_page object %}
        # add the left_page and full_width for future extension
      

Screenshots

  • Model View Platform attachments
  • List View List View
  • Detail View Detail View

About

Plugin to manage attachments for any model

License:Apache License 2.0


Languages

Language:Python 76.7%Language:HTML 23.3%