[ Index ]

PHP Cross Reference of vtigercrm-6.1.0

title

Body

[close]

/layouts/vlayout/modules/Install/resources/ -> Index.js (source)

   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  jQuery.Class('Install_Index_Js', {}, {
  10  
  11      registerEventForStep3 : function() {
  12          jQuery('#recheck').on('click', function() {
  13              window.location.reload();
  14          });
  15  
  16          jQuery('input[name="step4"]').on('click', function(e){
  17              var elements = jQuery('.no')
  18              if(elements.length > 0) {
  19                  var msg = "Some of the PHP Settings do not meet the recommended values. This might affect some of the features of vtiger CRM. Are you sure, you want to proceed?";
  20                  if(confirm(msg)) {
  21                      jQuery('form[name="step3"]').submit();
  22                      return true;
  23                  } else {
  24                      return false;
  25                  }
  26              }
  27              jQuery('form[name="step3"]').submit();
  28          });
  29      },
  30  
  31      registerEventForStep4 : function() {
  32          jQuery('input[type="text"]').css('width','210px');
  33  
  34          jQuery('input[name="create_db"]').on('click', function(){
  35              var userName = jQuery('#root_user');
  36              var password = jQuery('#root_password');
  37              var classU = userName.attr('class');
  38              if(classU=='hide') userName.removeClass('hide');
  39              else userName.addClass('hide');
  40  
  41              var classP = password.attr('class');
  42              if(classP=='hide') password.removeClass('hide');
  43              else password.addClass('hide');
  44          });
  45  
  46  		function clearPasswordError() {
  47              jQuery('#passwordError').html('');
  48          }
  49  
  50  		function setPasswordError() {
  51              jQuery('#passwordError').html('Please re-enter passwords.  The \"Password\" and \"Re-type password\" values do not match.');
  52          }
  53  
  54          jQuery('input[name="retype_password"]').on('blur', function(e){
  55              var element = jQuery(e.currentTarget);
  56              var password = jQuery('input[name="password"]').val();
  57              if(password !== element.val()) {
  58                  setPasswordError();
  59              }
  60          });
  61  
  62          jQuery('input[name="password"]').on('blur', function(e){
  63              var retypePassword = jQuery('input[name="retype_password"]');
  64              if(retypePassword.val() != '' && retypePassword.val() !== jQuery(e.currentTarget).val()) {
  65                  jQuery('#passwordError').html('Please re-enter passwords.  The \"Password\" and \"Re-type password\" values do not match.');
  66              } else {
  67                  clearPasswordError();
  68              }
  69          });
  70  
  71          jQuery('input[name="retype_password"]').on('keypress', function(e){
  72              clearPasswordError();
  73          });
  74  
  75          jQuery('input[name="step5"]').on('click', function() {
  76              var error = false;
  77              var validateFieldNames = ['db_hostname', 'db_username', 'db_name', 'password', 'retype_password', 'lastname', 'admin_email'];
  78              for(var fieldName in validateFieldNames) {
  79                  var field = jQuery('input[name="'+validateFieldNames[fieldName]+'"]');
  80                  if(field.val() == '') {
  81                      field.addClass('error').focus();
  82                      error = true; break;
  83                  } else {
  84                      field.removeClass('error');
  85                  }
  86              }
  87  
  88              var createDatabase = jQuery('input[name="create_db"]:checked');
  89              if(createDatabase.length > 0) {
  90                  var dbRootUser = jQuery('input[name="db_root_username"]');
  91                  if(dbRootUser.val() == '') {
  92                      dbRootUser.addClass('error').focus();
  93                      error = true;
  94                  } else {
  95                      dbRootUser.removeClass('error');
  96                  }
  97              }
  98              var password = jQuery('#passwordError');
  99              if(password.html() != '') error = true;
 100  
 101                          var emailField = jQuery('input[name="admin_email"]'); 
 102                          var regex = /^[_/a-zA-Z0-9*]+([!"#$%&'()*+,./:;<=>?\^_`{|}~-]?[a-zA-Z0-9/_/-])*@[a-zA-Z0-9]+([\_\-\.]?[a-zA-Z0-9]+)*\.([\-\_]?[a-zA-Z0-9])+(\.?[a-zA-Z0-9]+)?$/;
 103                          if(!regex.test(emailField.val()) && emailField.val()!=''){ 
 104                              var invalidEmailAddress=true; 
 105                              emailField.addClass('error').focus();  
 106                              error = true; 
 107                           }else{ 
 108                               emailField.removeClass('error'); 
 109                           } 
 110                           
 111              if(error) {
 112                              var content;
 113                  if(invalidEmailAddress){ 
 114                                      content = '<div class="span12">'+ 
 115                                                                              '<div class="alert alert-error">'+ 
 116                                                                                      '<button class="close" data-dismiss="alert" type="button">x</button>'+ 
 117                                                                                      'Warning! Invalid email address.'+ 
 118                                                                              '</div>'+ 
 119                                                                      '</div>'; 
 120                                  }else{ 
 121                                      content = '<div class="span12">'+ 
 122                                      '<div class="alert alert-error">'+
 123                                          '<button class="close" data-dismiss="alert" type="button">x</button>'+
 124                                          'Warning! Required fields missing values.'+
 125                                      '</div>'+
 126                                  '</div>';
 127                                  }
 128                  jQuery('#errorMessage').html(content).show();
 129              } else {
 130                  jQuery('form[name="step4"]').submit();
 131              }
 132          });
 133      },
 134  
 135      registerEventForStep5 : function() {
 136          jQuery('input[name="step6"]').on('click', function() {
 137              var error = jQuery('#errorMessage');
 138              if(error.length) {
 139                  alert('Please resolve the error before proceeding with the installation');
 140                  return false;
 141              } else {
 142                  jQuery('form[name="step5"]').submit().hide();
 143              }
 144          });
 145      },
 146      
 147      registerEventForStep6 : function() {
 148          jQuery('input[name="step7"]').on('click', function() {
 149              var industry = jQuery('select[name="industry"]').val();
 150              if (industry.length < 1) {
 151                  alert('Please select appropriate industry option.');
 152              } else {
 153                  jQuery('#progressIndicator').show();
 154                  jQuery('form[name="step6"]').submit().hide();
 155              }
 156          });
 157      },
 158  
 159      registerEvents : function() {
 160          jQuery('input[name="back"]').on('click', function() {
 161              var createDatabase = jQuery('input[name="create_db"]:checked');
 162              if(createDatabase.length > 0) {
 163                  jQuery('input[name="create_db"]').removeAttr('checked');
 164              }
 165              window.history.back();
 166          });
 167          this.registerEventForStep3();
 168          this.registerEventForStep4();
 169          this.registerEventForStep5();
 170          this.registerEventForStep6();
 171      }
 172  });
 173  


Generated: Fri Nov 28 20:08:37 2014 Cross-referenced by PHPXref 0.7.1