envoie de mail depuis share

cancel
Showing results for 
Search instead for 
Did you mean: 
seksam
Active Member

envoie de mail depuis share

bonjour,
Je me permets de continuer le topic car j'ai une autre question.
Est ce que quelqu'un sait ce que je dois ajouter dans le script pour que la personne qui dépose un document sur le site ne reçoive pas elle même un mail.


// Récupérer le nom du site
var parent = document.getParent();
var shortName= parent.getSiteShortName();
var leSite = siteService.getSite(shortName);

// On récupère les membres du site
var membres = leSite.listMembers(null,null,0);
var nomDuSite = leSite.title;
var membre;

for (membre in membres){
   var donneesMembres = people.getPerson(membre);
   var email = donneesMembres.properties.email;
   if(email){
   if (donneesMembres.properties.userName!="admin") {
if ((document.type != "{http://www.alfresco.org/model/content/1.0}thumbnail") && (document.typeShort== "cm:content")){
      // create mail action
      var mail = actions.create("mail");
      mail.parameters.to = email;
      mail.parameters.subject = "Un nouveau document vient d'être ajouté sur'"+nomDuSite+"'…";
      mail.parameters.from = "admin@alfresco.fr";
      mail.parameters.template = companyhome.childByNamePath("Dictionnaire de données/Modèles d'e-mail/Modèles d'e-mail de notification/notify_user_email.ftl");
      mail.parameters.text = "Un document est ajouté dans l'espace documentaire !" ;
      // execute l'action
      mail.execute(document);
}
   }
}
}

7 Replies
jayjayecl
Active Member II

Re: envoie de mail depuis share

Bonjour,

avez-vous rédigé vous-même ce script ?
Peut-être vérifier dans la boucle "for" si l'itérateur est l'owner du document ?
seksam
Active Member

Re: envoie de mail depuis share

J'ai rédige ce script  en m'appuyant sur ce qui existe déjà sur le forum et j'ai pu le tester, il marche.  avez vous une idée de ce que je dois faire pour comparer un membre avec le owner????
jayjayecl
Active Member II

Re: envoie de mail depuis share

avez vous une idée de ce que je dois faire pour comparer un membre avec le owner????

Certes …
Tout d'abord, regarder la doc des scripts Alfresco :
- doc Script en 3.4 : http://wiki.alfresco.com/wiki/3.4_JavaScript_API
- exemples ici : http://wiki.alfresco.com/wiki/JavaScript_API_Cookbook

Puis faire quelques tests, et ensuite nous donner les résultats ici.
Aura-ce marché ?
Sinon, quelles traces d'erreur ?
etc …

Bonne chance Smiley Happy
seksam
Active Member

Re: envoie de mail depuis share

ok, je teste tout cela et je vous tiens au courant
seksam
Active Member

Re: envoie de mail depuis share

Rebonjour,
Finalement, je n'ai pas trouvé comment  ne pas envoyer le mail à la personne qui dépose le document.
J'ai essayer avec person.properties.firstName (mais j'ai impossible d'accéder à first name), j'ai aussi tenter avec userHome mais rien à faire. Je ne vois pas quoi utiliser.
auriez vous une idée?
Merci d'avance

Ps: désolée pour le retard je m'amusais à réinstaller une nouvelle base de données.
jayjayecl
Active Member II

Re: envoie de mail depuis share

Bonjour,

Peut-on voir précisément les scripts testés, ainsi que chaque résultat obtenu (trace de logs, etc …) ?
Merci
seksam
Active Member

Re: envoie de mail depuis share

Bonjour,
Voici le script
 // envoyer un mail lorsqu'une personne ajoute un sujet sur le forum

// Récupérer le nom du site
// (donneesMembres.properties.userName!="admin") test si on ne veut pas envoyer à l'admin
var parent = document.getParent();
var shortName= parent.getSiteShortName();
var leSite = siteService.getSite(shortName);

// On récupère les membres du site
var membres = leSite.listMembers(null,null,0);
var nomDuSite = leSite.title;
var membre;

// on envoie un message à chaque memebre
for (membre in membres){
   var donneesMembres = people.getPerson(membre);
   var email = donneesMembres.properties.email;

   if(email){
   //le mail ne doit être envoyé ni aux invités, ni à celui qui a envoyé déposé le document
   if ((donneesMembres.properties.userName!="guest") && (donneesMembres.properties.userName!=person.properties.userName)) {
if ((document.type != "{http://www.alfresco.org/model/content/1.0}thumbnail") && (document.typeShort== "cm:content")){
      // create mail action
      var mail = actions.create("mail");
      mail.parameters.to = email;
      mail.parameters.subject = "Ajout de topic  sur'"+nomDuSite+"'…";
      mail.parameters.from = "admin@grandangle.fr.logica.com";
      mail.parameters.template = companyhome.childByNamePath("Dictionnaire de données/Modèles d'e-mail/Modèles d'e-mail de notification/notify_user_email_french.ftl");
     mail.parameters.text = " Bonjour,\n Un nouveau sujet vient d'\352tre  ajout\351 dans le forum  de la  '"+nomDuSite+"' par  \n \n Cordialement, \n L'administrateur '"+nomDuSite+"'";
      // execute l'action
      mail.execute(document);
}
}
}
}

ERROR
 14:47:40,130 User:admin ERROR [extensions.webscripts.AbstractRuntime] Exception from executeScript - redirecting to status template error: 07080007 Wrapped Exception (with status template): 07080108 Failed to execute script 'classpath*:alfresco/templates/webscripts/org/alfresco/repository/thumbnail/thumbnail.get.js': 07080107 Content conversion failed:
14:47:40,312 User:admin ERROR [extensions.webscripts.AbstractRuntime] Exception from executeScript - redirecting to status template error: 07080008 Wrapped Exception (with status template): 07080111 Failed to execute script 'classpath*:alfresco/templates/webscripts/org/alfresco/repository/thumbnail/thumbnail.get.js': 07080110 Content conversion failed:
14:47:44,356 User:admin ERROR [extensions.webscripts.AbstractRuntime] Exception from executeScript - redirecting to status template error: 07080009 Wrapped Exception (with status template): 07080116 Failed to execute script 'classpath*:alfresco/templates/webscripts/org/alfresco/repository/thumbnail/thumbnail.get.js': 07080115 Content conversion failed:
14:47:44,482 User:admin ERROR [extensions.webscripts.AbstractRuntime] Exception from executeScript - redirecting to status template error: 07080010 Wrapped Exception (with status template): 07080119 Failed to execute script 'classpath*:alfresco/templates/webscripts/org/alfresco/repository/thumbnail/thumbnail.get.js': 07080118 Content conversion failed:
14:47:49,163 User:admin ERROR [extensions.webscripts.AbstractRuntime] Exception from executeScript - redirecting to status template error: 07080011 Wrapped Exception (with status template): 07080122 Failed to execute script 'classpath*:alfresco/templates/webscripts/org/alfresco/repository/thumbnail/thumbnail.get.js': 07080121 Content conversion failed:
14:47:49,376 User:admin ERROR [extensions.webscripts.AbstractRuntime] Exception from executeScript - redirecting to status template error: 07080012 Wrapped Exception (with status template): 07080125 Failed to execute script 'classpath*:alfresco/templates/webscripts/org/alfresco/repository/thumbnail/thumbnail.get.js': 07080124 Content conversion failed:
14:47:52,823 User:admin ERROR [extensions.webscripts.AbstractRuntime] Exception from executeScript - redirecting to status template error: 07080013 Wrapped Exception (with status template): 07080130 Failed to execute script 'classpath*:alfresco/templates/webscripts/org/alfresco/repository/thumbnail/thumbnail.get.js': 07080129 Content conversion failed:
14:47:52,999 User:admin ERROR [extensions.webscripts.AbstractRuntime] Exception from executeScript - redirecting to status template error: 07080014 Wrapped Exception (with status template): 07080133 Failed to execute script 'classpath*:alfresco/templates/webscripts/org/alfresco/repository/thumbnail/thumbnail.get.js': 07080132 Content conversion failed:
WARNINGS
 14:47:44,501 http-8080-39 WARN  [webscripts.connector.RemoteClient] Exception during close() of HTTP API connection
14:47:49,388 http-8080-18 WARN  [webscripts.connector.RemoteClient] Exception during close() of HTTP API connection
Au niveau de share, il me dit bien que la règle a été exécutée, cependant je ne reçois jamais de mail et c'est toujours la même erreur de HTTP API et de thumbnail.js

La semaine dernière J'ai même essayé de mettre le if de test d'utilisateur en commentaire mais j'ai eu l'impression que c'était pire( voir logs sur
http://forums.alfresco.com/fr/viewtopic.php?f=8&t=5134&start=0) mais bizarrement aujourd'hui je n'ai que les messages du dessus comme erreur.