Skip to content

Commit 108502a

Browse files
committed
Ensure kwargs are defined and not passed as queryset filters
1 parent 8560042 commit 108502a

File tree

1 file changed

+14
-14
lines changed

1 file changed

+14
-14
lines changed

grapple/helpers.py

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -70,13 +70,13 @@ def resolve_singular(self, _, info, **kwargs):
7070
if not kwargs:
7171
return None
7272

73+
token = kwargs.pop("token", None)
74+
7375
try:
7476
# If is a Page then only query live/public pages.
7577
if issubclass(cls, Page):
76-
if "token" in kwargs and hasattr(
77-
cls, "get_page_from_preview_token"
78-
):
79-
return cls.get_page_from_preview_token(kwargs["token"])
78+
if token and hasattr(cls, "get_page_from_preview_token"):
79+
return cls.get_page_from_preview_token(token)
8080

8181
return cls.objects.live().public().get(**kwargs)
8282

@@ -166,13 +166,13 @@ def resolve_singular(self, _, info, **kwargs):
166166
if not kwargs:
167167
return None
168168

169+
token = kwargs.pop("token", None)
170+
169171
try:
170172
# If is a Page then only query live/public pages.
171173
if issubclass(cls, Page):
172-
if "token" in kwargs and hasattr(
173-
cls, "get_page_from_preview_token"
174-
):
175-
return cls.get_page_from_preview_token(kwargs["token"])
174+
if token and hasattr(cls, "get_page_from_preview_token"):
175+
return cls.get_page_from_preview_token(token)
176176

177177
return cls.objects.live().public().get(**kwargs)
178178

@@ -251,15 +251,15 @@ def Mixin():
251251
def resolve_singular(self, _, info, **kwargs):
252252
try:
253253
qs = cls.objects
254-
if "order" in kwargs:
255-
qs = qs.order_by(kwargs.pop("order"))
254+
order = kwargs.pop("order", None)
255+
token = kwargs.pop("token", None)
256+
if order:
257+
qs = qs.order_by(order)
256258

257259
# If is a Page then only query live/public pages.
258260
if issubclass(cls, Page):
259-
if "token" in kwargs and hasattr(
260-
cls, "get_page_from_preview_token"
261-
):
262-
return cls.get_page_from_preview_token(kwargs["token"])
261+
if token and hasattr(cls, "get_page_from_preview_token"):
262+
return cls.get_page_from_preview_token(token)
263263

264264
return qs.live().public().filter(**kwargs).first()
265265

0 commit comments

Comments
 (0)