[ Index ] |
PHP Cross Reference of vtigercrm-6.1.0 |
[Summary view] [Print] [Text view]
1 /*+*********************************************************************************** 2 * The contents of this file are subject to the vtiger CRM Public License Version 1.0 3 * ("License"); You may not use this file except in compliance with the License 4 * The Original Code is: vtiger CRM Open Source 5 * The Initial Developer of the Original Code is vtiger. 6 * Portions created by vtiger are Copyright (C) vtiger. 7 * All Rights Reserved. 8 *************************************************************************************/ 9 10 jQuery.Class('Settings_CustomRecordNumbering_Js', {}, { 11 12 form : false, 13 getForm : function(){ 14 if(this.form == false){ 15 this.form = jQuery('#EditView'); 16 } 17 return this.form; 18 }, 19 20 /** 21 * Function to register change event for source module field 22 */ 23 registerOnChangeEventOfSourceModule :function(){ 24 var editViewForm = this.getForm(); 25 editViewForm.find('[name="sourceModule"]').on('change',function(e){ 26 jQuery('.saveButton').removeAttr('disabled'); 27 var element = jQuery(e.currentTarget); 28 var params = {}; 29 var sourceModule = element.val(); 30 31 params = { 32 'module' : app.getModuleName(), 33 'parent' : app.getParentModuleName(), 34 'action' : "CustomRecordNumberingAjax", 35 'mode' : "getModuleCustomNumberingData", 36 'sourceModule' : sourceModule 37 } 38 39 AppConnector.request(params).then( 40 function(data){ 41 if(data){ 42 editViewForm.find('[name="prefix"]').val(data.result.prefix); 43 editViewForm.find('[name="sequenceNumber"]').val(data.result.sequenceNumber); 44 editViewForm.find('[name="sequenceNumber"]').data('oldSequenceNumber',data.result.sequenceNumber); 45 } 46 }, 47 function(jqXHR,textStatus, errorThrown){ 48 }) 49 }) 50 }, 51 52 /** 53 * Function to register event for saving module custom numbering 54 */ 55 saveModuleCustomNumbering : function(){ 56 if(jQuery('.saveButton').attr("disabled")){ 57 return; 58 } 59 var editViewForm = this.getForm(); 60 var params = {} 61 var sourceModule = editViewForm.find('[name="sourceModule"]').val(); 62 var sourceModuleLabel = editViewForm.find('option[value="'+sourceModule+'"]').text(); 63 var prefix = editViewForm.find('[name="prefix"]'); 64 var currentPrefix = jQuery.trim(prefix.val()); 65 var oldPrefix = prefix.data('oldPrefix'); 66 var sequenceNumberElement = editViewForm.find('[name="sequenceNumber"]'); 67 var sequenceNumber = sequenceNumberElement.val(); 68 var oldSequenceNumber = sequenceNumberElement.data('oldSequenceNumber'); 69 70 if((sequenceNumber < oldSequenceNumber) && (currentPrefix == oldPrefix)){ 71 var errorMessage = app.vtranslate('JS_SEQUENCE_NUMBER_MESSAGE')+" "+oldSequenceNumber; 72 sequenceNumberElement.validationEngine('showPrompt', errorMessage , 'error','topLeft',true); 73 return; 74 } 75 76 params = { 77 'module' : app.getModuleName(), 78 'parent' : app.getParentModuleName(), 79 'action' : "CustomRecordNumberingAjax", 80 'mode' : "saveModuleCustomNumberingData", 81 'sourceModule' : sourceModule, 82 'prefix' : currentPrefix, 83 'sequenceNumber' : sequenceNumber 84 } 85 86 jQuery('.saveButton').attr("disabled","disabled"); 87 AppConnector.request(params).then( 88 function(data){ 89 var params; 90 var successfullSaveMessage = app.vtranslate('JS_RECORD_NUMBERING_SAVED_SUCCESSFULLY_FOR')+" "+sourceModuleLabel; 91 if(data.success == true){ 92 params = { 93 text: successfullSaveMessage 94 }; 95 Settings_Vtiger_Index_Js.showMessage(params); 96 }else{ 97 var errorMessage = currentPrefix+" "+app.vtranslate(data.error.message); 98 params = { 99 text: errorMessage, 100 type: 'error' 101 }; 102 Settings_Vtiger_Index_Js.showMessage(params); 103 } 104 }, 105 function(jqXHR,textStatus, errorThrown){ 106 }) 107 }, 108 109 /** 110 * Function to handle update record with the given sequence number 111 */ 112 registerEventToUpdateRecordsWithSequenceNumber : function(){ 113 var editViewForm = this.getForm(); 114 editViewForm.find('[name="updateRecordWithSequenceNumber"]').on('click',function(){ 115 var params = {}; 116 var sourceModule = editViewForm.find('[name="sourceModule"]').val(); 117 var sourceModuleLabel = editViewForm.find('option[value="'+sourceModule+'"]').text(); 118 119 params = { 120 'module' : app.getModuleName(), 121 'parent' : app.getParentModuleName(), 122 'action' : "CustomRecordNumberingAjax", 123 'mode' : "updateRecordsWithSequenceNumber", 124 'sourceModule' : sourceModule 125 } 126 127 AppConnector.request(params).then( 128 function(data){ 129 var successfullSaveMessage = app.vtranslate('JS_RECORD_NUMBERING_UPDATED_SUCCESSFULLY_FOR')+" "+sourceModuleLabel; 130 if(data.success == true){ 131 var params = { 132 text: successfullSaveMessage 133 }; 134 Settings_Vtiger_Index_Js.showMessage(params); 135 }else{ 136 Settings_Vtiger_Index_Js.showMessage(data.error.message); 137 } 138 }, 139 function(jqXHR,textStatus, errorThrown){ 140 }) 141 }) 142 }, 143 144 /** 145 * Function to register change event for prefix and sequence number 146 */ 147 registerChangeEventForPrefixAndSequenceNumber : function() { 148 var editViewForm = this.getForm(); 149 editViewForm.find('[name="prefix"],[name="sequenceNumber"]').on('change',function(){ 150 jQuery('.saveButton').removeAttr('disabled'); 151 }) 152 }, 153 154 /** 155 * Function to register events 156 */ 157 registerEvents : function(){ 158 var thisInstance = this; 159 var editViewForm = this.getForm(); 160 this.registerOnChangeEventOfSourceModule(); 161 this.registerEventToUpdateRecordsWithSequenceNumber(); 162 this.registerChangeEventForPrefixAndSequenceNumber(); 163 164 var params = app.validationEngineOptions; 165 params.onValidationComplete = function(editViewForm, valid){ 166 if(valid) { 167 thisInstance.saveModuleCustomNumbering(); 168 } 169 return false; 170 } 171 editViewForm.validationEngine('detach'); 172 editViewForm.validationEngine('attach',params); 173 } 174 }) 175 jQuery(document).ready(function() { 176 var customRecordNumberingInstance = new Settings_CustomRecordNumbering_Js(); 177 customRecordNumberingInstance.registerEvents(); 178 });
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Fri Nov 28 20:08:37 2014 | Cross-referenced by PHPXref 0.7.1 |