diff --git a/smash/web/models.py b/smash/web/models.py index d877da37f5f0f78be65b5f25be7351fb2279df4e..c073baa1c5bec7793d95b2d318d8bd2128d89eb2 100644 --- a/smash/web/models.py +++ b/smash/web/models.py @@ -158,6 +158,18 @@ class Visit(models.Model): def __str__(self): return "%s %s" % (self.subject.first_name, self.subject.last_name) + def checkIfFinished(self): + appvis = self.appointment_set.all() + finished = True + + for app in appvis: + if(app.is_finished == False): + finished = False + + if (finished): + self.is_finished = True + self.save() + class Item (models.Model): is_fixed = models.BooleanField( diff --git a/smash/web/templates/visits/index.html b/smash/web/templates/visits/index.html index e60d1d8c86224f58188d157f2378b531d1694d20..a851274e5008e73b03948cabd7cbf7eea5f2469c 100644 --- a/smash/web/templates/visits/index.html +++ b/smash/web/templates/visits/index.html @@ -62,8 +62,8 @@ {{ visit.get_visit_type_display }} </td> <td> - {% if visit.is_finished %}<button type="button" class="btn btn-block btn-danger">YES</button> - {% else %}<button type="button" class="btn btn-block btn-success">NO</button> + {% if visit.is_finished %}<button type="button" class="btn btn-block btn-success">YES</button> + {% else %}<button type="button" class="btn btn-block btn-danger">NO</button> {% endif %} </td> diff --git a/smash/web/views.py b/smash/web/views.py index 454d0f6104534ae1036223ae159d55c13f88d756..75661c9eaf1cf9697db0863d57f215f6e6c56a3b 100644 --- a/smash/web/views.py +++ b/smash/web/views.py @@ -304,6 +304,12 @@ def assignment_edit(request, id): form = AppointmentEditForm(request.POST, request.FILES, instance=Appointment.objects.get(id=id)) if form.is_valid(): form.save() + + data = form.cleaned_data + vis = data['visit'] + visit = Visit.objects.get(id=vis.id) + visit.checkIfFinished() + return redirect(assignments) else: form = AppointmentEditForm(instance=Appointment.objects.get(id=id))