Skip to content

Releases: Kani999/netbox-attachments

8.0.4

16 May 17:33
Compare
Choose a tag to compare

Compatibility with NetBox 4.3.0
Full Changelog: 7.2.0...8.0.4

7.2.0

17 Mar 10:12
7db517d
Compare
Choose a tag to compare

Release 7.2.0

What's Changed:

New Contributors:

Enhancements:

  • Introduced model-level validation to ensure attachments are only created for permitted object types. Attempting to attach to an unpermitted model will raise a ValidationError.
  • Added a new validation function validate_object_type used across forms and models to enforce attachment permissions.
  • Updated the README with a new badge and additional documentation for the validation checks.

Technical Changes:

  • Forms:
    • Added _validate_object_type method to the NetBoxAttachmentForm to validate object types during form cleaning.
  • Models:
    • Enhanced NetBoxAttachment model with validation logic in the save method to ensure only permitted models can have attachments.
    • Improved deletion method to preserve original filenames post-deletion.
  • Utilities:
    • Added validate_object_type function to determine eligible models for attachments based on plugin settings.
    • Added choice_default utility function to handle default values for settings.
  • Template Content:
    • Updated to use the new validate_object_type function to dynamically generate template extensions for eligible models.

Full Changelog: 7.1.0...7.2.0


This release introduces significant validation improvements to ensure that attachments are only created for permitted models, enhancing the overall security and integrity of the plugin.

Release 7.2.0

7.1.0

28 Feb 10:31
5171248
Compare
Choose a tag to compare

What's Changed

  • [Feature] Limit attachments to specific models by @Kani999 in #78

Breaking Changes: NetBox Attachments v7.1.0

Configuration System Addition

Summary

Version 7.1.0 introduces new configuration options that provide more granular control over which models should have attachment functionality enabled.

Changed: Plugin Settings Structure

Before (7.0.0)

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

After (v7.1.0)

PLUGINS_CONFIG = {
    'netbox_attachments': {
        'applied_scope': 'app',  # New setting: 'app' or 'model'
        'scope_filter': ['dcim', 'ipam', 'circuits', 'tenancy', 'virtualization', 'wireless'],
        'display_default': "additional_tab",
        'create_add_button': True,  # New setting
        'display_setting': {
            'ipam.vlan': "left_page"
        }
    }
}

New Features and Functionality

The configuration system has been enhanced with two primary new settings:

  1. applied_scope: Determines how attachments are filtered/enabled across NetBox models

    • app: Enables attachments for all models within specified apps (similar to previous behavior)
    • model: Enables attachments only for specific models or all models within selected apps
  2. scope_filter: Replaces the previous apps setting with expanded functionality

    • When applied_scope="app": Works like the previous apps setting
    • When applied_scope="model": Can include:
      • Specific model identifiers (e.g., 'dcim.device')
      • App labels (e.g., 'tenancy') to include all models from that app
  3. create_add_button: Controls whether an "Add Attachment" button appears in parent views

    • Specific to the additional_tab display setting

Migration Guide

To migrate from the previous configuration to the new format:

  1. If you want to maintain your current behavior (attachments available for all models in specified apps):

    # Old configuration
    'apps': ['dcim', 'ipam', 'circuits']
    
    # New configuration
    'applied_scope': 'app',
    'scope_filter': ['dcim', 'ipam', 'circuits']
  2. If you want more granular control over which specific models have attachments:

    # New configuration with specific models
    'applied_scope': 'model',
    'scope_filter': [
        'dcim.device', 'ipam.prefix',  # Specific models
        'tenancy',  # All models from this app
    ]
  3. The new create_add_button setting defaults to True but can be set to False if you don't want the add button to appear.

Technical Impact

  • The configuration validation now includes checks for the new settings
  • The model filtering logic has been enhanced to support both app-level and model-level filtering
  • Documentation has been updated to reflect these new options
  • The default settings include backward-compatible values

Backwards Compatibility

This change is designed to be backward compatible when using the default settings. If your configuration specifies only apps, the plugin will automatically adapt to use applied_scope="app" and scope_filter instead of apps.

However, for optimal performance and clarity, it's recommended to update your configuration to explicitly use the new format.


Full Changelog: 7.0.1...7.1.0

7.0.1

26 Feb 11:20
38fc4d0
Compare
Choose a tag to compare

What's Changed

  • Server exception when clicking on Attachments on any media by @Kani999 in #80

Full Changelog: 7.0.0...7.0.1

7.0.0

08 Jan 07:43
4237d49
Compare
Choose a tag to compare

What's Changed

  • Enables installation for NetBox 4.2
  • Version Bump for NetBox 4.2 by @goebelmeier in #76

New Contributors

Full Changelog: 6.0.0...7.0.0

6.0.0

09 Sep 12:37
951742c
Compare
Choose a tag to compare

What's Changed

Full Changelog: 5.1.3...6.0.0

6.0.0-b1

04 Sep 06:57
Compare
Choose a tag to compare
6.0.0-b1 Pre-release
Pre-release

What's Changed

  • Allow installation of plugin on NetBox v4.1.0

Full Changelog: 5.1.3...6.0.0-b1

5.1.4-b1

28 Aug 11:23
Compare
Choose a tag to compare
5.1.4-b1 Pre-release
Pre-release
  • Add remove_orphaned_netbox_attachments command to manage.py
  • Scan and deletes netbox-attachments folder for files without assigned existing object

Full Changelog: 5.1.3...5.1.4-b1

5.1.3

13 Aug 08:00
918c0f0
Compare
Choose a tag to compare

What's Changed

  • Modify templates to more NetBox natural look by @Kani999 in #69
    • Fix dissapearing search button in additional tab
    • Attachment panel rendered by htmx_table instead of custom template
    • Change size of Add Attachment button

Full Changelog: 5.1.1...5.1.3

5.1.2-b2

13 Aug 07:48
Compare
Choose a tag to compare
5.1.2-b2 Pre-release
Pre-release