fix: therapy plan and session fixes

This commit is contained in:
Rucha Mahabal 2020-11-04 20:06:07 +05:30
parent 0fde102ea5
commit 2673c19c1a
6 changed files with 83 additions and 61 deletions

View File

@ -37,7 +37,8 @@
"depends_on": "eval:doc.parenttype==\"Therapy\";", "depends_on": "eval:doc.parenttype==\"Therapy\";",
"fieldname": "counts_completed", "fieldname": "counts_completed",
"fieldtype": "Int", "fieldtype": "Int",
"label": "Counts Completed" "label": "Counts Completed",
"no_copy": 1
}, },
{ {
"fieldname": "assistance_level", "fieldname": "assistance_level",
@ -48,7 +49,7 @@
], ],
"istable": 1, "istable": 1,
"links": [], "links": [],
"modified": "2020-04-10 13:41:06.662351", "modified": "2020-11-04 18:20:25.583491",
"modified_by": "Administrator", "modified_by": "Administrator",
"module": "Healthcare", "module": "Healthcare",
"name": "Exercise", "name": "Exercise",

View File

@ -13,43 +13,42 @@ frappe.ui.form.on('Therapy Plan', {
refresh: function(frm) { refresh: function(frm) {
if (!frm.doc.__islocal) { if (!frm.doc.__islocal) {
frm.trigger('show_progress_for_therapies'); frm.trigger('show_progress_for_therapies');
} if (frm.doc.status != 'Completed') {
let therapy_types = (frm.doc.therapy_plan_details || []).map(function(d){ return d.therapy_type });
if (!frm.doc.__islocal && frm.doc.status != 'Completed') { const fields = [{
let therapy_types = (frm.doc.therapy_plan_details || []).map(function(d){ return d.therapy_type }); fieldtype: 'Link',
const fields = [{ label: __('Therapy Type'),
fieldtype: 'Link', fieldname: 'therapy_type',
label: __('Therapy Type'), options: 'Therapy Type',
fieldname: 'therapy_type', reqd: 1,
options: 'Therapy Type', get_query: function() {
reqd: 1, return {
get_query: function() { filters: { 'therapy_type': ['in', therapy_types]}
return {
filters: { 'therapy_type': ['in', therapy_types]}
}
}
}];
frm.add_custom_button(__('Therapy Session'), function() {
frappe.prompt(fields, data => {
frappe.call({
method: 'erpnext.healthcare.doctype.therapy_plan.therapy_plan.make_therapy_session',
args: {
therapy_plan: frm.doc.name,
patient: frm.doc.patient,
therapy_type: data.therapy_type,
company: frm.doc.company
},
freeze: true,
callback: function(r) {
if (r.message) {
frappe.model.sync(r.message);
frappe.set_route('Form', r.message.doctype, r.message.name);
}
} }
}); }
}, __('Select Therapy Type'), __('Create')); }];
}, __('Create'));
frm.add_custom_button(__('Therapy Session'), function() {
frappe.prompt(fields, data => {
frappe.call({
method: 'erpnext.healthcare.doctype.therapy_plan.therapy_plan.make_therapy_session',
args: {
therapy_plan: frm.doc.name,
patient: frm.doc.patient,
therapy_type: data.therapy_type,
company: frm.doc.company
},
freeze: true,
callback: function(r) {
if (r.message) {
frappe.model.sync(r.message);
frappe.set_route('Form', r.message.doctype, r.message.name);
}
}
});
}, __('Select Therapy Type'), __('Create'));
}, __('Create'));
}
if (frm.doc.therapy_plan_template && !frm.doc.invoiced) { if (frm.doc.therapy_plan_template && !frm.doc.invoiced) {
frm.add_custom_button(__('Sales Invoice'), function() { frm.add_custom_button(__('Sales Invoice'), function() {

View File

@ -115,7 +115,8 @@
"fieldname": "therapy_plan_template", "fieldname": "therapy_plan_template",
"fieldtype": "Link", "fieldtype": "Link",
"label": "Therapy Plan Template", "label": "Therapy Plan Template",
"options": "Therapy Plan Template" "options": "Therapy Plan Template",
"set_only_once": 1
}, },
{ {
"default": "0", "default": "0",
@ -128,7 +129,7 @@
} }
], ],
"links": [], "links": [],
"modified": "2020-10-23 01:27:42.128855", "modified": "2020-11-04 18:13:13.564999",
"modified_by": "Administrator", "modified_by": "Administrator",
"module": "Healthcare", "module": "Healthcare",
"name": "Therapy Plan", "name": "Therapy Plan",

View File

@ -30,12 +30,13 @@
"fieldname": "sessions_completed", "fieldname": "sessions_completed",
"fieldtype": "Int", "fieldtype": "Int",
"label": "Sessions Completed", "label": "Sessions Completed",
"no_copy": 1,
"read_only": 1 "read_only": 1
} }
], ],
"istable": 1, "istable": 1,
"links": [], "links": [],
"modified": "2020-10-08 01:17:34.778028", "modified": "2020-11-04 18:15:52.173450",
"modified_by": "Administrator", "modified_by": "Administrator",
"module": "Healthcare", "module": "Healthcare",
"name": "Therapy Plan Detail", "name": "Therapy Plan Detail",

View File

@ -22,6 +22,10 @@ frappe.ui.form.on('Therapy Session', {
}, },
refresh: function(frm) { refresh: function(frm) {
if (frm.doc.therapy_plan) {
frm.trigger('filter_therapy_types');
}
if (!frm.doc.__islocal) { if (!frm.doc.__islocal) {
frm.dashboard.add_indicator(__('Counts Targeted: {0}', [frm.doc.total_counts_targeted]), 'blue'); frm.dashboard.add_indicator(__('Counts Targeted: {0}', [frm.doc.total_counts_targeted]), 'blue');
frm.dashboard.add_indicator(__('Counts Completed: {0}', [frm.doc.total_counts_completed]), frm.dashboard.add_indicator(__('Counts Completed: {0}', [frm.doc.total_counts_completed]),
@ -36,15 +40,43 @@ frappe.ui.form.on('Therapy Session', {
}) })
}, 'Create'); }, 'Create');
frm.add_custom_button(__('Sales Invoice'), function() { frappe.db.get_value('Therapy Plan', {'name': frm.doc.therapy_plan}, 'therapy_plan_template', (r) => {
frappe.model.open_mapped_doc({ if (r && !r.therapy_plan_template) {
method: 'erpnext.healthcare.doctype.therapy_session.therapy_session.invoice_therapy_session', frm.add_custom_button(__('Sales Invoice'), function() {
frm: frm, frappe.model.open_mapped_doc({
}) method: 'erpnext.healthcare.doctype.therapy_session.therapy_session.invoice_therapy_session',
}, 'Create'); frm: frm,
})
}, 'Create');
}
});
} }
}, },
therapy_plan: function(frm) {
if (frm.doc.therapy_plan) {
frm.trigger('filter_therapy_types');
}
},
filter_therapy_types: function(frm) {
frappe.call({
'method': 'frappe.client.get',
args: {
doctype: 'Therapy Plan',
name: frm.doc.therapy_plan
},
callback: function(data) {
let therapy_types = (data.message.therapy_plan_details || []).map(function(d){ return d.therapy_type });
frm.set_query('therapy_type', function() {
return {
filters: { 'therapy_type': ['in', therapy_types]}
};
});
}
});
},
patient: function(frm) { patient: function(frm) {
if (frm.doc.patient) { if (frm.doc.patient) {
frappe.call({ frappe.call({
@ -98,19 +130,6 @@ frappe.ui.form.on('Therapy Session', {
frm.set_value(values); frm.set_value(values);
} }
}); });
} else {
let values = {
'patient': '',
'therapy_type': '',
'therapy_plan': '',
'practitioner': '',
'department': '',
'start_date': '',
'start_time': '',
'service_unit': '',
'duration': ''
};
frm.set_value(values);
} }
}, },

View File

@ -194,6 +194,7 @@
"fieldname": "total_counts_completed", "fieldname": "total_counts_completed",
"fieldtype": "Int", "fieldtype": "Int",
"label": "Total Counts Completed", "label": "Total Counts Completed",
"no_copy": 1,
"read_only": 1 "read_only": 1
}, },
{ {
@ -222,7 +223,7 @@
], ],
"is_submittable": 1, "is_submittable": 1,
"links": [], "links": [],
"modified": "2020-10-22 23:10:21.178644", "modified": "2020-11-04 18:14:25.999939",
"modified_by": "Administrator", "modified_by": "Administrator",
"module": "Healthcare", "module": "Healthcare",
"name": "Therapy Session", "name": "Therapy Session",