cancel
Showing results for 
Search instead for 
Did you mean: 

Problema con el summary

kazu2ya
Champ in-the-making
Champ in-the-making
Buenas otra vez, vengo otra vez a por la sabiduría de los foreros. Tengo otro problema con Alfresco que no se porque no funciona.

Os explico:

A la hora de crear usuarios quería que me enviará a la administración de grupos con lo cual tenia pensado que cuando acabas el wizard de creación de usuario, cuando sale el summary, añadirle un campo más, el link a la administración de grupos, el label si que sale sin problemas, pero lo que es el link na de na.
En cambio en la consola del servidor me sale perfectamente el link.
Aquí os pongo el código:

String user_group ="<a:actionLink value=\"#{msg.manage_groups}\" action=\"dialog:manageGroups\" />";
              
        return buildSummary(
                new String[] {
                    bundle.getString("name"), bundle.getString("username"),
                    bundle.getString("password"), bundle.getString("homespace"),
                    bundle.getString("email"), bundle.getString("user_organization"),
                    bundle.getString("user_jobtitle"), bundle.getString("user_location"),
                    bundle.getString("presence_username"), bundle.getString("quota"),bundle.getString("groups")},
                new String[] {
                    Utils.encode(this.firstName + " " + this.lastName), Utils.encode(this.userName),
                    "********", Utils.encode(homeSpaceLabel),
                    Utils.encode(this.email), Utils.encode(this.organisation),
                    Utils.encode(this.jobtitle), Utils.encode(this.location),
                    Utils.encode(presenceLabel), quotaLabel, user_group});
    }

En cambio cuando pongo cualquier otra cosa en user_group (texto cualquiera o un tag(<a>)) si que me sale en el summary.

¿Sabeis que podría ser?
Muchas gracias de antemano.
2 REPLIES 2

ajimenez
Champ in-the-making
Champ in-the-making
Escarbando un poco en las tripas de alfresco se puede ver que el método buildsumary está implementado en el AbstractWizardBean de la siguiente manera:


/**
    * Build summary table from the specified list of Labels and Values
    *
    * @param labels     Array of labels to display
    * @param values     Array of values to display
    *
    * @return summary table HTML
    */
   protected String buildSummary(String[] labels, String[] values)
   {
      if (labels == null || values == null || labels.length != values.length)
      {
         throw new IllegalArgumentException("Labels and Values passed to summary must be valid and of equal length.");
      }
     
      String msg = Application.getMessage(FacesContext.getCurrentInstance(), MSG_NOT_SET);
      String notSetMsg = "&lt;" + msg + "&gt;";
     
      StringBuilder buf = new StringBuilder(256);
     
      buf.append("<table cellspacing='4' cellpadding='2' border='0' class='summary'>");
      for (int i=0; i<labels.length; i++)
      {
         String value = values[i];
         buf.append("<tr><td valign='top'><b>");
         buf.append(labels[i]);
         buf.append(":</b></td><td>");
         buf.append(value != null ? Utils.encode(value) : notSetMsg);
         buf.append("</td></tr>");
      }
      buf.append("</table>");
     
      return buf.toString();
   }

y si no ando muy equivocado se inserta en el html así:
<h:outputText value="#{WizardManager.bean.summary}" escape="false"/>

En este punto pasaría a comprobar si el <hSmiley SurprisedutputText muestra el texto tal cual o tambíen lo parsea traduciendo las etiquetas jsf. Es cuestión de probar.

kazu2ya
Champ in-the-making
Champ in-the-making
Gracias por la información ajimenez, pero el problema es que se ve que el jsf no se lo traga y no se como hacer para crear un link que desde el summary de la creación de usuarios me envie a la gestión de grupos.

Un saludo