Checkpoint-1 feedback from Konrad — three row actions on the Adjustments tab were breaking his muscle memory vs the Pending tab: 1. Worker name used to navigate to /workers/<id>/. Now opens the Worker Lookup modal using the existing .worker-lookup-link handler already bound on the dashboard — zero new JS. 2. Eye icon on PAID rows used to navigate to /payroll/payslip/<pk>/. Now opens the same #previewPayslipModal that unpaid rows use (via the existing .preview-payslip-btn handler). The 'Paid #N' green badge in the Status column still links to the historical payslip detail page, so both entry points coexist. 3. Project name used to open the Profile tab of the project detail page; now includes the #history URL fragment so the History tab is active. Added a tiny DOMContentLoaded helper in projects/detail.html that activates whatever tab the hash points to — generalised so any future deep-link works (#history, #supervisors, #teams, #workers).
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%