diff --git a/civicfix/core/views.py b/civicfix/core/views.py index 9a0d360..a91e134 100644 --- a/civicfix/core/views.py +++ b/civicfix/core/views.py @@ -3,24 +3,31 @@ from django.contrib import messages from django.contrib.auth import authenticate, login from django.contrib.auth.decorators import login_required from django.contrib.auth.forms import AuthenticationForm -from .models import Issue, IssueCategory +from .models import Issue, IssueCategory, User from .forms import CitizenRegistrationForm, IssueForm def home(request): - return render(request, 'core/index.html') + total_issues = Issue.objects.count() + resolved_issues = Issue.objects.filter(status='resolved').count() + active_users = User.objects.filter(is_active=True).count() + + # Get recently reported issues (last 3 issues) + recent_issues = Issue.objects.all().order_by('-created_at')[:3] + + # Get municipal departments count (assuming you have a Department model) + # If you don't have one yet, you can use a placeholder or create the model + municipal_departments = 5 # Placeholder - replace with actual count when you have the model + + context = { + 'total_issues': total_issues, + 'resolved_issues': resolved_issues, + 'active_users': active_users, + 'municipal_departments': municipal_departments, + 'recent_issues': recent_issues, + } + return render(request, 'core/index.html', context) -def home(request): - if request.user.is_authenticated and request.user.is_citizen: - return redirect('citizen_dashboard') - return render(request, 'core/index.html') - - -def home(request): - if request.user.is_authenticated and request.user.is_citizen: - return redirect('citizen_dashboard') - return render(request, 'core/index.html') - @login_required def citizen_dashboard(request): if not request.user.is_citizen: