minor update

This commit is contained in:
2025-08-25 14:26:58 +05:30
parent 17f309dcda
commit 7272f1726f
13 changed files with 163 additions and 33 deletions
+32 -3
View File
@@ -9,7 +9,7 @@ from django.http import JsonResponse
from django.shortcuts import render, redirect, get_object_or_404
from django.views.decorators.http import require_POST
from .models import Issue, IssueCategory, User, Vote, Comment, Department
from .forms import CitizenRegistrationForm, IssueForm, CommentForm
from .forms import CitizenRegistrationForm, IssueForm, CommentForm, IssueAssignForm
def home(request):
total_issues = Issue.objects.count()
@@ -271,5 +271,34 @@ def department_detail(request, pk):
@login_required
@user_passes_test(superadmin_check)
def manage_issues(request):
issues = Issue.objects.all().order_by("-created_at")
return render(request, "issues/manage_issues.html", {"issues": issues})
issues = Issue.objects.all().order_by('-created_at')
if request.method == "POST":
issue_id = request.POST.get("issue_id")
dept_id = request.POST.get("department")
issue = get_object_or_404(Issue, id=issue_id)
if dept_id: # Only assign if a department is selected
department = get_object_or_404(Department, id=dept_id)
issue.assign_to_department(department) # 🔹 uses helper
return redirect("manage_issues") # refresh page after save
return render(request, "issues/manage_issues.html", {
"issues": issues,
"departments": Department.objects.all()
})
@user_passes_test(superadmin_check)
def assign_department(request, issue_id):
if request.method == "POST":
issue = get_object_or_404(Issue, id=issue_id)
dept_id = request.POST.get("department_id")
if dept_id:
department = get_object_or_404(Department, id=dept_id)
issue.assign_to_department(department)
messages.success(request, f"Issue '{issue.title}' assigned to {department.name}.")
else:
messages.error(request, "Please select a department.")
return redirect("manage_issues") # redirect back to the issues page