]> CyberLeo.Net >> Repos - Github/sugarcrm.git/blob - include/javascript/popup_parent_helper.js
Release 6.2.0
[Github/sugarcrm.git] / include / javascript / popup_parent_helper.js
1 /*********************************************************************************
2  * SugarCRM Community Edition is a customer relationship management program developed by
3  * SugarCRM, Inc. Copyright (C) 2004-2011 SugarCRM Inc.
4  *
5  * This program is free software; you can redistribute it and/or modify it under
6  * the terms of the GNU Affero General Public License version 3 as published by the
7  * Free Software Foundation with the addition of the following permission added
8  * to Section 15 as permitted in Section 7(a): FOR ANY PART OF THE COVERED WORK
9  * IN WHICH THE COPYRIGHT IS OWNED BY SUGARCRM, SUGARCRM DISCLAIMS THE WARRANTY
10  * OF NON INFRINGEMENT OF THIRD PARTY RIGHTS.
11  *
12  * This program is distributed in the hope that it will be useful, but WITHOUT
13  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
14  * FOR A PARTICULAR PURPOSE.  See the GNU Affero General Public License for more
15  * details.
16  *
17  * You should have received a copy of the GNU Affero General Public License along with
18  * this program; if not, see http://www.gnu.org/licenses or write to the Free
19  * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
20  * 02110-1301 USA.
21  *
22  * You can contact SugarCRM, Inc. headquarters at 10050 North Wolfe Road,
23  * SW2-130, Cupertino, CA 95014, USA. or at email address contact@sugarcrm.com.
24  *
25  * The interactive user interfaces in modified source and object code versions
26  * of this program must display Appropriate Legal Notices, as required under
27  * Section 5 of the GNU Affero General Public License version 3.
28  *
29  * In accordance with Section 7(b) of the GNU Affero General Public License version 3,
30  * these Appropriate Legal Notices must retain the display of the "Powered by
31  * SugarCRM" logo. If the display of the logo is not reasonably feasible for
32  * technical reasons, the Appropriate Legal Notices must display the words
33  * "Powered by SugarCRM".
34  ********************************************************************************/
35 var popup_request_data;var close_popup;function get_popup_request_data()
36 {return window.document.popup_request_data;}
37 function get_close_popup()
38 {return window.document.close_popup;}
39 function open_popup(module_name,width,height,initial_filter,close_popup,hide_clear_button,popup_request_data,popup_mode,create,metadata)
40 {if(typeof(popupCount)=="undefined"||popupCount==0)
41 popupCount=1;window.document.popup_request_data=popup_request_data;window.document.close_popup=close_popup;width=(width==600)?800:width;height=(height==400)?800:height;URL='index.php?'
42 +'module='+module_name
43 +'&action=Popup';if(initial_filter!='')
44 {URL+='&query=true'+initial_filter;}
45 if(hide_clear_button)
46 {URL+='&hide_clear_button=true';}
47 windowName=module_name+'_popup_window'+popupCount;popupCount++;windowFeatures='width='+width
48 +',height='+height
49 +',resizable=1,scrollbars=1';if(popup_mode==''&&popup_mode=='undefined'){popup_mode='single';}
50 URL+='&mode='+popup_mode;if(create==''&&create=='undefined'){create='false';}
51 URL+='&create='+create;if(metadata!=''&&metadata!='undefined'){URL+='&metadata='+metadata;}
52 win=window.open(URL,windowName,windowFeatures);if(window.focus)
53 {win.focus();}
54 win.popupCount=popupCount;return win;}
55 var from_popup_return=false;function set_return(popup_reply_data)
56 {from_popup_return=true;var form_name=popup_reply_data.form_name;var name_to_value_array=popup_reply_data.name_to_value_array;for(var the_key in name_to_value_array)
57 {if(the_key=='toJSON')
58 {}
59 else
60 {var displayValue=name_to_value_array[the_key].replace(/&amp;/gi,'&').replace(/&lt;/gi,'<').replace(/&gt;/gi,'>').replace(/&#039;/gi,'\'').replace(/&quot;/gi,'"');;if(window.document.forms[form_name]&&window.document.forms[form_name].elements[the_key])
61 window.document.forms[form_name].elements[the_key].value=displayValue;}}}
62 function set_return_and_save(popup_reply_data)
63 {var form_name=popup_reply_data.form_name;var name_to_value_array=popup_reply_data.name_to_value_array;for(var the_key in name_to_value_array)
64 {if(the_key=='toJSON')
65 {}
66 else
67 {window.document.forms[form_name].elements[the_key].value=name_to_value_array[the_key];}}
68 window.document.forms[form_name].return_module.value=window.document.forms[form_name].module.value;window.document.forms[form_name].return_action.value='DetailView';window.document.forms[form_name].return_id.value=window.document.forms[form_name].record.value;window.document.forms[form_name].action.value='Save';window.document.forms[form_name].submit();}
69 function set_return_and_save_targetlist(popup_reply_data)
70 {var form_name=popup_reply_data.form_name;var name_to_value_array=popup_reply_data.name_to_value_array;var form_index=document.forms.length-1;sugarListView.get_checks();var uids=document.MassUpdate.uid.value;if(uids==''){return false;}
71 for(var the_key in name_to_value_array)
72 {if(the_key=='toJSON')
73 {}
74 else
75 {for(i=form_index;i>=0;i--)
76 {if(form_name==window.document.forms[form_index])
77 {form_index=i;break;}}
78 window.document.forms[form_index].elements[get_element_index(form_index,the_key)].value=name_to_value_array[the_key];}}
79 window.document.forms[form_index].elements[get_element_index(form_index,"return_module")].value=window.document.forms[form_index].elements[get_element_index(form_index,"module")].value;window.document.forms[form_index].elements[get_element_index(form_index,"return_action")].value='ListView';window.document.forms[form_index].elements[get_element_index(form_index,"uids")].value=uids;window.document.forms[form_index].submit();}
80 function get_element_index(form_index,element_name){var j=0;while(j<window.document.forms[form_index].elements.length){if(window.document.forms[form_index].elements[j].name==element_name){index=j;break;}
81 j++;}
82 return index;}
83 function get_initial_filter_by_account(form_name)
84 {var account_id=window.document.forms[form_name].account_id.value;var account_name=escape(window.document.forms[form_name].account_name.value);var initial_filter="&account_id="+account_id+"&account_name="+account_name;return initial_filter;}