Konrad du Plessis 12edafa441 Design: Payroll Adjustments Tab on the payroll dashboard
Second brainstorm output of the day. New tab alongside Pending /
History / Loans & Advances (the URL pattern already established at
?status=pending|paid|loans — this slots in at ?status=adjustments).

Key decisions:
- Semantic badge palette: 5 colour categories mapped across 7 types.
  Loan/advance repayments get +15% saturation — same family, hotter
  signal for "money coming back" vs "money going out".
- Three multi-select filters (Type, Workers, Teams) via Choices.js.
  Teams cross-filter Workers using JSON pair map (mirrors Feature 1's
  project<->team pattern). Auto-remove invalid selections with toast.
- Single-date default with optional range toggle; presets for
  Today / This week / This month.
- Sticky filter bar; sortable columns (Date / Worker / Amount / Status).
- Group-by toggle: Flat / By Type / By Worker. Collapsible group
  headers show count + net sum per group (+R additive / -R deductive).
- Bulk action bar (floating) for multi-row delete on unpaid rows only.
  New endpoint POST /payroll/adjustments/bulk-delete/ filters
  payroll_record__isnull=True for safety.
- Inline row actions reuse existing modals: Preview (unpaid) /
  View Payslip (paid) / Edit + Delete (unpaid). Zero new modal code.
- Empty state, keyboard Esc, URL state for everything (bookmark-safe).

Scope: ~960 lines, ~12 tasks, 2 checkpoints. Uses existing
#addAdjustmentModal / #editAdjustmentModal / #payslipPreviewModal
already on payroll_dashboard.html — zero duplication.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-23 09:26:01 +02:00
2026-02-22 12:14:54 +00:00
2026-02-22 12:14:54 +00:00
2026-02-22 12:14:54 +00:00
2026-02-22 12:14:54 +00:00
2026-02-22 12:14:54 +00:00
2026-02-22 12:14:54 +00:00
2026-02-22 12:14:54 +00:00
2026-02-22 12:14:54 +00:00

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 collectstatic before serving through Apache.
Description
No description provided
Readme 7.6 MiB
Languages
JavaScript 42.5%
SCSS 41.7%
CSS 11.9%
Python 3.2%
HTML 0.6%