diff --git a/erpnext/accounts/doctype/subscription/subscription.js b/erpnext/accounts/doctype/subscription/subscription.js index 9c5b264bc08..15927d59618 100644 --- a/erpnext/accounts/doctype/subscription/subscription.js +++ b/erpnext/accounts/doctype/subscription/subscription.js @@ -3,6 +3,12 @@ frappe.ui.form.on('Subscription', { setup: function(frm) { + frm.fields_dict['reference_doctype'].get_query = function(doc) { + return { + query: "erpnext.accounts.doctype.subscription.subscription.subscription_doctype_query" + }; + }; + frm.fields_dict['reference_document'].get_query = function() { return { filters: { diff --git a/erpnext/accounts/doctype/subscription/subscription.py b/erpnext/accounts/doctype/subscription/subscription.py index 352a0aa87c2..0e14e84b9d7 100644 --- a/erpnext/accounts/doctype/subscription/subscription.py +++ b/erpnext/accounts/doctype/subscription/subscription.py @@ -276,4 +276,20 @@ def stop_resume_subscription(subscription, status): doc.update_status(status) doc.save() - return doc.status \ No newline at end of file + return doc.status + +def subscription_doctype_query(doctype, txt, searchfield, start, page_len, filters): + return frappe.db.sql("""select parent from `tabDocField` + where fieldname = 'subscription' + and parent like %(txt)s + order by + if(locate(%(_txt)s, parent), locate(%(_txt)s, parent), 99999), + parent + limit %(start)s, %(page_len)s""".format(**{ + 'key': searchfield, + }), { + 'txt': "%%%s%%" % txt, + '_txt': txt.replace("%", ""), + 'start': start, + 'page_len': page_len + }) \ No newline at end of file