|
11 | 11 | QuerySet, |
12 | 12 | Value, |
13 | 13 | ) |
14 | | -from fastapi import Request |
| 14 | +from django.utils.translation import ngettext |
15 | 15 | from pydantic import BaseModel, field_validator |
16 | 16 |
|
17 | 17 | from app_users.models import AppUser |
@@ -80,7 +80,9 @@ def to_lower(cls, v): |
80 | 80 |
|
81 | 81 |
|
82 | 82 | def render_search_filters( |
83 | | - current_user: AppUser | None = None, search_filters: SearchFilters | None = None |
| 83 | + current_user: AppUser | None = None, |
| 84 | + search_filters: SearchFilters | None = None, |
| 85 | + result_count: int | None = None, |
84 | 86 | ): |
85 | 87 | if not search_filters: |
86 | 88 | search_filters = SearchFilters() |
@@ -125,6 +127,11 @@ def render_search_filters( |
125 | 127 | with gui.div( |
126 | 128 | className=f"{col_class} d-flex gap-2 justify-content-end align-items-center", |
127 | 129 | ): |
| 130 | + if result_count is not None: |
| 131 | + gui.caption( |
| 132 | + f"{result_count} {ngettext('result', 'results', result_count)}", |
| 133 | + className="text-muted d-none d-md-block", |
| 134 | + ) |
128 | 135 | with ( |
129 | 136 | gui.styled( |
130 | 137 | """ |
@@ -377,8 +384,9 @@ def _render_selectbox( |
377 | 384 | ) |
378 | 385 |
|
379 | 386 |
|
380 | | -def render_search_results(user: AppUser | None, search_filters: SearchFilters): |
381 | | - qs = get_filtered_published_runs(user, search_filters) |
| 387 | +def render_search_results( |
| 388 | + qs: QuerySet[PublishedRun], user: AppUser | None, search_filters: SearchFilters |
| 389 | +): |
382 | 390 | qs = qs.select_related("workspace", "created_by", "saved_run") |
383 | 391 |
|
384 | 392 | def _render_run(pr: PublishedRun): |
|
0 commit comments