1
0
mirror of https://github.com/netbox-community/netbox.git synced 2024-05-10 07:54:54 +00:00

Closes #15042: Move model registration logic to AppConfigs (#15203)

* Closes #15042: Move model registration logic to AppConfigs

* Refactor register_model() to accept multiple models
This commit is contained in:
Jeremy Stretch
2024-02-21 14:22:13 -05:00
committed by GitHub
parent 7abb2b2ab5
commit 5f159795dd
14 changed files with 99 additions and 69 deletions

View File

@ -1,7 +1,5 @@
from taggit.managers import _TaggableManager
from netbox.registry import registry
def is_taggable(obj):
"""
@ -29,24 +27,6 @@ def image_upload(instance, filename):
return '{}{}_{}_{}'.format(path, instance.content_type.name, instance.object_id, filename)
def register_features(model, features):
"""
Register model features in the application registry.
"""
app_label, model_name = model._meta.label_lower.split('.')
for feature in features:
try:
registry['model_features'][feature][app_label].add(model_name)
except KeyError:
raise KeyError(
f"{feature} is not a valid model feature! Valid keys are: {registry['model_features'].keys()}"
)
# Register public models
if not getattr(model, '_netbox_private', False):
registry['models'][app_label].add(model_name)
def is_script(obj):
"""
Returns True if the object is a Script or Report.