Created
April 25, 2016 10:11
-
-
Save sbkolate/a390cc9d03fb4c4875d0b6ab191b50a7 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// add interaction | |
frappe.ui.form.on("Quotation", "refresh", function(frm, doctype, name) { | |
cur_frm.add_custom_button(__('Add Meeting Details'), function() { | |
cur_frm.cscript.convert_to_group(); }, "icon-exclamation", "btn-default"); | |
cur_frm.cscript.convert_to_group = function(doc, cdt, cdn) { | |
var d = new frappe.ui.Dialog({ | |
title:__('Type of Interaction'), | |
fields: [ | |
{label:__("Type of Interaction"), fieldtype:"Select",'default': "Call", | |
options: ["Call","Mail","Face to Face","SMS","Skype"], | |
fieldname:"type_of_interaction"}, | |
{label:__("Result"), fieldtype:"Select", options: | |
["Status Quo","Warmer","Colder","Closed Lost","Closed Won"], fieldname:"result"}, | |
{'fieldname': 'responsible', 'fieldtype': 'Link', options:"User", 'default': user, 'label': 'Responsible', 'reqd': 0}, | |
{fieldtype: "Column Break"}, | |
{'fieldname': 'person_interacted_with', 'fieldtype': 'Data', 'label': 'Person Interacted with', 'reqd': 0}, | |
{'fieldname': 'next_date', 'fieldtype': 'Date', | |
'label': 'Next Action Date', 'default': frappe.datetime.add_days(frappe.datetime.nowdate(),7), 'reqd': 0}, | |
{'fieldname': 'next_action_by', 'fieldtype': 'Link', options:"User", 'default': user,'label': 'Next Action By', 'reqd': 0}, | |
{fieldtype: "Section Break"}, | |
{'fieldname': 'comment', 'fieldtype': 'Text', 'label': 'Next Action Task', 'reqd': 1}, | |
{fieldtype: "Section Break", collapsible:true}, | |
{'fieldname': 'is_expense', 'fieldtype': 'Check', 'label': 'Is Expense'}, | |
{'fieldname': 'expense_type', 'fieldtype': 'Link', options:"Expense Claim Type", depends_on: 1,'label': 'Expense Claim Type', 'reqd': 0}, | |
{'fieldname': 'claim_amount', 'fieldtype': 'Currency', 'label': 'Expense Amount', 'reqd': 0}, | |
{'fieldname': 'expense_date', 'fieldtype': 'Date', | |
'label': 'Expense Date', 'default': frappe.datetime.add_days(frappe.datetime.nowdate(),0), 'reqd': 1}, | |
{fieldtype: "Column Break"}, | |
{'fieldname': 'exp_approver', 'fieldtype': 'Link', options:"User", 'default': user,'label': 'Expense Approver', 'reqd': 0}, | |
{'fieldname': 'description', 'fieldtype': 'Text', 'label': 'Description'}, | |
] | |
}) | |
var fd = d.fields_dict; | |
$(fd.expense_date.wrapper).toggle(false); | |
$(fd.expense_type.wrapper).toggle(false); | |
$(fd.claim_amount.wrapper).toggle(false); | |
$(fd.exp_approver.wrapper).toggle(false); | |
$(fd.description.wrapper).toggle(false); | |
// account type if ledger | |
$(fd.is_expense.input).change(function() { | |
console.log("in chage"); | |
if($(this).prop("checked")) { | |
$(fd.expense_date.wrapper).toggle(true); | |
$(fd.expense_type.wrapper).toggle(true); | |
$(fd.claim_amount.wrapper).toggle(true); | |
$(fd.exp_approver.wrapper).toggle(true); | |
$(fd.description.wrapper).toggle(true); | |
fd.expense_date.$input.trigger("change"); | |
fd.expense_type.$input.trigger("change"); | |
fd.claim_amount.$input.trigger("change"); | |
fd.exp_approver.$input.trigger("change"); | |
fd.description.$input.trigger("change"); | |
d.fields_dict.claim_amount.df.reqd=1; | |
d.fields_dict.expense_type.df.reqd=1; | |
d.fields_dict.description.df.reqd=1; | |
d.fields_dict.claim_amount.refresh(); | |
d.fields_dict.expense_type.refresh(); | |
d.fields_dict.description.refresh(); | |
} else { | |
$(fd.expense_date.wrapper).toggle(false); | |
$(fd.expense_type.wrapper).toggle(false); | |
$(fd.claim_amount.wrapper).toggle(false); | |
$(fd.exp_approver.wrapper).toggle(false); | |
$(fd.description.wrapper).toggle(false); | |
fd.expense_date.$input.trigger("change"); | |
fd.expense_type.$input.trigger("change"); | |
fd.claim_amount.$input.trigger("change"); | |
fd.exp_approver.$input.trigger("change"); | |
fd.description.$input.trigger("change"); | |
d.fields_dict.claim_amount.df.reqd=0; | |
d.fields_dict.expense_type.df.reqd=0; | |
d.fields_dict.description.df.reqd=0; | |
d.fields_dict.claim_amount.refresh(); | |
d.fields_dict.expense_type.refresh(); | |
d.fields_dict.description.refresh(); | |
} | |
}); | |
d.set_primary_action(__("Submit"), function() { | |
d.hide(); | |
var c = d.get_values() | |
var cmnt = "<br> Person Interacted_With: "+ c.person_interacted_with | |
+"<br>Type of Interaction: "+ c.type_of_interaction | |
+"<br>Result: "+ c.result | |
+"<br>Next Action Date: " +c.next_date | |
+"<br>Next Action By: "+ c.next_action_by | |
+ "<br>Next Action Task: "+c.comment | |
+ "<br>Responsible: "+c.responsible | |
var me = frm.doc | |
// start interaction master | |
if(c.is_expense){ | |
frappe.call({ | |
method: "rigpl_erpnext.custom_method.custom_method.add_expense_claim", | |
args: { | |
doc:{ | |
doctype: "Expense Claim", | |
exp_approver: c.exp_approver, | |
responsible: c.responsible, | |
"expenses":[{ | |
"expense_type": c.expense_type, | |
"expense_date": c.expense_date, | |
"claim_amount": c.claim_amount, | |
"description": c.description, | |
} | |
], | |
} | |
}, | |
callback: function(r) { | |
msgprint("Expense Claim Created"); | |
} | |
}); | |
} | |
//end interaction master | |
// create todo | |
if(1==1){ | |
frappe.call({ | |
method: "rigpl_erpnext.custom_method.custom_method.create_todo", | |
args: { | |
owner: c.next_action_by, | |
assigned_by: c.responsible, | |
description: c.comment, | |
date: c.next_date, | |
reference_name: frm.doc.name, | |
reference_type: frm.doc.doctype | |
} | |
}) | |
} | |
// end of create todo | |
return frappe.call({ | |
method: "frappe.desk.form.utils.add_comment", | |
args: { | |
doc:{ | |
doctype: "Communication", | |
communication_type: "Comment", | |
reference_doctype: frm.doc.doctype, | |
reference_name: frm.doc.name, | |
comment: "cmnt", | |
subject: "cmnt", | |
content: cmnt, | |
responce_reson: c.responce_reson, | |
next_date: c.next_date, | |
type_of_interaction: c.type_of_interaction, | |
result: c.result, | |
next_action_by: c.next_action_by, | |
comment_by: user | |
} | |
}, | |
callback: function(r) { | |
msgprint("Interaction Submited Successfully"); | |
cur_frm.reload_doc(); | |
if (cur_frm) { | |
if (cur_frm.docname && (frappe.last_edited_communication[cur_frm.doctype] || {})[cur_frm.docname]) { | |
delete frappe.last_edited_communication[cur_frm.doctype][cur_frm.docname]; | |
} | |
// cur_frm.comments.input.val(""); | |
} | |
} | |
}); | |
}); | |
d.show(); | |
} | |
}); | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment