/*+*********************************************************************************** * 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. *************************************************************************************/ Settings_Vtiger_Detail_Js('Settings_Webforms_Detail_Js', { /* * function to trigger delete record action * @params: delete record url. */ deleteRecord : function(deleteRecordActionUrl) { app.helper.showConfirmationBox({ message:app.vtranslate('LBL_DELETE_CONFIRMATION') }).then(function() { app.request.post({'url':deleteRecordActionUrl}).then( function(e,res){ if(!e) { window.location.href = res; } else { app.helper.showErrorNotification({ 'message' : e }); } }); }); }, /** * Function to trigger show webform record action * @params: show webform record url */ showForm : function(record){ var self = this; var params = { 'module' : 'Webforms', 'record' : record, 'view' : 'ShowForm', 'parent' : 'Settings' } app.request.get({data:params}).then( function(error, data){ var callback = function(container){ //show html without rendering var allowedAllFilesSize = container.find('.allowedAllFilesSize').val(); var showFormContents = container.find('pre').html(); showFormContents = showFormContents + ''; } //Html contents should be placed inside textarea element container.find('#showFormContent').text(showFormContents); //Rendering content has been removed from container container.find('pre').remove(); container.find('code').remove(); self.registerCopyToClipboard(); }; app.helper.showModal(data, { 'cb' : callback }); } ) }, registerCopyToClipboard: function () { jQuery('#webformCopyClipboard').click(function (e) { e.preventDefault(); try { document.getElementById('showFormContent').select(); var success = document.execCommand("copy"); if (success) { app.helper.showSuccessNotification({message: app.vtranslate('JS_COPIED_SUCCESSFULLY')}); } else { app.helper.showErrorNotification({message: app.vtranslate('JS_COPY_FAILED')}); } if (window.getSelection) { if (window.getSelection().empty) { window.getSelection().empty(); } else if (window.getSelection().removeAllRanges) { window.getSelection().removeAllRanges(); } } else if (document.selection) { document.selection.empty(); } } catch (err) { app.helper.showErrorNotification({message: app.vtranslate('JS_COPY_FAILED')}); } }); }, /** * Function get Captcha Code * @param showFormContents * @return showFormContents */ getCaptchaCode : function(showFormContents) { var captchaContents = ''+ ''+ ''; showFormContents = showFormContents.replace('
',captchaContents); showFormContents = showFormContents + 'var recaptchaValidationValue = document.getElementById("recaptcha_validation_value").value;'+ 'if (recaptchaValidationValue!= true){'+ 'var recaptchaResponseElement = document.getElementsByName("recaptcha_response_field")[0].value;'+ 'var recaptchaChallengeElement = document.getElementsByName("recaptcha_challenge_field")[0].value;'+ 'var captchaUrl = document.getElementById("captchaUrl").value;'+ 'var url = captchaUrl+"?recaptcha_response_field="+recaptchaResponseElement;'+ 'url = url + "&recaptcha_challenge_field="+recaptchaChallengeElement+"&callback=JSONPCallback";'+ 'jsonp.fetch(url);'+ 'return false;'+ '}'+ '}; '+ '};'+ 'var jsonp = {' + 'callbackCounter: 0,'+ 'fetch: function(url) {'+ 'url = url +"&callId="+this.callbackCounter;'+ 'var scriptTag = document.createElement("SCRIPT");'+ 'scriptTag.src = url;'+ 'scriptTag.async = true;'+ 'scriptTag.id = "JSONPCallback_"+this.callbackCounter;'+ 'scriptTag.type = "text/javascript";'+ 'document.getElementsByTagName("HEAD")[0].appendChild(scriptTag);'+ 'this.callbackCounter++;'+ '}'+ '};'+ 'function JSONPCallback(data) {'+ 'if(data.result.success == true) {'+ 'document.getElementById("recaptcha_validation_value").value = true;'+ 'var form = document.getElementById("__vtigerWebForm");'+ 'form.submit();'+ '} else {'+ 'document.getElementById("recaptcha_reload").click();'+ 'alert("you entered wrong captcha");'+ '}'+ 'var element = document.getElementById("JSONPCallback_"+data.result.callId);'+ 'element.parentNode.removeChild(element);'+ '}'+ ''; return showFormContents; } }, { /** * Function which will handle the registrations for the elements */ registerEvents : function() { this._super(); } })