}
break;
case 'emploi':
- if ($('#job_0').find("[name='jobs[0][name]']").val() == '') {
+ if ($('#jobs_0').find("[name='jobs[0][name]']").val() == '') {
registerEnterpriseAutocomplete(0);
}
break;
var subgrades;
var names;
+// Publicity follows the following ordering: private < ax < public.
+var publicity = [];
+publicity['private'] = 0;
+publicity['ax'] = 1;
+publicity['public'] = 2;
+
// Names {{{1
function toggleNamesAdvanced()
// {{{1 Phones
-function addTel(prefid, prefname)
+function addTel(prefid, prefname, subField, mainField, mainId)
{
var i = 0;
var prefix = prefid + '_';
i++;
}
$('#' + prefix + 'add').before('<div id="' + prefix + i + '" style="clear: both; padding-top: 4px; padding-bottom: 4px"></div>');
- Ajax.update_html(prefix + i, 'profile/ajax/tel/' + prefid + '/' + prefname + '/' + i);
+ Ajax.update_html(prefix + i, 'profile/ajax/tel/' + prefid + '/' + prefname + '/' + i + '/' + subField + '/' + mainField + '/' + mainId);
}
function removeTel(prefname, prefid, id)
function addJob()
{
var i = 0;
- while ($('#job_' + i).length != 0) {
+ while ($('#jobs_' + i).length != 0) {
++i;
}
$.get(platal_baseurl + 'profile/ajax/job/' + i, makeAddJob(i));
jobid = '';
formvarname = 'terms';
} else {
- parentpath = '#job_'+jobid+' ';
+ parentpath = '#jobs_'+jobid+' ';
formvarname = 'jobs['+jobid+'][terms]';
}
- var lastJobTerm = $(parentpath + '.job_term:last');
+ var lastJobTerm = $(parentpath + '.jobs_term:last');
if (lastJobTerm.length != 0) {
termid = parseInt(lastJobTerm.children('input').attr('name').replace(/^(jobs\[[0-9]+\]\[terms\]|terms)\[([0-9]+)\]\[jtid\]/, '$2')) + 1;
if ($('#job'+jobid+'_term'+jtid).length > 0) {
return false;
}
}
- var newdiv = '<div class="job_term" id="job'+jobid+'_term'+jtid+'">'+
+ var newdiv = '<div class="jobs_term" id="job'+jobid+'_term'+jtid+'">'+
'<span>'+full_name+'</span>'+
'<input type="hidden" name="'+formvarname+'['+termid+'][jtid]" value="'+jtid+'" />'+
'<img title="Retirer ce mot-clef" alt="retirer" src="images/icons/cross.gif" />'+
'</div>';
if (lastJobTerm.length == 0) {
- $(parentpath + '.job_terms').prepend(newdiv);
+ $(parentpath + '.jobs_terms').prepend(newdiv);
} else {
lastJobTerm.after(newdiv);
}
if (jobid < 0) {
search_input = $('.term_search')[0];
} else {
- search_input = $('#job_'+jobid+' .term_search')[0];
+ search_input = $('#jobs_'+jobid+' .term_search')[0];
}
if (li.extra[0] >= 0) {
search_input.value = '';
if (jobid < 0) {
treepath = '';
} else {
- treepath = '#job_'+jobid+' ';
+ treepath = '#jobs_'+jobid+' ';
}
treepath += '.term_tree';
if ($(treepath + ' ul').length > 0) {
updateElement(cat);
}
+function updateSubPublicity(subFieldId, name, mainPub)
+{
+ var subPub = $(subFieldId).find("[name='" + name + "']:checked").val();
+ if (publicity[subPub] > publicity[mainPub]) {
+ $(subFieldId).find("[name='" + name + "']:checked").removeAttr('checked');
+ $(subFieldId).find('[value=' + mainPub + ']').attr('checked', 'checked');
+ }
+}
+
+function updatePublicity(mainField, mainId, subField, subId)
+{
+ var mainFieldId = '#' + mainField + '_' + mainId;
+ var mainPub = $(mainFieldId).find("[name='" + mainField + "[" + mainId + "][pub]']:checked").val();
+ if (subId == -1) {
+ var subFields = subField.split(',');
+ for (var i =0; i < subFields.length; ++i) {
+ var subFieldBaseId = mainFieldId + '_' + subFields[i];
+ var name = mainField + '[' + mainId + '][' + subFields[i] + ']';
+ if ($(subFieldBaseId).length != 0) {
+ updateSubPublicity(subFieldBaseId, name + '[pub]', mainPub);
+ updateSubPublicity(subFieldBaseId, mainField + '[' + mainId + '][' + subFields[i] + '_pub]', mainPub);
+ }
+ subId = 0;
+ while ($(subFieldBaseId + '_' + subId).length != 0) {
+ updateSubPublicity(subFieldBaseId + '_' + subId, name + '[' + subId + '][pub]', mainPub);
+ ++subId;
+ }
+ }
+ } else {
+ if (subId == '') {
+ updateSubPublicity(mainFieldId + '_' + subField, mainField + '[' + mainId + '][' + subField + '_pub]', mainPub);
+ updateSubPublicity(mainFieldId + '_' + subField, mainField + '[' + mainId + '][' + subField + '][pub]', mainPub);
+ } else {
+ updateSubPublicity(mainFieldId + '_' + subField + '_' + subId, mainField + '[' + mainId + '][' + subField + '][' + subId + '][pub]', mainPub);
+ }
+ }
+}
+
// vim:set et sw=4 sts=4 sws=4 foldmethod=marker enc=utf-8:
$page->assign('address', array());
}
- function handler_ajax_tel(&$page, $prefid, $prefname, $telid)
+ function handler_ajax_tel(&$page, $prefid, $prefname, $telid, $subField, $mainField, $mainId)
{
pl_content_headers("text/html");
$page->changeTpl('profile/phone.tpl', NO_SKIN);
$page->assign('telid', $telid);
$phone = new Phone();
$page->assign('tel', $phone->toFormArray());
+ if ($mainField) {
+ $page->assign('subField', $subField);
+ $page->assign('mainField', $mainField);
+ $page->assign('mainId', $mainId);
+ }
}
function handler_ajax_edu(&$page, $eduid, $class)
{assign var=new value="new"|cat:$i}
{assign var=combobox value="combobox"|cat:$i}
-<tr {if $class}class="{$class}"{/if}>
+<tr{if $class} class="{$class}"{/if}{if t($divId)} id="{$divId}"{/if}>
<td class="titre">
{if $name eq "email_directory"}
Email annuaire AX
<input type="checkbox" disabled="disabled" checked="checked"/>
{icon name="flag_orange" title="Visible sur l'annuaire"}
{elseif $name neq "email"}
+ {if t($mainField)}
+ {include file="include/flags.radio.tpl" name="`$jobpref`[`$prefix`email_pub]" val=$pub
+ mainField=$mainField mainId=$mainId subField=$subField subId=$subId}
+ {else}
{include file="include/flags.radio.tpl" name="`$jobpref`[`$prefix`email_pub]" val=$pub}
{/if}
+ {/if}
</div>
{/if}
</td>
{/if}
{if !t($val)}{assign var=val value='ax'}{/if}
<label><input type="radio" name="{$name}" value="public"{if $val eq 'public'} checked="checked"{/if}
- {if t($disabled)}disabled="disabled"{/if}{if t($onchange)} onchange="{$onchange}('{$id}', '{$subId}')"{/if} />
+ {if t($disabled)}disabled="disabled"{/if}{if t($mainField)} onchange="updatePublicity('{$mainField}','{$mainId}','{$subField}','{$subId}')"{/if} />
{icon name="flag_green" title="site public"}
{if t($withtext)}<span class="texte">site public</span>{/if}</label>
<label><input type="radio" name="{$name}" value="ax"{if $val eq 'ax'} checked="checked"{/if}
- {if t($disabled)}disabled="disabled"{/if}{if t($onchange)} onchange="{$onchange}('{$id}', '{$subId}')"{/if} />
+ {if t($disabled)}disabled="disabled"{/if}{if t($mainField)} onchange="updatePublicity('{$mainField}','{$mainId}','{$subField}','{$subId}')"{/if} />
{icon name="flag_orange" title="transmis à l'AX"}
{if t($withtext)}<span class="texte">transmis à l'AX</span>{/if}</label>
<label><input type="radio" name="{$name}" value="private"{if $val eq 'private'} checked="checked"{/if}
- {if t($disabled)}disabled="disabled"{/if}{if t($onchange)} onchange="{$onchange}('{$id}', '{$subId}')"{/if} />
+ {if t($disabled)}disabled="disabled"{/if}{if t($mainField)} onchange="updatePublicity('{$mainField}','{$mainId}','{$subField}','{$subId}')"{/if} />
{icon name="flag_red" title="privé"}
{if t($withtext)}<span class="texte">privé</span>{/if}</label>
{* vim:set et sw=2 sts=2 sws=2 enc=utf-8: *}
<tr {if $hiddenaddr}style="display: none"{/if}>
<td>
<div style="margin-bottom: 0.2em" class="flags">
- {include file="include/flags.radio.tpl" name="`$prefname`[pub]" val=$address.pub}
+ {include file="include/flags.radio.tpl" name="`$prefname`[pub]" val=$address.pub mainField='addresses' mainId=$i subField='phones' subId=-1}
</div>
<div style="clear: both"></div>
<div style="float: left">
<tr class="pair" {if $hiddenaddr}style="display: none"{/if}>
<td>
{foreach from=$address.phones key=t item=tel}
- <div id="{"`$prefid`_tel_`$t`"}" style="clear: both">
- {include file="profile/phone.tpl" prefname="`$prefname`[phones]"
- prefid="`$prefid`_tel" telid=$t tel=$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 $address.phones|@count eq 0}
- <div id="{"`$prefid`_tel_0"}" style="clear: both">
- {include file="profile/phone.tpl" prefname="`$prefname`[phones]" prefid="`$prefid`_tel" telid=0 tel=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="{$prefid}_tel_add" class="center" style="clear: both; padding-top: 4px">
- <a href="javascript:addTel('{$prefid}_tel','{$prefname}[phones]')">
+ <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>
</div>
{/if}
<div id="tels_add" class="center" style="clear: both; padding-top: 4px;">
- <a href="javascript:addTel('tels','tels');">
+ <a href="javascript:addTel('tels','tels',null,null,null);">
{icon name=add title="Ajouter un téléphone"} Ajouter un téléphone
</a>
</div>
<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}
<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} :
{if $hiddenjob}
</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(platal_baseurl + 'profile/jobterms',
{ldelim}
"formatItem" : displayJobTerm,
"extraParams" : {ldelim} "jobid" : "{$i}" {rdelim},
- "width" : $('#job_{$i} .term_search').width()*2,
+ "width" : $('#jobs_{$i} .term_search').width()*2,
"onItemSelect" : selectJobTerm,
"matchSubset" : false
{rdelim});
name="{$jobpref}[w_url]" value="{$job.w_url}" />
</td>
</tr>
- <tr class="pair" {if $hiddenjob}style="display: none"{/if}>
+ <tr id="{$jobid}_w_address" class="pair" {if $hiddenjob}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}
+ {include file="include/flags.radio.tpl" name="`$jobpref`[w_address][pub]" val=$job.w_address.pub
+ subField='w_address' mainField='jobs' mainId=$i subId=''}
</div>
<div style="margin-top: 20px; clear: both">
{include file="geoloc/form.address.tpl" prefname="`$jobpref`[w_address]"
</tr>
{else}
{include file="include/emails.combobox.tpl" name=$jobpref|cat:'[w_email]' val=$job.w_email
- class="pair" i=$i error=$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>
</a>
</div>
<div style="float: right" class="flags">
- {include file="include/flags.radio.tpl" name="`$telpref`[pub]"
- val=$tel.pub disabled=$hiddentel}
+ {if t($mainField)}
+ {include file="include/flags.radio.tpl" name="`$telpref`[pub]" val=$tel.pub disabled=$hiddentel
+ mainField=$mainField mainId=$mainId subField=$subField subId=$telid}
+ {else}
+ {include file="include/flags.radio.tpl" name="`$telpref`[pub]" val=$tel.pub disabled=$hiddentel}
+ {/if}
</div>
<div id="{$id}_comment" style="clear: both;{if $tel.comment eq ''} display:none{/if}">
Commentaire :