get_query for profile based link fields to enable searching by name
This commit is contained in:
		
							parent
							
								
									f26511e466
								
							
						
					
					
						commit
						e65e621145
					
				| @ -52,3 +52,5 @@ cur_frm.fields_dict['territory'].get_query = function(doc,cdt,cdn) { | |||||||
| cur_frm.fields_dict['select_print_heading'].get_query = function(doc, cdt, cdn) { | cur_frm.fields_dict['select_print_heading'].get_query = function(doc, cdt, cdn) { | ||||||
| 	return 'SELECT `tabPrint Heading`.name FROM `tabPrint Heading` WHERE `tabPrint Heading`.docstatus !=2 AND `tabPrint Heading`.name LIKE "%s" ORDER BY `tabPrint Heading`.name ASC LIMIT 50'; | 	return 'SELECT `tabPrint Heading`.name FROM `tabPrint Heading` WHERE `tabPrint Heading`.docstatus !=2 AND `tabPrint Heading`.name LIKE "%s" ORDER BY `tabPrint Heading`.name ASC LIMIT 50'; | ||||||
| } | } | ||||||
|  | 
 | ||||||
|  | cur_frm.fields_dict.user.get_query = erpnext.utils.profile_query; | ||||||
| @ -64,3 +64,5 @@ cur_frm.cscript.make_salary_structure = function(doc,dt,dn,det){ | |||||||
| 	st.grade=doc.grade; | 	st.grade=doc.grade; | ||||||
| 	loaddoc('Salary Structure', st.name); | 	loaddoc('Salary Structure', st.name); | ||||||
| } | } | ||||||
|  | 
 | ||||||
|  | cur_frm.fields_dict.user_id.get_query = erpnext.utils.profile_query; | ||||||
| @ -15,5 +15,6 @@ | |||||||
| 		"app/public/js/themes.js", | 		"app/public/js/themes.js", | ||||||
| 		"app/public/js/toolbar.js", | 		"app/public/js/toolbar.js", | ||||||
| 		"app/public/js/feature_setup.js", | 		"app/public/js/feature_setup.js", | ||||||
|  | 		"app/public/js/utils.js" | ||||||
| 	], | 	], | ||||||
| } | } | ||||||
| @ -192,4 +192,4 @@ erpnext.setup_mousetrap = function() { | |||||||
| // start
 | // start
 | ||||||
| $(document).bind('startup', function() { | $(document).bind('startup', function() { | ||||||
| 	erpnext.startup.start(); | 	erpnext.startup.start(); | ||||||
| }); | }); | ||||||
							
								
								
									
										26
									
								
								public/js/utils.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								public/js/utils.js
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,26 @@ | |||||||
|  | // ERPNext - web based ERP (http://erpnext.com)
 | ||||||
|  | // Copyright (C) 2012 Web Notes Technologies Pvt Ltd
 | ||||||
|  | // 
 | ||||||
|  | // This program is free software: you can redistribute it and/or modify
 | ||||||
|  | // it under the terms of the GNU General Public License as published by
 | ||||||
|  | // the Free Software Foundation, either version 3 of the License, or
 | ||||||
|  | // (at your option) any later version.
 | ||||||
|  | // 
 | ||||||
|  | // This program is distributed in the hope that it will be useful,
 | ||||||
|  | // but WITHOUT ANY WARRANTY; without even the implied warranty of
 | ||||||
|  | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | ||||||
|  | // GNU General Public License for more details.
 | ||||||
|  | // 
 | ||||||
|  | // You should have received a copy of the GNU General Public License
 | ||||||
|  | // along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | ||||||
|  | 
 | ||||||
|  | wn.provide('erpnext.utils'); | ||||||
|  | 
 | ||||||
|  | // profile related get_query
 | ||||||
|  | erpnext.utils.profile_query = function() { | ||||||
|  | 	return "select name, concat_ws(' ', first_name, middle_name, last_name) \ | ||||||
|  | 		from `tabProfile` where ifnull(enabled, 0)=1 and docstatus < 2 and \ | ||||||
|  | 		name not in ('Administrator', 'Guest') and (%(key)s like \"%s\" or \ | ||||||
|  | 		concat_ws(' ', first_name, middle_name, last_name) like \"%%%s\") \ | ||||||
|  | 		limit 50"; | ||||||
|  | }; | ||||||
| @ -43,6 +43,14 @@ cur_frm.cscript.onload = function(doc, cdt, cdn) { | |||||||
| 	cur_frm.add_fetch('customer', 'customer_name', 'company_name'); | 	cur_frm.add_fetch('customer', 'customer_name', 'company_name'); | ||||||
| 
 | 
 | ||||||
| 	cur_frm.cscript.make_communication_body(); | 	cur_frm.cscript.make_communication_body(); | ||||||
|  | 	 | ||||||
|  | 	if(cur_frm.fields_dict.lead_owner.df.options.match(/^Profile/)) { | ||||||
|  | 		cur_frm.fields_dict.lead_owner.get_query = erpnext.utils.profile_query; | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	if(cur_frm.fields_dict.contact_by.df.options.match(/^Profile/)) { | ||||||
|  | 		cur_frm.fields_dict.contact_by.get_query = erpnext.utils.profile_query; | ||||||
|  | 	} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| cur_frm.cscript.refresh_custom_buttons = function(doc) { | cur_frm.cscript.refresh_custom_buttons = function(doc) { | ||||||
| @ -140,4 +148,4 @@ cur_frm.cscript['Create Opportunity'] = function(){ | |||||||
| //get query select Territory
 | //get query select Territory
 | ||||||
| cur_frm.fields_dict['territory'].get_query = function(doc,cdt,cdn) { | cur_frm.fields_dict['territory'].get_query = function(doc,cdt,cdn) { | ||||||
| 	return 'SELECT `tabTerritory`.`name`,`tabTerritory`.`parent_territory` FROM `tabTerritory` WHERE `tabTerritory`.`is_group` = "No" AND `tabTerritory`.`docstatus`!= 2 AND `tabTerritory`.%(key)s LIKE "%s" ORDER BY	`tabTerritory`.`name` ASC LIMIT 50'; | 	return 'SELECT `tabTerritory`.`name`,`tabTerritory`.`parent_territory` FROM `tabTerritory` WHERE `tabTerritory`.`is_group` = "No" AND `tabTerritory`.`docstatus`!= 2 AND `tabTerritory`.%(key)s LIKE "%s" ORDER BY	`tabTerritory`.`name` ASC LIMIT 50'; | ||||||
| } | } | ||||||
| @ -49,6 +49,10 @@ cur_frm.cscript.onload = function(doc, cdt, cdn) { | |||||||
| 	}  | 	}  | ||||||
| 
 | 
 | ||||||
| 	cur_frm.cscript.make_communication_body(); | 	cur_frm.cscript.make_communication_body(); | ||||||
|  | 	 | ||||||
|  | 	if(cur_frm.fields_dict.contact_by.df.options.match(/^Profile/)) { | ||||||
|  | 		cur_frm.fields_dict.contact_by.get_query = erpnext.utils.profile_query; | ||||||
|  | 	} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| cur_frm.cscript.onload_post_render = function(doc, cdt, cdn) { | cur_frm.cscript.onload_post_render = function(doc, cdt, cdn) { | ||||||
| @ -204,4 +208,4 @@ cur_frm.cscript['Declare Opportunity Lost'] = function(){ | |||||||
| 
 | 
 | ||||||
| //get query select Territory
 | //get query select Territory
 | ||||||
| cur_frm.fields_dict['territory'].get_query = function(doc,cdt,cdn) { | cur_frm.fields_dict['territory'].get_query = function(doc,cdt,cdn) { | ||||||
| 	return 'SELECT `tabTerritory`.`name`,`tabTerritory`.`parent_territory` FROM `tabTerritory` WHERE `tabTerritory`.`is_group` = "No" AND `tabTerritory`.`docstatus`!= 2 AND `tabTerritory`.%(key)s LIKE "%s"	ORDER BY	`tabTerritory`.`name` ASC LIMIT 50';} | 	return 'SELECT `tabTerritory`.`name`,`tabTerritory`.`parent_territory` FROM `tabTerritory` WHERE `tabTerritory`.`is_group` = "No" AND `tabTerritory`.`docstatus`!= 2 AND `tabTerritory`.%(key)s LIKE "%s"	ORDER BY	`tabTerritory`.`name` ASC LIMIT 50';} | ||||||
| @ -50,6 +50,10 @@ cur_frm.cscript.onload = function(doc, cdt, cdn) { | |||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
| 	cur_frm.cscript.make_communication_body(); | 	cur_frm.cscript.make_communication_body(); | ||||||
|  | 	 | ||||||
|  | 	if(cur_frm.fields_dict.contact_by.df.options.match(/^Profile/)) { | ||||||
|  | 		cur_frm.fields_dict.contact_by.get_query = erpnext.utils.profile_query; | ||||||
|  | 	} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| cur_frm.cscript.onload_post_render = function(doc, dt, dn) { | cur_frm.cscript.onload_post_render = function(doc, dt, dn) { | ||||||
| @ -337,4 +341,4 @@ cur_frm.cscript.on_submit = function(doc, cdt, cdn) { | |||||||
| 		doctype: 'Quotation' | 		doctype: 'Quotation' | ||||||
| 	} | 	} | ||||||
| 	cur_frm.cscript.notify(doc, args); | 	cur_frm.cscript.notify(doc, args); | ||||||
| } | } | ||||||
| @ -85,12 +85,9 @@ cur_frm.cscript.transaction = function(doc,cdt,cdn){ | |||||||
| } | } | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| // System User Trigger
 | cur_frm.fields_dict.system_user.get_query = erpnext.profile_query; | ||||||
| // -------------------
 |  | ||||||
| cur_frm.fields_dict['system_user'].get_query = function(doc) { |  | ||||||
|   return 'SELECT tabProfile.name FROM tabProfile WHERE tabProfile.name not in ("Administrator","Guest") AND tabProfile.docstatus != 2 AND tabProfile.enabled = 1 AND tabProfile.%(key)s LIKE "%s" LIMIT 50' |  | ||||||
| } |  | ||||||
| 
 | 
 | ||||||
|  | cur_frm.fields_dict.approving_user.get_query = erpnext.profile_query; | ||||||
| 
 | 
 | ||||||
| // System Role Trigger
 | // System Role Trigger
 | ||||||
| // -----------------------
 | // -----------------------
 | ||||||
| @ -98,14 +95,6 @@ cur_frm.fields_dict['system_role'].get_query = function(doc) { | |||||||
|   return 'SELECT tabRole.name FROM tabRole WHERE tabRole.name not in ("Administrator","Guest","All") AND tabRole.%(key)s LIKE "%s" LIMIT 50' |   return 'SELECT tabRole.name FROM tabRole WHERE tabRole.name not in ("Administrator","Guest","All") AND tabRole.%(key)s LIKE "%s" LIMIT 50' | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
| // Approving User Trigger
 |  | ||||||
| // -----------------------
 |  | ||||||
| cur_frm.fields_dict['approving_user'].get_query = function(doc) { |  | ||||||
|   return 'SELECT tabProfile.name FROM tabProfile WHERE tabProfile.name not in ("Administrator","Guest") AND tabProfile.docstatus != 2 AND tabProfile.enabled = 1 AND tabProfile.%(key)s LIKE "%s" LIMIT 50' |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| // Approving Role Trigger
 | // Approving Role Trigger
 | ||||||
| // -----------------------
 | // -----------------------
 | ||||||
| cur_frm.fields_dict['approving_role'].get_query = function(doc) { | cur_frm.fields_dict['approving_role'].get_query = function(doc) { | ||||||
|  | |||||||
| @ -1,3 +1,13 @@ | |||||||
|  | cur_frm.cscript.onload = function(doc) { | ||||||
|  | 	cur_frm.fields_dict.user.get_query = function() { | ||||||
|  | 		return "select name, concat_ws(' ', first_name, middle_name, last_name) \ | ||||||
|  | 			from `tabProfile` where ifnull(enabled, 0)=1 and docstatus < 2 and \ | ||||||
|  | 			(%(key)s like \"%s\" or \ | ||||||
|  | 			concat_ws(' ', first_name, middle_name, last_name) like \"%%%s\") \ | ||||||
|  | 			limit 50"; | ||||||
|  | 	}; | ||||||
|  | } | ||||||
|  | 
 | ||||||
| cur_frm.cscript.refresh = function(doc, dt, dn) { | cur_frm.cscript.refresh = function(doc, dt, dn) { | ||||||
| 	if(!doc.__islocal) { | 	if(!doc.__islocal) { | ||||||
| 		var field_list = ['lead', 'customer', 'supplier', 'contact', 'opportunity', | 		var field_list = ['lead', 'customer', 'supplier', 'contact', 'opportunity', | ||||||
|  | |||||||
| @ -188,3 +188,5 @@ EmailMessage = function(parent, args, list, idx) { | |||||||
| 	} | 	} | ||||||
| 	this.make(); | 	this.make(); | ||||||
| } | } | ||||||
|  | 
 | ||||||
|  | cur_frm.fields_dict.allocated_to.get_query = erpnext.profile_query; | ||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user