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: Tue, 5 Nov 2013 16:35:25 +0100 (CET)

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é .

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.

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.

Cdlt

PS1 : franchement TT2 m'épate sur ses possibilités
PS2 : es tu dans ta journée réponse aux utilisateurs ? :)



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




Archives gérées par MHonArc 2.6.19+.

Haut de le page