Accéder au contenu.
Menu Sympa

fr - Re: [sympa-fr] Utilisation des custom_vars pour supprimer la suspension d'abonnements à des listes

Objet : Pour les administrateurs de serveurs de listes utilisant le logiciel Sympa

Archives de la liste

Chronologique Discussions  
  • From: Benoît Marchal <adresse@cachée>
  • To: adresse@cachée, David Verdin <adresse@cachée>
  • Subject: Re: [sympa-fr] Utilisation des custom_vars pour supprimer la suspension d'abonnements à des listes
  • Date: Wed, 6 Nov 2013 08:05:14 +0100 (CET)

Bonjour,

Ci-joint, pour ceux que cela intéresse, notre fichier suspend_request.tt2 que nous utilisons à l'université de Lorraine. Celui intègre l'utilisation d'une variable définie  (custom_var disable_suspend qui prend la valeur on) pour les listes dont on ne veut pas que la personne puisse se suspendre. L'effet induit est que la personne ne peut pas non plus se désbonner. Pour nous ce n'est pas génant car il s'agit de liste automatiquement peuplée ( fonction en général d'un attribut dans notre annuaire).

Un grand merci à David pour son aide

Cdlt



Le 05/11/13 16:35, Benoît Marchal a écrit :
adresse@cachée"> Bonjour,

J'étais en train de regarder le code de wwsympa pour regarder comment récupérer cela.
Ta solution est plus simple et fonctionne tout à fait. Surtout, il n'y a pas de modification du code et ceci est très important pour la maintenabilité .
Ben oui, c'est une solution à peu de frias. tout le charme du TT2 est là.
adresse@cachée">
J'ai même mis le code un peu différemment pour ne pas afficher la case à cocher pour une liste que l'on ne veut pas suspendre. Cela permet à l'utilisateur de voir l'ensemble de ces listes sans pouvoir intervenir sur celles où je lui interdis la suspension.

Bonne idée. C'est moins troublant pour l'utilisateur.
adresse@cachée"> Est ce que cette modification du TT2 t'intéresse ? Si oui, il faut que je réécrive un peu plus propre car je l'ai fait sur un robot de test pour l'instant. En plus, j'écris aussi des messages en français, il faudrait peut-être localiser ceci.
Complètement !
On peut même l'ajouter dans la doc (je traduirai en anglais) comme solution de suspension des abonnements - éventuellement temporaire, en attendant qu'on trouve une solution plus générique, mais il n'est même pas sûr que cela soit nécessaire.
Les abonnés à la liste donneront leur avis là-dessus.
adresse@cachée">
Cdlt

PS1 : franchement TT2 m'épate sur ses possibilités
N'est-ce pas ? C'est pour ça qu'on est contents d'avoir utilisé ce langage pour les templates de Sympa.
Au passage, je recommande aux admins Sympa les lectures suivantes :
- la doc de TT2 : http://www.template-toolkit.org/docs/manual/index.html
- le "livre au blaireau" écrit par l'auteur de TT2, plein de bonnes idées : http://shop.oreilly.com/product/9780596004767.do
adresse@cachée"> PS2 : es tu dans ta journée réponse aux utilisateurs ? :)
On peut dire ça. Je vais devoir plonger tête baissée dans quelques correctifs de bug, la sortie de la 6.1.18, une formation dans quinze jours et quelques déploiement, donc j'essaie de caser le support avant d'être submergé... ;-)
adresse@cachée">


Bonjour Benoît,

Le 25/10/13 12:01, Benoît Marchal a écrit :
Bonjour,

Je viens de découvrir, en lisant la documentation les variables personnalisables sur les listes et leur utilisation dans les templates web.

J'ai donc défini sur une liste une variable disable_suspend et lui ai mis une valeur 'on'. On retrouve donc dans le fichier de configuration de la liste :
custom_vars
value on
name disable_suspend

Maintenant, je voudrais pour faire un test l'utiliser dans le template suspend_request.tt2. On a une boucle sur la variable sub pour toutes les listes d'une personne.
J'avais compris qu'il fallait utiliser [% sub.custom_vars.disable_suspend %]. Mais cela n'a pas l'air de fonctionner : le simple affichage de cette valeur ne donne rien qu'elle soit ou non positionnée.

Est ce que je me trompe quelque part ? Faut-il que cette variable soit valuée pour chaque liste ?
Sans le "sub", normalement : [% custom_vars.disable_suspend %]
Malheureusement, la variable n'est disponible aussi simplement que dans un contexte de liste.

Cela dit, j'ai creusé ton idée et je suis arrivé à cette solution : Ajouter ce bloc ligne 18 de suspend_request.tt2 (juste après le code "[% FOREACH sub = suspend_list %]")

           [% SET allowed_suspension = 1 %]
           [% current_list = get_which.shift %]
           [% IF current_list.admin.custom_vars %]
             [% FOREACH cvar IN current_list.admin.custom_vars %]
                 [% IF cvar.name == 'disable_suspend' && cvar.value == 'on' %]
                     [% allowed_suspension = 0 %]
                 [% END %]
             [% END %]
           [% END %]
           [% IF allowed_suspension %]

Et pour que ça marche, fermer le gros IF ligne 41 :

          [% END %]

Voilà, avec ça, j'arrive à faire disparaître de la liste des listes à suspendre celles pour lesquelles on a défini une custom_var nommée "disable_suspend" avec la valeur "on".

Dis-moi si c'est OK chez toi aussi.

Bonne journée !

David

Merci d'avance pour votre aide.

Cdlt
--
Benoît MARCHAL Sous direction Infrastructure Direction du Numérique Université de Lorraine Tél : 03.83.68.20.66 mél : adresse@cachée


--
A bug in Sympa? Quick! To the bug tracker!
RENATER logo
 
David Verdin
Études et projets applicatifs
 
Tél : +33 2 23 23 69 71
Fax : +33 2 23 23 71 21
 
www.renater.fr
RENATER
263 Avenue du Gal Leclerc
35042 Rennes Cedex






--
Benoît MARCHAL Sous direction Infrastructure Direction du Numérique Université de Lorraine Tél : 03.83.68.20.66 mél : adresse@cachée


--
A bug in Sympa? Quick! To the bug tracker!
RENATER logo
 
David Verdin
Études et projets applicatifs
 
Tél : +33 2 23 23 69 71
Fax : +33 2 23 23 71 21
 
www.renater.fr
RENATER
263 Avenue du Gal Leclerc
35042 Rennes Cedex






--
Benoît MARCHAL
Sous direction Infrastructure
Direction du Numérique
Université de Lorraine
Tél : 03.83.68.20.66
mél : adresse@cachée

[%|loc%]Manage your subscriptions[%END%][%|loc%]Help[%END%]


[%|loc%]Lists[%END%] [%|loc%]Reception[%END%] [%|loc%]Suspended[%END%]
[% IF user.email %] [% IF suspend_list %] [% FOREACH sub = suspend_list %] [% SET allowed_suspension = 1 %] [% current_list = get_which.shift %] [% IF current_list.admin.custom_vars %] [% FOREACH cvar IN current_list.admin.custom_vars %] [% IF cvar.name == 'disable_suspend' && cvar.value == 'on' %] [% allowed_suspension = 0 %] [% END %] [% END %] [% END %] [% IF allowed_suspension %] [% ELSE %]       [% END %] [% hidden_head %][% sub.listname %][% hidden_end %]  [% IF sub.listsuspend %]  [%|loc%]Suspended from[% END %] [% sub.liststartdate %] [%|loc%]to[% END %] [% IF sub.listenddate %][% sub.listenddate %][% ELSE %][%|loc%]indefinite end date[% END %][% END %] [% ELSE %]   [% sub.listreception %]   [% IF allowed_suspension %] [% ELSE %]  Suspension & désabonnement impossible  [% END %] [% END %] [% END %] [% ELSE %]

[%|loc%]No subscription.[% END %]

[% END %] [% END %]

[%|loc%]Suspend / Resume the selected lists[%END%]

[%|loc%]From:[%END%] (dd-mm-yyyy) [%|loc%]To:[%END%] (dd-mm-yyyy) [%|loc%]Check this box if you want to suspend your subscription indefinitely.[%END%]
[% IF sub.display == 1 %] [% END %]

[%|loc%]Unsubscribe selected lists[%END%]





Archives gérées par MHonArc 2.6.19+.

Haut de le page