Konrad du Plessis 5c8508171a Add Teams & Projects management pages
Extends the app with friendly form-based management for Teams and Projects —
an alternative to using Django admin for routine maintenance.

New URLs (admin-only, all return 403 for non-admins):
- /teams/ · /teams/new/ · /teams/<id>/ · /teams/<id>/edit/
- /teams/report/ · /teams/report/csv/
- /projects/ + same 5 variants

Forms (core/forms.py):
- TeamForm — ModelForm with pay-schedule validation (both or neither field)
- ProjectForm — ModelForm with end_date >= start_date validation
- _supervisor_user_queryset() — admins + Work Logger group members

Views (core/views.py):
- 10 new views (5 per model: list, detail, edit, batch_report, batch_csv)
- _build_team_report_context() / _build_project_report_context() shared helpers
- All views gate on is_admin(user)
- Reuses existing get_pay_period() for Team detail Pay Schedule tab

Templates (core/templates/core/teams/ and projects/):
- list.html — filterable table with search
- detail.html — tabbed profile / workers / history / schedule
- edit.html — serves both /new/ and /edit/
- batch_report.html — lifetime aggregates per row, CSV download

UI integration:
- Resources dropdown added to top nav (admin-only, Teams + Projects)
- Manage All buttons added to Dashboard Manage Resources tabs (Teams, Projects)

No model changes, no migrations — purely additive.
CLAUDE.md updated with new routes and section describing the pattern.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-22 02:30:25 +02:00
2026-02-22 12:14:54 +00:00
2026-02-22 12:14:54 +00:00
2026-02-22 13:14:19 +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
2026-02-22 13:14:19 +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 8.5 MiB
Languages
JavaScript 42.5%
SCSS 41.7%
CSS 11.9%
Python 3.2%
HTML 0.6%