diff --git a/course/views.py b/course/views.py index 8cd4f80..c64a07b 100644 --- a/course/views.py +++ b/course/views.py @@ -435,26 +435,30 @@ def handle_video_delete(request, slug, video_slug): @student_required def course_registration(request): if request.method == "POST": + student = Student.objects.get(student__pk=request.user.id) ids = () data = request.POST.copy() data.pop("csrfmiddlewaretoken", None) # remove csrf_token for key in data.keys(): ids = ids + (str(key),) for s in range(0, len(ids)): - student = Student.objects.get(student__pk=request.user.id) course = Course.objects.get(pk=ids[s]) obj = TakenCourse.objects.create(student=student, course=course) obj.save() - messages.success(request, "Courses Registered Successfully!") + messages.success(request, "Courses registered successfully!") return redirect("course_registration") else: + current_semester = Semester.objects.filter(is_current_semester=True).first() + if not current_semester: + messages.error(request, "No active semester found.") + return render(request, "course/course_registration.html") + # student = Student.objects.get(student__pk=request.user.id) student = get_object_or_404(Student, student__id=request.user.id) taken_courses = TakenCourse.objects.filter(student__student__id=request.user.id) t = () for i in taken_courses: t += (i.course.pk,) - current_semester = Semester.objects.get(is_current_semester=True) courses = ( Course.objects.filter( @@ -510,17 +514,17 @@ def course_registration(request): @student_required def course_drop(request): if request.method == "POST": + student = Student.objects.get(student__pk=request.user.id) ids = () data = request.POST.copy() data.pop("csrfmiddlewaretoken", None) # remove csrf_token for key in data.keys(): ids = ids + (str(key),) for s in range(0, len(ids)): - student = Student.objects.get(student__pk=request.user.id) course = Course.objects.get(pk=ids[s]) obj = TakenCourse.objects.get(student=student, course=course) obj.delete() - messages.success(request, "Successfully Dropped!") + messages.success(request, "Successfully Dropped!") return redirect("course_registration") diff --git a/result/views.py b/result/views.py index 6e7fa6b..57f594c 100644 --- a/result/views.py +++ b/result/views.py @@ -41,10 +41,13 @@ def add_score(request): Shows a page where a lecturer will select a course allocated to him for score entry. in a specific semester and session """ - current_session = Session.objects.get(is_current_session=True) - current_semester = get_object_or_404( - Semester, is_current_semester=True, session=current_session - ) + current_session = Session.objects.filter(is_current_session=True).first() + current_semester = Semester.objects.filter(is_current_semester=True, session=current_session).first() + + if not current_session or not current_semester: + messages.error(request, "No active semester found.") + return render(request, "result/add_score.html") + # semester = Course.objects.filter( # allocated_course__lecturer__pk=request.user.id, # semester=current_semester) diff --git a/templates/accounts/add_staff.html b/templates/accounts/add_staff.html index 4d79abb..3b4d549 100644 --- a/templates/accounts/add_staff.html +++ b/templates/accounts/add_staff.html @@ -6,9 +6,7 @@ {% block content %}
-Student Update Form
-Semester Add & update Form
{{ student.program.summary }}
+{{ student.program.summary }}
{% endif %} {% endif %} {% if request.user.is_lecturer %}