mirror of
https://github.com/netbox-community/netbox.git
synced 2026-04-19 07:30:01 +02:00
- Adopt Ruff `I` (isort) rules for consistent import sorting - Add two `# isort: split` boundaries to keep required imports pinned in `__init__.py` modules
This commit is contained in:
@@ -1,2 +1,2 @@
|
||||
from .serializers_.tenants import *
|
||||
from .serializers_.contacts import *
|
||||
from .serializers_.tenants import *
|
||||
|
||||
@@ -4,10 +4,14 @@ from rest_framework import serializers
|
||||
from netbox.api.fields import ChoiceField, ContentTypeField, SerializedPKRelatedField
|
||||
from netbox.api.gfk_fields import GFKSerializerField
|
||||
from netbox.api.serializers import (
|
||||
NestedGroupModelSerializer, NetBoxModelSerializer, OrganizationalModelSerializer, PrimaryModelSerializer,
|
||||
NestedGroupModelSerializer,
|
||||
NetBoxModelSerializer,
|
||||
OrganizationalModelSerializer,
|
||||
PrimaryModelSerializer,
|
||||
)
|
||||
from tenancy.choices import ContactPriorityChoices
|
||||
from tenancy.models import ContactAssignment, Contact, ContactGroup, ContactRole
|
||||
from tenancy.models import Contact, ContactAssignment, ContactGroup, ContactRole
|
||||
|
||||
from .nested import NestedContactGroupSerializer
|
||||
|
||||
__all__ = (
|
||||
|
||||
@@ -3,6 +3,7 @@ from rest_framework import serializers
|
||||
from netbox.api.fields import RelatedObjectCountField
|
||||
from netbox.api.serializers import NestedGroupModelSerializer, PrimaryModelSerializer
|
||||
from tenancy.models import Tenant, TenantGroup
|
||||
|
||||
from .nested import NestedTenantGroupSerializer
|
||||
|
||||
__all__ = (
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
from netbox.api.routers import NetBoxRouter
|
||||
from . import views
|
||||
|
||||
from . import views
|
||||
|
||||
router = NetBoxRouter()
|
||||
router.APIRootView = views.TenancyRootView
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
from rest_framework.routers import APIRootView
|
||||
|
||||
from netbox.api.viewsets import NetBoxModelViewSet, MPTTLockedMixin
|
||||
from netbox.api.viewsets import MPTTLockedMixin, NetBoxModelViewSet
|
||||
from tenancy import filtersets
|
||||
from tenancy.models import *
|
||||
|
||||
from . import serializers
|
||||
|
||||
|
||||
|
||||
@@ -6,6 +6,7 @@ class TenancyConfig(AppConfig):
|
||||
|
||||
def ready(self):
|
||||
from netbox.models.features import register_models
|
||||
|
||||
from . import search # noqa: F401
|
||||
|
||||
# Register models
|
||||
|
||||
@@ -2,11 +2,11 @@ from django.utils.translation import gettext_lazy as _
|
||||
|
||||
from utilities.choices import ChoiceSet
|
||||
|
||||
|
||||
#
|
||||
# Contacts
|
||||
#
|
||||
|
||||
|
||||
class ContactPriorityChoices(ChoiceSet):
|
||||
PRIORITY_PRIMARY = 'primary'
|
||||
PRIORITY_SECONDARY = 'secondary'
|
||||
|
||||
@@ -3,10 +3,14 @@ from django.db.models import Q
|
||||
from django.utils.translation import gettext as _
|
||||
|
||||
from netbox.filtersets import (
|
||||
NestedGroupModelFilterSet, NetBoxModelFilterSet, OrganizationalModelFilterSet, PrimaryModelFilterSet,
|
||||
NestedGroupModelFilterSet,
|
||||
NetBoxModelFilterSet,
|
||||
OrganizationalModelFilterSet,
|
||||
PrimaryModelFilterSet,
|
||||
)
|
||||
from utilities.filters import MultiValueContentTypeFilter, TreeNodeMultipleChoiceFilter
|
||||
from utilities.filtersets import register_filterset
|
||||
|
||||
from .models import *
|
||||
|
||||
__all__ = (
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
from .forms import *
|
||||
from .model_forms import *
|
||||
from .filtersets import *
|
||||
from .bulk_edit import *
|
||||
from .bulk_import import *
|
||||
from .filtersets import *
|
||||
from .forms import *
|
||||
from .model_forms import *
|
||||
|
||||
@@ -2,14 +2,18 @@ from django import forms
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
from netbox.forms import (
|
||||
NestedGroupModelBulkEditForm, NetBoxModelBulkEditForm, OrganizationalModelBulkEditForm, PrimaryModelBulkEditForm,
|
||||
NestedGroupModelBulkEditForm,
|
||||
NetBoxModelBulkEditForm,
|
||||
OrganizationalModelBulkEditForm,
|
||||
PrimaryModelBulkEditForm,
|
||||
)
|
||||
from tenancy.choices import ContactPriorityChoices
|
||||
from tenancy.models import *
|
||||
from utilities.forms import add_blank_choice
|
||||
from utilities.forms.fields import DynamicModelChoiceField, DynamicModelMultipleChoiceField
|
||||
from utilities.forms.rendering import FieldSet
|
||||
|
||||
from ..choices import ContactPriorityChoices
|
||||
from ..models import *
|
||||
|
||||
__all__ = (
|
||||
'ContactAssignmentBulkEditForm',
|
||||
'ContactBulkEditForm',
|
||||
|
||||
@@ -3,12 +3,15 @@ from django.contrib.contenttypes.models import ContentType
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
from netbox.forms import (
|
||||
NestedGroupModelImportForm, NetBoxModelImportForm, OrganizationalModelImportForm,
|
||||
NestedGroupModelImportForm,
|
||||
NetBoxModelImportForm,
|
||||
OrganizationalModelImportForm,
|
||||
PrimaryModelImportForm,
|
||||
)
|
||||
from tenancy.models import *
|
||||
from utilities.forms.fields import CSVContentTypeField, CSVModelChoiceField, CSVModelMultipleChoiceField, SlugField
|
||||
|
||||
from ..models import *
|
||||
|
||||
__all__ = (
|
||||
'ContactAssignmentImportForm',
|
||||
'ContactImportForm',
|
||||
|
||||
@@ -3,17 +3,22 @@ from django.utils.translation import gettext_lazy as _
|
||||
|
||||
from core.models import ObjectType
|
||||
from netbox.forms import (
|
||||
NestedGroupModelFilterSetForm, NetBoxModelFilterSetForm, OrganizationalModelFilterSetForm,
|
||||
NestedGroupModelFilterSetForm,
|
||||
NetBoxModelFilterSetForm,
|
||||
OrganizationalModelFilterSetForm,
|
||||
PrimaryModelFilterSetForm,
|
||||
)
|
||||
from tenancy.choices import *
|
||||
from tenancy.models import *
|
||||
from tenancy.forms import ContactModelFilterForm
|
||||
from utilities.forms.fields import (
|
||||
ContentTypeMultipleChoiceField, DynamicModelMultipleChoiceField, TagFilterField,
|
||||
ContentTypeMultipleChoiceField,
|
||||
DynamicModelMultipleChoiceField,
|
||||
TagFilterField,
|
||||
)
|
||||
from utilities.forms.rendering import FieldSet
|
||||
|
||||
from ..choices import *
|
||||
from ..models import *
|
||||
from .forms import ContactModelFilterForm
|
||||
|
||||
__all__ = (
|
||||
'ContactAssignmentFilterForm',
|
||||
'ContactFilterForm',
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
from django import forms
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
from tenancy.models import *
|
||||
from utilities.forms.fields import DynamicModelChoiceField, DynamicModelMultipleChoiceField
|
||||
|
||||
from ..models import *
|
||||
|
||||
__all__ = (
|
||||
'ContactModelFilterForm',
|
||||
'TenancyForm',
|
||||
|
||||
@@ -2,10 +2,11 @@ from django import forms
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
from netbox.forms import NestedGroupModelForm, NetBoxModelForm, OrganizationalModelForm, PrimaryModelForm
|
||||
from tenancy.models import *
|
||||
from utilities.forms.fields import DynamicModelChoiceField, DynamicModelMultipleChoiceField, SlugField
|
||||
from utilities.forms.rendering import FieldSet, ObjectAttribute
|
||||
|
||||
from ..models import *
|
||||
|
||||
__all__ = (
|
||||
'ContactAssignmentForm',
|
||||
'ContactForm',
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
from dataclasses import dataclass
|
||||
from typing import Annotated, TYPE_CHECKING
|
||||
from typing import TYPE_CHECKING, Annotated
|
||||
|
||||
import strawberry
|
||||
import strawberry_django
|
||||
@@ -7,6 +7,7 @@ from strawberry import ID
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from netbox.graphql.filter_lookups import TreeNodeFilter
|
||||
|
||||
from .filters import ContactAssignmentFilter, TenantFilter, TenantGroupFilter
|
||||
|
||||
__all__ = (
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
from typing import Annotated, TYPE_CHECKING
|
||||
from typing import TYPE_CHECKING, Annotated
|
||||
|
||||
import strawberry
|
||||
import strawberry_django
|
||||
@@ -7,14 +7,18 @@ from strawberry_django import BaseFilterLookup, FilterLookup
|
||||
|
||||
from extras.graphql.filter_mixins import CustomFieldsFilterMixin, TagsFilterMixin
|
||||
from netbox.graphql.filters import (
|
||||
ChangeLoggedModelFilter, NestedGroupModelFilter, OrganizationalModelFilter, PrimaryModelFilter,
|
||||
ChangeLoggedModelFilter,
|
||||
NestedGroupModelFilter,
|
||||
OrganizationalModelFilter,
|
||||
PrimaryModelFilter,
|
||||
)
|
||||
from tenancy import models
|
||||
|
||||
from .filter_mixins import ContactFilterMixin
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from core.graphql.filters import ContentTypeFilter
|
||||
from circuits.graphql.filters import CircuitFilter, CircuitGroupFilter, VirtualCircuitFilter
|
||||
from core.graphql.filters import ContentTypeFilter
|
||||
from dcim.graphql.filters import (
|
||||
CableFilter,
|
||||
DeviceFilter,
|
||||
@@ -38,9 +42,10 @@ if TYPE_CHECKING:
|
||||
VRFFilter,
|
||||
)
|
||||
from netbox.graphql.filter_lookups import TreeNodeFilter
|
||||
from wireless.graphql.filters import WirelessLANFilter, WirelessLinkFilter
|
||||
from virtualization.graphql.filters import ClusterFilter, VirtualMachineFilter
|
||||
from vpn.graphql.filters import L2VPNFilter, TunnelFilter
|
||||
from wireless.graphql.filters import WirelessLANFilter, WirelessLinkFilter
|
||||
|
||||
from .enums import *
|
||||
|
||||
__all__ = (
|
||||
|
||||
@@ -1,11 +1,12 @@
|
||||
from typing import Annotated, List, TYPE_CHECKING
|
||||
from typing import TYPE_CHECKING, Annotated, List
|
||||
|
||||
import strawberry
|
||||
import strawberry_django
|
||||
|
||||
from extras.graphql.mixins import CustomFieldsMixin, TagsMixin, ContactsMixin
|
||||
from extras.graphql.mixins import ContactsMixin, CustomFieldsMixin, TagsMixin
|
||||
from netbox.graphql.types import BaseObjectType, NestedGroupObjectType, OrganizationalObjectType, PrimaryObjectType
|
||||
from tenancy import models
|
||||
|
||||
from .filters import *
|
||||
from .mixins import ContactAssignmentsMixin
|
||||
|
||||
@@ -16,15 +17,15 @@ if TYPE_CHECKING:
|
||||
DeviceType,
|
||||
LocationType,
|
||||
PowerFeedType,
|
||||
RackType,
|
||||
RackReservationType,
|
||||
RackType,
|
||||
SiteType,
|
||||
VirtualDeviceContextType,
|
||||
)
|
||||
from ipam.graphql.types import (
|
||||
AggregateType,
|
||||
ASNType,
|
||||
ASNRangeType,
|
||||
ASNType,
|
||||
IPAddressType,
|
||||
IPRangeType,
|
||||
PrefixType,
|
||||
@@ -33,9 +34,9 @@ if TYPE_CHECKING:
|
||||
VRFType,
|
||||
)
|
||||
from netbox.graphql.types import ContentTypeType
|
||||
from wireless.graphql.types import WirelessLANType, WirelessLinkType
|
||||
from virtualization.graphql.types import ClusterType, VirtualMachineType
|
||||
from vpn.graphql.types import L2VPNType, TunnelType
|
||||
from wireless.graphql.types import WirelessLANType, WirelessLinkType
|
||||
|
||||
__all__ = (
|
||||
'ContactAssignmentType',
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
from utilities.json import CustomFieldJSONEncoder
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
import mptt.fields
|
||||
import taggit.managers
|
||||
from django.db import migrations, models
|
||||
|
||||
from utilities.json import CustomFieldJSONEncoder
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
# Generated by Django 4.2.6 on 2023-11-06 20:23
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
import utilities.json
|
||||
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
from netbox.search import SearchIndex, register_search
|
||||
|
||||
from . import models
|
||||
|
||||
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
import django_tables2 as tables
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
from netbox.tables import columns
|
||||
|
||||
from .template_code import *
|
||||
|
||||
__all__ = (
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
from django.urls import include, path
|
||||
|
||||
from utilities.urls import get_model_urls
|
||||
|
||||
from . import views # noqa F401
|
||||
|
||||
app_name = 'tenancy'
|
||||
|
||||
@@ -5,14 +5,15 @@ from netbox.object_actions import BulkDelete, BulkEdit, BulkExport, BulkImport
|
||||
from netbox.views import generic
|
||||
from utilities.query import count_related
|
||||
from utilities.views import GetRelatedModelsMixin, register_model_view
|
||||
|
||||
from . import filtersets, forms, tables
|
||||
from .models import *
|
||||
|
||||
|
||||
#
|
||||
# Tenant groups
|
||||
#
|
||||
|
||||
|
||||
@register_model_view(TenantGroup, 'list', path='', detail=False)
|
||||
class TenantGroupListView(generic.ObjectListView):
|
||||
queryset = TenantGroup.objects.add_related_count(
|
||||
|
||||
Reference in New Issue
Block a user