fix: only query OEmbed map on id and fallback to 404
This commit is contained in:
parent
9426570b6e
commit
cf319ca53e
2 changed files with 10 additions and 1 deletions
|
@ -775,6 +775,15 @@ def test_oembed_no_url_map(client, map, datalayer):
|
|||
assert response.status_code == 404
|
||||
|
||||
|
||||
def test_oembed_unknown_url_map(client, map, datalayer):
|
||||
map_url = f"http://testserver{map.get_absolute_url()}"
|
||||
# We change to an unknown id prefix to keep URL structure.
|
||||
map_url = map_url.replace("map_", "_111")
|
||||
url = f"{reverse('map_oembed')}?url={map_url}"
|
||||
response = client.get(url)
|
||||
assert response.status_code == 404
|
||||
|
||||
|
||||
def test_oembed_wrong_format_map(client, map, datalayer):
|
||||
url = (
|
||||
f"{reverse('map_oembed')}"
|
||||
|
|
|
@ -695,7 +695,7 @@ class MapOEmbed(View):
|
|||
if "slug" not in kwargs or "map_id" not in kwargs:
|
||||
raise Http404("Invalid URL path.")
|
||||
|
||||
map_ = Map.objects.get(id=kwargs["map_id"], slug=kwargs["slug"])
|
||||
map_ = get_object_or_404(Map, id=kwargs["map_id"])
|
||||
|
||||
if map_.share_status != Map.PUBLIC:
|
||||
raise PermissionDenied("This map is not public.")
|
||||
|
|
Loading…
Reference in a new issue