Implement hidden permission in profile editor
[platal.git] / templates / profile / jobs.job.tpl
index 112b0da..8cd4199 100644 (file)
@@ -1,6 +1,6 @@
 {**************************************************************************}
 {*                                                                        *}
-{*  Copyright (C) 2003-2010 Polytechnique.org                             *}
+{*  Copyright (C) 2003-2014 Polytechnique.org                             *}
 {*  http://opensource.polytechnique.org/                                  *}
 {*                                                                        *}
 {*  This program is free software; you can redistribute it and/or modify  *}
 
 
 <script type="text/javascript" src="javascript/jquery.jstree.js"></script>
-{assign var=jobid value="job_"|cat:$i}
+{assign var=jobid value="jobs_"|cat:$i}
 {assign var=jobpref value="jobs[`$i`]"}
 {assign var=sector_text value="sector_text_"|cat:$i}
 {assign var=sector value="sector_"|cat:$i}
 {assign var=entreprise value="entreprise_"|cat:$i}
-{if !hasPerm('directory_private') && ($job.pub eq 'private') && !$new}
-{assign var=hiddenjob value=true}
+{if $isMe || hasPerm('admin')}
+  {assign var=hiddenjob value=false}
+  {assign var=hiddenaddr value=false}
+  {assign var=hiddenemail value=false}
 {else}
-{assign var=hiddenjob value=false}
+  {if hasPerm('directory_hidden') || ( ($job.pub neq 'hidden') && ($job.pub neq 'private')) || $new}
+    {assign var=hiddenjob value=false}
+  {elseif hasPerm('directory_private') && ($job.pub neq 'hidden')}
+    {assign var=hiddenjob value=false}
+  {else}
+    {assign var=hiddenjob value=true}
+  {/if}
+  {if hasPerm('directory_hidden') || ( ($job.w_address.pub neq 'hidden') && ($job.w_address.pub neq 'private')) || empty($job.w_address.text|smarty:nodefaults)}
+    {assign var=hiddenaddr value=false}
+  {elseif hasPerm('directory_private') && ($job.w_address.pub neq 'hidden')}
+    {assign var=hiddenaddr value=false}
+  {else}
+    {assign var=hiddenaddr value=true}
+  {/if}
+  {if hasPerm('directory_hidden') || ( ($job.w_email_pub neq 'hidden') && ($job.w_email_pub neq 'private')) || empty($job.w_email|smarty:nodefaults)}
+    {assign var=hiddenemail value=false}
+  {elseif hasPerm('directory_private') && ($job.w_email_pub neq 'hidden')}
+    {assign var=hiddenemail value=false}
+  {else}
+    {assign var=hiddenemail value=true}
+  {/if}
 {/if}
 <div id="{$jobid}">
   <input type="hidden" name="{$jobpref}[removed]" value="0" />
@@ -52,7 +74,8 @@
     <tr>
       <th colspan="2" style="text-align: right">
         <div class="flags" style="float: left; text-align: left">
-          {include file="include/flags.radio.tpl" name="`$jobpref`[pub]" val=$job.pub disabled=$hiddenjob}
+          {include file="include/flags.radio.tpl" name="`$jobpref`[pub]" val=$job.pub disabled=$hiddenjob
+                   mainField='jobs' mainId=$i subField='w_address,w_email,w_phone' subId=-1}
         </div>
         Entreprise n°{$i+1}&nbsp;:
         {if $hiddenjob}
@@ -62,7 +85,7 @@
         {/if}
         {else}
         {if t($job.tmp_name)}{$job.tmp_name} <small>(en cours de validation)</small>{else}
-        <input type="text" class="enterpriseName{if t($job.name_error)} error{/if}" size="35" maxlength="100"
+        <input type="text" class="enterprise_name{if t($job.name_error)} error{/if}" size="35" maxlength="100"
                name="{$jobpref}[name]" value="{$job.name}" />
         {/if}
         {/if}
     <tr class="{$entreprise}" style="display: none">
       <td class="titre">Email de contact</td>
       <td>
-        <input type="text" maxlength="60" name="{$jobpref}[hq_email]" />
+        <input type="text" maxlength="255" name="{$jobpref}[hq_email]" />
       </td>
     </tr>
     <tr class="{$entreprise}" style="display: none">
     </tr>
     <tr class="pair" id="{$sector_text}" {if $hiddenjob}style="display: none"{/if}>
       <td class="titre">Mots-clefs</td>
-      <td class="job_terms">
+      <td class="jobs_terms">
         <input type="text" class="term_search" size="35"/>
         <a href="javascript:toggleJobTermsTree({$i})">{icon name="table" title="Tous les mots-clefs"}</a>
         <script type="text/javascript">
           {foreach from=$job.terms item=term}
           addJobTerm("{$i}", "{$term.jtid}", "{$term.full_name|replace:'"':'\\"'}");
           {/foreach}
-          $('#job_{$i} .term_search').autocomplete(platal_baseurl + 'profile/jobterms',
+          $('#jobs_{$i} .term_search').autocomplete(
             {ldelim}
-              "formatItem" : displayJobTerm,
-              "extraParams" : {ldelim} "jobid" : "{$i}" {rdelim},
-              "width" : $('#job_{$i} .term_search').width()*2,
-              "onItemSelect" : selectJobTerm,
-              "matchSubset" : false
+              source: $.plURL('profile/jobterms'),
+              select: function(event, ui) {ldelim}
+                selectJobTerm(ui.item.id, ui.item.value, {$i});
+              {rdelim},
+              change: function(event, ui) {ldelim}
+                $(this).val('');
+              {rdelim}
             {rdelim});
         {rdelim});
         /* ]]> */
       <td colspan="2" class="term_tree">
       </td>
     </tr>
+    <tr class="pair" id="term_tree_comment" style="display: none">
+      <td colspan="2" class="center"><small>La catégorie « Emplois » donne une liste de métiers, « Secteurs d'activité » décrit des secteurs.</small></td>
+    </tr>
     <tr class="pair" {if $hiddenjob}style="display: none"{/if}>
       <td class="titre">Description</td>
       <td>
     <tr class="pair" {if $hiddenjob}style="display: none"{/if}>
       <td class="titre">Page&nbsp;perso</td>
       <td>
-          <input type="text" size="35" maxlength="255" {if t($job.w_rul)}class="error"{/if}
+          <input type="text" size="35" maxlength="255" {if t($job.w_url_error)}class="error"{/if}
                  name="{$jobpref}[w_url]" value="{$job.w_url}" />
       </td>
     </tr>
     <tr class="pair" {if $hiddenjob}style="display: none"{/if}>
+      <td class="titre">Année&nbsp;d'entrée</td>
+      <td>
+          <input type="text" size="4" maxlength="4" {if t($job.w_entry_year_error)}class="error"{/if}
+                 name="{$jobpref}[w_entry_year]" value="{$job.w_entry_year}" />
+          <small>(avec 4 chiffres, par exemple 1983)</small>
+      </td>
+    </tr>
+    <tr id="{$jobid}_w_address" class="pair" {if $hiddenjob || $hiddenaddr}style="display: none"{/if}>
+      <td class="titre">Adresse</td>
+      <td class="flags">
+        {include file="include/flags.radio.tpl" name="`$jobpref`[w_address][pub]" val=$job.w_address.pub
+                 subField='w_address' mainField='jobs' mainId=$i subId=''}
+      </td>
+    </tr>
+    {include file="geoloc/form.address.tpl" prefname="`$jobpref`[w_address]"
+                     prefid=$jobid address=$job.w_address class="pair" hiddenaddr=$hiddenaddr}
+    <tr class="pair" {if $hiddenjob || $hiddenaddr}style="display: none"{/if}>
       <td colspan="2">
-        <div style="float: left">
-          <div class="titre">Adresse</div>
-          <div class="flags">
-            {include file="include/flags.radio.tpl" name="`$jobpref`[w_address][pub]" val=$job.w_address.pub}
-          </div>
-          <div style="margin-top: 20px; clear: both">
-            {include file="geoloc/form.address.tpl" prefname="`$jobpref`[w_address]"
-                     prefid=$jobid address=$job.w_address}
-          </div>
-        </div>
+        <label>
+          <input type="checkbox" name="{$jobpref}[w_address][mail]" {if $job.w_address.mail}checked="checked"{/if} />
+            on peut {if $isMe}m'{/if}y envoyer du courrier par la poste
+        </label>
       </td>
     </tr>
-    {if $hiddenjob}
+    {if $hiddenaddr}
+    <tr class="pair">
+      <td class="titre" colspan="2">Adresse (masquée)</td>
+    </tr>
+    {/if}
+    {if $hiddenjob || $hiddenemail}
     <tr class="pair" {if $hiddenjob}style="display: none"{/if}>
-      <td colspan="2">
+      <td class="titre" colspan="2">
+        {if $hiddenemail}Email professionnel (masqué){/if}
         <input type="hidden" name="{$jobpref}[w_email]" value="{$job.w_email}" />
         <input type="hidden" name="{$jobpref}[w_email_pub]" value="{$job.w_email_pub}" />
       </td>
     </tr>
     {else}
     {include file="include/emails.combobox.tpl" name=$jobpref|cat:'[w_email]' val=$job.w_email
-             class="pair" i=$i error=t($job.w_email_error) prefix="w_" pub=$job.w_email_pub id=$i}
+             class="pair" divId="`$jobid`_w_email" i=$i error=$job.w_email_error prefix="w_" pub=$job.w_email_pub id=$i
+             subField='w_email' mainField='jobs' mainId=$i subId=''}
     {/if}
     <tr class="pair" {if $hiddenjob}style="display: none"{/if}>
       <td colspan="2">
         {foreach from=$job.w_phone key=t item=phone}
           <div id="{"`$jobid`_w_phone_`$t`"}" style="clear: both">
-            {include file="profile/phone.tpl" prefname="`$jobpref`[w_phone]" prefid="`$jobid`_w_phone" telid=$t tel=$phone}
+            {include file="profile/phone.tpl" prefname="`$jobpref`[w_phone]" prefid="`$jobid`_w_phone" telid=$t tel=$phone
+                     subField='w_phone' mainField='jobs' mainId=$i}
           </div>
         {/foreach}
         {if $job.w_phone|@count eq 0}
           <div id="{"`$jobid`_w_phone_0"}" style="clear: both">
-            {include file="profile/phone.tpl" prefname="`$jobpref`[w_phone]" prefid="`$jobid`_w_phone" telid=0 tel=0}
+            {include file="profile/phone.tpl" prefname="`$jobpref`[w_phone]" prefid="`$jobid`_w_phone" telid=0 tel=0
+                     subField='w_phone' mainField='jobs' mainId=$i}
           </div>
         {/if}
         <div id="{$jobid}_w_phone_add" class="center" style="clear: both; padding-top: 4px;">
-          <a href="javascript:addTel('{$jobid}_w_phone','{$jobpref}[w_phone]')">
+          <a href="javascript:addTel('{$jobid}_w_phone','{$jobpref}[w_phone]','w_phone','jobs','{$i}')">
             {icon name=add title="Ajouter un numéro de téléphone"} Ajouter un numéro de téléphone
           </a>
         </div>
   </table>
 </div>
 
-{* vim:set et sw=2 sts=2 sws=2 enc=utf-8: *}
+{* vim:set et sw=2 sts=2 sws=2 fenc=utf-8: *}