Healthcare Service Unit Type - Validation and Item price updation
diff --git a/erpnext/healthcare/doctype/healthcare_service_unit_type/healthcare_service_unit_type.py b/erpnext/healthcare/doctype/healthcare_service_unit_type/healthcare_service_unit_type.py
index e0d380b..727d035 100644
--- a/erpnext/healthcare/doctype/healthcare_service_unit_type/healthcare_service_unit_type.py
+++ b/erpnext/healthcare/doctype/healthcare_service_unit_type/healthcare_service_unit_type.py
@@ -8,6 +8,11 @@
from frappe.model.document import Document
class HealthcareServiceUnitType(Document):
+ def validate(self):
+ if self.is_billable == 1:
+ if not self.uom or not self.item_group or not self.description or not self.no_of_hours > 0:
+ frappe.throw(_("Configure Item Fields like UOM, Item Group, Description and No of Hours."))
+
def after_insert(self):
if self.inpatient_occupancy and self.is_billable:
create_item(self)
@@ -22,13 +27,16 @@
def on_update(self):
if(self.change_in_item and self.is_billable == 1 and self.item):
updating_item(self)
- if not item_price_exist(self):
- if(self.test_rate != 0.0):
+ item_price = item_price_exist(self)
+ if not item_price:
+ if(self.rate != 0.0):
price_list_name = frappe.db.get_value("Price List", {"selling": 1})
- if(self.test_rate):
- make_item_price(self.test_code, price_list_name, self.test_rate)
+ if(self.rate):
+ make_item_price(self.item_code, price_list_name, self.rate)
else:
- make_item_price(self.test_code, price_list_name, 0.0)
+ make_item_price(self.item_code, price_list_name, 0.0)
+ else:
+ frappe.db.set_value("Item Price", item_price, "price_list_rate", self.rate)
frappe.db.set_value(self.doctype,self.name,"change_in_item",0)
elif(self.is_billable == 0 and self.item):
@@ -40,7 +48,7 @@
"doctype": "Item Price",
"item_code": doc.item_code})
if(item_price):
- return True
+ return item_price[0][0]
else:
return False