Récupération de la langue définie dans le profil utilisateur

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

Récupération de la langue définie dans le profil utilisateur

Bonjour,

je cherche le moyen de récupérer via une classe Java, la langue définie dans le profil utilisateur (locale) afin de l'exploiter pour l'emission de mail dans la langue de l'utilisateur.

Merci pour votre aide.
5 Replies
michel
Member II

Re: Récupération de la langue définie dans le profil utilisateur

Bonjour,
C'est la valeurs de la méta donnée


{http://www.alfresco.org/model/application/1.0}interface-language

Et elle se trouve via le navigateur de nœud :

/{http://www.alfresco.org/model/system/1.0}system/{http://www.alfresco.org/model/system/1.0}people/{ht... 

Donc pour ce faire, il faut rechercher l'utilisateur courant (qui est de type cmSmiley Tongueerson) et puis sur cette node prendre le XPath:

app:configurations/app:preferences

Et au final, avec le nodeService prendre la propriété nommée plus haut.

Bien à Toi.
huberd
Member II

Re: Récupération de la langue définie dans le profil utilisateur

Bonjour,
C'est la valeurs de la méta donnée


{http://www.alfresco.org/model/application/1.0}interface-language

Et elle se trouve via le navigateur de nœud :

/{http://www.alfresco.org/model/system/1.0}system/{http://www.alfresco.org/model/system/1.0}people/{ht... 

Donc pour ce faire, il faut rechercher l'utilisateur courant (qui est de type cmSmiley Tongueerson) et puis sur cette node prendre le XPath:

app:configurations/app:preferences

Et au final, avec le nodeService prendre la propriété nommée plus haut.

Bien à Toi.

Je t'avoue franchement ne pas tout comprendre.

Ce que j'ai essayé de faire c'est ceci, essayer de récuperer l'attribut ContentModel.PROP_LOCALE d'un utilisateur comme suit :

NodeRef nodeRef = personService.getPerson(userName);
locale = (Locale)nodeService.getProperty(nodeRef, ContentModel.PROP_LOCALE);

mais cela ne me retourne rien.

Peux-tu m'en dire plus sur ta méthode, car là je suis complètement largué.

Merci pour ton aide.
michel
Member II

Re: Récupération de la langue définie dans le profil utilisateur

Bonjour,

voici, le code pour récupérer la valeur:


StoreRef store = new StoreRef(StoreRef.PROTOCOL_WORKSPACE, "SpacesStore");
      String query = "+TYPE:\"cm:person\" +@cm\\:userName:\"USER_NAME\"";
      ResultSet rs = searchService.query(store, SearchService.LANGUAGE_LUCENE, query);
      if(rs !=null && rs.length()>0) {
         NodeRef node = rs.getNodeRef(0);
         NodeRef child =nodeService.getChildByName(node, QName.createQName("{http://www.alfresco.org/model/application/1.0}configurations"), "{http://www.alfresco.org/model/application/1.0}configurations");
         child = nodeService.getChildByName(child, ContentModel.ASSOC_CONTAINS, "{http://www.alfresco.org/model/application/1.0}preferences");
         String locale = (String)nodeService.getProperty(child, QName.createQName("{http://www.alfresco.org/model/application/1.0}interface-language"));
         
      }

Pour savoir quels sont les propriétés d'une node, il faut toujours passer par le navigateur de nœuds dans le panneau de l'administrateur.
dranakan
Active Member

Re: Récupération de la langue définie dans le profil utilisateur

Hello,

Je recherche à connaître la langue des utilisateurs. Le code ci-dessus date de 2008. Comment fait-on pour retrouver la langue ? (4.0D).
Dans l'exemple ci-dessus, le child est null (ligne en dessous du  "NodeRef node = rs.getNodeRef(0);").

J'ai essayé une autre manière mais j'obtiens toujours la même langue pour un utilisateur. Je n'arrive pas à modifier la langue de l'utilisateur si je me connecte à Explorer ou Share (en changeant dans le navigateur).
serviceRegistry.getNodeService().getProperty(person, ContentModel.PROP_LOCALE).toString()

Merci bien.
rguinot
Customer

Re: Récupération de la langue définie dans le profil utilisateur

Regardez plutôt l'usage de la classe I18NUtil pour le support thread-local de la Locale courante.