this repo has no description
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

fix:added update pydantic model and update validation (#3234)

Co-authored-by: Prafful Sharma <115104695+praffq@users.noreply.github.com>

authored by

Nandkishor R
Prafful Sharma
and committed by
GitHub
4e77a024 ed21ebe8

+15 -3
+15 -3
care/emr/api/viewsets/inventory/product.py
··· 11 11 EMRUpsertMixin, 12 12 ) 13 13 from care.emr.models.product import Product 14 - from care.emr.resources.inventory.product.spec import ProductReadSpec, ProductWriteSpec 14 + from care.emr.resources.inventory.product.spec import ( 15 + ProductReadSpec, 16 + ProductUpdateSpec, 17 + ProductWriteSpec, 18 + ) 15 19 from care.facility.models.facility import Facility 16 20 from care.security.authorization.base import AuthorizationController 17 21 from care.utils.shortcuts import get_object_or_404 ··· 35 39 ): 36 40 database_model = Product 37 41 pydantic_model = ProductWriteSpec 42 + pydantic_update_model = ProductUpdateSpec 38 43 pydantic_read_model = ProductReadSpec 39 44 filterset_class = ProductFilters 40 45 filter_backends = [filters.DjangoFilterBackend, OrderingFilter] ··· 45 50 Facility, external_id=self.kwargs["facility_external_id"] 46 51 ) 47 52 48 - def perform_create(self, instance): 49 - instance.facility = self.get_facility_obj() 53 + def validate_charge_item_definition(self, instance): 50 54 if ( 51 55 instance.charge_item_definition 52 56 and instance.charge_item_definition.facility != instance.facility 53 57 ): 54 58 raise ValidationError("Invalid Charge Item") 59 + 60 + def perform_create(self, instance): 61 + instance.facility = self.get_facility_obj() 62 + self.validate_charge_item_definition(instance) 55 63 if ( 56 64 instance.product_knowledge 57 65 and instance.product_knowledge.facility ··· 59 67 ): 60 68 raise ValidationError("Invalid Product Knowledge") 61 69 super().perform_create(instance) 70 + 71 + def perform_update(self, instance): 72 + self.validate_charge_item_definition(instance) 73 + return super().perform_update(instance) 62 74 63 75 def authorize_create(self, instance): 64 76 facility = self.get_facility_obj()