Merci pour l'astuce, je vais tester.
Le 31/03/2011 15:31, Serge Aumont a écrit :
Bonjour
Le 29/03/11 16:11, Sylvain Costard a écrit :
Bonjour,
Je fais face à une problème de poids que j'avais partiellement
résolu il y a quelques temps mais qui revient à la surface à la
mode serpent de mer :
A l'Université, nous avons deux noms de domaines : uhb.fr et le
nouveau avec lequel veulent communiquer les politiques :
univ-rennes2.fr (vivement le univ-rennes.fr :-P). J'ai réussi
par le biais de CustomContitions à faire en sorte qu'un
utilisateur puisse envoyer un mail avec un des deux noms de
domaines sans distinction mais je bute sur l'interface elle même
de sympa :
Les personnes se connectant sur le serveur de listes arrivent
avec un mail en uhb.fr venant de l'annuaire LDAP. Si le
propriétaire d'une liste les a abonné en univ-rennes2.fr, cette
liste; non seulement n'apparait pas dans la liste auxquelles la
personne est abonnée dans le menu de gauche, mais ne peut non
plus afficher les document partagées d'une de ces listes.
Ton problème est compliqué. Il y a pas de solution correcte avec
cette version de Sympa. Toutefois, avec un peu de boulot tu peux
surement t'en tirer. Il y a 2 problèmes distincts :
- le pb de droit
- le pb de la liste des listes à laquelle la personne est
abonnées.
Pour les droits, tu as trouvé une solution avec un scénario
custom. Tu peux décliner sur d'autre scénario comme par exemple
celui qui donne l'accès au documents partagés mais cela restera
difficile à gérer car tu dois intervenir pour chaque scénario ou
on test "is_subscriber" et remplacer celle-ci par ta custom
condition.
Pour la liste des abonnements : tu peux patcher List::get_which_db
. Là tu peux ajouter un traitement d'exception si $email
=~/\uhb\.fr$/
Si tu le fait, dit nous s'il y a des effets de bords. Je t'accorde
bien volontiers que ce n'est pas trop confortable de devoir
patcher ; c'est pour cela que j'ai commencer par parler d'un peu
de "boulot" ;-)
Serge Aumont
J'ai
bien modifié le scénario info.private de cette facon :
title.gettext restricted to subscribers
CustomCondition::is_subscriber([listname],[sender])
smtp,md5,smime -> do_it
is_listmaster([sender]) smtp,md5,smime ->
do_it
CustomCondition::is_owner([listname],[sender])
smtp,md5,smime -> do_it
CustomCondition::is_editor([listname],[sender])
smtp,md5,smime -> do_it
true() smtp,md5,smime ->
reject(reason='info_subscriber')
mais cela n'aide pas. Ais-je une solution pour ce problème ?
Pour info voici le code d'une de mes customconditions :
#!/usr/bin/perl
package CustomCondition::is_subscriber;
use strict;
use List;
use Log;
sub verify {
my @args = @_;
foreach my $arg (@args) {
do_log ('info', 'arg: '. $arg);
}
my ($list_name,$sender) = @args;
my $sender_uhb = $sender;
my $sender_univ = $sender;
$sender_uhb =~ s/univ-rennes2\.fr/uhb\.fr/i;
$sender_univ =~ s/uhb\.fr/univ-rennes2\.fr/i;
do_log ('info', 'sender: '. $sender);
my ($list);
$list = new List ($args[0]);
if ($list->is_user($sender_univ)) {
return 1;
}
if ($list->is_user($sender_uhb)) {
return 1;
} else {
return -1;
}
}
## Packages must return true.
1;
Merci pour votre aide
--
Sylvain Costard
Université Rennes 2
Cri - Cellule Infra/Serveurs
Tel : 02.99.14.13.47
--
Sylvain Costard
Université Rennes 2
Cri - Cellule Infra/Serveurs
Tel : 02.99.14.13.47
|