tuto:ipasserelle:telephonie:generer_contacts_polycom

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
Dernière révision Les deux révisions suivantes
tuto:ipasserelle:telephonie:generer_contacts_polycom [24/07/2012 15:16]
dani
tuto:ipasserelle:telephonie:generer_contacts_polycom [24/07/2012 16:02]
dani
Ligne 14: Ligne 14:
 use Encode; use Encode;
  
-my $= esmith::AccountsDB->open_ro();+my $acc = esmith::AccountsDB->open_ro();
  
 my $pos = 5; my $pos = 5;
Ligne 27: Ligne 27:
 my %ln; my %ln;
 my %fn; my %fn;
 +my %bw;
  
-foreach my $u ($a->users){+foreach my $u ($acc->users){
     my $login = $u->key;     my $login = $u->key;
-    next unless ($a->is_user_in_group($login, 'agence'));+    # Want to skip specific users ? 
 +    #next if($login =~ m/^sophie|jerome$/); 
 +    # Only include members of specific groups ? 
 +    next unless ( 
 +        $acc->is_user_in_group($login, 'agence'|| 
 +        $acc->is_user_in_group($login, 'group1') || 
 +        $acc->is_user_in_group($login, 'equipe'
 +    );
     my $pass = $u->prop('PasswordSet') || 'no';     my $pass = $u->prop('PasswordSet') || 'no';
     next unless ($pass eq 'yes');     next unless ($pass eq 'yes');
     $ext{$login} = $u->prop('Extension') || '';     $ext{$login} = $u->prop('Extension') || '';
-    next unless ($ext{$login} =~ m/^\d+$/);+    $bw{$login} = 1; 
 +    # Use Phone number if extension is not available 
 +    # But cleanup this number 
 +    if ($ext{$login} eq ''){ 
 +        $ext{$login} = $u->prop('Phone') || ''; 
 +        $ext{$login} =~ s/^\+33\(0\)/0/; 
 +        $ext{$login} =~ s/\s//g; 
 +        # Don't monitor line state for external numbers 
 +        $bw{$login} = 0; 
 +    } 
 +    unless ($ext{$login} =~ m/^\d+$/)
 +        # Want to list users which hasn't any phone specified ? 
 +        # print "<!-- $login n'a pas de numero -->\n"; 
 +        next; 
 +    }
     $ln{$login} = unac_string(decode('utf-8',($u->prop('LastName') || '')));     $ln{$login} = unac_string(decode('utf-8',($u->prop('LastName') || '')));
     $fn{$login} = unac_string(decode('utf-8',($u->prop('FirstName') || $login)));     $fn{$login} = unac_string(decode('utf-8',($u->prop('FirstName') || $login)));
 } }
- +foreach (sort { lc($ln{$a}) cmp lc($ln{$b}} keys %ln){
-foreach (sort {$ln{$a} <=> $ln{$b}} keys %ln){+
     print "        <item>     print "        <item>
             <ln>$ln{$_}</ln>             <ln>$ln{$_}</ln>
Ligne 46: Ligne 67:
             <ct>$ext{$_}</ct>             <ct>$ext{$_}</ct>
             <sd>$pos</sd>             <sd>$pos</sd>
-            <bw>1</bw>+            <bw>$bw{$_}</bw>
         </item>         </item>
 "; ";
Ligne 57: Ligne 78:
  
 Il ne reste plus qu'à ajuster deux trois trucs, dans cet exemple: Il ne reste plus qu'à ajuster deux trois trucs, dans cet exemple:
-  * Seuls les utilisateurs membre du groupe "agence" et ayant un mot de passe configuré seront mis dans la liste+  * Seuls les utilisateurs membre du groupe "agence" ou "group1" ou "equipe" et ayant un mot de passe configuré seront mis dans la liste
   * Le premier contacts sera en position 5 (qui correspond au premier emplacement sur la première extension sur les Polycom IP650)   * Le premier contacts sera en position 5 (qui correspond au premier emplacement sur la première extension sur les Polycom IP650)
   * Tous les accents seront supprimés (ils posent souvent plus de problèmes qu'autres chose)   * Tous les accents seront supprimés (ils posent souvent plus de problèmes qu'autres chose)
  • tuto/ipasserelle/telephonie/generer_contacts_polycom.txt
  • Dernière modification: 23/09/2013 13:05
  • de dani