Propiedad en un selectOneMenu

cancel
Showing results for 
Search instead for 
Did you mean: 
anusk_6671
Member II

Propiedad en un selectOneMenu

Hola a todos!

Quisiera saber como añadir una propiedad a un aspecto o tipo de contenido que se elija en un selectOneMenu.
La cosa sería que la propiedad fuese de tipo d:text y asignarle el valor seleccionado del SelectOneMenu.
Hay alguna manera de hacer esto? que ficheros tendría que modificar?? que jsp tendría que modificar para poder cambiar el textfield por el selectOneMenu???

Espero que me podais ayudar.

Gracias!
10 Replies
venzia
Senior Member

Re: Propiedad en un selectOneMenu

Si no me equivoco en lo que preguntas .. lo que buscas son los "Constraints" http://wiki.alfresco.com/wiki/Constraints
Saludos,
cesarista
Customer

Re: Propiedad en un selectOneMenu

Constrains de tipo LIST. Smiley Wink

Un saludo.

–C.
anusk_6671
Member II

Re: Propiedad en un selectOneMenu

Muchas gracias por las rápidas respuestas!!
En el constraints list de el ejemplo de la wiki meten valores ya definidos (lo probé y me funcionó), pero eso no es lo que yo necesito.
Tengo un método implementado que me devuelve la lista con los valores que necesito (en mi caso, el nombre de todos los grupos que hay creados), hay alguna manera de utilizar el constraints LIST para que llame a ese método y meta los valores de mi lista???

Gracias por adelantado!
anusk_6671
Member II

Re: Propiedad en un selectOneMenu

gracias por los enlaces Javier!

Había encontrado el del blog de Jean Barmash y me puse a ello, pero algo debo estar haciendo mal, porque me da un error en el arranque de contexto…

"Failed to construct an instance of type 'org.alfresco.extension.MyListofValuesConstraint' for constraint 'custom:miLista' "

mi código es:

package org.alfresco.extension;

import java.util.List;

import org.alfresco.repo.dictionary.constraint.ListOfValuesConstraint;
import org.alfresco.extension.CustomGroupsBean;;



public abstract class MyListofValuesConstraint extends ListOfValuesConstraint{
   
   
   @Override
   public List<String> getAllowedValues()
   {
   CustomGroupsBean customGroup= new CustomGroupsBean();
   List<String> allowedValues = customGroup.getGroupList();
      
   super.setAllowedValues(allowedValues);
   
   return allowedValues;
   }
}

el constraint en el customModel.xml
  
    
   <constraints>
   <constraint name="custom:miLista" type="org.alfresco.extension.MyListofValuesConstraint">
      <parameter name="allowedValues">
         <list>
         </list>
      </parameter>
   </constraint>   
</constraints>


la propiedad en el type tambien en el custoModel

<property name="custom:organizador">
<title>Grupo organizador</title>
<type>d:text</type>
<constraints>
<constraint ref="custom:miLista"/>
</constraints>
</property>



y el custom-model-context

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>

<beans>
<bean id="MyListofValuesConstraintInitializer"
                class="org.alfresco.extension.MyListofValuesConstraint">

               
</bean>

    <!– Registration of new models –>   
    <bean id="extension.dictionaryBootstrap" parent="dictionaryModelBootstrap" depends-on="dictionaryBootstrap">
        <property name="models">
            <list>
                <value>alfresco/extension/customModel.xml</value>
            </list>
        </property>
    </bean>
         
</beans>


alguna idea de porque me da ese error???
venzia
Senior Member

Re: Propiedad en un selectOneMenu

La verdad que ahora mismo no tengo mucho tiempo para hacer pruebas al respecto (además que el desarrollo en Java no es mi fuerte Smiley Surprisedops: ) .. pero echando un vistazo al blog que comentas .. hace referencia a un post que lo implementa (aunq se trae los valores de bbdd) http://forums.alfresco.com/en/viewtopic.php?f=4&t=11687 ..
Por ahi he visto algun detalle que puede haberse escapado (ubicacion de la clase .. el "implements Serializable" .. etc) ..
Ya me dices que tal te va.
Saludos y suerte!
anusk_6671
Member II

Re: Propiedad en un selectOneMenu

Buenas!
Bueno, como sigo sin saber como solucionar el tema voy a ver si le doy otro enfoque y consigo sacar los valores de la base de datos.
Ahora la pregunta es: como hago para sacar el nombre de los grupos de la base de datos de alfresco???
hay ya alguna tabla predefinida que los almacene o tendría que crear yo una?
y si es así, si alguien me pudiera decir como hago para cuando creo el grupo meter el nombre en el campo de la tabla porque no tengo ni idea de como hacerlo… Smiley Surprisedops:

Espero que alguien me pueda ayudar.
Gracias!
anusk_6671
Member II

Re: Propiedad en un selectOneMenu

Me contesto a mi misma.
Haciendo la consulta "select string_value from alf_node_properties where qname='{http://www.alfresco.org/model/user/1.0}authorityName' " me devuelve el nombre de los grupos creados.
Ahora a ver si consigo ponerlo en el constraint… Smiley Happy
cesarista
Customer

Re: Propiedad en un selectOneMenu

Hola:

Quizás una posibilidad más limpia que tirar de base de datos, podría ser importar en tu modelo, el modelo jbpm (bpmModel.xml) y utilizar el aspecto bpm:groupAssignee.

Un saludo y me cuentas.

–C.