AnsweredAssumed Answered

Afficher les actions 'approve' / 'reject' en haut

Question asked by tcaiati on Dec 4, 2009
Latest reply on Dec 8, 2009 by tcaiati
Bonjour,

Je cherche à afficher les actions basiques wf Alfresco Approve / Reject à côté du "Ajouter un contenu" (en haut donc).

Environnement :
Le wf basique s'applique sur les répertoires d'un espace.
Dans ce répertoire, l'utilisateur ajoute des contenus et ensuite il doit approuvé l'espace parent.
Pour ce faire, il doit remonter d'un cran donc.

Souhait :
Je voudrais que les actions de wf soient affichées directement dans le bandeau du haut (browse.jsp), de cette façon, l'utilisateur saisit ses documents et valide directement sans repasser par le parent.

Essais :
- J'ai essayé d'ajouter une balise dans browse.jsp :
<r:actions id="acts_geda_approve_doc" value="geda_approve_doc" context="#{BrowseBean.document}" />
avec comme déclaration de l'action group :
         <!– Action approve –>
         <action-group id="geda_approve_doc">
             <action idref="approve_doc" />
             <action idref="approve_doc_details"/>
         </action-group>

Il n'affiche pas les actions de wf.
J'ai vérifié que le context BrowseBean.document est valable en faisant :
<h:outputText value='#{BrowseBean.document.id}' id='msgGEDA22' />
Il m'affiche bien l'uid de l'espace courant

- j'ai essayé avec :
<r:actions id="acts_geda_approve_doc" value="geda_approve_doc" context="#{NavigationBean.currentNode}" />
Ici, si je test avec :
 <h:outputText value='#{NavigationBean.currentNode.id}' id='msgGEDA22' />
J'ai bien l'uid des espaces qui ne contiennent aucun wf qui s'affiche, mais lorsque je rentre dans un espace avec ws, j'ai cette stack :

javax.faces.FacesException: javax.faces.el.PropertyNotFoundException: Bean: org.alfresco.web.bean.repository.Node, property: app:approveStep
at org.apache.myfaces.context.servlet.ServletExternalContextImpl.dispatch(ServletExternalContextImpl.java:425)
at org.apache.myfaces.application.jsp.JspViewHandlerImpl.renderView(JspViewHandlerImpl.java:211)
at org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:41)
at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:132)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:140)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.alfresco.web.app.servlet.AuthenticationFilter.doFilter(AuthenticationFilter.java:110)
at sun.reflect.GeneratedMethodAccessor434.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.alfresco.repo.management.subsystems.ChainingSubsystemProxyFactory$1.invoke(ChainingSubsystemProxyFactory.java:122)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at $Proxy191.doFilter(Unknown Source)
at org.alfresco.repo.web.filter.beans.Bean

Le message est curieux car il dit "PropertyNotFoundException" à propose de approve, alors que le wf est bien attaché à cet espace (je vois d'ailleurs les actions avant de rentrer dans cet espace).

Je me suis bien sûr inspiré d'Alfreco pour savoir quoi mettre dans le context, a priori c'est un objet Node.

Questions :
- Est-ce possible de faire ce que je veux faire ?
- Si oui, avez-vous une idée même une piste ?

Merci d'avance,

Thomas

Outcomes