0byt3m1n1
Path:
/
data
/
applications
/
aps.bak
/
vtiger
/
5.0.4
/
standard
/
htdocs
/
include
/
js
/
[
Home
]
File: dtlviewajax.js
/********************************************************************************* ** The contents of this file are subject to the vtiger CRM Public License Version 1.0 * ("License"); You may not use this file except in compliance with the License * The Original Code is: vtiger CRM Open Source * The Initial Developer of the Original Code is vtiger. * Portions created by vtiger are Copyright (C) vtiger. * All Rights Reserved. * ********************************************************************************/ var globaldtlviewspanid = ""; var globaleditareaspanid = ""; var globaltxtboxid = ""; var itsonview=false; // to retain the old value if we cancel the ajax edit var globaltempvalue = ''; var globaluitype = ''; function showHide(showId, hideId) { show(showId); fnhide(hideId); } function hndCancel(valuespanid,textareapanid,fieldlabel) { showHide(valuespanid,textareapanid); if(globaluitype == '56') { if(globaltempvalue == 1) getObj(globaltxtboxid).checked = true; else getObj(globaltxtboxid).checked = false; } else if(globaluitype != '53' && globaluitype != '33') getObj(globaltxtboxid).value = globaltempvalue; globaltempvalue = ''; itsonview=false; return false; } function hndMouseOver(uitype,fieldLabel) { var mouseArea=""; mouseArea="mouseArea_"+ fieldLabel; if(itsonview) { return; } show("crmspanid"); globaluitype = uitype; globaldtlviewspanid= "dtlview_"+ fieldLabel;//valuespanid; globaleditareaspanid="editarea_"+ fieldLabel;//textareapanid; globalfieldlabel = fieldLabel; if(globaluitype == 53) { if(typeof(document.DetailView.assigntype[0]) != 'undefined') { var assign_type_U = document.DetailView.assigntype[0].checked; var assign_type_G = document.DetailView.assigntype[1].checked; if(assign_type_U == true) globaltxtboxid= 'txtbox_U'+fieldLabel; else if(assign_type_G == true) globaltxtboxid= 'txtbox_G'+fieldLabel; }else { globaltxtboxid= 'txtbox_U'+fieldLabel; } }else { globaltxtboxid="txtbox_"+ fieldLabel;//textboxpanid; } divObj = getObj('crmspanid'); crmy = findPosY(getObj(mouseArea)); crmx = findPosX(getObj(mouseArea)); if(document.all) { divObj.onclick=handleEdit; } else { divObj.setAttribute('onclick','handleEdit();'); } divObj.style.left=(crmx+getObj(mouseArea).offsetWidth -divObj.offsetWidth)+"px"; divObj.style.top=crmy+"px"; } function handleEdit() { show(globaleditareaspanid) ; fnhide(globaldtlviewspanid); if(globaluitype != 53) { globaltempvalue = getObj(globaltxtboxid).value; if(getObj(globaltxtboxid).type != 'hidden') getObj(globaltxtboxid).focus(); } fnhide('crmspanid'); itsonview=true; return false; } //Asha: Function changed to trim both leading and trailing spaces. function trim(str) { var s = str.replace(/\s+$/,''); s = s.replace(/^\s+/,''); return s; } var genUiType = ""; var genFldValue = ""; function dtlViewAjaxSave(fieldLabel,module,uitype,tableName,fieldName,crmId) { var dtlView = "dtlview_"+ fieldLabel; var editArea = "editarea_"+ fieldLabel; var groupurl = ""; if(globaluitype == 53) { if(typeof(document.DetailView.assigntype[0]) != 'undefined') { var assign_type_U = document.DetailView.assigntype[0].checked; var assign_type_G = document.DetailView.assigntype[1].checked; }else { var assign_type_U = document.DetailView.assigntype.checked; } if(assign_type_U == true) { var txtBox= 'txtbox_U'+fieldLabel; } else if(assign_type_G == true) { var txtBox= 'txtbox_G'+fieldLabel; var group_name = encodeURIComponent($(txtBox).options[$(txtBox).selectedIndex].text); var groupurl = "&assigned_group_name="+group_name+"&assigntype=T" } } else if(uitype == 15 || uitype == 16 || uitype == 111) { var txtBox= "txtbox_"+ fieldLabel; var not_access =document.getElementById(txtBox); pickval = not_access.options[not_access.selectedIndex].value; if(pickval == alert_arr.LBL_NOT_ACCESSIBLE) { document.getElementById(editArea).style.display='none'; document.getElementById(dtlView).style.display='block'; itsonview=false; //to show the edit link again after hiding the editdiv. return false; } } else if(globaluitype == 33) { var txtBox= "txtbox_"+ fieldLabel; var oMulSelect = $(txtBox); var r = new Array(); var notaccess_label = new Array(); for (iter=0;iter < oMulSelect.options.length ; iter++) { if (oMulSelect.options[iter].selected) { r[r.length] = oMulSelect.options[iter].value; notaccess_label[notaccess_label.length] = oMulSelect.options[iter].text; } } }else { var txtBox= "txtbox_"+ fieldLabel; } var popupTxt= "popuptxt_"+ fieldLabel; var hdTxt = "hdtxt_"+ fieldLabel; if(formValidate() == false) { return false; } $("vtbusy_info").style.display="inline"; var isAdmin = document.getElementById("hdtxt_IsAdmin").value; //overriden the tagValue based on UI Type for checkbox if(uitype == '56') { if(document.getElementById(txtBox).checked == true) { if(module == "Contacts") { var obj = getObj("email"); if((fieldName == "portal") && (obj == null || obj.value == '')) { tagValue = "0"; alert(alert_arr.PORTAL_PROVIDE_EMAILID); return false; } else tagValue = "1"; } else tagValue = "1"; }else { tagValue = "0"; } }else if(uitype == '156') { if(document.getElementById(txtBox).checked == true) { tagValue = "on"; }else { tagValue = "off"; } }else if(uitype == '33') { tagValue = r.join(" |##| "); }else if(uitype == '24' || uitype == '21') { tagValue = document.getElementById(txtBox).value.replace(/<br\s*\/>/g, " "); }else { tagValue = trim(document.getElementById(txtBox).value); if(module == "Contacts") { if(getObj('portal')) { var port_obj = getObj('portal').checked; if(fieldName == "email" && tagValue == '' && port_obj == true) { alert(alert_arr.PORTAL_PROVIDE_EMAILID); return false; } } } } var data = "file=DetailViewAjax&module=" + module + "&action=" + module + "Ajax&record=" + crmId+"&recordid=" + crmId ; data = data + "&fldName=" + fieldName + "&fieldValue=" + escapeAll(tagValue) + "&ajxaction=DETAILVIEW"+groupurl; new Ajax.Request( 'index.php', {queue: {position: 'end', scope: 'command'}, method: 'post', postBody: data, onComplete: function(response) { if(response.responseText.indexOf(":#:FAILURE")>-1) { alert(alert_arr.ERROR_WHILE_EDITING); } else if(response.responseText.indexOf(":#:SUCCESS")>-1) { //For HD & FAQ - comments, we should empty the field value if((module == "HelpDesk" || module == "Faq") && fieldName == "comments") { getObj(dtlView).innerHTML = ""; getObj("comments").value = ""; getObj("comments_div").innerHTML = response.responseText.replace(":#:SUCCESS",""); } $("vtbusy_info").style.display="none"; } } } ); tagValue = get_converted_html(tagValue); if(uitype == '13' || uitype == '104') { var temp_fieldname = 'internal_mailer_'+fieldName; if($(temp_fieldname)) { var mail_chk_arr = $(temp_fieldname).innerHTML.split("####"); var fieldId = mail_chk_arr[0]; var internal_mailer_flag = mail_chk_arr[1]; if(internal_mailer_flag == 1) var email_link = "<a href=\"javascript:InternalMailer("+crmId+","+fieldId+",'"+fieldName+"','"+module+"','record_id');\">"+tagValue+" </a>"; else var email_link = "<a href=\"mailto:"+ tagValue+"\" target=\"_blank\">"+tagValue+" </a>"; } getObj(dtlView).innerHTML = email_link; if(fieldName == "email" || fieldName == "email1"){ var priEmail = getObj("pri_email"); if(priEmail) priEmail.value = tagValue; }else{ var secEmail = getObj("sec_email"); if(secEmail) secEmail.value = tagValue; } }else if(uitype == '17') { getObj(dtlView).innerHTML = "<a href=\"http://"+ tagValue+"\" target=\"_blank\">"+tagValue+" </a>"; }else if(uitype == '85') { getObj(dtlView).innerHTML = "<a href=\"skype://"+ tagValue+"?call\">"+tagValue+" </a>"; }else if(uitype == '53') { var hdObj = getObj(hdTxt); if(typeof(document.DetailView.assigntype[0]) != 'undefined') { var assign_type_U = document.DetailView.assigntype[0].checked; var assign_type_G = document.DetailView.assigntype[1].checked; }else { var assign_type_U = document.DetailView.assigntype.checked; } if(isAdmin == "0") { getObj(dtlView).innerHTML = hdObj.value; }else if(isAdmin == "1" && assign_type_U == true) { getObj(dtlView).innerHTML = "<a href=\"index.php?module=Users&action=DetailView&record="+tagValue+"\">"+hdObj.value+" </a>"; }else if(isAdmin == "1" && assign_type_G == true) { getObj(dtlView).innerHTML = "<a href=\"index.php?module=Settings&action=GroupDetailView&groupId="+tagValue+"\">"+hdObj.value+" </a>"; } } else if(uitype == '52' || uitype == '77') { if(isAdmin == "1") getObj(dtlView).innerHTML = "<a href=\"index.php?module=Users&action=DetailView&record="+tagValue+"\">"+document.getElementById(txtBox).options[document.getElementById(txtBox).selectedIndex].text+" </a>"; else getObj(dtlView).innerHTML = document.getElementById(txtBox).options[document.getElementById(txtBox).selectedIndex].text; } else if(uitype == '56') { if(tagValue == '1') { getObj(dtlView).innerHTML = alert_arr.YES; }else { getObj(dtlView).innerHTML = alert_arr.NO; } }else if(uitype == 116) { getObj(dtlView).innerHTML = document.getElementById(txtBox).options[document.getElementById(txtBox).selectedIndex].text; } else if(getObj(popupTxt)) { var popObj = getObj(popupTxt); if(uitype == '50' || uitype == '73' || uitype == '51') { getObj(dtlView).innerHTML = "<a href=\"index.php?module=Accounts&action=DetailView&record="+tagValue+"\">"+popObj.value+" </a>"; } else if(uitype == '57') { getObj(dtlView).innerHTML = "<a href=\"index.php?module=Contacts&action=DetailView&record="+tagValue+"\">"+popObj.value+" </a>"; } else if(uitype == '59') { getObj(dtlView).innerHTML = "<a href=\"index.php?module=Products&action=DetailView&record="+tagValue+"\">"+popObj.value+" </a>"; } else if(uitype == '75' || uitype == '81' ) { getObj(dtlView).innerHTML = "<a href=\"index.php?module=Vendors&action=DetailView&record="+tagValue+"\">"+popObj.value+" </a>"; } else if(uitype == '76') { getObj(dtlView).innerHTML = "<a href=\"index.php?module=Potentials&action=DetailView&record="+tagValue+"\">"+popObj.value+" </a>"; } else if(uitype == '78') { getObj(dtlView).innerHTML = "<a href=\"index.php?module=Quotes&action=DetailView&record="+tagValue+"\">"+popObj.value+" </a>"; } else if(uitype == '80') { getObj(dtlView).innerHTML = "<a href=\"index.php?module=SalesOrder&action=DetailView&record="+tagValue+"\">"+popObj.value+" </a>"; } else if(uitype == '53') { var hdObj = getObj(hdTxt); if(isAdmin == "0") { getObj(dtlView).innerHTML = hdObj.value; }else if(isAdmin == "1") { getObj(dtlView).innerHTML = "<a href=\"index.php?module=Users&action=DetailView&record="+tagValue+"\">"+hdObj.value+" </a>";; } } else if(uitype == '56') { if(tagValue == '1') { getObj(dtlView).innerHTML = alert_arr.YES; }else { getObj(dtlView).innerHTML = ""; } } else { getObj(dtlView).innerHTML = popObj.value; } } else if(uitype == '111' || uitype == '15' || uitype == '16' ) { var notaccess =document.getElementById(txtBox); tagValue = notaccess.options[notaccess.selectedIndex].text; if(tagValue == alert_arr.LBL_NOT_ACCESSIBLE) getObj(dtlView).innerHTML = "<font color='red'>"+get_converted_html(tagValue)+"</font>"; else getObj(dtlView).innerHTML = get_converted_html(tagValue); } else if(uitype == '33') { /* Wordwrap a long list of multi-select combo box items at the * item separator string */ var DETAILVIEW_WORDWRAP_WIDTH = "70"; // must match value in DetailViewUI.tpl. var lineLength = 0; for(var i=0; i < notaccess_label.length; i++) { lineLength += notaccess_label[i].length + 2; // + 2 for item separator string /*if(lineLength > DETAILVIEW_WORDWRAP_WIDTH && i > 0) { lineLength = notaccess_label[i].length + 2; // reset. notaccess_label[i] = '<br/> ' + notaccess_label[i]; // prepend newline. }*/ notaccess_label[i] = get_converted_html(notaccess_label[i]); // Prevent a browser splitting multiword items: //notaccess_label[i] = notaccess_label[i].replace(/ /g, ' '); notaccess_label[i] = notaccess_label[i].replace(alert_arr.LBL_NOT_ACCESSIBLE,"<font color='red'>"+alert_arr.LBL_NOT_ACCESSIBLE+"</font>"); // for Not accessible label. } /* Join items with item separator string (which must match string in DetailViewUI.tpl, * EditViewUtils.php and CRMEntity.php)!! */ getObj(dtlView).innerHTML = notaccess_label.join(", "); }else if(uitype == '19'){ var desc = tagValue.replace(/(^|[\n ])([\w]+?:\/\/.*?[^ \"\n\r\t<]*)/g, "$1<a href=\"$2\" target=\"_blank\">$2</a>"); desc = desc.replace(/(^|[\n ])((www|ftp)\.[\w\-]+\.[\w\-.\~]+(?:\/[^ \"\t\n\r<]*)?)/g, "$1<a href=\"http://$2\" target=\"_blank\">$2</a>"); desc = desc.replace(/(^|[\n ])([a-z0-9&\-_.]+?)@([\w\-]+\.([\w\-\.]+\.)*[\w]+)/i, "$1<a href=\"mailto:$2@$3\">$2@$3</a>"); desc = desc.replace(/,\"|\.\"|\)\"|\)\.\"|\.\)\"/, "\""); desc = desc.replace(/[\n\r]+/g, "<br> "); getObj(dtlView).innerHTML = desc; } else { getObj(dtlView).innerHTML = tagValue.replace(/[\n\r]+/g, "<br> "); } showHide(dtlView,editArea); //show,hide itsonview=false; } function SaveTag(tagfield,crmId,module) { var tagValue = $(tagfield).value; tagValue = encodeURIComponent(tagValue); $("vtbusy_info").style.display="inline"; new Ajax.Request( 'index.php', {queue: {position: 'end', scope: 'command'}, method: 'post', postBody: "file=TagCloud&module=" + module + "&action=" + module + "Ajax&recordid=" + crmId + "&ajxaction=SAVETAG&tagfields=" +tagValue, onComplete: function(response) { if(response.responseText.indexOf(":#:FAILURE") > -1) { alert(alert_arr.VALID_DATA) }else{ getObj('tagfields').innerHTML = response.responseText; $(tagfield).value = ''; } $("vtbusy_info").style.display="none"; } } ); } function setSelectValue(fieldLabel) { if(globaluitype == 53) { if(typeof(document.DetailView.assigntype[0]) != 'undefined') { var assign_type_U = document.DetailView.assigntype[0].checked; var assign_type_G = document.DetailView.assigntype[1].checked; if(assign_type_U == true) var selCombo= 'txtbox_U'+fieldLabel; else if(assign_type_G == true) var selCombo= 'txtbox_G'+fieldLabel; }else { var selCombo= 'txtbox_U'+fieldLabel; } }else { var selCombo= 'txtbox_'+fieldLabel; } var hdTxtBox = 'hdtxt_'+fieldLabel; var oHdTxtBox = document.getElementById(hdTxtBox); var oSelCombo = document.getElementById(selCombo); oHdTxtBox.value = oSelCombo.options[oSelCombo.selectedIndex].text; }