minor update
This commit is contained in:
+32
-3
@@ -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
|
||||
Reference in New Issue
Block a user