Objet : Pour les administrateurs de serveurs de listes utilisant le logiciel Sympa
Archives de la liste
RE: [sympa-fr] Scénario d'abonnement ...
- 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
Le 10/09/14 17:48, Pierre-Luc Boucheron a écrit :
Sisi ! 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
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é).
--
|
-
[sympa-fr] Scénario d'abonnement ...,
Pierre-Luc Boucheron, 10/09/2014
-
Re: [sympa-fr] Scénario d'abonnement ...,
David Verdin, 10/09/2014
-
RE: [sympa-fr] Scénario d'abonnement ...,
Pierre-Luc Boucheron, 10/09/2014
-
Re: [sympa-fr] Scénario d'abonnement ...,
David Verdin, 10/09/2014
-
RE: [sympa-fr] Scénario d'abonnement ...,
Pierre-Luc Boucheron, 10/09/2014
-
Re: [sympa-fr] Scénario d'abonnement ...,
David Verdin, 11/09/2014
- RE: [sympa-fr] Scénario d'abonnement ..., Philippe Aepli, 23/09/2014
-
Re: [sympa-fr] Scénario d'abonnement ...,
David Verdin, 11/09/2014
-
RE: [sympa-fr] Scénario d'abonnement ...,
Pierre-Luc Boucheron, 10/09/2014
-
Re: [sympa-fr] Scénario d'abonnement ...,
David Verdin, 10/09/2014
-
RE: [sympa-fr] Scénario d'abonnement ...,
Pierre-Luc Boucheron, 10/09/2014
-
Re: [sympa-fr] Scénario d'abonnement ...,
David Verdin, 10/09/2014
Archives gérées par MHonArc 2.6.19+.