Since user can have their profile filled with data from the AX, show a
[platal.git] / templates / include / minifiche.tpl
index 3caa8b5..683c5b7 100644 (file)
@@ -1,6 +1,6 @@
 {**************************************************************************}
 {*                                                                        *}
-{*  Copyright (C) 2003-2009 Polytechnique.org                             *}
+{*  Copyright (C) 2003-2010 Polytechnique.org                             *}
 {*  http://opensource.polytechnique.org/                                  *}
 {*                                                                        *}
 {*  This program is free software; you can redistribute it and/or modify  *}
 {*                                                                        *}
 {**************************************************************************}
 
-{assign var=profile value=$user->profile()}
-<div class="contact {if ($user->state eq 'pending' && $smarty.session.auth ge AUTH_COOKIE) || $profile->deathdate}grayed{/if}"
-     {if $user->state neq 'pending'}{if $smarty.session.auth ge AUTH_COOKIE}title="fiche mise à jour le {$profile->last_change|date_format}"{/if}{/if}>
+{assign var=dead    value=$profile->deathdate}
+{if $smarty.session.auth ge AUTH_COOKIE}
+  {assign var=withAuth value=true}
+  {assign var=user value=$profile->owner()}
+  {if $user == null}
+    {assign var=hasowner value=false}
+    {assign var=registered value=false}
+  {else}
+    {assign var=hasowner value=true}
+    {if $user->state neq 'pending'}
+      {assign var=registered value=true}
+    {else}
+      {assign var=registered value=false}
+    {/if}
+  {/if}
+{else}
+  {* Without auth, all profiles appear as registered and with owner *}
+  {assign var=hasowner value=true}
+  {assign var=registered value=true}
+  {assign var=withAuth value=false}
+{/if}
+
+
+<div class="contact {if !$registered || $dead }grayed{/if}"
+     {if $profile->last_change}title="fiche mise à jour le {$profile->last_change|date_format}"{/if}>
   <div class="identity">
-    {if $smarty.session.auth ge AUTH_COOKIE}
+    {if $withAuth}
     <div class="photo">
-      <img src="photo/{$profile->hrid()}"
-           alt="{$profile->directory_name}" />
+      <img src="photo/{$profile->hrid()}" alt="{$profile->directory_name}" />
     </div>
     {/if}
 
     <div class="nom">
       {if $profile->isFemale()}&bull;{/if}
-      {if !$profile->deathdate && ($user->state neq 'pending' || $smarty.session.auth eq AUTH_PUBLIC)}<a href="profile/{$profile->hrid}" class="popup2">{/if}
-      {$profile->full_name}
-      {if !$profile->deathdate && ($user->state neq 'pending' || $smarty.session.auth eq AUTH_PUBLIC)}</a>{/if}
+      {if !$dead && ($withAuth || $registered)}<a href="profile/{$profile->hrid()}" class="popup2">{/if}
+      {$profile->directory_name}
+      {if !$dead && ($withAuth || $registered)}</a>{/if}
     </div>
 
     <div class="edu">
-      {if $profile->nationality1}
-      <img src='images/flags/{$profile->nationality1}.gif' alt='{$profile->nationality1}' height='11' title='{$profile->nationality1}' />&nbsp;
-      {/if}
-      {if $profile->nationality2}
-      <img src='images/flags/{$profile->nationality2}.gif' alt='{$profile->nationality2}' height='11' title='{$profile->nationality2}' />&nbsp;
-      {/if}
-      {if $profile->nationality3}
-      <img src='images/flags/{$profile->nationality3}.gif' alt='{$profile->nationality3}' height='11' title='{$profile->nationality3}' />&nbsp;
-      {/if}
-      {$profile->promo()}
-      
-      {if $c.eduname0}, {education_fmt name=$c.eduname0 url=$c.eduurl0 degree=$c.edudegree0
-                                     grad_year=$c.edugrad_year0 field=$c.edufield0 program=$c.eduprogram0 sexe=$c.sexe}{*
-      *}{/if}{if $c.eduname1}, {education_fmt name=$c.eduname1 url=$c.eduurl1 degree=$c.edudegree1
-                                     grad_year=$c.edugrad_year1 field=$c.edufield1 program=$c.eduprogram1 sexe=$c.sexe}{*
-      *}{/if}{if $c.eduname2}, {education_fmt name=$c.eduname2 url=$c.eduurl2 degree=$c.edudegree2
-                                     grad_year=$c.edugrad_year2 field=$c.edufield2 program=$c.eduprogram2 sexe=$c.sexe}{*
-      *}{/if}{if $c.eduname3}, {education_fmt name=$c.eduname3 url=$c.eduurl3 degree=$c.edudegree3
-                                     grad_year=$c.edugrad_year3 field=$c.edufield3 program=$c.eduprogram3 sexe=$c.sexe}{*
-      *}{/if}{if $c.dcd}, décédé{if $c.sexe}e{/if} le {$c.deces|date_format}{/if}
+      {foreach from=$profile->nationalities() item=country key=code}
+      <img src='images/flags/{$code}.gif' alt='{$code}' height='11' title='{$country}' />&nbsp;
+      {/foreach}
+      {$profile->promo()}{*
+      *}{foreach from=$profile->getExtraEducations(4) item=edu}, {display_education edu=$edu profile=$profile full=false}{/foreach}{*
+      *}{if $dead}, {"décédé"|sex:"décédée":$profile} le {$profile->deathdate|date_format}{/if}
     </div>
   </div>
 
-  {if $smarty.session.auth ge AUTH_COOKIE}
+  {if $withAuth}
   <div class="noprint bits">
+    {if $registered || (!$dead && $hasowner)}
     <div>
-      {if $user->state eq 'pending' && !$profile->deathdate}
-        {if $show_action eq ajouter}
+      {if !$registered && !$dead && $hasowner}
+        {if hasPerm('directory_private')}
+        {if !$smarty.session.user->isWatchedUser($profile)}
     <a href="carnet/notifs/add_nonins/{$user->login()}?token={xsrf_token}">{*
     *}{icon name=add title="Ajouter à la liste de mes surveillances"}</a>
         {else}
     <a href="carnet/notifs/del_nonins/{$user->login()}?token={xsrf_token}">{*
     *}{icon name=cross title="Retirer de la liste de mes surveillances"}</a>
         {/if}
-      {elseif $user->state neq 'pending'}
+        {/if}
+      {elseif $registered}
     <a href="profile/{$profile->hrid()}" class="popup2">{*
     *}{icon name=user_suit title="Afficher la fiche"}</a>
-        {if !$profile->deathdate}
+        {if !$dead}
     <a href="vcard/{$profile->hrid()}.vcf">{*
     *}{icon name=vcard title="Afficher la carte de visite"}</a>
     <a href="mailto:{$user->bestEmail()}">{*
     *}{icon name=email title="Envoyer un email"}</a>
-          {if !$smarty.session.user->isContact($user)}
-    <a href="carnet/contacts?action=ajouter&amp;user={$user->login()}&amp;token={xsrf_token}">{*
+          {if hasPerm('directory_private')}
+          {if !$smarty.session.user->isContact($profile)}
+    <a href="carnet/contacts?action=ajouter&amp;user={$profile->hrid()}&amp;token={xsrf_token}">{*
     *}{icon name=add title="Ajouter à mes contacts"}</a>
           {else}
-    <a href="carnet/contacts?action=retirer&amp;user={$user->login()}&amp;token={xsrf_token}">{*
+    <a href="carnet/contacts?action=retirer&amp;user={$profile->hrid()}&amp;token={xsrf_token}">{*
     *}{icon name=cross title="Retirer de mes contacts"}</a>
           {/if}
+          {/if}
         {/if}
       {/if}
     </div>
+    {/if}
 
-    {if hasPerm('admin')}
+    {if hasPerm('admin') || $smarty.session.user->canEdit($profile)}
     <div>
-      [{if $user->state eq 'pending' && !$profile->deathdeate}
+      [{if hasPerm('admin') && $hasowner}{if !$registered && !$dead}
       <a href="marketing/private/{$user->login()}">{*
         *}{icon name=email title="marketter user"}</a>
       {/if}
       <a href="admin/user/{$user->login()}">{*
-      *}{icon name=wrench title="administrer user"}</a>
-      <a href="http://www.polytechniciens.com/?page=AX_FICHE_ANCIEN&amp;anc_id={$profile->ax_id}">{*
-      *}{icon name=user_gray title="fiche AX"}</a>]
+      *}{icon name=wrench title="administrer user"}</a>{/if}{*
+      *}{if hasPerm('admin') || $smarty.session.user->canEdit($profile)}{*
+      *}<a href="profile/edit/{$user->login()}">{*
+      *}{icon name=user_edit title="modifier la fiche"}</a>{*
+      *}<a href="profile/ax/{$user->login()}">{*
+      *}{icon name=user_gray title="fiche AX"}</a>{/if}]
     </div>
     {/if}
   </div>
   {/if}
 
   <div class="long">
-  {if !$profile->deathdeate}
-    {if $c.web || $c.mobile || $c.countrytxt || $c.city || $c.region || $c.entreprise || (!$c.dcd && !$c.actif )}
+  {if !$dead}
+    {assign var=address value=$profile->getMainAddress()}
+    {assign var=web     value=$profile->getWebSite()}
+    {assign var=job     value=$profile->getMainJob()}
+    {if $web || $profile->mobile || ($address && $address->country) || $job || !$registered || $user->lost}
     <table cellspacing="0" cellpadding="0">
-      {if $c.web}
+      {if $web}
       <tr>
-        <td class="lt">Page web&nbsp;:</td>
-        <td class="rt"><a href="{$c.web}">{$c.web}</a></td>
+        <td class="lt">{$web.name}&nbsp;:</td>
+        <td class="rt"><a href="{$web.address}">{$web.address}</a></td>
       </tr>
       {/if}
-      {if $c.countrytxt || $c.city}
+      {if $address && $address->country}
       <tr>
         <td class="lt">Géographie&nbsp;:</td>
-        <td class="rt">{$c.city}{if $c.city && $c.countrytxt}, {/if}{$c.countrytxt}</td>
+        <td class="rt">{if $address->locality}{$address->locality}, {/if}{$address->country}</td>
       </tr>
       {/if}
-      {if $c.mobile && !$c.dcd}
+      {if $profile->mobile && !$dead}
       <tr>
         <td class="lt">Mobile&nbsp;:</td>
-        <td class="rt">{$c.mobile}</td>
+        <td class="rt">{$profile->mobile}</td>
       </tr>
       {/if}
-      {if $c.entreprise}
+      {if $job}
       <tr>
         <td class="lt">Profession&nbsp;:</td>
         <td class="rt">
-          {if $c.job_web}<a href="{$c.job_web}">{$c.entreprise}</a>{else}{$c.entreprise}{/if}
-          {if $c.secteur} ({$c.secteur}){/if}{if $c.fonction}<br />{$c.fonction}{/if}
+          {if $job->company->url|default:$job->user_site}<a href="{$job->company->url|default:$job->user_site}">{$job->company->name}</a>{else}{$job->company->name}{/if}
+          {if $job->description}<br />{$job->description}{/if}
         </td>
       </tr>
       {/if}
-      {if $smarty.session.auth ge AUTH_COOKIE}
-      {if $user->state eq 'pending'}
+      {if $withAuth}
+      {if !$registered && $hasowner}
       <tr>
         <td class="smaller" colspan="2">
-          {"Ce"|sex:"Cette":$user} camarade n'est pas {inscrit|sex:"inscrite":$user}.
+          {"Ce"|sex:"Cette":$profile} camarade n'est pas {"inscrit"|sex:"inscrite":$profile}.
           <a href="marketing/public/{$user->login()}" class='popup'>Si tu connais son adresse email,
-          <strong>n'hésite pas à nous la transmettre !</a>
+          <strong>n'hésite pas à nous la transmettre !</strong></a>
         </td>
       </tr>
       {elseif $user->state neq 'disabled' && $user->lost}
       <tr>
         <td class="smaller" colspan="2">
-          {"Ce"|sex:"Cette":$user} camarade n'a plus d'adresse de redirection valide.
+          {"Ce"|sex:"Cette":$profile} camarade n'a plus d'adresse de redirection valide.
           <a href="marketing/broken/{$user->login()}">
             Si tu en connais une, <strong>n'hésite pas à nous la transmettre</strong>.
           </a>