Compare commits

..

No commits in common. "main" and "v4.4.2" have entirely different histories.
main ... v4.4.2

7 changed files with 293 additions and 311 deletions

View File

@ -1,11 +1,3 @@
paths-ignore: paths-ignore:
# Ignore compiled JS # Ignore compiled JS
- netbox/project-static/dist - netbox/project-static/dist
query-filters:
# Exclude py/url-redirection: NetBox uses safe_for_redirect() wrapper function
# which validates all redirects via Django's url_has_allowed_host_and_scheme().
# CodeQL's taint tracking doesn't recognize wrapper functions without custom
# query configuration. See #20484.
- exclude:
id: py/url-redirection

View File

@ -1,6 +1,6 @@
# Filters & Filter Sets # Filters & Filter Sets
Filter sets define the mechanisms available for filtering or searching through a set of objects in NetBox. For instance, sites can be filtered by their parent region or group, status, facility ID, and so on. The same filter set is used consistently for a model whether the request is made via the UI or REST API. (Note that the GraphQL API uses a separate filter class.) NetBox employs the [django-filter](https://django-filter.readthedocs.io/en/stable/) library to define filter sets. Filter sets define the mechanisms available for filtering or searching through a set of objects in NetBox. For instance, sites can be filtered by their parent region or group, status, facility ID, and so on. The same filter set is used consistently for a model whether the request is made via the UI or REST API. (Note that the GraphQL API uses a separate filter class.) NetBox employs the [django-filters2](https://django-tables2.readthedocs.io/en/latest/) library to define filter sets.
## FilterSet Classes ## FilterSet Classes

View File

@ -1,7 +1,5 @@
from django.apps import AppConfig from django.apps import AppConfig
from netbox import denormalized
class CircuitsConfig(AppConfig): class CircuitsConfig(AppConfig):
name = "circuits" name = "circuits"
@ -10,16 +8,6 @@ class CircuitsConfig(AppConfig):
def ready(self): def ready(self):
from netbox.models.features import register_models from netbox.models.features import register_models
from . import signals, search # noqa: F401 from . import signals, search # noqa: F401
from .models import CircuitTermination
# Register models # Register models
register_models(*self.get_models()) register_models(*self.get_models())
denormalized.register(CircuitTermination, '_site', {
'_region': 'region',
'_site_group': 'group',
})
denormalized.register(CircuitTermination, '_location', {
'_site': 'site',
})

View File

@ -1,5 +1,6 @@
import datetime import datetime
import importlib import importlib
import importlib.util
from dataclasses import dataclass, field from dataclasses import dataclass, field
from typing import Optional from typing import Optional

View File

@ -3,7 +3,9 @@ import django.db.models.deletion
import taggit.managers import taggit.managers
from django.db import migrations, models from django.db import migrations, models
import utilities.fields
import utilities.json import utilities.json
import utilities.ordering
class Migration(migrations.Migration): class Migration(migrations.Migration):

View File

@ -548,7 +548,7 @@ class IPRange(ContactsMixin, PrimaryModel):
mark_utilized = models.BooleanField( mark_utilized = models.BooleanField(
verbose_name=_('mark utilized'), verbose_name=_('mark utilized'),
default=False, default=False,
help_text=_("Report space as fully utilized") help_text=_("Report space as 100% utilized")
) )
clone_fields = ( clone_fields = (

File diff suppressed because it is too large Load Diff