| from django.shortcuts import render, redirect, get_object_or_404
|
| from django.contrib.auth.decorators import login_required
|
| from django.contrib import messages
|
| from .models import Grade
|
| from .forms import GradeForm
|
| from students.models import Student
|
|
|
| @login_required
|
| def grade_list(request):
|
| grades = Grade.objects.select_related('student', 'subject').order_by('-created_at')[:50]
|
| return render(request, 'grades/list.html', {'grades': grades})
|
|
|
| @login_required
|
| def grade_add(request):
|
| form = GradeForm(request.POST or None)
|
| if form.is_valid():
|
| form.save()
|
| messages.success(request, 'Grade recorded!')
|
| return redirect('grade_list')
|
| return render(request, 'grades/form.html', {'form': form, 'title': 'Add Grade'})
|
|
|
| @login_required
|
| def student_grades(request, student_id):
|
| student = get_object_or_404(Student, pk=student_id)
|
| grades = Grade.objects.filter(student=student).select_related('subject')
|
| return render(request, 'grades/student_grades.html', {'student': student, 'grades': grades}) |