Skip to content

Commit

Permalink
Include rowid in filter select, closes #636
Browse files Browse the repository at this point in the history
  • Loading branch information
simonw committed Nov 19, 2019
1 parent a9909c2 commit 440a704
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 5 deletions.
6 changes: 1 addition & 5 deletions datasette/views/table.py
Original file line number Diff line number Diff line change
Expand Up @@ -587,10 +587,6 @@ async def data(
columns = [r[0] for r in results.description]
rows = list(results.rows)

filter_columns = columns[:]
if use_rowid and filter_columns[0] == "rowid":
filter_columns = filter_columns[1:]

# Expand labeled columns if requested
expanded_columns = []
expandable_columns = await self.expandable_columns(database, table)
Expand Down Expand Up @@ -720,7 +716,7 @@ async def extra_template():
"use_rowid": use_rowid,
"filters": filters,
"display_columns": display_columns,
"filter_columns": filter_columns,
"filter_columns": columns,
"display_rows": display_rows,
"facets_timed_out": facets_timed_out,
"sorted_facet_results": sorted(
Expand Down
24 changes: 24 additions & 0 deletions tests/test_html.py
Original file line number Diff line number Diff line change
Expand Up @@ -679,6 +679,30 @@ def test_table_html_foreign_key_custom_label_column(app_client):
]


@pytest.mark.parametrize(
"path,expected_column_options",
[
("/fixtures/infinity", ["- column -", "rowid", "value"]),
(
"/fixtures/primary_key_multiple_columns",
["- column -", "id", "content", "content2"],
),
("/fixtures/compound_primary_key", ["- column -", "pk1", "pk2", "content"]),
],
)
def test_table_html_filter_form_column_options(
path, expected_column_options, app_client
):
response = app_client.get(path)
assert response.status == 200
form = Soup(response.body, "html.parser").find("form")
column_options = [
o.attrs.get("value") or o.string
for o in form.select("select[name=_filter_column] option")
]
assert expected_column_options == column_options


def test_row_html_compound_primary_key(app_client):
response = app_client.get("/fixtures/compound_primary_key/a,b")
assert response.status == 200
Expand Down

0 comments on commit 440a704

Please sign in to comment.