bloombase/plants/views
Stephan Kerkman b88ba03884 feat: location FK, multi-photo gallery, hide pruning history
- Location model: plants now FK to Location instead of free-text CharField
- Data migration 0004 converts existing location strings to Location objects
- PlantForm uses ModelChoiceField dropdown + inline "add new location" text field
- PlantPhoto model: multiple photos per plant with is_thumbnail flag
- Plant.thumbnail_url property: picks marked thumbnail, falls back to first photo then legacy photo field
- Photo gallery partial: upload, set thumbnail (★), delete (✕) with HTMX swaps on #photo-gallery
- plant_detail: uses thumbnail_url for hero image, pruning history section removed
- plant_list search updated: location__name__icontains instead of location__icontains
- Three new URL routes: upload_photo, set_thumbnail, delete_photo
- All 53 tests updated and passing

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-28 18:27:45 +02:00
..
__init__.py feat: URL routing skeleton and base template 2026-05-28 09:51:11 +02:00
dashboard.py feat: replace pruning UI with bloom months 2026-05-28 17:03:25 +02:00
plants.py feat: location FK, multi-photo gallery, hide pruning history 2026-05-28 18:27:45 +02:00
pruning.py feat: pruning calendar grouped by urgency 2026-05-28 10:06:55 +02:00
species.py fix: surface Perenual API errors instead of silently returning no results 2026-05-28 10:37:30 +02:00