bloombase/plants/views/dashboard.py
Stephan Kerkman 36e4570141 feat: month strip display, fix dashboard counter, styled month form
- Add month_strip template tag rendering JFMAMJJASOND circles,
  active months dark green, inactive light grey
- Replace raw number list in pruning_strip with visual month strip
- Restyle pruning month checkboxes as clickable circles in plant form
- Fix dashboard 'Need pruning' counter (broken filter chain always showed 0)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-28 15:05:13 +02:00

26 lines
827 B
Python

from datetime import date
from django.shortcuts import render
from plants.models import Plant
from plants.utils.pruning import pruning_status
def dashboard(request):
today = date.today()
all_plants = list(
Plant.objects.select_related('species').prefetch_related('pruning_logs')
)
overdue, due_this_month = [], []
for plant in all_plants:
status = pruning_status(plant, today)
if status == 'overdue':
overdue.append(plant)
elif status == 'due_this_month':
due_this_month.append(plant)
return render(request, 'plants/dashboard.html', {
'total_plants': len(all_plants),
'overdue': overdue,
'due_this_month': due_this_month,
'needs_pruning_count': len(overdue) + len(due_this_month),
'today': today,
})