this repo has no description
0
fork

Configure Feed

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

Add print templates config in facility

+80 -2
+59 -2
care/emr/resources/facility/spec.py
··· 1 + from typing import Literal 2 + 1 3 from django.conf import settings 2 4 from django.db.models.functions import Lower, Trim 3 - from pydantic import UUID4, BaseModel, field_validator, model_validator 5 + from pydantic import UUID4, BaseModel, Field, field_validator, model_validator 4 6 from pydantic_core.core_schema import ValidationInfo 5 7 from pydantic_extra_types.coordinate import Latitude, Longitude 6 8 ··· 28 30 id: UUID4 | None = None 29 31 name: str 30 32 33 + class PageMargin(BaseModel): 34 + top: float = Field(ge=0) 35 + bottom: float = Field(ge=0) 36 + left: float = Field(ge=0) 37 + right: float = Field(ge=0) 38 + 39 + 40 + class PageConfig(BaseModel): 41 + size: Literal["A4", "A5", "Letter", "Legal"] | None = None 42 + orientation: Literal["portrait", "landscape"] | None = None 43 + margin: PageMargin | None = None 44 + 45 + 46 + class PrintSetupConfig(BaseModel): 47 + autoPrint: bool | None = None 48 + 49 + 50 + class LogoConfig(BaseModel): 51 + url: str 52 + width: float | None = None 53 + height: float | None = None 54 + alignment: Literal["left", "center", "right"] 55 + 56 + 57 + class HeaderImageConfig(BaseModel): 58 + url: str 59 + height: float | None = None 60 + 61 + 62 + class FooterImageConfig(BaseModel): 63 + url: str | None = None 64 + height: float | None = None 65 + 66 + 67 + class BrandingConfig(BaseModel): 68 + logo: LogoConfig | None = None 69 + headerImage: HeaderImageConfig | None = None 70 + footerImage: FooterImageConfig | None = None 71 + 72 + 73 + class WatermarkConfig(BaseModel): 74 + enabled: bool | None = None 75 + text: str | None = None 76 + opacity: float | None = Field(None, ge=0, le=1) 77 + rotation: float | None = None 78 + 79 + 80 + class PrintTemplate(BaseModel): 81 + page: PageConfig | None = None 82 + printSetup: PrintSetupConfig | None = None 83 + branding: BrandingConfig | None = None 84 + watermark: WatermarkConfig | None = None 85 + 31 86 32 87 class FacilityBaseSpec(FacilityBareMinimumSpec): 33 88 description: str ··· 39 94 middleware_address: str | None = None 40 95 facility_type: str 41 96 is_public: bool 42 - 43 97 44 98 DISCOUNT_CODE_COUNT_LIMIT = 100 45 99 DISCOUNT_MONETARY_COMPONENT_COUNT_LIMIT = 100 ··· 63 117 class FacilityCreateSpec(FacilityBaseSpec): 64 118 geo_organization: UUID4 65 119 features: list[int] 120 + print_templates: list[PrintTemplate] = [] 66 121 67 122 @field_validator("name") 68 123 @classmethod ··· 136 191 extensions_schema_supply_delivery: dict = {} 137 192 extensions_schema_supply_delivery_order: dict = {} 138 193 extensions_schema_account: dict = {} 194 + 195 + print_templates: list[dict] = [] 139 196 140 197 @classmethod 141 198 def perform_extra_serialization(cls, mapping, obj):
+1
care/emr/resources/patient/spec.py
··· 217 217 instance_tags: list[dict] = [] 218 218 facility_tags: list[dict] = [] 219 219 220 + 220 221 @classmethod 221 222 def perform_extra_serialization(cls, mapping, obj, *args, **kwargs): 222 223 mapping["id"] = obj.external_id
+18
care/facility/migrations/0482_facility_print_templates.py
··· 1 + # Generated by Django 6.0 on 2026-02-26 07:54 2 + 3 + from django.db import migrations, models 4 + 5 + 6 + class Migration(migrations.Migration): 7 + 8 + dependencies = [ 9 + ('facility', '0481_delete_asset_delete_assetbed_delete_bed_and_more'), 10 + ] 11 + 12 + operations = [ 13 + migrations.AddField( 14 + model_name='facility', 15 + name='print_templates', 16 + field=models.JSONField(default=dict), 17 + ), 18 + ]
+2
care/facility/models/facility.py
··· 216 216 max_length=1000, blank=True, null=True, default=None 217 217 ) 218 218 219 + print_templates = models.JSONField(default=dict) 220 + 219 221 class Meta: 220 222 verbose_name_plural = "Facilities" 221 223