Update technical notes for customer jobs filter

This commit is contained in:
Ivo Oskamp 2026-02-16 15:26:51 +01:00
parent f4384086f2
commit 189dc4ed37
2 changed files with 20 additions and 1 deletions

View File

@ -11,6 +11,7 @@ This file documents all changes made to this project via Claude Code.
### Changed ### Changed
- Changed `/jobs` route to accept optional `customer_id` query parameter and return only jobs for that customer when provided - Changed `/jobs` route to accept optional `customer_id` query parameter and return only jobs for that customer when provided
- Changed default Jobs listing behavior to keep existing inactive-customer filtering only when no `customer_id` filter is applied - Changed default Jobs listing behavior to keep existing inactive-customer filtering only when no `customer_id` filter is applied
- Changed `docs/technical-notes-codex.md` with updated "Last updated" date, Customers→Jobs navigation notes, and test build/push validation snapshot
## [2026-02-13] ## [2026-02-13]

View File

@ -1,6 +1,6 @@
# Technical Notes (Internal) # Technical Notes (Internal)
Last updated: 2026-02-13 Last updated: 2026-02-16
## Purpose ## Purpose
Internal technical snapshot of the `backupchecks` repository for faster onboarding, troubleshooting, and change impact analysis. Internal technical snapshot of the `backupchecks` repository for faster onboarding, troubleshooting, and change impact analysis.
@ -254,10 +254,28 @@ All pages use **explicit link-based queries** (no date-based logic):
- Prevents browser from auto-selecting checkboxes after page reload - Prevents browser from auto-selecting checkboxes after page reload
- Fixes issue where deleting items would cause same number of new items to be selected - Fixes issue where deleting items would cause same number of new items to be selected
### Customers to Jobs Navigation (2026-02-16)
- Customers page links each customer name to filtered Jobs view:
- `GET /jobs?customer_id=<customer_id>`
- Jobs route behavior:
- Accepts optional `customer_id` query parameter in `routes_jobs.py`.
- If set: returns jobs for that customer only.
- If not set: keeps default filter that hides jobs linked to inactive customers.
- Jobs UI behavior:
- Shows active filter banner with selected customer name.
- Provides "Clear filter" action back to unfiltered `/jobs`.
- Templates touched:
- `templates/main/customers.html`
- `templates/main/jobs.html`
## Feedback Module with Screenshots ## Feedback Module with Screenshots
- Models: `FeedbackItem`, `FeedbackVote`, `FeedbackReply`, `FeedbackAttachment`. - Models: `FeedbackItem`, `FeedbackVote`, `FeedbackReply`, `FeedbackAttachment`.
- Attachments: - Attachments:
- multiple uploads, type validation, per-file size limits, storage in database (BYTEA). - multiple uploads, type validation, per-file size limits, storage in database (BYTEA).
## Validation Snapshot
- 2026-02-16: Test build + push succeeded via `update-and-build.sh t`.
- Pushed image: `gitea.oskamp.info/ivooskamp/backupchecks:dev`.
- Delete strategy: - Delete strategy:
- soft delete by default, - soft delete by default,
- permanent delete only for admins and only after soft delete. - permanent delete only for admins and only after soft delete.