Skip to content

Commit 7c0ebf8

Browse files
committed
fix merge conflict
1 parent 35df52c commit 7c0ebf8

File tree

1 file changed

+30
-15
lines changed

1 file changed

+30
-15
lines changed

csm_web/scheduler/views/student.py

Lines changed: 30 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,10 @@
1-
import datetime
2-
31
from django.core.exceptions import ObjectDoesNotExist
42
from django.db.models import Q
53
from django.utils import timezone
64
from rest_framework import status, viewsets
75
from rest_framework.decorators import action
86
from rest_framework.exceptions import PermissionDenied
97
from rest_framework.response import Response
10-
from scheduler.models import Attendance, SectionOccurrence
118

129
from ..models import Student
1310
from ..serializers import AttendanceSerializer, StudentSerializer
@@ -29,6 +26,10 @@ def get_queryset(self):
2926

3027
@action(detail=True, methods=["patch"])
3128
def drop(self, request, pk=None):
29+
"""
30+
Drops a student form a course.
31+
PATCH: Drop a given student. Check for student ban if coordinator made request
32+
"""
3233
student = get_object_or_error(self.get_queryset(), pk=pk)
3334
is_coordinator = student.course.coordinator_set.filter(
3435
user=request.user
@@ -44,8 +45,10 @@ def drop(self, request, pk=None):
4445
student.course.whitelist.remove(student.user)
4546
student.save()
4647
logger.info(
47-
f"<Drop> User {log_str(request.user)} dropped Section"
48-
f" {log_str(student.section)} for Student user {log_str(student.user)}"
48+
"<Drop> User %s dropped section %s for Student %s.",
49+
log_str(request.user),
50+
log_str(student.section),
51+
log_str(student.user),
4952
)
5053
# filter attendances and delete future attendances
5154
now = timezone.now().astimezone(timezone.get_default_timezone())
@@ -57,14 +60,21 @@ def drop(self, request, pk=None):
5760
)
5861
).delete()
5962
logger.info(
60-
f"<Drop> Deleted {num_deleted} attendances for user"
61-
f" {log_str(student.user)} in Section {log_str(student.section)} after"
62-
f" {now.date()}"
63+
"<Drop> Deleted %s attendances for user %s in Section %s after %s",
64+
num_deleted,
65+
log_str(student.user),
66+
log_str(student.section),
67+
now.date(),
6368
)
6469
return Response(status=status.HTTP_204_NO_CONTENT)
6570

6671
@action(detail=True, methods=["get", "put"])
6772
def attendances(self, request, pk=None):
73+
"""
74+
Method for updating attendances.
75+
GET: Gets the attendances for a student
76+
PUT: Updates the attendances for a student
77+
"""
6878
student = get_object_or_error(self.get_queryset(), pk=pk)
6979
if request.method == "GET":
7080
return Response(
@@ -86,21 +96,26 @@ def attendances(self, request, pk=None):
8696
)
8797
except ObjectDoesNotExist:
8898
logger.error(
89-
"<Attendance:Failure> Could not record attendance for User"
90-
f" {log_str(request.user)}, used non-existent attendance id"
91-
f" {request.data['id']}"
99+
(
100+
"<Attendance:Failure> Could not record attendance for User %s, used"
101+
" non-existent attendance ID %s"
102+
),
103+
log_str(request.user),
104+
request.data["id"],
92105
)
93106
return Response(status=status.HTTP_400_BAD_REQUEST)
94107

95108
if serializer.is_valid():
96109
attendance = serializer.save()
97110
logger.info(
98-
f"<Attendance:Success> Attendance {log_str(attendance)} recorded for"
99-
f" User {log_str(request.user)}"
111+
"<Attendance:Success> Attendance %s recorded for User %s",
112+
log_str(attendance),
113+
log_str(request.user),
100114
)
101115
return Response(status=status.HTTP_204_NO_CONTENT)
102116
logger.error(
103-
"<Attendance:Failure> Could not record attendance for User"
104-
f" {log_str(request.user)}, errors: {serializer.errors}"
117+
"<Attendance:Failure> Could not record attendance for User %s, errors: %s",
118+
log_str(request.user),
119+
serializer.errors,
105120
)
106121
return Response(serializer.errors, status=status.HTTP_422_UNPROCESSABLE_ENTITY)

0 commit comments

Comments
 (0)