Pure-template label cleanups on /report/ — no math changes, just clearer wording for the non-developer reader. Plus one consistency fix on the payroll dashboard. - "Outstanding Now" hero card now shows a "scoped to ..." subline when project/team filters are active (so it's not read as a company-wide figure when it's actually scoped). Finding 5. - "Paid This Period" hero card subline adds "includes adjustments" to head off confusion vs the day-rate-only Labour Cost tables. Finding 10. - "FoxFitt Avg / Day" + "FoxFitt Avg / Month" renamed to "Company Avg / Working Day" / "Company Avg / Month", with a subline that calls out the "at current pay rates" caveat (a worker's daily_rate is computed live from monthly_salary, so retroactive raises inflate historical totals). Findings 2 + 15. - "Labour Cost by Project" + "Labour Cost by Team" tables: header renamed to "Day-Rate Cost" with a tooltip clarifying it excludes adjustments. Finding 10. - Worker Breakdown table: footnote explaining that "Days" and "Total Paid" can disagree within a single period when a worker is paid for previous-period work. Finding 9. - Payroll dashboard chart data: dropped the `worker__active=True` pre-filter on the per-worker breakdown queries so the SQL matches `recent_payments_total` (which has no active filter). The outer loop still iterates active workers only — this is a SQL-side consistency fix, not a behaviour change. Finding 18. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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%