Fixes display of non-users in aliases.
authorStéphane Jacob <sj@m4x.org>
Fri, 1 Apr 2011 16:51:42 +0000 (18:51 +0200)
committerStéphane Jacob <sj@m4x.org>
Fri, 1 Apr 2011 16:51:42 +0000 (18:51 +0200)
Signed-off-by: Stéphane Jacob <sj@m4x.org>
include/emails.inc.php
templates/xnetlists/alias-admin.tpl

index 1e8a323..b83a5ea 100644 (file)
@@ -67,12 +67,20 @@ function list_alias_members($local_part, $domain)
                                  WHERE  v.email = {?} AND d.name = {?} AND type = \'alias\'',
                                $local_part, $domain);
 
-    $members = array();
+    $users = array();
+    $nonusers = array();
     foreach ($emails as $email) {
-        $members[] = User::getSilent($email);
+        if ($user = User::getSilent($email)) {
+            $users[] = $user;
+        } else {
+            $nonusers[] = $email;
+        }
     }
 
-    return $members;
+    return array(
+        'users'    => $users,
+        'nonusers' => $nonusers
+    );
 }
 
 function delete_list_alias($local_part, $domain)
index 3a8680a..f2c15b1 100644 (file)
 
 <h1>Membres de {$platal->argv[1]}</h1>
 <table class='tinybicol'>
-  {if $members|@count}
-  {foreach from=$members item=member}
+  {if $members.users|@count}
+  {foreach from=$members.users item=member}
   <tr>
     <td>
-      <a href="https://www.polytechnique.org/profile/{$member->profile()->hrpid}" class="popup2">{$member->fullName()}</a>
+      {if $member->hasProfile()}
+      <a href="https://www.polytechnique.org/profile/{$member->hruid}" class="popup2">{$member->fullName()}</a>
+      {else}
+      {$member->fullName()}
+      {/if}
     </td>
     <td class="right">{$member->promo()}</td>
     <td class="center">
     </td>
   </tr>
   {/foreach}
-  {else}
+  {/if}
+  {if $members.nonusers|@count}
+  {foreach from=$members.nonusers item=member}
+  <tr>
+    <td>{$member}</td>
+    <td></td>
+    <td class="center">
+      <a href='{$platal->ns}alias/admin/{$platal->argv[1]}?del_member={$member}&amp;token={xsrf_token}'>
+      {icon name=delete title='retirer membre'}
+      </a>
+    </td>
+  </tr>
+  {/foreach}
+  {/if}
+  {if $members.users|@count eq 0 && $members.nonusers|@count eq 0}
   <tr>
     <td colspan="3">
       <em>aucun membre&hellip;</em>