@Util public static void PopupPassValidateCopy(String accion, Agente dbAgente, Agente agente) { CustomValidation.clearValidadas(); if (secure.checkGrafico( "noEditable", "editable", accion, (Map<String, Long>) tags.TagMapStack.top("idParams"), null)) { CustomValidation.valid("agente", agente); dbAgente.username = agente.username; } CustomValidation.valid("agente", agente); CustomValidation.required("agente.verificacion", agente.verificacion); CustomValidation.required("agente.newpassword", agente.newpassword); CustomValidation.compare(agente.newpassword, params.get("agente_newpasswordcopy")); if (agente.verificacion != null) { // agente.verificación = contraseña actual if (dbAgente.password.equals(Crypto.passwordHash(agente.verificacion))) { dbAgente.password = Crypto.passwordHash(agente.newpassword); log.info("El usuario <" + dbAgente.username + "> ha modificado su contraseña"); } else { Validation.addError("password", "Contraseña actual incorrecta"); } } // else { // dbAgente.password = Crypto.passwordHash(agente.newpassword); // log.info("El usuario <" + dbAgente.username + "> ha modificado su contraseña"); // } }
private void compruebaUsuarioParticipacion(String user, String name, String email) { if (user == null) { play.Logger.info("No se comprueba la participación, porque el usuario es: " + user); return; } Participacion p = Participacion.find( "select participacion from Participacion participacion where participacion.agente.username=? and participacion.solicitud.id=?", user, this.id) .first(); if (p == null) { Agente agente = Agente.find("select agente from Agente agente where agente.username=?", user).first(); if (agente == null) { agente = new Agente(); agente.username = user; agente.name = name; agente.email = email; agente.roles = new HashSet<String>(); agente.roles.add("usuario"); agente.rolActivo = "usuario"; agente.save(); play.Logger.info("Creado el agente %s", user); } p = new Participacion(); p.agente = agente; p.solicitud = this; p.tipo = "solicitante"; p.save(); play.Logger.info( "Asignada la participación del agente %s en la solicitud %s", agente.username, this.id); } }