list = new ArrayList<String>();
list.add("Login: " + getUserSession().getCurrentUser().getLogin());
list.add("Mail: " + getUserSession().getCurrentUser().getMail());
list.add("Nom: " + getUserSession().getCurrentUser().getName());
XhtmlControl xUser = (XhtmlControl) pc.getControl("xUser");
xUser.clear();
xUser.appendHeadder(Icon.render(Icon.ICON_IMAGE_USER) + " usuari autenticat", 4)
.appendParagraph("A continuaci� es mostren les dades de l'usuari autenticat actualment.")
.appendUnorderedList(list, "alt");
// Muestra los roles del usuario
XhtmlControl xhtmlRoles = (XhtmlControl) pc.getControl("content-roles");
xhtmlRoles.clear();
xhtmlRoles.appendHeadder(Icon.render(Icon.ICON_IMAGE_GROUP) + " Rols d'usuari", 4).appendParagraph(
"La seg�ent llista cont� els rols que t� l'usuari:");
if (!getUserSession().getRoles().isEmpty())
{
xhtmlRoles.appendUnorderedList(getUserSession().getRoles(), "alt");
}
else
{
DynamicMessageControl msgRoles = (DynamicMessageControl) pc.getControl("msg-roles");
msgRoles.setMessage("L'usuari " + XhtmlControl.formatBold(getUserSession().getCurrentUser().getLogin())
+ " no t� cap rol associat.");
msgRoles.setVisible(true);
}
// Muestra los roles efectivos del usuario
try
{
// Se instancia s�lo para disponer de la lista completa de roles
PostgreSqlAuthorizationImpl auth = (PostgreSqlAuthorizationImpl) AuthorizationFactory
.getInstance(getWorkspace());
// Se recorre la lista completa de actividades y se comprueba si el
// usuario dispone o no de permiso sobre cada una de ellas
ArrayList<String> lst = new ArrayList<String>();
for (Role role : auth.getRoles())
{
// Comprueba si el usuario dispone de permisos para la actividad
lst.add((getUserSession().isInRole(role.getId()) ? Icon.render(Icon.ICON_IMAGE_OK_SIGN, Icon.ICON_SIZE_SMALL,
Icon.ICON_COLOR_GREEN) : Icon.render(Icon.ICON_IMAGE_REMOVE_SIGN, Icon.ICON_SIZE_SMALL,
Icon.ICON_COLOR_RED))
+ " " + role.getId() + " (" + role.getDescription() + ")");
}
XhtmlControl xRolList = (XhtmlControl) pc.getControl("xRolList");
xRolList.clear();
xRolList
.appendHeadder(Icon.render(Icon.ICON_IMAGE_CHECK) + " Rols efectius d'usuari", 4)
.appendParagraph(
"La seg�ent llista mostra els rols efectius de l'usuari. S'agafa la llista complerta de rols i un per un es comprova per l'usuari a trav�s la API de seguretat.")
.appendUnorderedList(lst, "alt");
}
catch (AuthorizationException ex)
{
DynamicMessageControl xRolMsg = (DynamicMessageControl) pc.getControl("xRolMsg");
xRolMsg.setMessage(ex.getMessage());
xRolMsg.setVisible(true);
}
// Muestra los permisos del usuario
XhtmlControl xhtmlAct = (XhtmlControl) pc.getControl("content-act");
xhtmlAct.clear();
xhtmlAct.appendHeadder(Icon.render(Icon.ICON_IMAGE_SHARE) + " Permisos de l'usuari", 4).appendParagraph(
"La seg�ent llista cont� les activitats sobre les que l'usuari t� permisos especificats:");
if (!getUserSession().getPermissions().isEmpty())
{
xhtmlAct.appendUnorderedList(getUserSession().getPermissions(), "alt");
}
else
{
DynamicMessageControl msgAct = (DynamicMessageControl) pc.getControl("msg-act");
msgAct.setVisible(true);
if (!getUserSession().isSuperUser())
{
msgAct.setMessage("L'usuari " + XhtmlControl.formatBold(getUserSession().getCurrentUser().getLogin())
+ " no t� perm�s d'execuci� per cap activitat.");
}
else
{
msgAct.setMessage("L'usuari " + XhtmlControl.formatBold(getUserSession().getCurrentUser().getLogin())
+ " t� perm�s d'execuci� per totes les activitats (SuperUser).");
}
}
// Muestra los permisos efectivos del usuario
try
{
// Se instancia s�lo para disponer de la lista completa de permisos
PostgreSqlAuthorizationImpl auth = (PostgreSqlAuthorizationImpl) AuthorizationFactory
.getInstance(getWorkspace());
// Se recorre la lista completa de actividades y se comprueba si el
// usuario dispone o no de permiso sobre cada una de ellas
ArrayList<String> lst = new ArrayList<String>();
for (Activity activity : auth.getActivities())
{
// Comprueba si el usuario dispone de permisos para la actividad
lst.add((getUserSession().isActivityAllowed(activity.getId()) ? Icon.render(Icon.ICON_IMAGE_OK_SIGN,
Icon.ICON_SIZE_SMALL, Icon.ICON_COLOR_GREEN) : Icon.render(Icon.ICON_IMAGE_REMOVE_SIGN,
Icon.ICON_SIZE_SMALL, Icon.ICON_COLOR_RED))
+ " " + activity.getId() + " (" + activity.getDescription() + ")");
}
XhtmlControl xhtmlActLst = (XhtmlControl) pc.getControl("act-list");
xhtmlActLst.clear();
xhtmlActLst
.appendHeadder(Icon.render(Icon.ICON_IMAGE_CHECK) + " Permisos efectius d'usuari", 4)
.appendParagraph(
"La seg�ent llista mostra els permisos efectius de l'usuari. S'agafa la llista complerta d'activitats i una per una es comprova per l'usuari a trav�s la API de seguretat.")
.appendUnorderedList(lst, "alt");
}