From 7973006c27b3e6173c83eedd2b8feb10691711f1 Mon Sep 17 00:00:00 2001 From: rithviknishad Date: Thu, 9 Nov 2023 01:01:12 +0530 Subject: [PATCH] Adds authz for Prescription & MAR fixes #1695 --- care/facility/models/prescription.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/care/facility/models/prescription.py b/care/facility/models/prescription.py index fc05467f4e..1bcbcb9936 100644 --- a/care/facility/models/prescription.py +++ b/care/facility/models/prescription.py @@ -5,6 +5,9 @@ from django.db.models import JSONField from django.utils import timezone +from care.facility.models.mixins.permissions.patient import ( + ConsultationRelatedPermissionMixin, +) from care.facility.models.patient_consultation import PatientConsultation from care.utils.models.base import BaseModel @@ -67,7 +70,7 @@ def __str__(self): return " - ".join(filter(None, [self.name, self.generic, self.company])) -class Prescription(BaseModel): +class Prescription(BaseModel, ConsultationRelatedPermissionMixin): consultation = models.ForeignKey( PatientConsultation, on_delete=models.PROTECT, @@ -142,7 +145,7 @@ def __str__(self): return self.medicine + " - " + self.consultation.patient.name -class MedicineAdministration(BaseModel): +class MedicineAdministration(BaseModel, ConsultationRelatedPermissionMixin): prescription = models.ForeignKey( Prescription, on_delete=models.PROTECT, @@ -171,6 +174,9 @@ def __str__(self): + self.prescription.consultation.patient.name ) + def get_related_consultation(self): + return self.prescription.consultation + def validate(self) -> None: if self.prescription.discontinued: raise ValidationError(