Skip to content

Commit

Permalink
Merge branch 'dev' into feature-anotaciones-#43
Browse files Browse the repository at this point in the history
  • Loading branch information
juan.fernandez committed Jun 28, 2018
2 parents cf5d7da + f5ccb06 commit d3ae8cb
Show file tree
Hide file tree
Showing 10 changed files with 1,980 additions and 83 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
import org.semanticwb.Logger;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
//import mx.gob.cultura.portal.utils.Utils;
import mx.gob.cultura.portal.utils.Utils;
import org.semanticwb.SWBPlatform;
import org.semanticwb.SWBPortal;
import org.semanticwb.SWBUtils;
Expand Down Expand Up @@ -106,7 +106,7 @@ private void showSocialNetLinks(HttpServletRequest request, HttpServletResponse
try {
PrintWriter out = response.getWriter();
if (!paramsRequest.getUser().isSigned()) {
out.println(SessionInitializer.getFacebookLink(paramsRequest.getWebPage().getWebSiteId()));
out.println(SessionInitializer.getFacebookLink(paramsRequest));
} else {
out.println("<!-- user is signed -->");
}
Expand All @@ -117,15 +117,19 @@ private void showSocialNetLinks(HttpServletRequest request, HttpServletResponse

/**
* Genera el vinculo de HTML para ejecutar el inicio de sesion con Facebook
* @param modelId el identificador del sitio a partir del cual se obtiene la imagen a mostrar
* @param paramRequest
* @return un {@code String} representando un enlace para iniciar sesion con Facebook
*/
public static String getFacebookLink(String modelId) {
public static String getFacebookLink(SWBParamRequest paramRequest) {

StringBuilder text = new StringBuilder(128);
text.append("<a href=\"#\" onclick=\"javascript:faceLogin();\"><img src=\"/work/models/");
text.append(modelId);
text.append("/img/icono-fb.png\"></a>\n");
text.append("<a href=\"#\" onclick=\"javascript:faceLogin();\">");
try {
text.append(paramRequest.getLocaleString("lbl_facebookLogin"));
} catch (SWBResourceException swbe) {
text.append("Inicia con Facebook");
}
text.append(" <span class=\"ion-social-facebook\"></span></a>\n");
return text.toString();
}

Expand All @@ -141,27 +145,35 @@ public static String getTwitterLink(SWBParamRequest paramRequest) {
String resourceUrl = paramRequest.getRenderUrl()
.setMode(SWBParamRequest.Mode_VIEW)
.setCallMethod(SWBParamRequest.Call_DIRECT).toString();
String twitterUrl = Utilities.getResourceURL(paramRequest.getWebPage().getWebSite(), OAuthTwitter.class, resourceUrl);
String twitterUrl = Utils.getResourceURL(paramRequest.getWebPage().getWebSite(), OAuthTwitter.class, resourceUrl);

text.append("<a href=\"");
text.append(twitterUrl);
text.append("\" ><img src=\"/work/models/");
text.append(paramRequest.getWebPage().getWebSite().getId());
text.append("/img/icono-tw.png\"></a>\n");
text.append("\" >");
try {
text.append(paramRequest.getLocaleString("lbl_twitterLogin"));
} catch (SWBResourceException swbe) {
text.append("Inicia con Twitter");
}
text.append(" <span class=\"ion-social-twitter\"></span></a>\n");
return text.toString();
}

/**
* Genera el vinculo de HTML para ejecutar el inicio de sesion con Google+
* @param modelId el identificador del sitio a partir del cual se obtiene el icono a mostrar
* @param paramRequest
* @return un {@code String} representando un enlace para iniciar sesion con Google+
*/
public static String getGoogleLink(String modelId) {
public static String getGoogleLink(SWBParamRequest paramRequest) {

StringBuilder text = new StringBuilder(128);
text.append("<a href=\"#\" id=\"loginWithGoogle\" onclick=\"javascript:loginGPByClick();\"><img src=\"/work/models/");
text.append(modelId);
text.append("/img/icono-goo.png\" /></a>\n");
text.append("<a href=\"#\" id=\"loginWithGoogle\" onclick=\"javascript:loginGPByClick();\">");
try {
text.append(paramRequest.getLocaleString("lbl_googleLogin"));
} catch (SWBResourceException swbe) {
text.append("Inicia con Google+");
}
text.append(" <span class=\"ion-social-google\"></span></a>\n");
return text.toString();
}

Expand Down Expand Up @@ -354,6 +366,14 @@ private User getSWBUser(HttpServletRequest request, SWBActionResponse response,
obj.getRDFResource().addLiteral(ont.createDatatypeProperty(
SessionInitializer.TWITTERID_URI), id);
}
} else if (SessionInitializer.GOOGLEP.equals(source)) {
if (user.getSemanticObject().getRDFResource()
.getProperty(ont.createDatatypeProperty(
SessionInitializer.GOOGLEID_URI)) == null) {
SemanticObject obj = user.getSemanticObject();
obj.getRDFResource().addLiteral(ont.createDatatypeProperty(
SessionInitializer.GOOGLEID_URI), id);
}
}
}
return user;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,19 +7,19 @@ lbl_main=Iniciar sesi\u00f3n
#Facebook's api version -for requests
vl_facebook_version=v2.11
#etiqueta para terminar la sesion del usuario
lbl_out=Terminar sesi\u00f3n
lbl_out=Cerrar sesi\u00f3n
#etiqueta en el inicio del cuadro de dialogo
lbl_dialogTitle=Si tienes una cuenta, inicia ahora
lbl_dialogTitle=Inicia sesi\u00f3n con tu cuenta
#etiqueta para el campo de nombre de usuario en la forma
lbl_userField=Usuario:
#texto de muestra en campo de forma
lbl_userplaceHldr=nombre de usuario
lbl_userplaceHldr=Ingresa tu correo electr\u00f3nico
#Etiqueta para el campo de la forma
lbl_pswdField=Contrase\u00f1a
#muestra para el contenido del campo de forma
lbl_pwdplaceHldr=********
lbl_pwdplaceHldr=Ingresa tu contrase\u00f1a
#Texto del boton submit en la forma
lbl_submitBtn=Iniciar sesi\u00f3n
lbl_submitBtn=Iniciar
#titulo previo a logos de redes sociales
lbl_socialLogin=Inicia con:
#mensaje de alerta al terminar sesion de Facebook
Expand All @@ -30,3 +30,6 @@ lbl_userAccount=\u00bfNo tienes una cuenta?
lbl_createAccount=Crea aqu\u00ed tu cuenta
#Mensaje para indicar la confirmacion del registro de usuario
msg_confirmMail=En breve, recibir\u00e1s un correo para confirmar el registro de tu usuario.
lbl_facebookLogin=Inicia con Facebook
lbl_twitterLogin=Inicia con Twitter
lbl_googleLogin=Inicia con Google+
Original file line number Diff line number Diff line change
Expand Up @@ -9,15 +9,15 @@ vl_facebook_version=v2.11
#etiqueta para terminar la sesion del usuario
lbl_out=Log out
#etiqueta en el inicio del cuadro de dialogo
lbl_dialogTitle=If you have an account, log in
lbl_dialogTitle=Begin session with your account
#etiqueta para el campo de nombre de usuario en la forma
lbl_userField=User:
#texto de muestra en campo de forma
lbl_userplaceHldr=user name
lbl_userplaceHldr=Enter your e-mail
#Etiqueta para el campo de la forma
lbl_pswdField=Password:
#muestra para el contenido del campo de forma
lbl_pwdplaceHldr=********
lbl_pwdplaceHldr=Enter your password
#Texto del boton submit en la forma
lbl_submitBtn=Log in
#titulo previo a logos de redes sociales
Expand All @@ -30,3 +30,6 @@ lbl_userAccount=Don't have an account?
lbl_createAccount=Create your account, here
#Mensaje para indicar la confirmacion del registro de usuario
msg_confirmMail=Shortly, you will receive an e-mail to confirm your registration as user of this site.
lbl_facebookLogin=Log in with Facebook
lbl_twitterLogin=Log in with Twitter
lbl_googleLogin=Log in with Google+
Original file line number Diff line number Diff line change
Expand Up @@ -7,19 +7,19 @@ lbl_main=Iniciar sesi\u00f3n
#Facebook's api version -for requests
vl_facebook_version=v2.11
#etiqueta para terminar la sesion del usuario
lbl_out=Terminar sesi\u00f3n
lbl_out=Cerrar sesi\u00f3n
#etiqueta en el inicio del cuadro de dialogo
lbl_dialogTitle=Si tienes una cuenta, inicia ahora
lbl_dialogTitle=Inicia sesi\u00f3n con tu cuenta
#etiqueta para el campo de nombre de usuario en la forma
lbl_userField=Usuario:
#texto de muestra en campo de forma
lbl_userplaceHldr=nombre de usuario
lbl_userplaceHldr=Ingresa tu correo electr\u00f3nico
#Etiqueta para el campo de la forma
lbl_pswdField=Contrase\u00f1a
#muestra para el contenido del campo de forma
lbl_pwdplaceHldr=********
lbl_pwdplaceHldr=Ingresa tu contrase\u00f1a
#Texto del boton submit en la forma
lbl_submitBtn=Iniciar sesi\u00f3n
lbl_submitBtn=Iniciar
#titulo previo a logos de redes sociales
lbl_socialLogin=Inicia con:
#mensaje de alerta al terminar sesion de Facebook
Expand All @@ -30,3 +30,6 @@ lbl_userAccount=\u00bfNo tienes una cuenta?
lbl_createAccount=Crea aqu\u00ed tu cuenta
#Mensaje para indicar la confirmacion del registro de usuario
msg_confirmMail=En breve, recibir\u00e1s un correo para confirmar el registro de tu usuario.
lbl_facebookLogin=Inicia con Facebook
lbl_twitterLogin=Inicia con Twitter
lbl_googleLogin=Inicia con Google+
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package mx.gob.cultura.portal.resources;

import com.hp.hpl.jena.ontology.OntModel;
import java.io.IOException;
import java.io.PrintWriter;
import java.net.SocketException;
Expand Down Expand Up @@ -36,6 +37,9 @@ public class UserRegistry extends GenericResource {

private String confirmationActionUrl = null;

private static final String DATACRED_URI =
"http://www.semanticwebbuilder.org/swb4/ontology#plainCredential";

public void doView(HttpServletRequest request, HttpServletResponse response,
SWBParamRequest paramsRequest) throws IOException {

Expand All @@ -58,6 +62,7 @@ public void processAction(HttpServletRequest request, SWBActionResponse response
throws SWBResourceException, IOException {

String action = response.getAction();
String alert = null;
UserRepository userRepo = response.getWebPage().getWebSite().getUserRepository();
String nextMode = SWBParamRequest.Mode_VIEW;

Expand All @@ -72,42 +77,47 @@ public void processAction(HttpServletRequest request, SWBActionResponse response
}
} else if ("confirming".equals(action)) {
User user = this.activateUser(request, userRepo);
if (SWBPlatform.getSecValues().isMultiple()) {
String login = user.getEmail();
Iterator<SWBSessionObject> llist = SWBPortal.getUserMgr().listSessionObjects();
while (llist.hasNext()) {
SWBSessionObject so = llist.next();
Iterator<Principal> lpri = so.getSubjectByUserRep(userRepo.getId())
.getPrincipals().iterator();
if (lpri.hasNext() && login.equalsIgnoreCase(((User) lpri.next()).getLogin())) {
throw new SWBResourceException("User already logged in");
}
}
}
StringBuilder credential = new StringBuilder(16);

if (null != user && null != user.getId()) {
//se agrega el usuario a la sesion
User oldUser = response.getUser();
String id = user.getId() + user.getLogin();
if (null != user) {
if (SWBPlatform.getSecValues().isMultiple()) {
String login = user.getLogin();
Iterator<SWBSessionObject> llist =SWBPortal.getUserMgr().listSessionObjects();
while(llist.hasNext()) {
SWBSessionObject so = llist.next();
Iterator<Principal> lpri = so.getSubjectByUserRep(userRepo.getId()).getPrincipals().iterator();
if (lpri.hasNext() && login.equalsIgnoreCase(((User)lpri.next()).getLogin())) {
alert = "msg_alreadyLoggedin";
}
}
}

try {
user.checkCredential(id.toCharArray());
System.out.println("credentials, checked?? " + user.isSigned());
OntModel ont = SWBPlatform.getSemanticMgr().getSchema().getRDFOntModel();
credential.append(user.getSemanticObject().getRDFResource()
.getProperty(ont.createDatatypeProperty(
UserRegistry.DATACRED_URI)).getString());

user.checkCredential(credential.toString().toCharArray());
Subject subject = SWBPortal.getUserMgr().getSubject(request,
response.getWebPage().getWebSiteId());
subject.getPrincipals().clear();
subject.getPrincipals().add(user);
if (null == user.getLanguage()) {
user.setLanguage("es"); //forzar lenguaje si no se dio de alta.
}
user.getSemanticObject().getRDFResource().
removeAll(ont.createDatatypeProperty(UserRegistry.DATACRED_URI));
} catch (Exception e) {
e.printStackTrace(System.err);
}

Subject subject = SWBPortal.getUserMgr().getSubject(request,
response.getWebPage().getWebSiteId());
subject.getPrincipals().clear();
subject.getPrincipals().add(user);
oldUser = user;
if (null == user.getLanguage()) {
user.setLanguage("es"); //forzar lenguaje si no se dio de alta.
}
} else {
UserRegistry.LOG.debug("El usuario al crear la sesion despues de confirmar email!!!");

}

if (null != alert) {
response.setRenderParameter("condition", alert);
}
if (!user.isSigned()) {
if (user.isSigned()) {
nextMode = "homeRedirect";
}
}
Expand Down Expand Up @@ -165,13 +175,17 @@ private User createProfile(HttpServletRequest request, UserRepository userRepo)
encryptdPwd = SWBUtils.CryptoWrapper.passwordDigest(password);
newUser = userRepo.createUser();
newUser.setLogin(email);
newUser.setPassword(encryptdPwd);
newUser.setPassword(password); //encryptdPwd
newUser.setLanguage("es");
newUser.setFirstName(name);
newUser.setLastName(lastName);
newUser.setEmail(email);
System.out.println("Contraseña para nuevo usuario: " + password);
//newUser.setActive(true);
SemanticObject obj = newUser.getSemanticObject();
OntModel ont = SWBPlatform.getSemanticMgr().getSchema().getRDFOntModel();
obj.getRDFResource().addLiteral(ont.createDatatypeProperty(
UserRegistry.DATACRED_URI), password);
} catch (Exception e) {
condition = "msg_encryptingError";
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,3 +38,11 @@ msg_encryptingError=Hubo un error durante el registro del usuario, por favor, in
msg_pwdMismatch=La constrase\u00f1a no coincide con su confirmaci\u00f3n
#Mensaje para indicar activacion del registro
msg_welcome=Gracias por confirmar tu registro, ya puedes iniciar sesi\u00f3n con tu usuario.
#Mensaje de error al crear la sesion del usuario
msg_incorrectLogin=No se pudo autenticar al usuario, datos incorrectos
#Mensaje cuando el usuario ha hecho varios intentos fallidos
msg_lockedUser=Demasiados intentos, usuario temporalmente inhabilitado
#Mensaje de envio de correo para terminar el registro
msg_confirmMail=Hemos enviado un correo electr\u00f3nico a tu cuenta, revisalo para terminar tu registro
#Mensaje para indicar que el usuario ya estaba firmado previamente
msg_alreadyLoggedin=Usuario ya firmado
Original file line number Diff line number Diff line change
Expand Up @@ -38,3 +38,11 @@ msg_encryptingError=There was an error while registering the user, please try ag
msg_pwdMismatch=The password and its confirmation are not equal
#Mensaje para indicar activacion del registro
msg_welcome=Thanks for confirming your registration! Now, you can log in.
#Mensaje de error al crear la sesion del usuario
msg_incorrectLogin=Incorrect data, user not logged in
#Mensaje cuando el usuario ha hecho varios intentos fallidos
msg_lockedUser=User temporarily blocked, too many attempts
#Mensaje de envio de correo para terminar el registro
msg_confirmMail=We have sent an e-mail to your account, please read it and finish your registration
#Mensaje para indicar que el usuario ya estaba firmado previamente
msg_alreadyLoggedin=User already logged in
Original file line number Diff line number Diff line change
Expand Up @@ -38,3 +38,11 @@ msg_encryptingError=Hubo un error durante el registro del usuario, por favor, in
msg_pwdMismatch=La constrase\u00f1a no coincide con su confirmaci\u00f3n
#Mensaje para indicar activacion del registro
msg_welcome=Gracias por confirmar tu registro, ya puedes iniciar sesi\u00f3n con tu usuario.
#Mensaje de error al crear la sesion del usuario
msg_incorrectLogin=No se pudo autenticar al usuario, datos incorrectos
#Mensaje cuando el usuario ha hecho varios intentos fallidos
msg_lockedUser=Demasiados intentos, usuario temporalmente inhabilitado
#Mensaje de envio de correo para terminar el registro
msg_confirmMail=Hemos enviado un correo electr\u00f3nico a tu cuenta, revisalo para terminar tu registro
#Mensaje para indicar que el usuario ya estaba firmado previamente
msg_alreadyLoggedin=Usuario ya firmado
Loading

0 comments on commit d3ae8cb

Please sign in to comment.