4 sortable columns: Date, Worker, Amount, Status. Click cycles desc -> asc -> desc. Click a different column -> resets to desc. Keyboard Enter / Space also works (role=button + tabindex=0). The sort/order state lives in hidden inputs inside the adjustments filter form, so the JS just mutates those and .submit()s — the sort then piggy-backs on the same GET the filter bar uses, and the URL retains it across pagination. Backend sort_map (Task 3) already whitelists the allowed columns, so no SQL-injection surface. Arrow icons reflect state: fa-sort (inactive), fa-sort-down (desc), fa-sort-up (asc). Active column gets .sorted class for stronger arrow opacity (CSS already shipped in Task 2). No backend changes, no new tests — the existing 65 tests cover the sort contract from the URL.
Flatlogic Python Template Workspace
This workspace houses the Django application scaffold used for Python-based templates.
Requirements
- Python 3.11+
- MariaDB (or MySQL-compatible server) with the credentials prepared by
setup_mariadb_project.sh - System packages:
pkg-config,libmariadb-dev(already installed on golden images)
Getting Started
python3 -m pip install --break-system-packages -r requirements.txt
python3 manage.py migrate
python3 manage.py runserver 0.0.0.0:8000
Environment variables are loaded from ../.env (the executor root). See .env.example if you need to populate values manually.
Project Structure
config/– Django project settings, URLs, WSGI entrypoint.core/– Default app with a basic health-check route.manage.py– Django management entrypoint.
Next Steps
- Create additional apps and views according to the generated project requirements.
- Configure serving via Apache + mod_wsgi or gunicorn (instructions to be added).
- Run
python3 manage.py collectstaticbefore serving through Apache.
Description
Languages
JavaScript
42.5%
SCSS
41.7%
CSS
11.9%
Python
3.2%
HTML
0.6%