mirror of
https://github.com/simonw/datasette.git
synced 2026-09-12 03:24:18 +02:00
Block framing of stored-query mutation forms
This commit is contained in:
parent
506c4bb522
commit
628cec8f0c
2 changed files with 20 additions and 12 deletions
|
|
@ -40,7 +40,11 @@ from datasette.write_sql import QueryWriteRejected
|
|||
|
||||
from . import Context
|
||||
from .base import DatasetteError, View, stream_csv
|
||||
from .query_helpers import _ensure_stored_query_execution_permissions, _table_columns
|
||||
from .query_helpers import (
|
||||
_block_framing,
|
||||
_ensure_stored_query_execution_permissions,
|
||||
_table_columns,
|
||||
)
|
||||
from .table_create_alter import _create_table_ui_context
|
||||
from .table_extras import (
|
||||
QueryExtraContext,
|
||||
|
|
@ -1141,6 +1145,8 @@ class QueryView(View):
|
|||
assert False, f"Invalid format: {format_}"
|
||||
if datasette.cors:
|
||||
add_cors_headers(r.headers)
|
||||
if stored_query_write and format_ == "html":
|
||||
_block_framing(r)
|
||||
return r
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -279,7 +279,7 @@ class QueryCreateView(BaseView):
|
|||
),
|
||||
)
|
||||
response.status = status
|
||||
return response
|
||||
return _block_framing(response)
|
||||
|
||||
async def get(self, request):
|
||||
db = await self.ds.resolve_database(request)
|
||||
|
|
@ -527,7 +527,7 @@ class QueryEditView(BaseView):
|
|||
),
|
||||
)
|
||||
response.status = status
|
||||
return response
|
||||
return _block_framing(response)
|
||||
|
||||
async def get(self, request):
|
||||
db, query_name, existing = await self._load(request)
|
||||
|
|
@ -639,15 +639,17 @@ class QueryDeleteView(BaseView):
|
|||
return Response.error(
|
||||
["Trusted queries cannot be deleted using the API"], 403
|
||||
)
|
||||
return await self.render(
|
||||
["query_delete.html"],
|
||||
request,
|
||||
{
|
||||
"database": db.name,
|
||||
"database_color": db.color,
|
||||
"query": stored_query_to_dict(existing),
|
||||
"query_url": self.ds.urls.table(db.name, query_name),
|
||||
},
|
||||
return _block_framing(
|
||||
await self.render(
|
||||
["query_delete.html"],
|
||||
request,
|
||||
{
|
||||
"database": db.name,
|
||||
"database_color": db.color,
|
||||
"query": stored_query_to_dict(existing),
|
||||
"query_url": self.ds.urls.table(db.name, query_name),
|
||||
},
|
||||
)
|
||||
)
|
||||
|
||||
async def post(self, request):
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue