mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-21 19:47:20 -06:00
Raise ImproperlyConfigured error if MAX_PAGE_SIZE < PAGINATE_COUNT
This commit is contained in:
parent
acecb3a81c
commit
5dd93c096d
@ -38,14 +38,12 @@ class OptionalLimitOffsetPagination(LimitOffsetPagination):
|
|||||||
|
|
||||||
def get_limit(self, request):
|
def get_limit(self, request):
|
||||||
if self.limit_query_param:
|
if self.limit_query_param:
|
||||||
MAX_PAGE_SIZE = get_config().MAX_PAGE_SIZE
|
|
||||||
if MAX_PAGE_SIZE:
|
|
||||||
MAX_PAGE_SIZE = max(MAX_PAGE_SIZE, self.default_limit)
|
|
||||||
try:
|
try:
|
||||||
limit = int(request.query_params[self.limit_query_param])
|
limit = int(request.query_params[self.limit_query_param])
|
||||||
if limit < 0:
|
if limit < 0:
|
||||||
raise ValueError()
|
raise ValueError()
|
||||||
# Enforce maximum page size, if defined
|
# Enforce maximum page size, if defined
|
||||||
|
MAX_PAGE_SIZE = get_config().MAX_PAGE_SIZE
|
||||||
if MAX_PAGE_SIZE:
|
if MAX_PAGE_SIZE:
|
||||||
return MAX_PAGE_SIZE if limit == 0 else min(limit, MAX_PAGE_SIZE)
|
return MAX_PAGE_SIZE if limit == 0 else min(limit, MAX_PAGE_SIZE)
|
||||||
return limit
|
return limit
|
||||||
|
@ -129,8 +129,10 @@ LOGIN_PERSISTENCE = getattr(configuration, 'LOGIN_PERSISTENCE', False)
|
|||||||
LOGIN_REQUIRED = getattr(configuration, 'LOGIN_REQUIRED', True)
|
LOGIN_REQUIRED = getattr(configuration, 'LOGIN_REQUIRED', True)
|
||||||
LOGIN_TIMEOUT = getattr(configuration, 'LOGIN_TIMEOUT', None)
|
LOGIN_TIMEOUT = getattr(configuration, 'LOGIN_TIMEOUT', None)
|
||||||
LOGOUT_REDIRECT_URL = getattr(configuration, 'LOGOUT_REDIRECT_URL', 'home')
|
LOGOUT_REDIRECT_URL = getattr(configuration, 'LOGOUT_REDIRECT_URL', 'home')
|
||||||
|
MAX_PAGE_SIZE = getattr(configuration, 'MAX_PAGE_SIZE', 1000)
|
||||||
MEDIA_ROOT = getattr(configuration, 'MEDIA_ROOT', os.path.join(BASE_DIR, 'media')).rstrip('/')
|
MEDIA_ROOT = getattr(configuration, 'MEDIA_ROOT', os.path.join(BASE_DIR, 'media')).rstrip('/')
|
||||||
METRICS_ENABLED = getattr(configuration, 'METRICS_ENABLED', False)
|
METRICS_ENABLED = getattr(configuration, 'METRICS_ENABLED', False)
|
||||||
|
PAGINATE_COUNT = getattr(configuration, 'PAGINATE_COUNT', 50)
|
||||||
PLUGINS = getattr(configuration, 'PLUGINS', [])
|
PLUGINS = getattr(configuration, 'PLUGINS', [])
|
||||||
PLUGINS_CONFIG = getattr(configuration, 'PLUGINS_CONFIG', {})
|
PLUGINS_CONFIG = getattr(configuration, 'PLUGINS_CONFIG', {})
|
||||||
QUEUE_MAPPINGS = getattr(configuration, 'QUEUE_MAPPINGS', {})
|
QUEUE_MAPPINGS = getattr(configuration, 'QUEUE_MAPPINGS', {})
|
||||||
@ -685,6 +687,10 @@ REST_FRAMEWORK = {
|
|||||||
'VIEW_NAME_FUNCTION': 'utilities.api.get_view_name',
|
'VIEW_NAME_FUNCTION': 'utilities.api.get_view_name',
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if MAX_PAGE_SIZE < PAGINATE_COUNT:
|
||||||
|
raise ImproperlyConfigured(f'MAX_PAGE_SIZE ({MAX_PAGE_SIZE}) cannot be less than PAGINATE_COUNT ({PAGINATE_COUNT}).')
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# DRF Spectacular
|
# DRF Spectacular
|
||||||
#
|
#
|
||||||
|
Loading…
Reference in New Issue
Block a user