Merge pull request 'bug#al-4269' (!544) from AL-4269 into master
Reviewed-on: http://18.235.188.113:3000/adm/VentaBoletosAdm/pulls/544 Reviewed-by: fabio <fabio.faria@rjconsultores.com.br>master 1.82.0
commit
ef7f15a78e
6
pom.xml
6
pom.xml
|
@ -4,12 +4,12 @@
|
|||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>br.com.rjconsultores</groupId>
|
||||
<artifactId>ventaboletosadm</artifactId>
|
||||
<version>1.81.0</version>
|
||||
<version>1.82.0</version>
|
||||
<packaging>war</packaging>
|
||||
|
||||
<properties>
|
||||
<modelWeb.version>1.61.0</modelWeb.version>
|
||||
<flyway.version>1.46.0</flyway.version>
|
||||
<modelWeb.version>1.62.0</modelWeb.version>
|
||||
<flyway.version>1.47.0</flyway.version>
|
||||
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
|
||||
</properties>
|
||||
|
||||
|
|
|
@ -12,6 +12,8 @@ import org.springframework.context.annotation.Scope;
|
|||
import org.springframework.stereotype.Controller;
|
||||
import org.zkoss.util.resource.Labels;
|
||||
import org.zkoss.zk.ui.Component;
|
||||
import org.zkoss.zk.ui.Execution;
|
||||
import org.zkoss.zk.ui.Executions;
|
||||
import org.zkoss.zk.ui.event.Event;
|
||||
import org.zkoss.zk.ui.event.EventListener;
|
||||
import org.zkoss.zk.ui.event.Events;
|
||||
|
@ -97,8 +99,19 @@ public class IndexController extends MyGenericForwardComposer {
|
|||
|
||||
if (usuario == null) {
|
||||
toolBarUser.setVisible(Boolean.FALSE);
|
||||
|
||||
Execution exec = Executions.getCurrent();
|
||||
String param = exec.getParameter("param");
|
||||
|
||||
if(param != null) {
|
||||
Map args = new HashMap();
|
||||
args.put("login", param);
|
||||
|
||||
openWindow("/recuperarSenha.zul", "Recuperar Senha", args, MODAL, Boolean.FALSE);
|
||||
} else {
|
||||
openWindow("/login.zul", Labels.getLabel("winLogin.title"), arg, MODAL, Boolean.FALSE);
|
||||
}
|
||||
|
||||
openWindow("/login.zul", Labels.getLabel("winLogin.title"), arg, MODAL, Boolean.FALSE);
|
||||
} else {
|
||||
|
||||
win.setCtrlKeys("^q");
|
||||
|
|
|
@ -0,0 +1,196 @@
|
|||
/*
|
||||
* To change this template, choose Tools | Templates
|
||||
* and open the template in the editor.
|
||||
*/
|
||||
package com.rjconsultores.ventaboletos.web.gui.controladores;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import javax.mail.SendFailedException;
|
||||
|
||||
import org.apache.commons.codec.binary.Base64;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Scope;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.zkoss.util.resource.Labels;
|
||||
import org.zkoss.zhtml.Messagebox;
|
||||
import org.zkoss.zk.ui.Component;
|
||||
import org.zkoss.zk.ui.event.Event;
|
||||
import org.zkoss.zk.ui.util.Clients;
|
||||
import org.zkoss.zul.Button;
|
||||
import org.zkoss.zul.Textbox;
|
||||
|
||||
import com.rjconsultores.ventaboletos.entidad.Constante;
|
||||
import com.rjconsultores.ventaboletos.entidad.RecuperarSenha;
|
||||
import com.rjconsultores.ventaboletos.entidad.Usuario;
|
||||
import com.rjconsultores.ventaboletos.service.ConstanteService;
|
||||
import com.rjconsultores.ventaboletos.service.UsuarioService;
|
||||
import com.rjconsultores.ventaboletos.utilerias.DateUtil;
|
||||
import com.rjconsultores.ventaboletos.utilerias.SendMail;
|
||||
import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer;
|
||||
|
||||
@Controller("loginController")
|
||||
@Scope("prototype")
|
||||
public class LoginController extends MyGenericForwardComposer {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
private static final String HOST_SMTP_RECUPERACAOSENHA = "HOST_SMTP_RECUPERACAOSENHA";
|
||||
private static final String PORTA_SMTP_RECUPERACAOSENHA = "PORTA_SMTP_RECUPERACAOSENHA";
|
||||
private static final String USUARIO_SMTP_RECUPERACAOSENHA = "USUARIO_SMTP_RECUPERACAOSENHA";
|
||||
private static final String SENHAUSUARIO_SMTP_RECUPERACAOSENHA = "SENHAUSUARIO_SMTP_RECUPERACAOSENHA";
|
||||
private static final String URL_ADM = "URL_ADM";
|
||||
private static Logger log = LogManager.getLogger(LoginController.class);
|
||||
|
||||
@Autowired
|
||||
private UsuarioService usuarioService;
|
||||
|
||||
@Autowired
|
||||
private ConstanteService constanteService;
|
||||
|
||||
private Button btnRecuperarSenha;
|
||||
|
||||
//login usuario, mantive o nome da tela para nao alterar o processo de login
|
||||
private Textbox u;
|
||||
|
||||
@Override
|
||||
public void doAfterCompose(Component comp) throws Exception {
|
||||
super.doAfterCompose(comp);
|
||||
}
|
||||
|
||||
public Button getBtnRecuperarSenha() {
|
||||
return btnRecuperarSenha;
|
||||
}
|
||||
|
||||
public void setBtnRecuperarSenha(Button btnRecuperarSenha) {
|
||||
this.btnRecuperarSenha = btnRecuperarSenha;
|
||||
}
|
||||
|
||||
public void onClick$btnRecuperarSenha(Event ev) {
|
||||
try {
|
||||
String login = u.getValue();
|
||||
|
||||
if (StringUtils.isBlank(login)) {
|
||||
Messagebox.show(Labels.getLabel("winCambiaContrasena.erro.camposVazios"),
|
||||
Labels.getLabel("winCambiaContrasena.title"), Messagebox.OK, Messagebox.INFORMATION);
|
||||
return;
|
||||
}
|
||||
|
||||
List<Usuario> usuarioList = usuarioService.buscarPelaCveUsuario(login);
|
||||
|
||||
//Nao encontrado nenhum usuario com o login
|
||||
if(usuarioList.isEmpty()) {
|
||||
Messagebox.show(Labels.getLabel("winCambiaContrasena.erro.loginNaoEncontrado"),
|
||||
Labels.getLabel("winCambiaContrasena.title"), Messagebox.OK, Messagebox.INFORMATION);
|
||||
return;
|
||||
}
|
||||
|
||||
if(usuarioList.size() > 1) {
|
||||
Messagebox.show(Labels.getLabel("winCambiaContrasena.erro.multiplusUsuariosPorLogin"),
|
||||
Labels.getLabel("winCambiaContrasena.title"), Messagebox.OK, Messagebox.INFORMATION);
|
||||
return;
|
||||
}
|
||||
|
||||
Usuario usuario = usuarioList.get(0);
|
||||
|
||||
if(StringUtils.isBlank(usuario.getDescCorreo())) {
|
||||
Messagebox.show(Labels.getLabel("winCambiaContrasena.erro.configuracaoConstante"),
|
||||
Labels.getLabel("winCambiaContrasena.title"), Messagebox.OK, Messagebox.INFORMATION);
|
||||
return;
|
||||
}
|
||||
|
||||
Constante hostSmtp = constanteService.buscarPorNomeConstante(HOST_SMTP_RECUPERACAOSENHA);
|
||||
Constante portaSmtp = constanteService.buscarPorNomeConstante(PORTA_SMTP_RECUPERACAOSENHA);
|
||||
Constante usuarioSmtp = constanteService.buscarPorNomeConstante(USUARIO_SMTP_RECUPERACAOSENHA);
|
||||
Constante senhaUsuarioSMTP = constanteService.buscarPorNomeConstante(SENHAUSUARIO_SMTP_RECUPERACAOSENHA);
|
||||
Constante urlADM = constanteService.buscarPorNomeConstante(URL_ADM);
|
||||
|
||||
if(isNull(hostSmtp) || isNull(portaSmtp) || isNull(usuarioSmtp) || isNull(senhaUsuarioSMTP) || isNull(urlADM)) {
|
||||
Messagebox.show(Labels.getLabel("winCambiaContrasena.erro.emailNaoCadastrado"),
|
||||
Labels.getLabel("winCambiaContrasena.title"), Messagebox.OK, Messagebox.INFORMATION);
|
||||
return;
|
||||
}
|
||||
|
||||
String URL = montarURL(login, urlADM, usuario);
|
||||
|
||||
|
||||
enviarEmail(usuario, usuarioSmtp.getValorconstante(), hostSmtp.getValorconstante(), senhaUsuarioSMTP.getValorconstante(),
|
||||
portaSmtp.getValorconstante(), URL);
|
||||
|
||||
Messagebox.show(Labels.getLabel("winCambiaContrasena.MSG.EmailRecuperacaoSenhaEnviado"),
|
||||
Labels.getLabel("winCambiaContrasena.title"), Messagebox.OK, Messagebox.INFORMATION);
|
||||
} catch (Exception ex) {
|
||||
log.error(ex.getLocalizedMessage());
|
||||
Clients.alert(ex.getLocalizedMessage(), Labels.getLabel("winCambiaContrasena.title"), Messagebox.INFORMATION);
|
||||
}
|
||||
}
|
||||
|
||||
private String montarURL(String login, Constante urlADM, Usuario usuario) {
|
||||
String URL = urlADM.getValorconstante();
|
||||
|
||||
String dataAtual = DateUtil.getStringDate24Hour(new Date());
|
||||
|
||||
String paramEncode = login.concat(";").concat(dataAtual);
|
||||
|
||||
paramEncode = new String(Base64.encodeBase64(paramEncode.getBytes()));
|
||||
|
||||
URL = URL.concat("?param=").concat(paramEncode);
|
||||
|
||||
salvarParametro(paramEncode, usuario);
|
||||
|
||||
return URL;
|
||||
}
|
||||
|
||||
private void salvarParametro(String paramEncode, Usuario usuario) {
|
||||
RecuperarSenha recSenhaExiste = usuarioService.buscarLinkRecuperacaoSenhaPeloParam(paramEncode);
|
||||
|
||||
//Para evitar criar mais de um link no mesmo minuto
|
||||
if(recSenhaExiste == null) {
|
||||
RecuperarSenha recSenha = new RecuperarSenha();
|
||||
|
||||
recSenha.setParam(paramEncode);
|
||||
recSenha.setActivo(Boolean.TRUE);
|
||||
recSenha.setFecmodif(new Date());
|
||||
recSenha.setUsuarioId(usuario.getUsuarioId());
|
||||
|
||||
usuarioService.salvarLinkRecuperacaoSenha(recSenha);
|
||||
}
|
||||
}
|
||||
|
||||
private boolean isNull(Constante valorConstante) {
|
||||
return valorConstante == null || StringUtils.isBlank(valorConstante.getValorconstante());
|
||||
}
|
||||
|
||||
private void enviarEmail(Usuario usuario, String usuarioSmtp, String smtpHost, String senhaSmtp, String portaSmtp, String urlADM) throws SendFailedException {
|
||||
|
||||
SendMail mail = new SendMail();
|
||||
mail.setEmailTo(usuario.getDescCorreo());
|
||||
mail.setEmailFrom(usuarioSmtp); // "cassiohcsilvadev@gmail.com"
|
||||
mail.setSmtpHost(smtpHost); //"smtp.gmail.com"
|
||||
mail.setSmtpPassword(senhaSmtp); // "jtzpzyzcjviyheym"
|
||||
mail.setSmtpPort(portaSmtp); //"587"
|
||||
mail.setSmtpUser(usuarioSmtp); //"cassiohcsilvadev@gmail.com"
|
||||
mail.setAuth(true);
|
||||
|
||||
//URL: /ventaboletosadm/index.zul?param=USUARIO
|
||||
|
||||
String textoEmail = "RECUPERAÇÃO DE SENHA ADM. \n ";
|
||||
textoEmail = textoEmail.concat("Link para recuperacao de senha: " + urlADM + " \n");
|
||||
textoEmail = textoEmail.concat("O link tem validade de 5 minutos. ");
|
||||
|
||||
mail.setSubject("RECUPERAÇÃO DE SENHA ADM.");
|
||||
mail.setText(textoEmail);
|
||||
mail.send();
|
||||
}
|
||||
|
||||
public Textbox getU() {
|
||||
return u;
|
||||
}
|
||||
|
||||
public void setU(Textbox u) {
|
||||
this.u = u;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,167 @@
|
|||
package com.rjconsultores.ventaboletos.web.gui.controladores;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.commons.codec.binary.Base64;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Scope;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.zkoss.util.resource.Labels;
|
||||
import org.zkoss.zhtml.Messagebox;
|
||||
import org.zkoss.zk.ui.Component;
|
||||
import org.zkoss.zk.ui.Executions;
|
||||
import org.zkoss.zk.ui.event.Event;
|
||||
import org.zkoss.zk.ui.util.Clients;
|
||||
import org.zkoss.zul.Button;
|
||||
import org.zkoss.zul.Textbox;
|
||||
|
||||
import com.rjconsultores.ventaboletos.entidad.RecuperarSenha;
|
||||
import com.rjconsultores.ventaboletos.entidad.Usuario;
|
||||
import com.rjconsultores.ventaboletos.service.UsuarioService;
|
||||
import com.rjconsultores.ventaboletos.utilerias.DateUtil;
|
||||
import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer;
|
||||
|
||||
@Controller("recuperarSenhaController")
|
||||
@Scope("prototype")
|
||||
public class RecuperarSenhaController extends MyGenericForwardComposer {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
private static Logger log = LogManager.getLogger(RecuperarSenhaController.class);
|
||||
|
||||
@Autowired
|
||||
private UsuarioService usuarioService;
|
||||
|
||||
private Textbox txtUser;
|
||||
private Textbox txtNewPassword;
|
||||
private Textbox txtConfirmPassword;
|
||||
private Button btnSalvar;
|
||||
private Button btnFecharTela;
|
||||
|
||||
private RecuperarSenha recSenha;
|
||||
|
||||
@Override
|
||||
public void doAfterCompose(Component comp) throws Exception {
|
||||
super.doAfterCompose(comp);
|
||||
|
||||
String param = (String) Executions.getCurrent().getArg().get("login");
|
||||
|
||||
if(param != null) {
|
||||
recSenha = usuarioService.buscarLinkRecuperacaoSenhaPeloParam(param);
|
||||
|
||||
//Se nao existe no banco nao ativa a troca de senha
|
||||
if(recSenha == null) {
|
||||
desativarCampos();
|
||||
} else {
|
||||
btnFecharTela.setVisible(false);
|
||||
String paramDecode = new String(Base64.decodeBase64(param.getBytes()));
|
||||
|
||||
String[] parametros = paramDecode.split(";");
|
||||
|
||||
if(parametros.length != 2) {
|
||||
desativarCampos();
|
||||
} else {
|
||||
|
||||
if(isDataValida(parametros)) {
|
||||
txtUser.setText(parametros[0]);
|
||||
|
||||
} else {
|
||||
desativarCampos();
|
||||
btnFecharTela.setLabel("Link expirado. Fechar tela.");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
private void desativarCampos() {
|
||||
txtUser.setDisabled(true);
|
||||
txtNewPassword.setDisabled(true);
|
||||
txtConfirmPassword.setDisabled(true);
|
||||
|
||||
btnSalvar.setVisible(false);
|
||||
btnFecharTela.setVisible(true);
|
||||
}
|
||||
|
||||
private boolean isDataValida(String[] parametros) {
|
||||
Date dataParam =DateUtil.getDateString24Hour(parametros[1]);
|
||||
|
||||
Date dataAtual = new Date();
|
||||
|
||||
Long minutos = DateUtil.getElapsedMinutos(dataParam, dataAtual);
|
||||
|
||||
//A data e valida em ate 5 minutos
|
||||
return minutos <= 5;
|
||||
}
|
||||
|
||||
private void fecharTela() {
|
||||
closeWindow();
|
||||
openWindow("/login.zul", Labels.getLabel("indexController.app.nome"), arg, MODAL, Boolean.FALSE);
|
||||
}
|
||||
|
||||
public void onClick$btnFecharTela(Event ev) {
|
||||
fecharTela();
|
||||
}
|
||||
|
||||
public void onClick$btnSalvar(Event ev) throws InterruptedException {
|
||||
try {
|
||||
|
||||
if (StringUtils.isBlank(txtUser.getValue())) {
|
||||
Messagebox.show(Labels.getLabel("winCambiaContrasena.erro.camposVazios"),
|
||||
Labels.getLabel("winCambiaContrasena.title"), Messagebox.OK, Messagebox.INFORMATION);
|
||||
return;
|
||||
}
|
||||
|
||||
List<Usuario> usuarioList = usuarioService.buscarPelaCveUsuario(txtUser.getValue());
|
||||
|
||||
//Nao encontrado nenhum usuario
|
||||
if(usuarioList.isEmpty()) {
|
||||
Messagebox.show(Labels.getLabel("winCambiaContrasena.erro.camposVazios"),
|
||||
Labels.getLabel("winCambiaContrasena.title"), Messagebox.OK, Messagebox.INFORMATION);
|
||||
return;
|
||||
}
|
||||
|
||||
if (!txtNewPassword.getValue().equals(txtConfirmPassword.getValue())) {
|
||||
Messagebox.show(Labels.getLabel("winCambiaContrasena.erro.senhasDiferentes"),
|
||||
Labels.getLabel("winCambiaContrasena.title"), Messagebox.OK, Messagebox.INFORMATION);
|
||||
return;
|
||||
}
|
||||
|
||||
Usuario usuario = usuarioList.get(0);
|
||||
|
||||
usuarioService.cambiarContrasena(usuario, txtNewPassword.getValue());
|
||||
|
||||
//Desativar link
|
||||
usuarioService.desativarLinkRecuperacaoSenha(recSenha);
|
||||
|
||||
Messagebox.show(Labels.getLabel("winCambiaContrasena.MSG.suscribirOK"),
|
||||
Labels.getLabel("winCambiaContrasena.title"), Messagebox.OK, Messagebox.INFORMATION);
|
||||
|
||||
fecharTela();
|
||||
|
||||
} catch (Exception ex) {
|
||||
log.error(ex.getLocalizedMessage());
|
||||
Clients.alert(ex.getLocalizedMessage(), Labels.getLabel("winCambiaContrasena.title"), Messagebox.INFORMATION);
|
||||
}
|
||||
}
|
||||
|
||||
public Button getBtnSalvar() {
|
||||
return btnSalvar;
|
||||
}
|
||||
|
||||
public void setBtnSalvar(Button btnSalvar) {
|
||||
this.btnSalvar = btnSalvar;
|
||||
}
|
||||
|
||||
public Button getBtnFecharTela() {
|
||||
return btnFecharTela;
|
||||
}
|
||||
|
||||
public void setBtnFecharTela(Button btnFecharTela) {
|
||||
this.btnFecharTela = btnFecharTela;
|
||||
}
|
||||
}
|
|
@ -27,6 +27,7 @@ import org.zkoss.zul.Button;
|
|||
import org.zkoss.zul.Checkbox;
|
||||
import org.zkoss.zul.Combobox;
|
||||
import org.zkoss.zul.Comboitem;
|
||||
import org.zkoss.zul.Datebox;
|
||||
import org.zkoss.zul.Label;
|
||||
import org.zkoss.zul.ListModelList;
|
||||
import org.zkoss.zul.Radio;
|
||||
|
@ -155,6 +156,10 @@ public class EditarUsuarioController extends MyGenericForwardComposer {
|
|||
private boolean indConstanteIndMultiPuntoVenta;
|
||||
private final String nombreIndConstanteIndMultiPuntoVenta ="IND_MULTI_PUNTOVENTA";
|
||||
|
||||
private Checkbox chkIndRecuperarSenha;
|
||||
private Textbox txtMatricula;
|
||||
private Datebox dataNascimento;
|
||||
private Textbox txtSobrenomePaterno;
|
||||
|
||||
@Override
|
||||
public void doAfterCompose(Component comp) throws Exception {
|
||||
|
@ -592,6 +597,13 @@ public class EditarUsuarioController extends MyGenericForwardComposer {
|
|||
usuario.setTipoVentaIntegracaoId(Long.valueOf(tipoVentaSeleccionado.getTipoventaId()));
|
||||
}
|
||||
|
||||
if(chkIndRecuperarSenha.isChecked()) {
|
||||
if(dataNascimento.getValue() == null || StringUtils.isBlank(txtMatricula.getValue()) || StringUtils.isBlank(txtSobrenomePaterno.getValue())) {
|
||||
MensagensUtils.showMessageExclamation("editarUsuarioController.MSG.necessarioPreencherDadosRecuperacao", TITULO_CONTROLER);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
usuario.setIndRetornaTodasLocalidades( chkRetornaTodasLocalidades.isChecked());
|
||||
usuario.setIndTrocaSenha(chkTrocarSenha.isChecked());
|
||||
|
||||
|
@ -976,4 +988,36 @@ public class EditarUsuarioController extends MyGenericForwardComposer {
|
|||
public void setChkTrocarSenha(Checkbox chkTrocarSenha) {
|
||||
this.chkTrocarSenha = chkTrocarSenha;
|
||||
}
|
||||
|
||||
public Checkbox getChkIndRecuperarSenha() {
|
||||
return chkIndRecuperarSenha;
|
||||
}
|
||||
|
||||
public void setChkIndRecuperarSenha(Checkbox chkIndRecuperarSenha) {
|
||||
this.chkIndRecuperarSenha = chkIndRecuperarSenha;
|
||||
}
|
||||
|
||||
public Textbox getTxtMatricula() {
|
||||
return txtMatricula;
|
||||
}
|
||||
|
||||
public void setTxtMatricula(Textbox txtMatricula) {
|
||||
this.txtMatricula = txtMatricula;
|
||||
}
|
||||
|
||||
public Datebox getDataNascimento() {
|
||||
return dataNascimento;
|
||||
}
|
||||
|
||||
public void setDataNascimento(Datebox dataNascimento) {
|
||||
this.dataNascimento = dataNascimento;
|
||||
}
|
||||
|
||||
public Textbox getTxtSobrenomePaterno() {
|
||||
return txtSobrenomePaterno;
|
||||
}
|
||||
|
||||
public void setTxtSobrenomePaterno(Textbox txtSobrenomePaterno) {
|
||||
this.txtSobrenomePaterno = txtSobrenomePaterno;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -459,7 +459,8 @@
|
|||
<value>com.rjconsultores.ventaboletos.entidad.HeaderTabelaEsquemaCorrida</value>
|
||||
<value>com.rjconsultores.ventaboletos.entidad.Disponibilidad</value>
|
||||
<value>com.rjconsultores.ventaboletos.entidad.EmpresaPMArtespConfig</value>
|
||||
<value>com.rjconsultores.ventaboletos.entidad.EmpresaSicfeConfig</value>
|
||||
<value>com.rjconsultores.ventaboletos.entidad.EmpresaSicfeConfig</value>
|
||||
<value>com.rjconsultores.ventaboletos.entidad.RecuperarSenha</value>
|
||||
</list>
|
||||
</property>
|
||||
|
||||
|
|
|
@ -9988,3 +9988,16 @@ winMovimentacionBilhetesPuntoVenta.numSerie.label = Série
|
|||
winMovimentacionBilhetesPuntoVenta.origem.label = Origen
|
||||
winMovimentacionBilhetesPuntoVenta.puntoventa.label = Ag.
|
||||
winMovimentacionBilhetesPuntoVenta.tipoMovimentacion.label = Naturaleza
|
||||
|
||||
editarUsuarioController.tabel.restaurarSenha= Restablecimiento de contraseña
|
||||
editarUsuarioController.tabel.numeroMatricula= Registro
|
||||
editarUsuarioController.tabel.dataNascimento= Fecha de nacimiento
|
||||
editarUsuarioController.tabel.sobrenomePaterno= Apellido paterno
|
||||
editarUsuarioController.MSG.necessarioPreencherDadosRecuperacao=Se deben completar todos los datos para utilizar la recuperación de contraseña.
|
||||
winCambiaContrasena.erro.loginNaoEncontrado= No se encontró ningún usuario con el inicio de sesión proporcionado.
|
||||
winCambiaContrasena.erro.multiplusUsuariosPorLogin= Se encontró más de un usuario con el mismo inicio de sesión, comuníquese con el administrador del sistema.
|
||||
winCambiaContrasena.erro.emailNaoCadastrado= Correo electrónico del usuario no registrado, contacte al administrador del sistema.
|
||||
winCambiaContrasena.MSG.EmailRecuperacaoSenhaEnviado=Se envió un enlace de recuperación de contraseña al correo electrónico registrado en el inicio de sesión del usuario.
|
||||
winCambiaContrasena.erro.configuracaoConstante= Es necesario configurar constantes de envío de correo electrónico para la recuperación de contraseña. Póngase en contacto con el administrador de su sistema.
|
||||
winCambiaContrasena.erro.linkInvalido=Enlace no válido.
|
||||
winCambiaContrasena.btnLinkInvalidoFecharTela= Enlace no válido. Cerrar pantalla.
|
||||
|
|
|
@ -9961,3 +9961,17 @@ winMovimentacionBilhetesPuntoVenta.numSerie.label = Série
|
|||
winMovimentacionBilhetesPuntoVenta.origem.label = Origine
|
||||
winMovimentacionBilhetesPuntoVenta.puntoventa.label = Ag.
|
||||
winMovimentacionBilhetesPuntoVenta.tipoMovimentacion.label = Nature
|
||||
|
||||
editarUsuarioController.tabel.restaurarSenha= Réinitialisation du mot de passe
|
||||
editarUsuarioController.tabel.numeroMatricula= Inscription
|
||||
editarUsuarioController.tabel.dataNascimento= Date de naissance
|
||||
editarUsuarioController.tabel.sobrenomePaterno= Nom paternel
|
||||
editarUsuarioController.MSG.necessarioPreencherDadosRecuperacao=Toutes les données doivent être renseignées pour utiliser la récupération de mot de passe.
|
||||
winCambiaContrasena.erro.loginNaoEncontrado= Aucun utilisateur avec le login donné n'a été trouvé.
|
||||
winCambiaContrasena.erro.multiplusUsuariosPorLogin= Plusieurs utilisateurs ont été trouvés avec le même identifiant, contactez votre administrateur système.
|
||||
winCambiaContrasena.erro.emailNaoCadastrado= E-mail de l'utilisateur non enregistré, contactez l'administrateur système.
|
||||
winCambiaContrasena.MSG.EmailRecuperacaoSenhaEnviado=Un lien de récupération de mot de passe a été envoyé à l'e-mail enregistré dans la connexion de l'utilisateur.
|
||||
winCambiaContrasena.erro.configuracaoConstante= Il est nécessaire de configurer les constantes d'envoi d'e-mails pour la récupération du mot de passe. Contactez votre administrateur système.
|
||||
winCambiaContrasena.erro.linkInvalido=Lien invalide.
|
||||
winCambiaContrasena.btnLinkInvalidoFecharTela= Lien invalide. Fermez l'écran.
|
||||
|
||||
|
|
|
@ -9966,3 +9966,16 @@ winMovimentacionBilhetesPuntoVenta.numSerie.label = Série
|
|||
winMovimentacionBilhetesPuntoVenta.origem.label = Origem
|
||||
winMovimentacionBilhetesPuntoVenta.puntoventa.label = Ag.
|
||||
winMovimentacionBilhetesPuntoVenta.tipoMovimentacion.label = Natureza
|
||||
|
||||
editarUsuarioController.tabel.restaurarSenha= Restauração de Senha
|
||||
editarUsuarioController.tabel.numeroMatricula= Matrícula
|
||||
editarUsuarioController.tabel.dataNascimento= Data Nascimento
|
||||
editarUsuarioController.tabel.sobrenomePaterno= Sobrenome Paterno
|
||||
editarUsuarioController.MSG.necessarioPreencherDadosRecuperacao=Necessário preencher todos os dados para utilização da recuperação de senha.
|
||||
winCambiaContrasena.erro.loginNaoEncontrado= Não foi encontrado nenhum usuário com o login informado.
|
||||
winCambiaContrasena.erro.multiplusUsuariosPorLogin= Foi encontrado mais de um usuário com o mesmo login, contacte o administrador do sistema.
|
||||
winCambiaContrasena.erro.emailNaoCadastrado= E-mail do usuário não cadastrado, contacte o adaministrado do sistema.
|
||||
winCambiaContrasena.MSG.EmailRecuperacaoSenhaEnviado=Foi enviado um link de recuperação de senha para o e-mail cadastrado no login do usuário.
|
||||
winCambiaContrasena.erro.configuracaoConstante= Necessário configurar constantes de envio de e-mail para a recuperação de senha. Contacte o administrador do sistema.
|
||||
winCambiaContrasena.erro.linkInvalido=Link inválido.
|
||||
winCambiaContrasena.btnLinkInvalidoFecharTela= Link Inválido. Fechar tela.
|
||||
|
|
|
@ -39,6 +39,7 @@
|
|||
<tab id="tabUbicacion" label="${c:l('editarUsuarioController.tabel.ubicacion')}" />
|
||||
<tab id="tabEmpresa" label="${c:l('editarUsuarioController.tabel.empresa')}" />
|
||||
<tab id="tabInternet" label="${c:l('editarUsuarioController.tabel.internet')}" />
|
||||
<tab id="tabRestaurarSenha" label="${c:l('editarUsuarioController.tabel.restaurarSenha')}" />
|
||||
</tabs>
|
||||
<tabpanels>
|
||||
<tabpanel id="tbUsuario">
|
||||
|
@ -259,6 +260,45 @@
|
|||
</grid>
|
||||
</tabpanel>
|
||||
|
||||
<tabpanel id="tbRestaurarSenha">
|
||||
<grid fixedLayout="true">
|
||||
<columns>
|
||||
<column width="40%" />
|
||||
<column width="60%" />
|
||||
</columns>
|
||||
|
||||
<rows>
|
||||
|
||||
<row>
|
||||
<label value="${c:l('editarUsuarioController.tabel.restaurarSenha')}" />
|
||||
<checkbox id="chkIndRecuperarSenha" checked="@{winEditarUsuario$composer.usuario.indRecuperarSenha}" />
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<label value="${c:l('editarUsuarioController.tabel.numeroMatricula')}" />
|
||||
<textbox id="txtMatricula" maxlength="30"
|
||||
value="@{winEditarUsuario$composer.usuario.matricula}"
|
||||
use="com.rjconsultores.ventaboletos.web.utilerias.MyTextbox" />
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<label value="${c:l('editarUsuarioController.tabel.dataNascimento')}" />
|
||||
<datebox id="dataNascimento" width="120px" mold="rounded"
|
||||
value="@{winEditarUsuario$composer.usuario.dataNascimento}" />
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<label value="${c:l('editarUsuarioController.tabel.sobrenomePaterno')}" />
|
||||
<textbox id="txtSobrenomePaterno" maxlength="30"
|
||||
value="@{winEditarUsuario$composer.usuario.nombpaternoRecuperacao}"
|
||||
use="com.rjconsultores.ventaboletos.web.utilerias.MyTextbox" />
|
||||
</row>
|
||||
|
||||
</rows>
|
||||
|
||||
</grid>
|
||||
</tabpanel>
|
||||
|
||||
</tabpanels>
|
||||
</tabbox>
|
||||
|
||||
|
|
|
@ -8,9 +8,9 @@
|
|||
xmlns:h="http://www.w3.org/1999/xhtml"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns:w="http://www.zkoss.org/2005/zk/client"
|
||||
xsi:schemaLocation="http://www.zkoss.org/2005/zul http://www.zkoss.org/2005/zul/zul.xsd">
|
||||
xsi:schemaLocation="http://www.zkoss.org/2005/zul">
|
||||
|
||||
<window id="winLogin" title="${c:l('winLogin.title')}"
|
||||
<window id="winLogin" title="${c:l('winLogin.title')}" apply="${loginController}"
|
||||
border="normal" width="400px" closable="false" position="center"
|
||||
mode="overlapped" onCreate="u.focus()">
|
||||
|
||||
|
@ -32,13 +32,15 @@
|
|||
<hbox align="center">
|
||||
<image src="/gui/img/pass24_4.png" />
|
||||
<textbox id="p" type="password"
|
||||
name="j_password" constraint="no empty" />
|
||||
name="j_password" />
|
||||
</hbox>
|
||||
</row>
|
||||
<row spans="2" align="center">
|
||||
<hbox align="center">
|
||||
<h:input type="button" name="btnAcessar"
|
||||
value="${c:l('winLogin.btnAcessar')}" w:onClick="validate()" />
|
||||
|
||||
<button id="btnRecuperarSenha" label="Recuperar Senha" />
|
||||
</hbox>
|
||||
</row>
|
||||
</rows>
|
||||
|
|
|
@ -0,0 +1,57 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<?page contentType="text/html;charset=UTF-8"?>
|
||||
<?variable-resolver class="org.zkoss.zkplus.spring.DelegatingVariableResolver"?>
|
||||
<?init class="org.zkoss.zkplus.databind.AnnotateDataBinderInit" arg0="winRecuperarSenha"?>
|
||||
<?taglib uri="http://www.zkoss.org/dsp/web/core" prefix="c"?>
|
||||
|
||||
<zk xmlns="http://www.zkoss.org/2005/zul"
|
||||
xmlns:h="http://www.w3.org/1999/xhtml"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns:w="http://www.zkoss.org/2005/zk/client"
|
||||
xsi:schemaLocation="http://www.zkoss.org/2005/zul">
|
||||
|
||||
<window id="winRecuperarSenha" title="${c:l('winCambiaContrasena.title')}" border="normal"
|
||||
apply="${recuperarSenhaController}" width="410px" closable="false" position="center" mode="overlapped">
|
||||
|
||||
<grid>
|
||||
<rows>
|
||||
<row align="left">
|
||||
<label value="${c:l('winCambiaContrasena.lblUsuario')}" />
|
||||
<hbox align="center">
|
||||
<image src="/gui/img/user24.png" />
|
||||
<textbox id="txtUser" name="j_username"
|
||||
use="com.rjconsultores.ventaboletos.web.utilerias.MyTextbox" />
|
||||
</hbox>
|
||||
</row>
|
||||
|
||||
<row align="left">
|
||||
<label value="${c:l('winCambiaContrasena.lblNovaSenha')}" />
|
||||
<hbox align="center">
|
||||
<image src="/gui/img/pass24_4.png" />
|
||||
<textbox id="txtNewPassword" type="password" name="j_password" constraint="no empty" />
|
||||
</hbox>
|
||||
</row>
|
||||
|
||||
<row align="left">
|
||||
<label value="${c:l('winCambiaContrasena.lblConfirmaSenha')}" />
|
||||
<hbox align="center">
|
||||
<image src="/gui/img/pass24_4.png" />
|
||||
<textbox id="txtConfirmPassword" type="password" name="j_password" constraint="no empty" />
|
||||
</hbox>
|
||||
</row>
|
||||
|
||||
<row spans="2" align="center">
|
||||
<hbox align="center">
|
||||
<button id="btnSalvar" height="18" image="/gui/img/save.png" width="90px"
|
||||
tooltiptext="${c:l('winCambiaContrasena.btnAcessar')}" label="${c:l('winCambiaContrasena.btnAcessar')}"/>
|
||||
|
||||
<button id="btnFecharTela" height="18"
|
||||
label="${c:l('winCambiaContrasena.btnLinkInvalidoFecharTela')}"/>
|
||||
|
||||
</hbox>
|
||||
</row>
|
||||
</rows>
|
||||
</grid>
|
||||
|
||||
</window>
|
||||
</zk>
|
Loading…
Reference in New Issue