cancel
Showing results for 
Search instead for 
Did you mean: 

Meter el grupo de un usuario en un script

feevalencia
Champ in-the-making
Champ in-the-making
Hola a todos,

Quiero crear un script que meta en un documento .txt los usuarios, sus documentos y el grupo al que pertenece el usuario. La pregunta es como puedo referirme al grupo del usuario.

Muchas gracias
2 REPLIES 2

feevalencia
Champ in-the-making
Champ in-the-making
Hola de nuevo estaba buscando por el foro y he encontrado este script

var arr = new Array();
arr = people.getContainerGroups(person);

if (document.hasPermission("Write"))
{
if (document.mimetype == "text/html")
{
document.content += "<br><table width='100%' style='border:1px solid #000000'><tr><td width='10%'><font size='2' face='Arial, Helvetica, sans-serif'> <strong> Persona: </strong> " + firstName + " " + lastName + " - " + " Grupo: " + arr[0].properties["usr:authorityName"] + "<br> " + arr[1].properties["usr:authorityName"]+ "</font></td></tr></table>";

document.save();
}
}


Pero me da el siguiente error

Caused by: org.mozilla.javascript.EvaluatorException: Can't find method org.alfresco.repo.jscript.People.getContainerGroups(java.lang.String). (workspace://SpacesStore/0aef6d17-c5cf-4018-a620-cc39f8eee288#20)
        at org.mozilla.javascript.DefaultErrorReporter.runtimeError(DefaultErrorReporter.java:109)
        at org.mozilla.javascript.Context.reportRuntimeError(Context.java:1030)
        at org.mozilla.javascript.Context.reportRuntimeError(Context.java:1086)
        at org.mozilla.javascript.Context.reportRuntimeError1(Context.java:1049)

        at org.mozilla.javascript.NativeJavaMethod.call(NativeJavaMethod.java:162)
        at org.mozilla.javascript.optimizer.OptRuntime.call1(OptRuntime.java:66)

        at org.mozilla.javascript.gen.c5._c0(workspace://SpacesStore/0aef6d17-c5cf-4018-a620-cc39f8eee288:20)
        at org.mozilla.javascript.gen.c5.call(workspace://SpacesStore/0aef6d17-c5cf-4018-a620-cc39f8eee288)
        at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:393)
        at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:2834)
        at org.mozilla.javascript.gen.c5.call(workspace://SpacesStore/0aef6d17-c5cf-4018-a620-cc39f8eee288)
        at org.mozilla.javascript.gen.c5.exec(workspace://SpacesStore/0aef6d17-c5cf-4018-a620-cc39f8eee288)
        at org.alfresco.repo.jscript.RhinoScriptProcessor.executeScriptImpl(RhinoScriptProcessor.java:457)





Alguien me puede ayudar por favor  , gracias

cristinamr
World-Class Innovator
World-Class Innovator
Buenas.

Mira por aquí a mano tengo un código que creo que podrías reutilizar:
function muestraRutas(node)
{  
   for each(n in node.children)
   {
         if ( n.isDocument )
               salida+="Ruta de los archivos: "+n.displayPath+"/"+n.name+"\n\r";
        
         for ( var i = 0; i < n.children.length; i++ ) {
            if ( n.children[i].isContainer == true )
               muestraRutas( n.children[i] );
         }
   }
}

// Objetos modificables

var nodo_raiz = "" ;
var salida = "";

var logFile = script.parent.childByNamePath( "muestraRutas.txt" );
// Precondiciones
if ( logFile == null )
logFile = script.parent.createFile( "muestraRutas.txt" );


if ( nodo_raiz == "" )
{
var space = companyhome;
}
else{
var space = companyhome.childByNamePath( nodo_raiz );
}

if (space != null) {
   muestraRutas( space );
}
else{
   salida += "Error al localizar el espacio raiz: " + nodo_raiz + "\n\r";
   if (logger.isLoggingEnabled())
   {                 
      logger.log("Error al localizar el espacio raiz: " + nodo_raiz );
   }     
}

logFile.content = salida;
logFile.save();
logFile.content;

Al lanzar el script en una carpeta determinada (sobre la que quieras los resultados) recorre los hijos y te muestra en un txt (muestraRuta.txt) un listado con la ruta de los archivos de tipo documento, modifícalo mirando qué funciones te vienen bien para tu propósito según la API de JavaScript que tienes en la wiki. Ojo, tienes que tener en cuenta qué versión tienes de alfresco porque la API varía de una versión a otra Smiley Wink

Toca el código y si tienes alguna duda pregunta sin problemas.

Un saludo.
--
VenziaIT: helping companies since 2005! Our ECM products: AQuA & Seidoc
Getting started

Tags


Find what you came for

We want to make your experience in Hyland Connect as valuable as possible, so we put together some helpful links.