Accéder au contenu.
Menu Sympa

fr - RE: [sympa-fr] Scénario d'abonnement ...

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

Archives de la liste

Chronologique Discussions  
  • From: Philippe Aepli <adresse@cachée>
  • To: "adresse@cachée" <adresse@cachée>, David Verdin <adresse@cachée>, Pierre-Luc Boucheron <adresse@cachée>
  • Subject: RE: [sympa-fr] Scénario d'abonnement ...
  • Date: Tue, 23 Sep 2014 08:57:42 +0000

Bonjour,

 

Pour résoudre ce problème, j'ai légèrement modifié le fonctionnement de Sympa en ajoutant un nouvel attribut (menu) au schéma du propriétaire dans List.pm. Puis j'ai adapté les modèles du dossier web_tt2: nav.tt2, admin.tt2 et lists.tt2.

 

Cette modification permet de ne plus afficher les différents liens permettant d'accéder à la configuration d'une liste. Par contre je ne me suis pas attardé sur l'autorisation de l'accès à l'URL.

Ainsi si un propriétaire malin (ayant un menu allégé pour une liste) saisi la bonne URL dans son navigateur, il pourra tout de même accéder à la configuration de la liste.

 

Dans notre cas d'utilisation, ce n'est pas bien important. L'objectif était simplement de ne pas proposer l'option et ainsi éviter que certains curieux modifient par inadvertance la configuration d'une liste.

 

Pour ceux que cela intéresse, voici les modifications qu'il faut faire pour pouvoir proposer des menus allégés aux propriétaires de liste. Attention, j'utilise actuellement une version 6.1.17 que j'ai déjà légèrement modifiée. Aussi, les numéros de lignes peuvent être différents dans votre version de List.pm.

 

Mais, ici, ce n'est pas bien grave, il suffit d'ajouter les lignes en gras à la fin de la définition des attributs du propriétaire (owner):

 

List.pm:

1176                                      'info' => {'format' => '.+',

1177                                                 'length' => 30,

1178                                                 'gettext_id' => "private information",

1179                                                 'order' => 3

1180                                                 },

1181                                      'profile' => {'format' => ['privileged','normal'],

1182                                                    'default' => 'normal',

1183                                                    'gettext_id' => "profile",

1184                                                    'order' => 4

1185                                                    },

1186                                      'menu' => {'format' => ['full','light'],

1187                                                 'default' => 'full',

1188                                                 'gettext_id' => "menu",

1189                                                 'order' => 7

1190                                                 }

1191                                  },

1192                         'occurrence' => '1-n',

1193                         'gettext_id' => "Owner",

1194                         'group' => 'description'

1195                         },

1196             'owner_include' => {'format' => {'source' => {'datasource' => 1,

 

Attention, n'oubliez pas d'ajouter la virgule après l'accolade fermante de la définition de l'attribut profile.

 

Pour les modèles, je vous encourage à ne pas modifier les versions par défaut, mais de les copier dans votre dossier de personnalisation (http://www.sympa.org/manual_6.1/customizing), puis d'apporter ces petits changements:

 

nav.tt2 (les modifications sont en gras):

60 [% IF action == 'admin' || action_type == 'admin' || action == 'editfile' %]

61 <div id="nav">

62   <ul>

63 [% IF action == 'edit_list_request' %][% SET class = 'MainMenuLinksCurrentPage' %][% ELSE %][% SET class = 'MainMenuLinks' %][% END %]

64

65 <!-- Light Menu 2014-09-17 Aepli Philippe -->

66 [%- SET menu = 'full' -%]

67 [%- IF NOT is_listmaster -%]

68   [%- FOREACH o IN listconf.owner -%]

69     [%- IF o.email.lower == user.email.lower %][% SET menu = o.menu %][% END -%]

70   [%- END -%]

71 [%- END -%]

72 [% IF menu.lower == 'full' %]

73     <!-- Full menu enabled -->

74     <li class="[% class %]"><a  href="[% path_cgi %]/edit_list_request/[% list %]">[%|loc%]Edit List Config[%END%]</a></li>

75 [% ELSE %]

76     <!-- Light menu enabled -->

77 [% END -%]

78 <!-- End Light Menu -->

79

80 [% IF is_owner %]

 

admin.tt2 (les modifications sont en gras):

4 <h2>[%|loc%]Casual administration[%END%]</h2>

5

6 <ul>

7

8 <!-- Light Menu 2014-09-17 Aepli Philippe -->

9 [%- SET menu = 'full' -%]

10 [%- IF NOT is_listmaster -%]

11   [%- FOREACH o IN listconf.owner -%]

12     [%- IF o.email.lower == user.email.lower %][% SET menu = o.menu %][% END -%]

13   [%- END -%]

14 [%- END -%]

15 [% IF menu.lower == 'full' %]

16           <!-- Full menu enabled -->

17           <li><strong><a href="[% path_cgi %]/edit_list_request/[% list %]">[%|loc%]Edit list config:[%END%]</a></strong>  [%|loc%]Use it with care: it allows you to modify some of the list parameters. The list of the parameters you can modify depends on your privileges.[%END%]</li>

18 [% ELSE %]

19           <!-- Light menu enabled -->

20 [% END -%]

21 <!-- End Light Menu -->

22

23 [% IF is_owner %]

 

lists.tt2 (les modifications sont en gras):

34  [% IF which.$listname.admin %]

35 <div style="margin:0 0 2.5em 1.5em">

36

37 <!-- Light Menu 2014-09-17 Aepli Philippe -->

38 [%- SET menu = 'full' -%]

39 [%- IF NOT is_listmaster -%]

40   [%- FOREACH l IN get_which_owner -%]

41     [%- IF l.name.lower == listname.lower -%]

42       [%- FOREACH o IN l.admin.owner -%]

43         [%- IF o.email.lower == user.email.lower %][% SET menu = o.menu %][% END -%]

44       [%- END -%]

45     [%- END -%]

46   [%- END -%]

47 [%- END -%]

48 [% IF menu.lower == 'full' %]

49   <!-- Full menu enabled -->

50   <div class="admin_cmd"><a  href="[% path_cgi %]/edit_list_request/[% listname %]">[%|loc%]Edit List Config[%END%]</a></div>

51 [% ELSE %]

52   <!-- Light menu enabled -->

53 [% END -%]

54 <!-- End Light Menu -->

55

56   <div class="admin_cmd"><a  href="[% path_cgi %]/editfile/[% listname %]">[%|loc%]Customizing[%END%]</a></div>

 

Vous remarquerez, que pour les listmasters le menu allégé n'est jamais utilisé …

 

Pour modifier la valeur du menu d'un propriétaire, il vous suffira d'accéder à la définition de la liste dans le menu de configuration. L'attribut menu sera automatiquement ajouté dans l'interface d'administration.

 

Et comme la valeur par défaut est "full", cela ne changera pas l'apparence des menu de vos propriétaires après avoir étendu le schéma.

 

N'oubliez pas de redémarrer votre service apache ainsi que sympa pour que ces modifications soient prises en compte.

 

Pour ce qui est du contrôle d'accès aux URLs de configuration de liste, je vous laisse regarder avec nos chers développeurs.

 

Salutations.

 

 

Philippe AEPLI              Email: adresse@cachée

Université de Genève        Tél: +41 22 379 72 86

Division STIC               Mob: +41 79 280 20 24

Rue du Général-Dufour, 24   Fax: +41 22 379 79 86

1204 Genève

 

De : adresse@cachée [mailto:adresse@cachée] De la part de David Verdin
Envoyé : jeudi 11 septembre 2014 10:34
À : Pierre-Luc Boucheron; adresse@cachée
Objet : Re: [sympa-fr] Scénario d'abonnement ...

 

 

Le 10/09/14 17:48, Pierre-Luc Boucheron a écrit :

Effectivement, c’est une possibilité: bon conseil !

 

Mais … , sauf erreur, c’est un changement global que l’on fait au niveau de Sympa et l’on n’a pas la granularité au niveau de la liste (je ne pense pas que l’on veuille faire ce changement pour toutes nos listes…). Je vais réfléchir à tout ceci à tête reposée J

 

Sisi !
Tu peu avoir une edit_list.conf par liste, c'est pas un problème !

Merci encore pour les réponses …

 

Avec mes meilleures salutations,

 

Pierre-Luc Boucheron

Division STIC

Uni-Dufour

University of Geneva

Rue Général-Dufour, 24

1211 Genève 4

Switzerland

Tél: +41 22 37 97578

Fax: +41 22 37 97986

 

From: adresse@cachée [mailto:adresse@cachée] On Behalf Of David Verdin
Sent: Wednesday, September 10, 2014 5:25 PM
To: adresse@cachée
Subject: Re: [sympa-fr] Scénario d'abonnement ...

 

Ah oui, alors tu as tout de même une possibilité : nommer les modérateurs comme propriétaires non privilégiés, et ne laisser les propriétaires non privilégiés n'éditer aucun paramètre (le propriétaire actuel étant, lui, propriétaire privilégié).
.
Tu peux le faire en te servant du fichier edit_list.conf : https://www.sympa.org/manual/list-creation#list_editing

Bonne journée,

David

 

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

 




Archives gérées par MHonArc 2.6.19+.

Haut de le page