Fix issue where Student did'n have a period_id
This commit is contained in:
parent
863f3c061e
commit
cc311a9424
@ -41,6 +41,6 @@ class Period(models.Model):
|
|||||||
return f'{self.clocked_in}: {self.student.user.first_name} {self.student.user.last_name}'
|
return f'{self.clocked_in}: {self.student.user.first_name} {self.student.user.last_name}'
|
||||||
|
|
||||||
def save(self, *args, **kwargs):
|
def save(self, *args, **kwargs):
|
||||||
if isinstance(self.clocked_out, datetime):
|
if self.clocked_out != None:
|
||||||
self.duration = self.clocked_out - self.clocked_in
|
self.duration = self.clocked_out - self.clocked_in
|
||||||
super(Period, self).save(*args, **kwargs)
|
super(Period, self).save(*args, **kwargs)
|
||||||
|
|||||||
@ -31,9 +31,10 @@ class AttendanceOverview(LoginRequiredMixin, TemplateView):
|
|||||||
context['student_list'] = Student.objects.filter(department=self.request.user.instructor.department)
|
context['student_list'] = Student.objects.filter(department=self.request.user.instructor.department)
|
||||||
context['period_list'] = Period.objects.order_by('-clocked_in')
|
context['period_list'] = Period.objects.order_by('-clocked_in')
|
||||||
elif hasattr(self.request.user, 'student'):
|
elif hasattr(self.request.user, 'student'):
|
||||||
|
student = self.request.user.student
|
||||||
# sum all duration fields for student
|
# sum all duration fields for student
|
||||||
periods_duration_sum = Period.objects.filter(
|
periods_duration_sum = Period.objects.filter(
|
||||||
student = self.request.user.student
|
student = student
|
||||||
).filter(
|
).filter(
|
||||||
clocked_in__year=timezone.now().year
|
clocked_in__year=timezone.now().year
|
||||||
).filter(
|
).filter(
|
||||||
@ -46,14 +47,15 @@ class AttendanceOverview(LoginRequiredMixin, TemplateView):
|
|||||||
hours = round((periods_duration_sum['total_duration'].total_seconds() / 3600), 2)
|
hours = round((periods_duration_sum['total_duration'].total_seconds() / 3600), 2)
|
||||||
|
|
||||||
context['period_list'] = Period.objects.filter(
|
context['period_list'] = Period.objects.filter(
|
||||||
student=self.request.user.student
|
student=student
|
||||||
).filter(
|
).filter(
|
||||||
clocked_in__year=timezone.now().year
|
clocked_in__year=timezone.now().year
|
||||||
).filter(
|
).filter(
|
||||||
clocked_in__month=timezone.now().month
|
clocked_in__month=timezone.now().month
|
||||||
).order_by('-clocked_in')
|
).order_by('-clocked_in')
|
||||||
context['period_total'] = hours
|
context['period_total'] = hours
|
||||||
context['current_period'] = Period.objects.get(pk=self.request.user.student.current_period_id)
|
if student.current_period_id != None:
|
||||||
|
context['current_period'] = Period.objects.get(pk=student.current_period_id)
|
||||||
return context
|
return context
|
||||||
|
|
||||||
class AttendanceUpdateView(LoginRequiredMixin, FormView):
|
class AttendanceUpdateView(LoginRequiredMixin, FormView):
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user