/********************************************************************************* * SugarCRM Community Edition is a customer relationship management program developed by * SugarCRM, Inc. Copyright (C) 2004-2012 SugarCRM Inc. * * This program is free software; you can redistribute it and/or modify it under * the terms of the GNU Affero General Public License version 3 as published by the * Free Software Foundation with the addition of the following permission added * to Section 15 as permitted in Section 7(a): FOR ANY PART OF THE COVERED WORK * IN WHICH THE COPYRIGHT IS OWNED BY SUGARCRM, SUGARCRM DISCLAIMS THE WARRANTY * OF NON INFRINGEMENT OF THIRD PARTY RIGHTS. * * 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 Affero General Public License for more * details. * * You should have received a copy of the GNU Affero General Public License along with * this program; if not, see http://www.gnu.org/licenses or write to the Free * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * 02110-1301 USA. * * You can contact SugarCRM, Inc. headquarters at 10050 North Wolfe Road, * SW2-130, Cupertino, CA 95014, USA. or at email address contact@sugarcrm.com. * * The interactive user interfaces in modified source and object code versions * of this program must display Appropriate Legal Notices, as required under * Section 5 of the GNU Affero General Public License version 3. * * In accordance with Section 7(b) of the GNU Affero General Public License version 3, * these Appropriate Legal Notices must retain the display of the "Powered by * SugarCRM" logo. If the display of the logo is not reasonably feasible for * technical reasons, the Appropriate Legal Notices must display the words * "Powered by SugarCRM". ********************************************************************************/ var lbl_remove = SUGAR.language.get('app_strings', 'LBL_REMOVE'); function remove_filter(spanfieldid) { var selspan = document.getElementById(spanfieldid); //hide the span selspan.setAttribute("style","visibility:hidden"); selspan.innerHTML='';//' ' //and id to avail list. var ops=object_refs['field_avail_list'].options; var newoption = new Option(selspan.getAttribute("Value"),selspan.getAttribute("ValueId"),false,true); ops.add(newoption); } function ajax_fetch_sync(url,post_data) { global_xmlhttp = getXMLHTTPinstance(); var method = 'GET'; if ( typeof(post_data) != 'undefined' ) { method = 'POST'; } try { global_xmlhttp.open(method, url,false); } catch(error) { alert('message:'+error.message+":url:"+url); } if ( method == 'POST') { global_xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); } global_xmlhttp.send(post_data); var ajax_response = {"responseText":global_xmlhttp.responseText,"responseXML":global_xmlhttp.responseXML}; return ajax_response; } //---------------------------------------------------- //---------------------------------------------------- //---------------------------------------------------- function get_fields_to_dedup(parent_mod) { var rel_map_div_obj = document.getElementById('rel_map'); if(parent_mod != '') { var request_id = 1; var url = site_url + '/index.php?to_pdf=1&sugar_body_only=1&inline=1&parent_module=' + parent_mod + '&module=MigrationMappings&action=GetRelationshipsToMap'; var ajax_return_obj = ajax_fetch_sync(url); try { eval("var responseObj =" + ajax_return_obj['responseText']); } catch(e) { alert(ajax_return_obj['responseText']); } build_avail_rels_array(responseObj); rel_map_div_obj.innerHTML = responseObj['html_content']; } else { rel_map_div_obj.innerHTML = ''; } return true; } function get_dedup_fields() { var parent_div = document.getElementById('filter_def'); var node; var spannode; var value; var valueid; var style; document.DedupSetup.dedup_fields.value=''; for (node in parent_div.childNodes) { spannode=parent_div.childNodes[node]; if (spannode.tagName=='SPAN') { value= spannode.getAttribute('value'); valueid=spannode.getAttribute('valueid'); style=spannode.getAttribute('style'); if (typeof(style) == 'undefined' || style==null || style=='' || style.lastIndexOf('hidden') == -1 ) { if (document.DedupSetup.dedup_fields.value != '') { document.DedupSetup.dedup_fields.value=document.DedupSetup.dedup_fields.value + '#'; } document.DedupSetup.dedup_fields.value = document.DedupSetup.dedup_fields.value + valueid; } } } //var selected_fields_obj = document.getElementById('field_include_list[]'); //for(i=0; i < selected_fields_obj.length; i++) //{ // document.DedupSetup.dedup_fields.value = document.DedupSetup.dedup_fields.value + selected_fields_obj.options[i].value; // if(i != (selected_fields_obj.length - 1)) { document.DedupSetup.dedup_fields.value += '#'; } //} // document.DedupSetup.submit(); } //------------------------------------------------------------------- //------------------------------------------------------------------- //------------------------------------------------------------------- //------------------------------------------------------------------- //------------------------------------------------------------------- //------------------------------------------------------------------- var object_refs = new Object(); object_refs['field_include_list'] = document.DedupSetup['field_include_list']; object_refs['field_avail_list'] = document.DedupSetup['field_avail_list']; function setselected(included_name,avail_name) { var included_columns_ref = object_refs[included_name]; var avail_columns_ref = object_refs[avail_name]; var included_td = document.getElementById(included_name+'_td'); var avail_td = document.getElementById(avail_name+'_td'); var selected_avail = new Array(); var notselected_avail = new Array(); var notselected_include = new Array(); for (i=0; i < avail_columns_ref.options.length; i++) { if (avail_columns_ref.options[i].selected == true) { selected_avail[selected_avail.length] = {text:avail_columns_ref.options[i].text, value:avail_columns_ref.options[i].value}; } else { notselected_avail[notselected_avail.length] = {text:avail_columns_ref.options[i].text, value:avail_columns_ref.options[i].value}; } } var right_select_html_info = new Object(); var right_options = new Array(); var right_select = new Object(); right_select['name'] = avail_name+ '[]'; right_select['id'] = avail_name; right_select['multiple'] = 'true'; right_select['size'] = '10'; for (i=0;i < notselected_avail.length;i++) { right_options[right_options.length] = notselected_avail[i]; } right_select_html_info['options'] = right_options; right_select_html_info['select'] = right_select; var right_html = buildSelectHTML(right_select_html_info); avail_td.innerHTML = right_html; object_refs[avail_name] = avail_td.getElementsByTagName('select')[0]; ////////////////////////////// for(p=0; p < selected_avail.length; p++) { addFieldRow(selected_avail[p].value, selected_avail[p].text) } /////////////////////////// } function up(name) { var td = document.getElementById(name+'_td'); var obj = td.getElementsByTagName('select')[0]; obj = (typeof obj == "string") ? document.getElementById(obj) : obj; if (obj.tagName.toLowerCase() != "select" && obj.length < 2) return false; var sel = new Array(); for (i=0; i-1; i--) { if (obj[i].selected == true) { sel[sel.length] = i; } } for (i in sel) { if (sel[i] != obj.length-1 && !obj[sel[i]+1].selected) { var tmp = new Array(obj[sel[i]+1].text, obj[sel[i]+1].value); obj[sel[i]+1].text = obj[sel[i]].text; obj[sel[i]+1].value = obj[sel[i]].value; obj[sel[i]].text = tmp[0]; obj[sel[i]].value = tmp[1]; obj[sel[i]+1].selected = true; obj[sel[i]].selected = false; } } } function buildSelectHTML(info) { var text; text = "
"; } text += "
"; return text; } ////////////////////////////////////////////// var fieldCount = 0; function addFieldRow(colName, colLabel) { var tableId = 'search_type'; var rowIdName = 'field'; var fieldArrayCount; var optionVal; var optionDispVal; var optionsIndex = 0; fieldCount = fieldCount + 1; document.DedupSetup.num_fields.value = fieldCount; var selElement = document.createElement("select"); var selectName = colName + "SearchType"; selElement.setAttribute("name", selectName); var i=0; for (theoption in operator_options) { selElement.options[i] = new Option(operator_options[theoption],theoption, false, false); i++; } var aElement = document.createElement("a"); aElement.setAttribute("href","javascript:remove_filter('filter_" + colName + "')"); aElement.setAttribute("class","listViewTdToolsS1"); var imgElement = document.createElement("img"); imgElement.setAttribute("src", delete_inline_image); imgElement.setAttribute("align","absmiddle"); imgElement.setAttribute("alt",lbl_remove); imgElement.setAttribute("border","0"); imgElement.setAttribute("height","12"); imgElement.setAttribute("width","12"); aElement.appendChild(imgElement); aElement.appendChild(document.createTextNode(" ")); var div = document.getElementById('filter_def'); var span1 = document.getElementById('filter_'+colName); if (span1 == null || span1=='' || typeof(span1)=='undefined') { span1=document.createElement("span"); } else { span1.setAttribute("style","visibility:visible"); } span1.setAttribute("id",'filter_'+colName); span1.setAttribute("Value",colLabel); span1.setAttribute("ValueId",colName); //table as a child of span element. //table with only row only. var table = document.createElement("table"); //usage or insertRow is required by IE, ironically this call //produces bad UI when using IE on mac. var row = table.insertRow(table.rows.length ); table.setAttribute("width","100%"); table.setAttribute("border","0"); table.setAttribute("cellpadding","0"); var td1= document.createElement("td"); td1.setAttribute("width","2%"); td1.appendChild(aElement); row.appendChild(td1) var td2= document.createElement("td"); td2.setAttribute("width","20%"); td2.appendChild(document.createTextNode(colLabel + ': ')); row.appendChild(td2) var td3= document.createElement("td"); td3.setAttribute("width","10%"); td3.appendChild(selElement); row.appendChild(td3); var coldata; eval("coldata=bean_data."+ colName+ ";"); var edit=document.createElement("input"); edit.setAttribute("type","text"); edit.setAttribute("name",colName + 'SearchField'); edit.setAttribute("id",colName + 'SearchField'); edit.setAttribute("value",coldata); var td5= document.createElement("td"); td5.setAttribute("width","68%"); td5.appendChild(edit); row.appendChild(td5); //table.appendChild(row); span1.appendChild(table); div.appendChild(span1); }