chore: Lab Test Template form clean-up
This commit is contained in:
parent
9e81bb9a11
commit
440c752529
@ -112,7 +112,7 @@
|
|||||||
{
|
{
|
||||||
"default": "1",
|
"default": "1",
|
||||||
"depends_on": "eval:doc.lab_test_template_type != 'Grouped'",
|
"depends_on": "eval:doc.lab_test_template_type != 'Grouped'",
|
||||||
"description": "If unchecked, the item wont be appear in Sales Invoice, but can be used in group test creation. ",
|
"description": "If unchecked, the item will not be available in Sales Invoices for billing but can be used in group test creation. ",
|
||||||
"fieldname": "is_billable",
|
"fieldname": "is_billable",
|
||||||
"fieldtype": "Check",
|
"fieldtype": "Check",
|
||||||
"label": "Is Billable",
|
"label": "Is Billable",
|
||||||
@ -184,7 +184,7 @@
|
|||||||
"depends_on": "eval:doc.lab_test_template_type == 'Descriptive'",
|
"depends_on": "eval:doc.lab_test_template_type == 'Descriptive'",
|
||||||
"fieldname": "section_break_special",
|
"fieldname": "section_break_special",
|
||||||
"fieldtype": "Section Break",
|
"fieldtype": "Section Break",
|
||||||
"label": "Descriptive"
|
"label": "Descriptive Test"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"default": "0",
|
"default": "0",
|
||||||
@ -196,7 +196,7 @@
|
|||||||
"depends_on": "eval:doc.lab_test_template_type == 'Grouped'",
|
"depends_on": "eval:doc.lab_test_template_type == 'Grouped'",
|
||||||
"fieldname": "section_break_group",
|
"fieldname": "section_break_group",
|
||||||
"fieldtype": "Section Break",
|
"fieldtype": "Section Break",
|
||||||
"label": "Group"
|
"label": "Group Tests"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"fieldname": "lab_test_groups",
|
"fieldname": "lab_test_groups",
|
||||||
@ -314,7 +314,7 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"links": [],
|
"links": [],
|
||||||
"modified": "2020-07-13 12:57:09.925436",
|
"modified": "2020-07-30 11:55:43.093828",
|
||||||
"modified_by": "Administrator",
|
"modified_by": "Administrator",
|
||||||
"module": "Healthcare",
|
"module": "Healthcare",
|
||||||
"name": "Lab Test Template",
|
"name": "Lab Test Template",
|
||||||
|
@ -15,7 +15,8 @@ class LabTestTemplate(Document):
|
|||||||
|
|
||||||
def validate(self):
|
def validate(self):
|
||||||
if self.is_billable and (not self.lab_test_rate or self.lab_test_rate <= 0.0):
|
if self.is_billable and (not self.lab_test_rate or self.lab_test_rate <= 0.0):
|
||||||
frappe.throw(_("Standard Selling Rate should be greater than zero."))
|
frappe.throw(_('Standard Selling Rate should be greater than zero.'))
|
||||||
|
|
||||||
self.validate_conversion_factor()
|
self.validate_conversion_factor()
|
||||||
self.enable_disable_item()
|
self.enable_disable_item()
|
||||||
|
|
||||||
@ -42,7 +43,9 @@ class LabTestTemplate(Document):
|
|||||||
# Remove template reference from item and disable item
|
# Remove template reference from item and disable item
|
||||||
if self.item:
|
if self.item:
|
||||||
try:
|
try:
|
||||||
frappe.delete_doc('Item', self.item)
|
item = self.item
|
||||||
|
self.db_set('item', '')
|
||||||
|
frappe.delete_doc('Item', item)
|
||||||
except Exception:
|
except Exception:
|
||||||
frappe.throw(_('Not permitted. Please disable the Lab Test Template'))
|
frappe.throw(_('Not permitted. Please disable the Lab Test Template'))
|
||||||
|
|
||||||
@ -63,26 +66,26 @@ class LabTestTemplate(Document):
|
|||||||
'standard_rate': self.lab_test_rate,
|
'standard_rate': self.lab_test_rate,
|
||||||
'description': self.lab_test_description
|
'description': self.lab_test_description
|
||||||
})
|
})
|
||||||
item.save()
|
item.flags.ignore_mandatory = True
|
||||||
|
item.save(ignore_permissions=True)
|
||||||
|
|
||||||
def item_price_exists(self):
|
def item_price_exists(self):
|
||||||
item_price = frappe.db.exists({'doctype': 'Item Price', 'item_code': self.lab_test_code})
|
item_price = frappe.db.exists({'doctype': 'Item Price', 'item_code': self.lab_test_code})
|
||||||
if item_price:
|
if item_price:
|
||||||
return item_price[0][0]
|
return item_price[0][0]
|
||||||
else:
|
return False
|
||||||
return False
|
|
||||||
|
|
||||||
def validate_conversion_factor(self):
|
def validate_conversion_factor(self):
|
||||||
if self.lab_test_template_type == "Single" and self.secondary_uom and not self.conversion_factor:
|
if self.lab_test_template_type == 'Single' and self.secondary_uom and not self.conversion_factor:
|
||||||
frappe.throw(_("Conversion Factor is mandatory"))
|
frappe.throw(_('Conversion Factor is mandatory'))
|
||||||
if self.lab_test_template_type == "Compound":
|
if self.lab_test_template_type == 'Compound':
|
||||||
for item in self.normal_test_templates:
|
for item in self.normal_test_templates:
|
||||||
if item.secondary_uom and not item.conversion_factor:
|
if item.secondary_uom and not item.conversion_factor:
|
||||||
frappe.throw(_("Conversion Factor is mandatory"))
|
frappe.throw(_('Conversion Factor is mandatory'))
|
||||||
if self.lab_test_template_type == "Grouped":
|
if self.lab_test_template_type == 'Grouped':
|
||||||
for group in self.lab_test_groups:
|
for group in self.lab_test_groups:
|
||||||
if group.template_or_new_line == "Add New Line" and group.secondary_uom and not group.conversion_factor:
|
if group.template_or_new_line == 'Add New Line' and group.secondary_uom and not group.conversion_factor:
|
||||||
frappe.throw(_("Conversion Factor is mandatory"))
|
frappe.throw(_('Conversion Factor is mandatory'))
|
||||||
|
|
||||||
|
|
||||||
def create_item_from_template(doc):
|
def create_item_from_template(doc):
|
||||||
@ -103,7 +106,7 @@ def create_item_from_template(doc):
|
|||||||
'is_pro_applicable': 0,
|
'is_pro_applicable': 0,
|
||||||
'disabled': 0 if doc.is_billable and not doc.disabled else doc.disabled,
|
'disabled': 0 if doc.is_billable and not doc.disabled else doc.disabled,
|
||||||
'stock_uom': uom
|
'stock_uom': uom
|
||||||
}).insert(ignore_permissions = True, ignore_mandatory = True)
|
}).insert(ignore_permissions=True, ignore_mandatory=True)
|
||||||
|
|
||||||
# Insert item price
|
# Insert item price
|
||||||
if doc.is_billable and doc.lab_test_rate != 0.0:
|
if doc.is_billable and doc.lab_test_rate != 0.0:
|
||||||
@ -123,7 +126,7 @@ def make_item_price(item, price_list_name, item_price):
|
|||||||
'price_list': price_list_name,
|
'price_list': price_list_name,
|
||||||
'item_code': item,
|
'item_code': item,
|
||||||
'price_list_rate': item_price
|
'price_list_rate': item_price
|
||||||
}).insert(ignore_permissions = True, ignore_mandatory = True)
|
}).insert(ignore_permissions=True, ignore_mandatory=True)
|
||||||
|
|
||||||
@frappe.whitelist()
|
@frappe.whitelist()
|
||||||
def change_test_code_from_template(lab_test_code, doc):
|
def change_test_code_from_template(lab_test_code, doc):
|
||||||
@ -132,8 +135,8 @@ def change_test_code_from_template(lab_test_code, doc):
|
|||||||
if frappe.db.exists({'doctype': 'Item', 'item_code': lab_test_code}):
|
if frappe.db.exists({'doctype': 'Item', 'item_code': lab_test_code}):
|
||||||
frappe.throw(_('Lab Test Item {0} already exist').format(lab_test_code))
|
frappe.throw(_('Lab Test Item {0} already exist').format(lab_test_code))
|
||||||
else:
|
else:
|
||||||
rename_doc('Item', doc.name, lab_test_code, ignore_permissions = True)
|
rename_doc('Item', doc.name, lab_test_code, ignore_permissions=True)
|
||||||
frappe.db.set_value('Lab Test Template', doc.name, 'lab_test_code', lab_test_code)
|
frappe.db.set_value('Lab Test Template', doc.name, 'lab_test_code', lab_test_code)
|
||||||
frappe.db.set_value('Lab Test Template', doc.name, 'lab_test_name', lab_test_code)
|
frappe.db.set_value('Lab Test Template', doc.name, 'lab_test_name', lab_test_code)
|
||||||
rename_doc('Lab Test Template', doc.name, lab_test_code, ignore_permissions = True)
|
rename_doc('Lab Test Template', doc.name, lab_test_code, ignore_permissions=True)
|
||||||
return lab_test_code
|
return lab_test_code
|
||||||
|
@ -3,5 +3,5 @@
|
|||||||
*/
|
*/
|
||||||
frappe.listview_settings['Lab Test Template'] = {
|
frappe.listview_settings['Lab Test Template'] = {
|
||||||
add_fields: ['lab_test_name', 'lab_test_code', 'lab_test_rate'],
|
add_fields: ['lab_test_name', 'lab_test_code', 'lab_test_rate'],
|
||||||
filters: [['disabled', '=', 0]]
|
filters: [['disabled', '=', 'No']]
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user