Implement hidden permission in profile editor
[platal.git] / templates / profile / adresses.address.tpl
index a778d8d..223629b 100644 (file)
@@ -1,6 +1,6 @@
 {**************************************************************************}
 {*                                                                        *}
-{*  Copyright (C) 2003-2008 Polytechnique.org                             *}
+{*  Copyright (C) 2003-2014 Polytechnique.org                             *}
 {*  http://opensource.polytechnique.org/                                  *}
 {*                                                                        *}
 {*  This program is free software; you can redistribute it and/or modify  *}
 {*                                                                        *}
 {**************************************************************************}
 
-{assign var=adpref value="addresses[$i]"}
-{assign var=adid value="addresses_$i"}
-<input type="hidden" name="{$adpref}[removed]" value="0"/>
-<input type="hidden" name="{$adpref}[datemaj]" value="{$adr.datemaj}"/>
-<table class="bicol" style="display: none; margin-bottom: 1em" id="{$adid}_grayed">
+{assign var=prefname value="addresses[$i]"}
+{assign var=prefid value="addresses_$i"}
+{if $isMe || hasPerm('admin') || $new}
+  {assign var=hiddenaddr value=false}
+{elseif hasPerm('directory_hidden') || (($address.pub neq 'hidden') && ($address.pub neq 'private'))}
+  {assign var=hiddenaddr value=false}
+{elseif hasPerm('directory_private') && ($address.pub neq 'hidden')}
+  {assign var=hiddenaddr value=false}
+{else}
+  {assign var=hiddenaddr value=true}
+{/if}
+
+<table class="bicol" style="display: none; margin-bottom: 1em" id="{$prefid}_grayed">
   <tr>
     <th class="grayed">
       <div style="float: right">
-        <a href="javascript:restoreAddress('{$adid}', '{$adpref}')">{icon name=arrow_refresh title="Restaurer l'adresse"}</a>
+        <a href="javascript:toggleAddress('{$i}',0)">{icon name=arrow_refresh title="Restaurer l'adresse"}</a>
       </div>
       Restaurer l'adresse n°{$i+1}
     </th>
   </tr>
 </table>
-<table class="bicol" style="margin-bottom: 1em" id="{$adid}">
+<table class="bicol" style="margin-bottom: 1em" id="{$prefid}">
   <tr>
-    <th>
+    <th colspan="2">
       <div style="float: left">
-        <input name="{$adpref}[current]" type="radio" value="1" {if $adr.current}checked="checked"{/if}
-               id="{$adid}_current" onchange="checkCurrentAddress(this); return true" />
-        <label for="{$adid}_current" class="smaller" style="font-weight: normal">actuelle</label>
+        <label>
+          <input name="{$prefname}[current]" type="radio" {if $address.current}checked="checked"{/if}
+                      onchange="checkCurrentAddress({$i})" />
+          <span class="smaller" style="font-weight: normal">actuelle</span>
+        </label>
       </div>
       <div style="float: right">
-        <a href="javascript:removeAddress('{$adid}', '{$adpref}')">{icon name=cross title="Supprimer l'adresse"}</a>
+        <a href="javascript:toggleAddress('{$i}',1)">
+          {icon name=cross title="Supprimer l'adresse"}
+        </a>
       </div>
-      Adresse n°{$i+1}
+      Adresse n°{$i+1}{if $hiddenaddr} (masquée){/if}
     </th>
   </tr>
-  <tr>
+  <tr {if $hiddenaddr}style="display: none"{/if}>
+    <td colspan="2" class="flags">
+      {include file="include/flags.radio.tpl" name="`$prefname`[pub]" val=$address.pub mainField='addresses' mainId=$i subField='phones' subId=-1}
+    </td>
+  </tr>
+  {include file="geoloc/form.address.tpl" prefname=$prefname prefid=$prefid address=$address id=$i hiddenaddr=$hiddenaddr}
+  <tr {if $hiddenaddr}style="display: none"{/if}>
+  {if !$isMe}
     <td>
-      <div style="margin-bottom: 0.2em" class="flags">
-        {include file="include/flags.radio.tpl" name="`$adpref`[pub]" val=$adr.pub}
-      </div>
-      <div style="clear: both"></div>
-      <div style="float: left">{include file="geoloc/form.address.tpl" name=$adpref id=$adid adr=$adr}</div>
+      <small><strong>Adresse postale&nbsp;:</strong><br />{$address.postalText|nl2br}</small>
+    </td>
+    <td>
+  {else}
+    <td colspan="2">
+  {/if}
       <div style="float: left">
         <div>
-          <input type="radio" name="{$adpref}[temporary]" id="{$adid}_temp_0" value="0"
-                 {if !$adr.temporary}checked="checked"{/if} /><label for="{$adid}_temp_0">permanente</label>
-          <input type="radio" name="{$adpref}[temporary]" id="{$adid}_temp_1" value="1"
-                 {if $adr.temporary}checked="checked"{/if} /><label for="{$adid}_temp_1">temporaire</label>
+          <label>
+            <input type="radio" name="{$prefname}[temporary]" value="0"
+                   {if !$address.temporary}checked="checked"{/if} />
+            permanente
+          </label>
+          <label>
+            <input type="radio" name="{$prefname}[temporary]" value="1"
+                   {if $address.temporary}checked="checked"{/if} />
+            temporaire
+          </label>
         </div>
         <div>
-          <input type="radio" name="{$adpref}[secondaire]" id="{$adid}_sec_0" value="0"
-                 {if !$adr.secondaire}checked="checked"{/if} /><label for="{$adid}_sec_0">ma résidence principale</label>
-          <input type="radio" name="{$adpref}[secondaire]" id="{$adid}_sec_1" value="1"
-                 {if $adr.secondaire}checked="checked"{/if} /><label for="{$adid}_sec_1">une résidence secondaire</label>
+          <label>
+            <input type="radio" name="{$prefname}[secondary]" value="0"
+                   {if !$address.secondary}checked="checked"{/if} />
+            ma résidence principale
+          </label>
+          <label>
+            <input type="radio" name="{$prefname}[secondary]" value="1"
+                   {if $address.secondary}checked="checked"{/if} />
+            une résidence secondaire
+          </label>
         </div>
         <div>
-          <input type="checkbox" name="{$adpref}[mail]" id="{$adid}_mail"
-                 {if $adr.mail}checked="checked"{/if} />
-          <label for="{$adid}_mail">on peut m'y envoyer du courrier par la poste</label>
+          <label>
+            <input type="checkbox" name="{$prefname}[mail]" {if $address.mail}checked="checked"{/if} />
+            on peut {if $isMe}m'{/if}y envoyer du courrier par la poste
+          </label>
         </div>
+        {if !t($isMe)}
         <div>
-          <label for="{$adpref}[comment]">Commentaire : </label>
-          <input type="text" size="35" maxlength="100" name="{$adpref}[comment]" id="{$adpref}_comment" value="{$adr.comment}" />
+          <label>
+            <input type="checkbox" name="{$prefname}[deliveryIssue]" {if $address.deliveryIssue}checked="checked"{/if} />
+            n'habite pas à l'adresse indiquée
+          </label>
+        </div>
+        {else}
+        <div style="display: none"><input type="hidden" name="deliveryIssue" value="{$address.deliveryIssue}" /></div>
+        {/if}
+        <div>
+          <label>
+            Commentaire&nbsp;:
+            <input type="text" size="35" maxlength="100"
+                   name="{$prefname}[comment]" value="{$address.comment}" />
+          </label>
         </div>
       </div>
     </td>
   </tr>
-  <tr class="pair">
-    <td>
-      {foreach from=$adr.tel key=t item=tel}
-        <div id="{"`$adid`_tel_`$t`"}" style="clear: both">
-          {include file="profile/phone.tpl" prefname="`$adpref`[tel]" prefid="`$adid`_tel" telid=$t tel=$tel}
+  <tr class="pair" {if $hiddenaddr}style="display: none"{/if}>
+    <td colspan="2">
+      {foreach from=$address.phones key=t item=tel}
+        <div id="{"`$prefid`_phones_`$t`"}" style="clear: both">
+          {include file="profile/phone.tpl" prefname="`$prefname`[phones]" prefid="`$prefid`_phones" telid=$t tel=$tel
+                   subField='phones' mainField='addresses' mainId=$i}
         </div>
       {/foreach}
-      {if $adr.tel|@count eq 0}
-        <div id="{"`$adid`_tel_0"}" style="clear: both">
-          {include file="profile/phone.tpl" prefname="`$adpref`[tel]" prefid="`$adid`_tel" telid=0 tel=0}
+      {if $address.phones|@count eq 0}
+        <div id="{"`$prefid`_phones_0"}" style="clear: both">
+          {include file="profile/phone.tpl" prefname="`$prefname`[phones]" prefid="`$prefid`_phones" telid=0 tel=0
+                   subField='phones' mainField='addresses' mainId=$i}
         </div>
       {/if}
-      <div id="{$adid}_tel_add" class="center" style="clear: both; padding-top: 4px">
-        <a href="javascript:addTel('{$adid}_tel', '{$adpref}[tel]')">
+      <div id="{$prefid}_phones_add" class="center" style="clear: both; padding-top: 4px">
+        <a href="javascript:addTel('{$prefid}_phones','{$prefname}[phones]','phones','addresses','{$i}')">
           {icon name=add title="Ajouter un numéro de téléphone"} Ajouter un numéro de téléphone
         </a>
       </div>
   </tr>
 </table>
 
-{* vim:set et sw=2 sts=2 sws=2 enc=utf-8: *}
+{* vim:set et sw=2 sts=2 sws=2 fenc=utf-8: *}