Merge pull request 'fix: avoid Jinja dict method collisions in admin templates' (#7) from fix/jinja-dict-method-collisions into main
Reviewed-on: #7
This commit was merged in pull request #7.
This commit is contained in:
@@ -110,4 +110,4 @@ docker compose exec postgres pg_dump -U miem miem_workers > backup.sql
|
||||
docker compose down
|
||||
```
|
||||
|
||||
Версия сервиса: `0.2.4`. Админка всегда показывает версии backend и frontend в footer.
|
||||
Версия сервиса: `0.2.5`. Админка всегда показывает версии backend и frontend в footer.
|
||||
|
||||
@@ -121,7 +121,7 @@ def list_employees_page(
|
||||
order = desc(sort_column) if direction == "desc" else sort_column
|
||||
employees = db.scalars(base_stmt.order_by(order).limit(limit).offset(offset)).all()
|
||||
return {
|
||||
"items": [employee_display_payload(employee) for employee in employees],
|
||||
"employees": [employee_display_payload(employee) for employee in employees],
|
||||
"total": total,
|
||||
"limit": limit,
|
||||
"offset": offset,
|
||||
@@ -243,7 +243,7 @@ def _normalize_section(section: Any) -> dict[str, Any]:
|
||||
"type": section_type,
|
||||
"raw_text": raw_text,
|
||||
"paragraphs": paragraphs,
|
||||
"items": items,
|
||||
"list_items": items,
|
||||
"links": _normalize_links(section.get("links")),
|
||||
"year_entries": _normalize_year_entries(section.get("year_entries")),
|
||||
"publications": _normalize_publications(section.get("publications")),
|
||||
|
||||
@@ -56,7 +56,7 @@
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for employee in page.items %}
|
||||
{% for employee in page.employees %}
|
||||
<tr class="directory-table__row" data-row-href="/admin/employees/{{ employee.id }}">
|
||||
<td class="directory-table__cell" data-column="full_name">{{ employee.full_name or "No name" }}</td>
|
||||
<td class="directory-table__cell" data-column="status"><span class="badge {% if employee.status == "dismissed" %}badge--dismissed{% endif %}">{{ employee.status }}</span></td>
|
||||
|
||||
@@ -162,9 +162,9 @@
|
||||
<p class="employee-section__text">{{ paragraph }}</p>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% if section.items %}
|
||||
{% if section.list_items %}
|
||||
<ul class="employee-card__list">
|
||||
{% for item in section.items %}
|
||||
{% for item in section.list_items %}
|
||||
<li class="employee-card__list-item">{{ item }}</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
APP_VERSION = "0.2.4"
|
||||
FRONTEND_VERSION = "0.2.4"
|
||||
BACKEND_VERSION = "0.2.4"
|
||||
APP_VERSION = "0.2.5"
|
||||
FRONTEND_VERSION = "0.2.5"
|
||||
BACKEND_VERSION = "0.2.5"
|
||||
|
||||
@@ -143,7 +143,7 @@ def test_list_employees_page_filters_sorts_and_paginates(db_session):
|
||||
page = list_employees_page(db_session, status="active", sort="full_name", direction="asc", limit=10)
|
||||
|
||||
assert page["total"] == 1
|
||||
assert page["items"][0]["full_name"] == "Alpha"
|
||||
assert page["employees"][0]["full_name"] == "Alpha"
|
||||
|
||||
|
||||
def test_stats_payload_uses_latest_run_new_count(db_session):
|
||||
|
||||
@@ -18,7 +18,7 @@ def test_health_returns_versions():
|
||||
response = client.get("/api/health")
|
||||
|
||||
assert response.status_code == 200
|
||||
assert response.json()["backend_version"] == "0.2.4"
|
||||
assert response.json()["backend_version"] == "0.2.5"
|
||||
|
||||
|
||||
def test_mcp_requires_token_and_lists_tools():
|
||||
|
||||
@@ -9,6 +9,8 @@ def test_employee_detail_template_is_human_readable():
|
||||
assert ">Tabs<" not in template
|
||||
assert "contacts.items" not in template
|
||||
assert "contacts.contact_items" in template
|
||||
assert "section.items" not in template
|
||||
assert "section.list_items" in template
|
||||
assert "Основная информация" in template
|
||||
assert "Контакты" in template
|
||||
assert "Разделы профиля" in template
|
||||
|
||||
Reference in New Issue
Block a user