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)