Example #1
0
    def form_valid(self, form, formsets):
        try:
            with atomic():
                self.object = form.save(commit=False)
                if not self.request.user.is_supervisor:
                    self.object.fecha = datetime.now()
                self.object.save()
                for f in formsets:
                    reg = RegistroAsistencia()
                    reg.persona = f.cleaned_data["persona"]
                    reg.asistencia = self.object
                    if f.cleaned_data["estado"]:
                        reg.estado = f.cleaned_data["estado"]
                    reg.save()
        except IntegrityError:
            client.captureException()
            return self.form_invalid(form, formsets)

        send_notification(self.object, request=self.request)
        return HttpResponseRedirect(self.get_success_url())