From 19126622af5df82d042e2864c076b3339692582b Mon Sep 17 00:00:00 2001 From: Ashesh <3626859+Ashesh3@users.noreply.github.com> Date: Mon, 24 Jun 2024 23:48:18 +0530 Subject: [PATCH] Prevent destination facility from marking shift as complete (#2114) * Prevent destination facility from marking shift as complete * Update care/facility/api/serializers/shifting.py Co-authored-by: Aakash Singh * Update care/facility/api/serializers/shifting.py * allow only origin facility user to mark shifting request as completed --------- Co-authored-by: Aakash Singh Co-authored-by: Vignesh Hari Co-authored-by: Khavin Shankar --- care/facility/api/serializers/shifting.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/care/facility/api/serializers/shifting.py b/care/facility/api/serializers/shifting.py index 4a82b39923..fbdb615fdc 100644 --- a/care/facility/api/serializers/shifting.py +++ b/care/facility/api/serializers/shifting.py @@ -323,8 +323,15 @@ def update(self, instance, validated_data): if ( "status" in validated_data and validated_data["status"] == REVERSE_SHIFTING_STATUS_CHOICES["COMPLETED"] + and not has_facility_permission(user, instance.origin_facility) ): - discharge_patient(instance.patient) + raise ValidationError( + { + "status": [ + "Permission Denied - Only staff from the origin facility can mark the shift as complete." + ] + } + ) old_status = instance.status new_instance = super().update(instance, validated_data)