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, })