diff --git a/attendance/apps.py b/attendance/apps.py index 177ba15..56b6faa 100644 --- a/attendance/apps.py +++ b/attendance/apps.py @@ -3,3 +3,6 @@ from django.apps import AppConfig class AttendanceConfig(AppConfig): name = 'attendance' + + def ready(self): + import attendance.signals diff --git a/attendance/models.py b/attendance/models.py index 2e1c889..0770a29 100644 --- a/attendance/models.py +++ b/attendance/models.py @@ -2,8 +2,7 @@ from datetime import datetime from django.db import models from django.urls import reverse from accounts.models import Student -from django.db.models.signals import post_save -from django.dispatch import receiver + class Code(models.Model): student = models.ForeignKey(Student, on_delete=models.CASCADE) @@ -48,10 +47,3 @@ class Period(models.Model): if self.clocked_out != None: self.duration = self.clocked_out - self.clocked_in super(Period, self).save(*args, **kwargs) - -@receiver(post_save, sender=Period) -def auto_clockin_student(sender, instance, created, **kwargs): - if created: - instance.student.is_clocked_in = True - instance.student.current_period_id = instance.pk - instance.student.save() diff --git a/attendance/views.py b/attendance/views.py index 2fcbd10..6dec82f 100644 --- a/attendance/views.py +++ b/attendance/views.py @@ -12,6 +12,7 @@ from django.contrib.auth.mixins import LoginRequiredMixin, PermissionRequiredMix from django.utils import timezone from django.contrib import messages from django.contrib.auth.models import User +from django.shortcuts import get_object_or_404 from accounts.models import Instructor, Student from .models import Code, Period from .forms import AttendanceUpdateForm, PeriodForm @@ -123,14 +124,6 @@ class PeriodUpdateView(LoginRequiredMixin, UpdateView): form_class = PeriodForm template_name = 'attendance/period_form.html' - # When editing a period, check if it matches the current period of the student and clock them out - def form_valid(self, form): - student = form.instance.student - if form.instance.id == student.current_period_id: - student.is_clocked_in = False - student.save() - return super().form_valid(form) - def get_success_url(self): pk = self.kwargs["pk"] return reverse('period-detail', kwargs={'pk': pk})