PageSourceSearch

https://www.gpsrrhh.com/js/login/login.js?Rev=01-10-2026

js gpsrrhh.com collected 2026-10-04 16:20:54 UTC 10,418 bytes, 328 lines download raw bytes

1$(function() {
2	var companies_dialog = $("#jq-companies-dialog");
3	var loginButton = $("#jq-login-button");
4	var loginContainer = $("#login");
5	var login_error_dialog = $("#jq-login-error-dialog");
6	loginButton.attr('disabled','disabled');
7	var cancelDialogButton = [{
8		text: messages.site_cancel,
9		click: function() {
10			companies_dialog.dialog("close");
11		}
12	}];
13
14	recaptchaGenerate = function(){
15		loginButton.attr('disabled','disabled');
16		grecaptcha.ready(function () {
17			grecaptcha.execute(globalUrl.captcha_public, {
18				action: 'login'
19			}).then(function (token) {
20				$('#recaptcha_response').val(token);
21				loginButton.removeAttr('disabled');
22				setTimeout(recaptchaGenerate, 2 * 1000 * 60);
23			});
24		});
25	}
26	recaptchaGenerate();
27	
28	//Definicion del dialog para escoger empresa para hacer login
29	companies_dialog.dialog({
30		width:600,resizable:false,autoOpen:false,modal:true,closeOnEscape:false,position:['center', 20],
31		buttons: cancelDialogButton,
32		open: function() {
33			var content = companies_dialog.find(".jq-content");
34			print_loading(content, images.loading40, messages);
35			var companies = companies_dialog.data("companies");
36			$.each(companies, function(index, company) {
37				var div;
38				if(index == 0)
39					div = content.find(".jq-company-logo-div:first");
40				else
41					div = content.find(".jq-company-logo-div:first").clone();
42
43				div.removeClass("hidden-obj");
44
45				//Asignar id de la empresa al div
46				div.data("companyId", company.id);
47
48				//Setear la imagen de la empresa
49				div.find("img").attr("src", company.URILogo);
50
51				//Setear el nombre de la empresa
52				div.find(".jq-company-name").text(company.name);
53
54				//Agregar empresa al contenedor
55				div.appendTo(content.find(".jq-company-list"));
56
57				//Mostrar las empresas
58				remove_loading(content);
59
60				//Reiniciar posicion centrada del dialog
61				companies_dialog.dialog("option", "position", ['center', 20]);
62			});
63		},
64		close: function() {
65			setTimeout(function() {
66				companies_dialog.find(".jq-content .jq-company-logo-div").not(":first").remove();
67				var first = companies_dialog.find(".jq-content .jq-company-logo-div:first");
68				first.addClass("hidden-obj");
69				first.data("companyId", "");
70				first.find("img").attr("src", "");
71				first.find(".jq-company-name").text("");
72				companies_dialog.find(".jq-login-error, .jq-login-logout").addClass("hidden-obj");
73				
74				
75			}, 50);
76		}
77	});
78
79	//Dialog para mostrar mensaje de error
80	login_error_dialog.dialog({
81		width:400,resizable:false,autoOpen:false,modal:true,closeOnEscape:false,position:['center', 20],
82		buttons: [{
83			text: messages.site_close,
84			click: function() {
85				login_error_dialog.dialog("close");
86			}
87		}]
88	});
89
90	//Click a Entrar
91	loginButton.on("click", function() {
92		var previous_text = $.trim(loginButton.val());
93		loginButton.attr('disabled','disabled').val(messages.site_wait);
94
95		var div_error = $("#login .jq-login-error");
96		div_error.find(".jq-login-error-message").text("");
97		div_error.addClass("hidden-obj");
98
99		var data = getLoginData();
100
101		doLogin(data, companies_dialog, function() {
102			loginButton.removeAttr("disabled").val(previous_text);
103		});
104	});
105
106	//Click a una empresa para iniciar sesión
107	companies_dialog.off("click", ".jq-company-logo-div").on("click", ".jq-company-logo-div", function() {
108		var companyId = $(this).data("companyId");
109
110		//Boton "Espere un momento" al dialog
111		dialogWaitButton(companies_dialog, messages);
112		
113		//Datos que se van a enviar para iniciar sesion
114		var data = getLoginData();
115		data.companyId = companyId;
116		
117		//Ocultar empresas y mostrar "Iniciando sesión..."
118		companies_dialog.find(".jq-content").addClass("hidden-obj");
119		companies_dialog.find(".jq-loading-login").removeClass("hidden-obj");
120		
121		//Efectuar login
122		doLogin(data, companies_dialog, function() {
123			//Mostrar empresas y ocultar "Iniciando sesión..."
124			companies_dialog.find(".jq-content").removeClass("hidden-obj");
125			companies_dialog.find(".jq-loading-login").addClass("hidden-obj");
126
127			//Volver a mostrar botón "Cancelar" en el dialog
128			dialogRecoverButtons(companies_dialog, cancelDialogButton);
129		});
130	});
131
132	//Tecla Enter a campo Password
133	$('#password').keypress(function(e) {
134		var key = e.which;
135		if(key == 13) {
136			loginButton.click();
137			return false;  
138		}
139	});
140
141	loginContainer.off("click", ".jq-url-email-forwarding").on("click", ".jq-url-email-forwarding", function() {
142		reSendEmailActivation(false);
143	});
144	loginContainer.off("click", ".jq-url-email-forwarding-default").on("click", ".jq-url-email-forwarding-default", function() {
145		reSendEmailActivation(true);
146	});
147	getGeoLocationIp(chargeIpCallback);
148});
149
150function chargeIpCallback(initdata,data) {
151	$("#login").find('.jq-address-ip').val(btoa(data.IPv4));
152	$("#login").find('.jq-geo-config').val(btoa(JSON.stringify(data.geoConfig)));	
153}
154
155//Obtiene los datos de inicio de sesion
156function getLoginData() {
157	var dataGeolocation ={};
158	var data = {};
159	data.email = $.trim($("input[name=email]").val());
160	data.password = $.trim($("input[name=password]").val());
161	data.companyId = $.trim($("input[name=companyId]").val());
162	data.remember_me = $("input[name=remember_me]").is(":checked");
163	data.recaptcha =  $.trim($("input[name=recaptcha_response]").val());
164	data.typePlan =  $.trim($("input[name=typePlanFromRegisterExist]").val());
165	//dataGeolocation= getGeoLocationIp();	
166	data.IPv4 = $("#login").find('.jq-address-ip').val();
167
168	if($("#login").find('.jq-geo-config').val() != '')
169		data.geoConfig = $("#login").find('.jq-geo-config').val();
170	else
171		data.geoConfig = "";
172	
173
174	if(hasModule("captcha"))
175		data.captcha = $.trim($("input[name=captcha_code]").val());
176	return data;
177}
178
179//Efectua el inicio de sesion (siempre que sea posible con los datos suministrados)
180function doLogin(data, companies_dialog, callback) {
181	var login_error_dialog = $("#jq-login-error-dialog");	
182	$.ajax({
183		url: BASE_URL+"login/ajax_validate",
184		type: "POST",
185		data: data,
186		success: function(resp) {
187			if(checkVar(resp)) {
188				resp = $.parseJSON(resp);
189				if(checkVar(resp.tokenPassword)){
190					window.location = BASE_URL+'login/reset_password?token='+resp.tokenPassword+'&changeFor='+resp.changeFor;
191				}
192				if(checkVar(resp.data)) {
193					//Redirigir a la URL que indique el servidor
194					if(checkVar(resp.data.url)) {
195						window.location = resp.data.url;
196						return;
197					}
198
199					//Abrir dialog de empresas para elegir en cuál iniciar sesión
200					if(checkVar(resp.data.companies) && resp.data.companies.length > 1) {
201						recaptchaGenerate();
202						companies_dialog.data("companies", resp.data.companies);
203						companies_dialog.dialog("open");
204					}
205					
206					callback();
207
208					return;
209				}
210				
211				if(checkVar(resp.error) && checkVar(resp.error.message)) {
212					recaptchaGenerate();
213					if(resp.error.code== "-5"){
214						doLogin(data, companies_dialog, callback);
215					}
216					else if(resp.error.code== "account_no_confirmed"){
217						showMessageNoConfirmed(data.email,data.password,data.companyId);
218					}else if(resp.error.code== "invalid_login_external"){
219						window.location = BASE_URL+'login_external/'+resp.error.message;
220					}
221					else if(resp.error.code== "company_suite_access_denied"){
222						if(companies_dialog.dialog("isOpen")){
223							companies_dialog.dialog("close");
224						}
225						var loginButton = $("#jq-login-button");
226						loginButton.hide();
227						$(".jq-remember-me-check").hide();
228						$(".jq-remember-me-label").hide();
229						$(".jq-enterprise-email-forwarding-ok-hide").hide();						
230						$('#password').off('keypress');
231
232						var suiteAlert = $(".jq-suite-invalid-login-row");
233						suiteAlert.find(".jq-suite-invalid-login-message").html(resp.error.message);
234						suiteAlert.removeClass("hidden-obj");
235					}
236					else{
237						login_error_dialog.find(".jq-message").text(resp.error.message);
238						login_error_dialog.dialog("open");
239					}
240				}
241			}
242
243			callback();
244		},
245		error: function(jqXHR, textStatus, errorThrown) {
246			if(checkVar(jqXHR.responseText)) {
247				recaptchaGenerate();
248				var resp = $.parseJSON(jqXHR.responseText);
249
250				if(checkVar(resp.error)) {
251					showLoginError(resp.error);
252				}
253			}
254
255			callback();
256		}
257	});
258}
259
260function showLoginError(error) {
261	var companies_dialog = $("#jq-companies-dialog");
262
263	//Verificar si está abierto el dialog de multiempresa
264	var fromMultiLogin = companies_dialog.dialog("isOpen");
265	var div_error;
266	if(fromMultiLogin)
267		div_error = companies_dialog.find(".jq-login-error");
268	else
269		div_error = $("#login .jq-login-error");
270	
271	div_error.removeClass("hidden-obj");
272	
273	if(checkVar(error.message)) {
274		div_error.find(".jq-login-error-message").text(error.message);
275
276		if(checkVar(error.code) && error.code == 1) {
277			div_error.find(".jq-login-logout").removeClass("hidden-obj");
278		}
279	}
280}
281
282function showMessageNoConfirmed(email,password,companyId) {
283	$("#jq-enterprise-access-div").hasClass('jq-login-default-template') ? null  : $("#jq-enterprise-access-div").addClass('hidden-obj');
284	$("#jq-enterprise-email-forwarding").removeClass('hidden-obj');
285	$(".btns_secundarios").addClass('hidden-obj');
286	$("#jq-email-forwarding").val(email);
287	$("#jq-pass-forwarding").val(password);
288	$("#jq-companyId-forwarding").val(companyId);
289}
290
291function reSendEmailActivation(fromDefault) {
292	var data = {};
293	data.email = $('#jq-email-forwarding').val();
294	data.contra = $('#jq-pass-forwarding').val();
295	data.companyId = $('#jq-companyId-forwarding').val();
296	imgLoading = globalUrl.base+"images/loading_16.gif?v2";
297	loading ="#jq-loading-email-forwarding";
298	print_loading_full({element:$(loading), url_img:imgLoading, align:"center"});
299	$('.jq-email-forwarding-container').addClass('hidden-obj');
300	var ajaxOptions = {
301		url: BASE_URL+"companies/ajax_re_send_mail_activation",
302		type: "POST",
303		data: data
304	};
305	
306	var res = $.ajax(ajaxOptions);
307	
308	function onAjaxDone(resp) {
309		if(!fromDefault)
310			window.location = BASE_URL+'companies/createSimple/reSend/';
311		if(fromDefault){
312			$('#jq-enterprise-email-forwarding').addClass('hidden-obj');
313			$('.jq-enterprise-email-forwarding-ok').removeClass('hidden-obj');
314			$('.jq-enterprise-email-forwarding-ok-hide').addClass('hidden-obj');
315			$("#jq-enterprise-access-div").addClass('hidden-obj')
316		}
317		remove_loading($(loading));
318	}
319	
320	function onAjaxFail(XMLHttpRequest, textStatus, errorThrown) {
321		alert("Error en reenvío de email."); 
322		remove_loading($(loading));
323	}	
324	res
325		.done(onAjaxDone)
326		.fail(onAjaxFail)
327	;
328}

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.