From 1dbfd5c1e7fb9409d07e8940ab317a669046b6c8 Mon Sep 17 00:00:00 2001 From: Jamsheer Date: Mon, 30 Jul 2018 12:35:42 +0530 Subject: [PATCH] Healthcare Settings - Heathcare Service Item - Validation --- .../healthcare_settings.js | 3 ++- .../healthcare_settings.py | 24 +++++++++++++------ 2 files changed, 19 insertions(+), 8 deletions(-) diff --git a/erpnext/healthcare/doctype/healthcare_settings/healthcare_settings.js b/erpnext/healthcare/doctype/healthcare_settings/healthcare_settings.js index 8879d93d438..22fbf5019a6 100644 --- a/erpnext/healthcare/doctype/healthcare_settings/healthcare_settings.js +++ b/erpnext/healthcare/doctype/healthcare_settings/healthcare_settings.js @@ -25,6 +25,7 @@ frappe.ui.form.on('Healthcare Settings', { }); set_query_service_item(frm, 'inpatient_visit_charge_item'); set_query_service_item(frm, 'op_consulting_charge_item'); + set_query_service_item(frm, 'clinical_procedure_consumable_item'); } }); @@ -37,4 +38,4 @@ var set_query_service_item = function(frm, service_item_field) { } }; }); -} +}; diff --git a/erpnext/healthcare/doctype/healthcare_settings/healthcare_settings.py b/erpnext/healthcare/doctype/healthcare_settings/healthcare_settings.py index 8c3cdfe1e7c..8555e80f848 100644 --- a/erpnext/healthcare/doctype/healthcare_settings/healthcare_settings.py +++ b/erpnext/healthcare/doctype/healthcare_settings/healthcare_settings.py @@ -10,13 +10,19 @@ from frappe.core.doctype.sms_settings.sms_settings import send_sms import json class HealthcareSettings(Document): - def validate(self): - for key in ["collect_registration_fee","manage_customer","patient_master_name", - "require_test_result_approval","require_sample_collection", "default_medical_code_standard"]: - frappe.db.set_default(key, self.get(key, "")) - if(self.collect_registration_fee): - if self.registration_fee <= 0 : - frappe.throw(_("Registration fee can not be Zero")) + def validate(self): + for key in ["collect_registration_fee","manage_customer","patient_master_name", + "require_test_result_approval","require_sample_collection", "default_medical_code_standard"]: + frappe.db.set_default(key, self.get(key, "")) + if(self.collect_registration_fee): + if self.registration_fee <= 0 : + frappe.throw(_("Registration fee can not be Zero")) + if self.inpatient_visit_charge_item: + validate_service_item(self.inpatient_visit_charge_item, "Configure a service Item for Inpatient Visit Charge Item") + if self.op_consulting_charge_item: + validate_service_item(self.op_consulting_charge_item, "Configure a service Item for Out Patient Consulting Charge Item") + if self.clinical_procedure_consumable_item: + validate_service_item(self.clinical_procedure_consumable_item, "Configure a service Item for Clinical Procedure Consumable Item") @frappe.whitelist() def get_sms_text(doc): @@ -67,3 +73,7 @@ def get_account(parent_type, parent_field, parent, company): if(parent_field): return frappe.db.get_value("Party Account", {"parentfield": parent_field, "parent": parent, "company": company}, "account") + +def validate_service_item(item, msg): + if frappe.db.get_value("Item", item, "is_stock_item") == 1: + frappe.throw(_(msg))