Merge commit 'origin/master' into fusionax
[platal.git] / templates / emails / redirect.tpl
index 83cf386..634b18f 100644 (file)
@@ -1,6 +1,6 @@
 {**************************************************************************}
 {*                                                                        *}
-{*  Copyright (C) 2003-2008 Polytechnique.org                             *}
+{*  Copyright (C) 2003-2009 Polytechnique.org                             *}
 {*  http://opensource.polytechnique.org/                                  *}
 {*                                                                        *}
 {*  This program is free software; you can redistribute it and/or modify  *}
 {*                                                                        *}
 {**************************************************************************}
 
-{if $retour == $smarty.const.ERROR_INACTIVE_REDIRECTION}
-  <p class="erreur">
-  Tu ne peux pas avoir aucune adresse de redirection active, sinon ton adresse
-  {$smarty.session.forlife}@{#globals.mail.domain#} ne fonctionnerait plus.
-  </p>
-{/if}
-{if $retour == $smarty.const.ERROR_INVALID_EMAIL}
-  <p class="erreur">
-  Erreur: l'email n'est pas valide.
-  </p>
-{/if}
-{if $retour == $smarty.const.ERROR_LOOP_EMAIL}
-  <p class="erreur">
-  Erreur: {$smarty.session.forlife}@{#globals.mail.domain#} ne doit pas être renvoyé
-  vers lui-même, ni vers son équivalent en {#globals.mail.domain2#} ni vers polytechnique.edu.
-  </p>
-{/if}
   <h1>
     Tes adresses de redirection
   </h1>
         Ajax.update_html(null, 'emails/redirect/' + (checked ? '' : 'in') + 'active/' + email, redirectUpdate);
     }
 
+    function rewriteUpdate(mail, allow, box)
+    {
+        return function() {
+                  if (!allow) {
+                      if (box.value != '') {
+                          alert("Un mail de validation vient d'être envoyer sur " + mail
+                               + ". La réécriture ne sera active que lorsque tu auras cliqué sur le lien indiqué dans ce mail.");
+                      }
+                  }
+                  redirectUpdate();
+              };
+    }
+
     {/literal}
   //]]></script>
-  {javascript name="jquery"}
   {test_email}
   <div id="redirect-msg" style="position:absolute;"></div><br />
   <div class="center">
                  {if $e->active}checked="checked"{/if}
                  {if $smarty.foreach.redirect.total eq 1}disabled="disabled"{/if}
                  onchange="updateRedirect(this.checked, '{$e->email}')" /></td>
-        <td>
+        <td style="text-align: left">
           {if $e->has_rewrite()}
-          <select onchange="Ajax.update_html(null,'emails/redirect/rewrite/{$e->email}/'+this.value, redirectUpdate)">
+          <select onchange="Ajax.update_html(null,'emails/redirect/rewrite/{$e->email}/'+this.value, rewriteUpdate('{$e->email}', {$e->allow_rewrite|default:"0"}, this))">
             <option value=''>--- aucune ---</option>
             {assign var=dom1 value=#globals.mail.domain#}
             {assign var=dom2 value=#globals.mail.domain2#}
               value='{$a.alias}@{#globals.mail.domain2#}'>{$a.alias}@{#globals.mail.domain2#}</option>
             {/foreach}
           </select>
+          {if $e->rewrite neq '' && !$e->allow_rewrite}{icon name="error" title="en attente de validation"}{/if}
           {else}
           <em>pas de réécriture</em>
           {/if}
         </td>
       </tr>
       {/foreach}
-      <tr class="{cycle values="pair,impair"}"><td colspan="4">
-        <form action="emails/redirect" method="post">
-        <div>
-          &nbsp;<br />
-          Ajouter une adresse email&nbsp;:
-          <input type="text" size="35" maxlength="60" name="email" value="" />
-          &nbsp;&nbsp;<input type="submit" value="ajouter" name="emailop" />
+      <form action="emails/redirect" method="post">
+        {cycle values="pair,impair" assign=class_combobox}
+        {include file="include/emails.combobox.tpl" name="email" val=$email class=$class_combobox error=$error_email i="0"}
+        <tr class=$class_combobox><td colspan="4"><div>
+          <input type="submit" value="ajouter" name="emailop" />
           {xsrf_token_field}
-        </div>
-        </form>
-      </td></tr>
+        </div></td></tr>
+      </form>
     </table>
     <script type="text/javascript">showRemove(); activeEnable();</script>
   </div>
     {icon name=error title="En panne"}
     <a href="Xorg/Pannes">Panne&nbsp;:</a>
   </strong>
-  Les adresses marquées de cette icône sont des adresses de redirection pour lesquelles une panne
+  les adresses marquées de cette icône sont des adresses de redirection pour lesquelles une panne
   a été détectée. Si le problème persiste, la redirection vers ces adresses sera désactivée.
 </p>
 {/if}
     {icon name=error title="En panne"}
     <a href="Xorg/Pannes" style="color: #f00">Panne durable&nbsp;:</a>
   </strong>
-  Les adresses en rouge sont des adresses qui ont été désactivées en raison d'un grand nombre de pannes. Si tu penses que
+  les adresses en rouge sont des adresses qui ont été désactivées en raison d'un grand nombre de pannes. Si tu penses que
   le problème est résolu, tu peux les réactiver, mais l'adresse sera redésactivée si les problèmes persistent.
 </p>
 {/if}
 <h1>Tes comptes de stockage de courrier</h1>
 {/if}
 {if #globals.mailstorage.imap_active# or hasPerm('admin')}
-<p>
-  Polytechnique.org te propose de conserver les mails que tu reçois, pendant une durée limitée (environ 30 jours).
-  Grâce à ce service, tu disposes d'une sauvegarde de tes mails en secours, au cas où, par exemple, tu effacerais
-  un mail par erreur.<br />
+<p id="imap">
+  Polytechnique.org te propose de conserver les emails que tu reçois, pendant une durée limitée (environ 30 jours).
+  Grâce à ce service, tu disposes d'une sauvegarde de tes emails en secours, au cas où, par exemple, tu effacerais
+  un email par erreur.<br />
   <strong>Attention :</strong> il ne s'agit que d'un service de secours, dont la disponibilité n'est pas garantie.
 </p>
 
 
 {if #globals.mailstorage.googleapps_active# or hasPerm('admin') or $googleapps}
 <br />
-<p>
+<p id="googleapps">
   Grâce à un partenariat avec Google, Polytechnique.org te propose également un compte
   <b>Google Apps</b>, qui te permet de disposer des services Google (GMail pour
   tes emails, Google Calendar, Google Docs, ...) sur une adresse polytechnique.org.
   L'X te fournit aussi une adresse à vie en <strong>«prenom.nom»@polytechnique.edu</strong> qui par défaut est
   une redirection vers «login»@poly.polytechnique.fr. <a href="https://www.mail.polytechnique.edu/">
   Tu peux modifier cette redirection</a> et la faire pointer vers ton adresse
-  {$smarty.session.forlife}@{#globals.mail.domain#} (attention, cela demande de la concentration).
+  {$user->forlifeEmail()} (attention, cela demande de la concentration).
 </p>
 <p>
-  Si tu utilises le service POP de poly pour récupérer tes mails dans ton logiciel de courrier,
+  Si tu utilises le service POP de poly pour récupérer tes emails dans ton logiciel de courrier,
   l'équipe de Polytechnique.org te conseille de rediriger&nbsp;:
 </p>
 <ul>
-  <li>«prenom.nom»@polytechnique.edu vers {$smarty.session.forlife}@{#globals.mail.domain#}&nbsp;;</li>
-  <li>{$smarty.session.forlife}@{#globals.mail.domain#} vers «login»@poly.polytechnique.fr.</li>
+  <li>«prenom.nom»@polytechnique.edu vers {$user->forlifeEmail()}&nbsp;;</li>
+  <li>{$user->forlifeEmail()} vers «login»@poly.polytechnique.fr.</li>
 </ul>
 <p>
   Attention à ne pas faire une boucle quand tu manipules tes redirections ! Tes emails seraient