From b52a8f71638d1aae56582680ed5e9f9afc9cd3b4 Mon Sep 17 00:00:00 2001
From: Pawe16 <332168@uwr.edu.pl>
Date: Mon, 30 Dec 2024 22:52:19 +0100
Subject: [PATCH 1/5] dodanie mozliwosci zmiany semestru w planie zajec
dowolnego studenta
---
.../users/student_profile_contents.html | 22 +++++++++++++++++++
zapisy/apps/users/urls.py | 2 ++
zapisy/apps/users/views.py | 14 +++++++++---
3 files changed, 35 insertions(+), 3 deletions(-)
diff --git a/zapisy/apps/users/templates/users/student_profile_contents.html b/zapisy/apps/users/templates/users/student_profile_contents.html
index d4e703fa5a..27d9e90d3d 100644
--- a/zapisy/apps/users/templates/users/student_profile_contents.html
+++ b/zapisy/apps/users/templates/users/student_profile_contents.html
@@ -40,6 +40,28 @@
+
+
+
+
+ Semestr {{ semester }}
+
+
+
+
+
+
+
+
{% render_bundle 'timetable-timetable-component' %}
diff --git a/zapisy/apps/users/urls.py b/zapisy/apps/users/urls.py
index 791dac5bba..b24fdb19d6 100644
--- a/zapisy/apps/users/urls.py
+++ b/zapisy/apps/users/urls.py
@@ -9,6 +9,8 @@
path('employees/', views.employees_view, name='employees-list'),
path('students/', views.students_view, name='students-list'),
path('employees//', views.employees_view, name='employee-profile'),
+ path("employess///", views.employees_view, name="employee-profile-semester"),
path('students//', views.students_view, name='student-profile'),
+ path("students///", views.students_view, name="student-profile-semester"),
path('personal-data-consent/', views.personal_data_consent, name='personal_data_consent'),
]
diff --git a/zapisy/apps/users/views.py b/zapisy/apps/users/views.py
index a7f5753148..e19d099b68 100644
--- a/zapisy/apps/users/views.py
+++ b/zapisy/apps/users/views.py
@@ -1,10 +1,11 @@
import json
import logging
+from typing import Optional
from django.contrib import messages
from django.contrib.auth.decorators import login_required
from django.core.serializers.json import DjangoJSONEncoder
-from django.shortcuts import Http404, redirect, render, reverse
+from django.shortcuts import get_object_or_404, Http404, redirect, render, reverse
from django.views.decorators.http import require_POST
from apps.enrollment.courses.models import Group, Semester
@@ -23,7 +24,7 @@
@login_required
@external_contractor_forbidden
-def students_view(request, user_id: int = None):
+def students_view(request, user_id: int = None, semester_id: Optional[int] = None):
"""View for students list and student profile if user id in URL is provided."""
students_queryset = Student.get_active_students().select_related('user')
if not request.user.employee:
@@ -54,7 +55,12 @@ def students_view(request, user_id: int = None):
messages.warning(request, "Student ukrył swój profil")
return redirect('students-list')
- semester = Semester.get_upcoming_semester()
+
+ semester: Optional[Semester]
+ if semester_id is None:
+ semester = Semester.get_upcoming_semester()
+ else:
+ semester = get_object_or_404(Semester, pk=semester_id)
records = Record.objects.filter(
student=student,
@@ -73,6 +79,8 @@ def students_view(request, user_id: int = None):
data.update({
'student': student,
'groups_json': json.dumps(group_dicts, cls=DjangoJSONEncoder),
+ 'semester': semester,
+ 'all_semesters': Semester.objects.filter(visible=True)
})
return render(request, 'users/users_view.html', data)
From b051e9db5a9515b92dc1d9e93cfec78455784d22 Mon Sep 17 00:00:00 2001
From: Pawe16 <332168@uwr.edu.pl>
Date: Mon, 30 Dec 2024 23:03:26 +0100
Subject: [PATCH 2/5] naprawienie bledow formatowania kodu
---
zapisy/apps/users/views.py | 1 -
1 file changed, 1 deletion(-)
diff --git a/zapisy/apps/users/views.py b/zapisy/apps/users/views.py
index e19d099b68..6bac0791e7 100644
--- a/zapisy/apps/users/views.py
+++ b/zapisy/apps/users/views.py
@@ -55,7 +55,6 @@ def students_view(request, user_id: int = None, semester_id: Optional[int] = Non
messages.warning(request, "Student ukrył swój profil")
return redirect('students-list')
-
semester: Optional[Semester]
if semester_id is None:
semester = Semester.get_upcoming_semester()
From 788112e7e62ca409282c6507354e14f7497c15d0 Mon Sep 17 00:00:00 2001
From: Pawe16 <332168@uwr.edu.pl>
Date: Mon, 30 Dec 2024 23:22:42 +0100
Subject: [PATCH 3/5] zmiania sciezek dla planu dowolnej osoby na dany semestr
---
zapisy/apps/users/urls.py | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/zapisy/apps/users/urls.py b/zapisy/apps/users/urls.py
index b24fdb19d6..243eb87334 100644
--- a/zapisy/apps/users/urls.py
+++ b/zapisy/apps/users/urls.py
@@ -9,8 +9,8 @@
path('employees/', views.employees_view, name='employees-list'),
path('students/', views.students_view, name='students-list'),
path('employees//', views.employees_view, name='employee-profile'),
- path("employess///", views.employees_view, name="employee-profile-semester"),
+ path("employess//semester//", views.employees_view, name="employee-profile-semester"),
path('students//', views.students_view, name='student-profile'),
- path("students///", views.students_view, name="student-profile-semester"),
+ path("students//semester//", views.students_view, name="student-profile-semester"),
path('personal-data-consent/', views.personal_data_consent, name='personal_data_consent'),
]
From 6e0b2a4f9e4f26c28a05f9c4b8542f35725a4a58 Mon Sep 17 00:00:00 2001
From: Pawe16 <332168@uwr.edu.pl>
Date: Wed, 22 Jan 2025 13:01:10 +0100
Subject: [PATCH 4/5] dodanie mozliwosci zmiany semestru w planie zajec
dowolnego pracownika
---
.../users/employee_profile_contents.html | 23 ++++++++++++++++++-
zapisy/apps/users/views.py | 11 +++++++--
2 files changed, 31 insertions(+), 3 deletions(-)
diff --git a/zapisy/apps/users/templates/users/employee_profile_contents.html b/zapisy/apps/users/templates/users/employee_profile_contents.html
index 3e66e0e901..174f87cc2f 100644
--- a/zapisy/apps/users/templates/users/employee_profile_contents.html
+++ b/zapisy/apps/users/templates/users/employee_profile_contents.html
@@ -44,7 +44,28 @@ Konsultacje:
{% endif %}
-
+
+
+
+
+ Semestr {{ semester }}
+
+
+
+
+
+
+
+
{% render_bundle 'timetable-timetable-component' %}
diff --git a/zapisy/apps/users/views.py b/zapisy/apps/users/views.py
index 6bac0791e7..82c5ad9982 100644
--- a/zapisy/apps/users/views.py
+++ b/zapisy/apps/users/views.py
@@ -84,7 +84,7 @@ def students_view(request, user_id: int = None, semester_id: Optional[int] = Non
return render(request, 'users/users_view.html', data)
-def employees_view(request, user_id: int = None):
+def employees_view(request, user_id: int = None, semester_id: Optional[int] = None):
"""View for employees list and employee profile if user id in URL is provided."""
employees_queryset = Employee.get_actives().select_related('user')
employees = {
@@ -108,7 +108,12 @@ def employees_view(request, user_id: int = None):
except Employee.DoesNotExist:
raise Http404
- semester = Semester.get_upcoming_semester()
+ semester: Optional[Semester]
+ if semester_id is None:
+ semester = Semester.get_upcoming_semester()
+ else:
+ semester = get_object_or_404(Semester, pk=semester_id)
+
groups = Group.objects.filter(
course__semester_id=semester.pk, teacher=employee).select_related(
'teacher', 'teacher__user', 'course').prefetch_related('term', 'term__classrooms')
@@ -124,6 +129,8 @@ def employees_view(request, user_id: int = None):
data.update({
'employee': employee,
'groups_json': json.dumps(group_dicts, cls=DjangoJSONEncoder),
+ 'semester': semester,
+ 'all_semesters': Semester.objects.filter(visible=True)
})
return render(request, 'users/users_view.html', data)
From ca8813e9b8b7e5c30fdc9bbeaa866b9e0c7097e0 Mon Sep 17 00:00:00 2001
From: Pawe16 <332168@uwr.edu.pl>
Date: Wed, 29 Jan 2025 12:45:48 +0100
Subject: [PATCH 5/5] unikniecie duplikowania kodu przy tworzeniu rozwijalnej
listy semestrow
---
.../templates/timetable/timetable.html | 23 +--------------
.../users/employee_profile_contents.html | 23 +--------------
.../users/student_profile_contents.html | 23 +--------------
zapisy/templates/semester_dropdown.html | 29 +++++++++++++++++++
4 files changed, 32 insertions(+), 66 deletions(-)
create mode 100644 zapisy/templates/semester_dropdown.html
diff --git a/zapisy/apps/enrollment/timetable/templates/timetable/timetable.html b/zapisy/apps/enrollment/timetable/templates/timetable/timetable.html
index 73662400a6..61b62e7da5 100644
--- a/zapisy/apps/enrollment/timetable/templates/timetable/timetable.html
+++ b/zapisy/apps/enrollment/timetable/templates/timetable/timetable.html
@@ -29,28 +29,7 @@
{% endif %}
-
-
-
-
- Semestr {{ semester }}
-
-
-
-
-
-
-
-
+ {% include "semester_dropdown.html" with url_pattern_name="my-timetable-semester" %}