mirror of
https://github.com/netbox-community/netbox.git
synced 2024-05-10 07:54:54 +00:00
Move object_type_identifier() & object_type_name() to utilities.object_types
This commit is contained in:
@ -15,10 +15,10 @@ from django.utils.translation import gettext as _
|
|||||||
from core.models import ObjectType
|
from core.models import ObjectType
|
||||||
from extras.choices import BookmarkOrderingChoices
|
from extras.choices import BookmarkOrderingChoices
|
||||||
from netbox.choices import ButtonColorChoices
|
from netbox.choices import ButtonColorChoices
|
||||||
|
from utilities.object_types import object_type_identifier, object_type_name
|
||||||
from utilities.permissions import get_permission_for_model
|
from utilities.permissions import get_permission_for_model
|
||||||
from utilities.querydict import dict_to_querydict
|
from utilities.querydict import dict_to_querydict
|
||||||
from utilities.templatetags.builtins.filters import render_markdown
|
from utilities.templatetags.builtins.filters import render_markdown
|
||||||
from utilities.utils import object_type_identifier, object_type_name
|
|
||||||
from utilities.views import get_viewname
|
from utilities.views import get_viewname
|
||||||
from .utils import register_widget
|
from .utils import register_widget
|
||||||
|
|
||||||
|
@ -4,9 +4,7 @@ from django.db import models
|
|||||||
from django.utils.translation import gettext_lazy as _
|
from django.utils.translation import gettext_lazy as _
|
||||||
|
|
||||||
from netbox.search.utils import get_indexer
|
from netbox.search.utils import get_indexer
|
||||||
from netbox.registry import registry
|
|
||||||
from utilities.fields import RestrictedGenericForeignKey
|
from utilities.fields import RestrictedGenericForeignKey
|
||||||
from utilities.utils import object_type_identifier
|
|
||||||
from ..fields import CachedValueField
|
from ..fields import CachedValueField
|
||||||
|
|
||||||
__all__ = (
|
__all__ = (
|
||||||
|
@ -5,7 +5,7 @@ from rest_framework import serializers
|
|||||||
from core.models import ObjectType
|
from core.models import ObjectType
|
||||||
from netbox.api.fields import ContentTypeField
|
from netbox.api.fields import ContentTypeField
|
||||||
from utilities.api import get_serializer_for_model
|
from utilities.api import get_serializer_for_model
|
||||||
from utilities.utils import object_type_identifier
|
from utilities.object_types import object_type_identifier
|
||||||
|
|
||||||
__all__ = (
|
__all__ = (
|
||||||
'GenericObjectSerializer',
|
'GenericObjectSerializer',
|
||||||
|
@ -14,9 +14,9 @@ from netaddr.core import AddrFormatError
|
|||||||
from core.models import ObjectType
|
from core.models import ObjectType
|
||||||
from extras.models import CachedValue, CustomField
|
from extras.models import CachedValue, CustomField
|
||||||
from netbox.registry import registry
|
from netbox.registry import registry
|
||||||
|
from utilities.object_types import object_type_identifier
|
||||||
from utilities.querysets import RestrictedPrefetch
|
from utilities.querysets import RestrictedPrefetch
|
||||||
from utilities.string import title
|
from utilities.string import title
|
||||||
from utilities.utils import object_type_identifier
|
|
||||||
from . import FieldTypes, LookupTypes, get_indexer
|
from . import FieldTypes, LookupTypes, get_indexer
|
||||||
|
|
||||||
DEFAULT_LOOKUP_TYPE = LookupTypes.PARTIAL
|
DEFAULT_LOOKUP_TYPE = LookupTypes.PARTIAL
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
from netbox.registry import registry
|
from netbox.registry import registry
|
||||||
from utilities.utils import object_type_identifier
|
from utilities.object_types import object_type_identifier
|
||||||
|
|
||||||
__all__ = (
|
__all__ = (
|
||||||
'get_indexer',
|
'get_indexer',
|
||||||
|
@ -18,9 +18,9 @@ from django_tables2.columns import library
|
|||||||
from django_tables2.utils import Accessor
|
from django_tables2.utils import Accessor
|
||||||
|
|
||||||
from extras.choices import CustomFieldTypeChoices
|
from extras.choices import CustomFieldTypeChoices
|
||||||
|
from utilities.object_types import object_type_identifier, object_type_name
|
||||||
from utilities.permissions import get_permission_for_model
|
from utilities.permissions import get_permission_for_model
|
||||||
from utilities.templatetags.builtins.filters import render_markdown
|
from utilities.templatetags.builtins.filters import render_markdown
|
||||||
from utilities.utils import object_type_identifier, object_type_name
|
|
||||||
from utilities.views import get_viewname
|
from utilities.views import get_viewname
|
||||||
|
|
||||||
__all__ = (
|
__all__ = (
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
from django import forms
|
from django import forms
|
||||||
|
|
||||||
from utilities.utils import object_type_name
|
from utilities.object_types import object_type_name
|
||||||
|
|
||||||
__all__ = (
|
__all__ = (
|
||||||
'ContentTypeChoiceField',
|
'ContentTypeChoiceField',
|
||||||
|
@ -5,7 +5,7 @@ from django.core.exceptions import MultipleObjectsReturned, ObjectDoesNotExist
|
|||||||
from django.db.models import Q
|
from django.db.models import Q
|
||||||
|
|
||||||
from utilities.choices import unpack_grouped_choices
|
from utilities.choices import unpack_grouped_choices
|
||||||
from utilities.utils import object_type_identifier
|
from utilities.object_types import object_type_identifier
|
||||||
|
|
||||||
__all__ = (
|
__all__ = (
|
||||||
'CSVChoiceField',
|
'CSVChoiceField',
|
||||||
|
29
netbox/utilities/object_types.py
Normal file
29
netbox/utilities/object_types.py
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
from .string import title
|
||||||
|
|
||||||
|
__all__ = (
|
||||||
|
'object_type_identifier',
|
||||||
|
'object_type_name',
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def object_type_identifier(object_type):
|
||||||
|
"""
|
||||||
|
Return a "raw" ObjectType identifier string suitable for bulk import/export (e.g. "dcim.site").
|
||||||
|
"""
|
||||||
|
return f'{object_type.app_label}.{object_type.model}'
|
||||||
|
|
||||||
|
|
||||||
|
def object_type_name(object_type, include_app=True):
|
||||||
|
"""
|
||||||
|
Return a human-friendly ObjectType name (e.g. "DCIM > Site").
|
||||||
|
"""
|
||||||
|
try:
|
||||||
|
meta = object_type.model_class()._meta
|
||||||
|
app_label = title(meta.app_config.verbose_name)
|
||||||
|
model_name = title(meta.verbose_name)
|
||||||
|
if include_app:
|
||||||
|
return f'{app_label} > {model_name}'
|
||||||
|
return model_name
|
||||||
|
except AttributeError:
|
||||||
|
# Model does not exist
|
||||||
|
return f'{object_type.app_label} > {object_type.model}'
|
@ -12,8 +12,8 @@ from taggit.managers import TaggableManager
|
|||||||
|
|
||||||
from core.models import ObjectType
|
from core.models import ObjectType
|
||||||
from users.models import ObjectPermission
|
from users.models import ObjectPermission
|
||||||
|
from utilities.object_types import object_type_identifier
|
||||||
from utilities.permissions import resolve_permission_type
|
from utilities.permissions import resolve_permission_type
|
||||||
from utilities.utils import object_type_identifier
|
|
||||||
from .utils import extract_form_failures
|
from .utils import extract_form_failures
|
||||||
|
|
||||||
__all__ = (
|
__all__ = (
|
||||||
|
@ -2,8 +2,6 @@ from django.db.models import ManyToOneRel
|
|||||||
from django.utils import timezone
|
from django.utils import timezone
|
||||||
from django.utils.timezone import localtime
|
from django.utils.timezone import localtime
|
||||||
|
|
||||||
from .string import title
|
|
||||||
|
|
||||||
|
|
||||||
def dynamic_import(name):
|
def dynamic_import(name):
|
||||||
"""
|
"""
|
||||||
@ -16,29 +14,6 @@ def dynamic_import(name):
|
|||||||
return mod
|
return mod
|
||||||
|
|
||||||
|
|
||||||
def object_type_name(object_type, include_app=True):
|
|
||||||
"""
|
|
||||||
Return a human-friendly ObjectType name (e.g. "DCIM > Site").
|
|
||||||
"""
|
|
||||||
try:
|
|
||||||
meta = object_type.model_class()._meta
|
|
||||||
app_label = title(meta.app_config.verbose_name)
|
|
||||||
model_name = title(meta.verbose_name)
|
|
||||||
if include_app:
|
|
||||||
return f'{app_label} > {model_name}'
|
|
||||||
return model_name
|
|
||||||
except AttributeError:
|
|
||||||
# Model does not exist
|
|
||||||
return f'{object_type.app_label} > {object_type.model}'
|
|
||||||
|
|
||||||
|
|
||||||
def object_type_identifier(object_type):
|
|
||||||
"""
|
|
||||||
Return a "raw" ObjectType identifier string suitable for bulk import/export (e.g. "dcim.site").
|
|
||||||
"""
|
|
||||||
return f'{object_type.app_label}.{object_type.model}'
|
|
||||||
|
|
||||||
|
|
||||||
def local_now():
|
def local_now():
|
||||||
"""
|
"""
|
||||||
Return the current date & time in the system timezone.
|
Return the current date & time in the system timezone.
|
||||||
|
Reference in New Issue
Block a user