Manejo de errores mejorado
This commit is contained in:
parent
ff0efae219
commit
21d4e7d745
80
src/main.js
80
src/main.js
|
@ -27,7 +27,7 @@ var App =
|
||||||
|
|
||||||
_onLoad: function ()
|
_onLoad: function ()
|
||||||
{
|
{
|
||||||
// Inicializa variables globales
|
// Initializes the global variables
|
||||||
|
|
||||||
var split = Verdnatura.commandLine.match(/(?:[^\s"]+|"[^"]*")+/g);
|
var split = Verdnatura.commandLine.match(/(?:[^\s"]+|"[^"]*")+/g);
|
||||||
|
|
||||||
|
@ -42,7 +42,7 @@ var App =
|
||||||
this.compressFile = this.getEnv ('TEMP') +'\\'+ this.module +'.7z';
|
this.compressFile = this.getEnv ('TEMP') +'\\'+ this.module +'.7z';
|
||||||
this.mdbFile = this.moduleDir +'\\'+ this.module +'.mdb';
|
this.mdbFile = this.moduleDir +'\\'+ this.module +'.mdb';
|
||||||
|
|
||||||
// Crea las entradas necesarias en el registro
|
// Creates the necessary registry entries
|
||||||
|
|
||||||
var configured = this.regRead (Conf.regPath, 'configured');
|
var configured = this.regRead (Conf.regPath, 'configured');
|
||||||
|
|
||||||
|
@ -50,7 +50,7 @@ var App =
|
||||||
{
|
{
|
||||||
var path;
|
var path;
|
||||||
|
|
||||||
// Crea las entradas de configuración de Access
|
// Creates the Access configuration entries
|
||||||
|
|
||||||
path = 'HKCU\\Software\\Microsoft\\Office\\11.0\\Access\\Settings';
|
path = 'HKCU\\Software\\Microsoft\\Office\\11.0\\Access\\Settings';
|
||||||
this.regWrites (path, 'REG_DWORD', {
|
this.regWrites (path, 'REG_DWORD', {
|
||||||
|
@ -62,7 +62,7 @@ var App =
|
||||||
path = 'HKCU\\Software\\Microsoft\\Office\\11.0\\Access\\Security';
|
path = 'HKCU\\Software\\Microsoft\\Office\\11.0\\Access\\Security';
|
||||||
this.regWrite (path, 'Level', 1, 'REG_DWORD');
|
this.regWrite (path, 'Level', 1, 'REG_DWORD');
|
||||||
|
|
||||||
// Crea el ODBC de MySQL
|
// Creates the MySQL ODBC connection
|
||||||
|
|
||||||
var driverPath = this.getEnv ('ProgramFiles')
|
var driverPath = this.getEnv ('ProgramFiles')
|
||||||
+'\\MySQL\\Connector ODBC 5.1\\myodbc5.dll';
|
+'\\MySQL\\Connector ODBC 5.1\\myodbc5.dll';
|
||||||
|
@ -83,7 +83,7 @@ var App =
|
||||||
params
|
params
|
||||||
);
|
);
|
||||||
|
|
||||||
// Crea el ODBC de PosgreSQL
|
// Creates the PosgreSQL ODBC connection
|
||||||
|
|
||||||
var driverPath = this.getEnv ('ProgramFiles')
|
var driverPath = this.getEnv ('ProgramFiles')
|
||||||
+'\\psqlODBC\\0804\\bin\\psqlodbc35w.dll';
|
+'\\psqlODBC\\0804\\bin\\psqlodbc35w.dll';
|
||||||
|
@ -104,12 +104,12 @@ var App =
|
||||||
params
|
params
|
||||||
);
|
);
|
||||||
|
|
||||||
// Marca la aplicación como configurada
|
// Marks the application as configured
|
||||||
|
|
||||||
this.regWrite (Conf.regPath, 'configured', 1, 'REG_DWORD');
|
this.regWrite (Conf.regPath, 'configured', 1, 'REG_DWORD');
|
||||||
}
|
}
|
||||||
|
|
||||||
// Carga los datos del formulario
|
// Loads the form data
|
||||||
|
|
||||||
var user = this.regRead (Conf.dsPath, 'UID');
|
var user = this.regRead (Conf.dsPath, 'UID');
|
||||||
var password = this.regRead (Conf.dsPath, 'PWD');
|
var password = this.regRead (Conf.dsPath, 'PWD');
|
||||||
|
@ -196,15 +196,43 @@ var App =
|
||||||
this.regWrite (Conf.dsPath, 'UID', user, 'REG_SZ');
|
this.regWrite (Conf.dsPath, 'UID', user, 'REG_SZ');
|
||||||
this.regWrite (Conf.dsPath, 'PWD', password, 'REG_SZ');
|
this.regWrite (Conf.dsPath, 'PWD', password, 'REG_SZ');
|
||||||
|
|
||||||
// Obtiene la última versión usando la conexión ODBC de MySQL
|
// Gets the last version number usign the MySQL ODBC connection
|
||||||
|
|
||||||
var mysqlConn = new ActiveXObject ('ADODB.Connection');
|
var mysqlConn = new ActiveXObject ('ADODB.Connection');
|
||||||
|
|
||||||
|
var dbErrors = mysqlConn.errors;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
dbErrors.clear ();
|
||||||
mysqlConn.open (Conf.dsName);
|
mysqlConn.open (Conf.dsName);
|
||||||
}
|
}
|
||||||
catch (e) {
|
catch (e)
|
||||||
throw new Error ('Usuario o contraseña incorrectos');
|
{
|
||||||
|
if (dbErrors.count > 0)
|
||||||
|
{
|
||||||
|
var errorMsg;
|
||||||
|
var dbError = dbErrors.item(0);
|
||||||
|
alert (dbError.description );
|
||||||
|
|
||||||
|
switch (dbError.NativeError)
|
||||||
|
{
|
||||||
|
case 1045: // Access denied
|
||||||
|
errorMsg = 'Usuario o contraseña incorrectos';
|
||||||
|
break;
|
||||||
|
case 2003: // Can't connect
|
||||||
|
errorMsg = 'No se ha podido conectar con el '
|
||||||
|
+'servidor, comprueba que tienes conexión a '
|
||||||
|
+'Internet y que el servidor está accesible';
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
errorMsg = dbError.description;
|
||||||
|
}
|
||||||
|
|
||||||
|
dbErrors.clear();
|
||||||
|
throw new Error (errorMsg);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
throw e;
|
||||||
}
|
}
|
||||||
|
|
||||||
var sql = 'SELECT version FROM versiones WHERE programa = \''+ this.module +'\'';
|
var sql = 'SELECT version FROM versiones WHERE programa = \''+ this.module +'\'';
|
||||||
|
@ -214,7 +242,7 @@ var App =
|
||||||
rs.close ();
|
rs.close ();
|
||||||
mysqlConn.close ();
|
mysqlConn.close ();
|
||||||
|
|
||||||
// Obtiene el número de versión local del archivo MDB
|
// Obtains the local version number from the MDB file
|
||||||
|
|
||||||
var localVersion = -1;
|
var localVersion = -1;
|
||||||
|
|
||||||
|
@ -232,14 +260,16 @@ var App =
|
||||||
}
|
}
|
||||||
catch (e) {}
|
catch (e) {}
|
||||||
|
|
||||||
// Compara la versión local con la última versión
|
// Compares the local version with the las version
|
||||||
|
|
||||||
if (localVersion < lastVersion)
|
if (localVersion < lastVersion)
|
||||||
{
|
{
|
||||||
this._disableUi (true, 'Actualizando');
|
this._disableUi (true, 'Actualizando');
|
||||||
var request = new ActiveXObject ('MSXML2.XMLHTTP');
|
var request = new ActiveXObject ('MSXML2.XMLHTTP');
|
||||||
request.open ('GET', this.remoteFile +'?'+ new Date().getTime(), true);
|
request.open ('GET', this.remoteFile +'?'+ new Date().getTime(), true);
|
||||||
request.onreadystatechange = function () {App._onRequestReady (request);};
|
request.onreadystatechange = function () {
|
||||||
|
App._onRequestReady (request);
|
||||||
|
};
|
||||||
request.send ();
|
request.send ();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -276,33 +306,9 @@ var App =
|
||||||
|
|
||||||
if (this.fso.fileExists (this.mdbFile))
|
if (this.fso.fileExists (this.mdbFile))
|
||||||
this.fso.deleteFile (this.mdbFile);
|
this.fso.deleteFile (this.mdbFile);
|
||||||
|
|
||||||
// XXX: Code for the old installer modules
|
|
||||||
|
|
||||||
var oldModules = {
|
|
||||||
'tpv': 'TPV_MySQL2',
|
|
||||||
'ent': 'ENT_MySQL',
|
|
||||||
'com': 'COM_MySQL',
|
|
||||||
'enc': 'ENC_MySQL',
|
|
||||||
'eti': 'ETI',
|
|
||||||
'lab': 'LAB_MySQL'
|
|
||||||
};
|
|
||||||
var oldMdb = this.moduleDir +'\\'+ oldModules[this.module] +'.mdb';
|
|
||||||
|
|
||||||
if (this.fso.fileExists (oldMdb))
|
|
||||||
this.fso.deleteFile (oldMdb);
|
|
||||||
|
|
||||||
// XXX: End
|
|
||||||
|
|
||||||
this.run ('7za e "'+ this.compressFile +'" -o"'+ this.moduleDir +'"', true);
|
this.run ('7za e "'+ this.compressFile +'" -o"'+ this.moduleDir +'"', true);
|
||||||
this.fso.deleteFile (this.compressFile);
|
this.fso.deleteFile (this.compressFile);
|
||||||
|
|
||||||
// XXX: Code for the old installer modules
|
|
||||||
|
|
||||||
if (!this.fso.fileExists (this.mdbFile) && this.fso.fileExists (oldMdb))
|
|
||||||
this.fso.moveFile (oldMdb, this.mdbFile);
|
|
||||||
|
|
||||||
// XXX: End
|
|
||||||
}
|
}
|
||||||
catch (e)
|
catch (e)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue