Outputs csv of postal formatted addresses corresponding to an advanced query (#Closes...
[platal.git] / templates / search / adv.form.tpl
index 3809b4d..167f8d4 100644 (file)
 
 <h1>Recherche dans l'annuaire</h1>
 
+{if hasPerm('edit_directory,admin') && t($suggestAddresses)}
+<p class="center"><strong>Voulez-vous télécharger le <a href="{$globals->baseurl}/search/adv/addresses{$plset_args}">tableau des adresses postales</a> pour la recette précédente&nbsp;?</strong></p>
+{/if}
+
 {javascript name=jquery.form}
 
 <script type="text/javascript">// <!--
         });
     });
 /** Regexps to wipe out from search queries */
-var default_form_values = [ /&woman=0(&|$)/, /&subscriber=0(&|$)/, /&alive=0(&|$)/, /&egal[12]=[^&]*&promo[12]=(&|$)/g, /&[^&=]+=(&|$)/g ];
+var default_form_values = [ /&woman=0(&|$)/, /&subscriber=0(&|$)/, /&alive=0(&|$)/, /&egal[12]=[^&]*&promo[12]=(&|$)/g, /&networking_type=0(&|$)/, /&[^&=]+=(&|$)/g ];
 /** Uses javascript to clean form from all empty fields */
 function cleanForm(f) {
   var query = $(f).formSerialize();
   var old_query;
-  for each (var reg in default_form_values) if (typeof(reg) != "undefined") {
-    do {
-      old_query = query;
-      query = query.replace(reg, '$1');
-    } while (old_query != query);
+  for (var i in default_form_values) {
+    var reg = default_form_values[i];
+    if (typeof(reg) != "undefined") {
+      do {
+        old_query = query;
+        query = query.replace(reg, '$1');
+      } while (old_query != query);
+    }
   }
   query = query.replace(/^&*(.*)&*$/, '$1');
   if (query == "rechercher=Chercher") {
     alert("Aucun critère n'a été spécifié");
     return false;
   }
-  document.location = f.action + '?' + query;
+  document.location = baseurl + 'adv?' + query;
   return false;
 }
 -->
@@ -245,18 +252,29 @@ function cleanForm(f) {
     <tr>
       <td>Promotion</td>
       <td>
-        <select name="egal1">
+        <script type="text/javascript">/*<![CDATA[*/
+          {literal}
+          function updatepromofields(egal1) {
+            var f = egal1.form;
+            f.egal2.disabled = f.promo2.disabled = egal1.value == '=';
+            f.egal2.readOnly = true;
+            if (f.egal1.value == '>=') {
+              f.egal2.value = '<=';
+            } else {
+              f.egal2.value = '>=';
+            }
+          }
+          $(document).ready(function() { updatepromofields($('select[name=egal1]')[0]); });
+          {/literal}
+        /*]]>*/</script>
+        <select name="egal1" onchange="updatepromofields(this)" style="text-align:center">
           <option value="=" {if $smarty.request.egal1 eq "="}selected="selected"{/if}>&nbsp;=&nbsp;</option>
           <option value="&gt;=" {if $smarty.request.egal1 eq "&gt;="}selected="selected"{/if}>&nbsp;&gt;=&nbsp;</option>
           <option value="&lt;=" {if $smarty.request.egal1 eq "&lt;="}selected="selected"{/if}>&nbsp;&lt;=&nbsp;</option>
         </select>
         <input type="text" name="promo1" size="4" maxlength="4" value="{$smarty.request.promo1}" />
         &nbsp;et&nbsp;
-        <select name="egal2">
-          <option value="=" {if $smarty.request.egal2 eq "="}selected="selected"{/if}>&nbsp;=&nbsp;</option>
-          <option value="&gt;=" {if $smarty.request.egal2 eq "&gt;="}selected="selected"{/if}>&nbsp;&gt;=&nbsp;</option>
-          <option value="&lt;=" {if $smarty.request.egal2 neq "&gt;=" && $smarty.request.egal2 neq "="}selected="selected"{/if}>&nbsp;&lt;=&nbsp;</option>
-        </select>
+        <input type="text" name="egal2" size="1" style="text-align:center" value="{if t($smarty.request.egal2) eq '&lt;'}&lt;{else}&gt;{/if}" readonly="readonly" />
         <input type="text" name="promo2" size="4" maxlength="4" value="{$smarty.request.promo2}" />
       </td>
     </tr>
@@ -370,10 +388,12 @@ function cleanForm(f) {
         <a href="jobterm" class="autocompleteToSelect">{icon name="table" title="Tous les mots-clefs"}</a>
       </td>
     </tr>
+    {if hasPerm('directory_private')}
     <tr>
       <td>CV contient</td>
       <td><input type="text" name="cv" size="32" value="{$smarty.request.cv}" /></td>
     </tr>
+    {/if}
     <tr>
       <td colspan="2">
         <input type='checkbox' name='only_referent' {if $smarty.request.only_referent}checked='checked'{/if} id="only_referent"/>
@@ -392,6 +412,7 @@ function cleanForm(f) {
         <a href="nationalite" class="autocompleteToSelect">{icon name="table" title="Toutes les nationalités"}</a>
       </td>
     </tr>
+    {if hasPerm('directory_private')}
     <tr>
       <td>Binet</td>
       <td>
@@ -401,6 +422,7 @@ function cleanForm(f) {
         <a href="binet" class="autocompleteToSelect">{icon name="table" title="Tous les binets"}</a>
       </td>
     </tr>
+    {/if}
     <tr>
       <td>Groupe X</td>
       <td>
@@ -410,6 +432,7 @@ function cleanForm(f) {
         <a href="groupex" class="autocompleteToSelect">{icon name="table" title="Tous les groupes X"}</a>
       </td>
     </tr>
+    {if hasPerm('directory_private')}
     <tr>
       <td>Section</td>
       <td>
@@ -419,6 +442,7 @@ function cleanForm(f) {
         <a href="section" class="autocompleteToSelect">{icon name="table" title="Toutes les sections"}</a>
       </td>
     </tr>
+    {/if}
     <tr>
       <td>Formation</td>
       <td>
@@ -453,9 +477,11 @@ function cleanForm(f) {
               <input type="text" name="networking_address" size="32" value="{$smarty.request.networking_address}" />
             </td>
             <td>
-              <input type="text" name="networking_typeTxt" class="autocomplete" size="10" value="{$smarty.request.networking_typeTxt}" />
-              <input name="networking_type" class="autocompleteTarget" type="hidden" value="{$smarty.request.networking_type}"/>
-              <a href="networking_type" class="autocompleteToSelect">{icon name="table" title="Tous les types d'adresse"}</a>
+              <select name="networking_type">
+              {foreach from=$networking_types key=id item=network}
+                <option value="{$id}" {if $smarty.request.networking_type eq $id}selected="selected"{/if}>{$network}</option>
+              {/foreach}
+              </select>
             </td>
           </tr>
         </table>
@@ -483,8 +509,5 @@ function cleanForm(f) {
     </tr>
   </table>
 </form>
-<p>
-  <small><strong>N.B.&nbsp;:</strong> le caractère joker * peut remplacer une ou plusieurs lettres dans les recherches.</small>
-</p>
 
 {* vim:set et sw=2 sts=2 sws=2 enc=utf-8: *}