Skip to content

Commit

Permalink
fix create individual diagnosis events
Browse files Browse the repository at this point in the history
  • Loading branch information
sainak committed Jul 26, 2024
1 parent a972705 commit dc62e3f
Showing 1 changed file with 34 additions and 1 deletion.
35 changes: 34 additions & 1 deletion care/facility/api/viewsets/consultation_diagnosis.py
Original file line number Diff line number Diff line change
@@ -1,13 +1,17 @@
from copy import copy

from django.shortcuts import get_object_or_404
from django_filters import rest_framework as filters
from dry_rest_permissions.generics import DRYPermissions
from rest_framework import mixins
from rest_framework.permissions import IsAuthenticated
from rest_framework.response import Response
from rest_framework.viewsets import GenericViewSet

from care.facility.api.serializers.consultation_diagnosis import (
ConsultationDiagnosisSerializer,
)
from care.facility.events.handler import create_consultation_events
from care.facility.models import (
ConditionVerificationStatus,
ConsultationDiagnosis,
Expand Down Expand Up @@ -52,4 +56,33 @@ def get_queryset(self):

def perform_create(self, serializer):
consultation = self.get_consultation_obj()
serializer.save(consultation=consultation, created_by=self.request.user)
diagnosis = serializer.save(
consultation=consultation, created_by=self.request.user
)
create_consultation_events(
consultation.id,
diagnosis,
caused_by=self.request.user.id,
created_date=diagnosis.created_date,
)

def perform_update(self, serializer):
return serializer.save()

def update(self, request, *args, **kwargs):
partial = kwargs.pop("partial", False)
instance = self.get_object()
old_instance = copy(instance)
serializer = self.get_serializer(instance, data=request.data, partial=partial)
serializer.is_valid(raise_exception=True)
instance = self.perform_update(serializer)

create_consultation_events(
instance.consultation_id,
instance,
caused_by=self.request.user.id,
created_date=instance.created_date,
old=old_instance,
)

return Response(serializer.data)

0 comments on commit dc62e3f

Please sign in to comment.