diff --git a/backend/app/main.py b/backend/app/main.py index 591174a..e31b4ab 100644 --- a/backend/app/main.py +++ b/backend/app/main.py @@ -491,6 +491,25 @@ def get_variant_dispensings(variant_id: int, db: Session = Depends(get_db), curr return db.query(Dispensing).filter(Dispensing.drug_variant_id == variant_id).order_by(Dispensing.dispensed_at.desc()).all() +# Helper function to capitalize text for labels +def capitalize_label_text(text: str) -> str: + """Capitalize the first letter of each sentence in the text""" + if not text: + return text + + # Capitalize first letter of the entire string + result = text[0].upper() + text[1:] if len(text) > 1 else text.upper() + + # Also capitalize after periods and common sentence breaks + for delimiter in ['. ', '! ', '? ']: + parts = result.split(delimiter) + result = delimiter.join([ + part[0].upper() + part[1:] if part else part + for part in parts + ]) + + return result + # Label printing endpoint @router.post("/labels/print", response_model=LabelPrintResponse) def print_label(label_request: LabelPrintRequest, current_user: User = Depends(get_current_user)): @@ -507,11 +526,20 @@ def print_label(label_request: LabelPrintRequest, current_user: User = Depends(g label_size = os.getenv("LABEL_SIZE", "29x90") test_mode = os.getenv("LABEL_TEST", "false").lower() == "true" + # Capitalize all text fields for better presentation + variables = label_request.variables.dict() + variables["practice_name"] = capitalize_label_text(variables["practice_name"]) + variables["animal_name"] = capitalize_label_text(variables["animal_name"]) + variables["drug_name"] = capitalize_label_text(variables["drug_name"]) + variables["dosage"] = capitalize_label_text(variables["dosage"]) + variables["quantity"] = capitalize_label_text(variables["quantity"]) + # expiry_date doesn't need capitalization + # Convert the request to the MQTT message format mqtt_message = { "template_id": template_id, "label_size": label_size, - "variables": label_request.variables.dict(), + "variables": variables, "test": test_mode } diff --git a/frontend/app.js b/frontend/app.js index 6b0e00e..1cf5f2d 100644 --- a/frontend/app.js +++ b/frontend/app.js @@ -394,7 +394,7 @@ function renderDrugs() {