Persist _where= in hidden fields, closes #604

pull/590/head^2
Simon Willison 2019-10-30 11:49:26 -07:00
rodzic 5dd4d2b2d3
commit e2c390500e
2 zmienionych plików z 9 dodań i 0 usunięć

Wyświetl plik

@ -721,6 +721,9 @@ class TableView(RowTableShared):
for arg in ("_fts_table", "_fts_pk"):
if arg in special_args:
form_hidden_args.append((arg, special_args[arg]))
if request.args["_where"]:
for where_text in request.args["_where"]:
form_hidden_args.append(("_where", where_text))
return {
"supports_search": bool(fts_table),
"search": search or "",

Wyświetl plik

@ -955,6 +955,12 @@ def test_extra_where_clauses(app_client):
"/fixtures/facetable?_where=city_id%3D1",
"/fixtures/facetable?_where=neighborhood%3D%27Dogpatch%27",
] == hrefs
# These should also be persisted as hidden fields
inputs = soup.find("form").findAll("input")
hiddens = [i for i in inputs if i["type"] == "hidden"]
assert [("_where", "neighborhood='Dogpatch'"), ("_where", "city_id=1")] == [
(hidden["name"], hidden["value"]) for hidden in hiddens
]
def test_binary_data_display(app_client):