Skip to content

Commit e398d8b

Browse files
committed
Prevent use of non-ready branch indicated set by cookie
1 parent f0fad0a commit e398d8b

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

netbox_branching/utilities.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,14 @@
66
from functools import cached_property
77

88
from django.contrib import messages
9+
from django.core.exceptions import ObjectDoesNotExist
910
from django.db.models import ForeignKey, ManyToManyField
1011
from django.http import HttpResponseBadRequest
1112
from django.urls import reverse
1213

1314
from netbox.plugins import get_plugin_config
1415
from netbox.registry import registry
1516
from netbox.utils import register_request_processor
16-
from .choices import BranchStatusChoices
1717
from .constants import BRANCH_HEADER, COOKIE_NAME, EXEMPT_MODELS, INCLUDE_MODELS, QUERY_PARAM
1818
from .contextvars import active_branch
1919

@@ -257,7 +257,12 @@ def get_active_branch(request):
257257

258258
# Branch set by cookie
259259
elif schema_id := request.COOKIES.get(COOKIE_NAME):
260-
return Branch.objects.filter(schema_id=schema_id, status=BranchStatusChoices.READY).first()
260+
try:
261+
branch = Branch.objects.get(schema_id=schema_id)
262+
if branch.ready:
263+
return branch
264+
except ObjectDoesNotExist:
265+
pass
261266

262267

263268
def get_sql_results(cursor):

0 commit comments

Comments
 (0)